01第1章 MGCP协议文档格式.docx
《01第1章 MGCP协议文档格式.docx》由会员分享,可在线阅读,更多相关《01第1章 MGCP协议文档格式.docx(40页珍藏版)》请在冰豆网上搜索。
图1-1MGCP协议概念示意图
1.1.2相关术语
1.网关
网关(Gateway)是一种网络单元,用于实现不同体系结构的网络之间的互联互通。
在NGN体系结构中,NGN通过一些网关与其它网络互通:
●TMG(TrunkMediaGateway):
中继媒体网关,是位于电路交换网和IP分组网之间的网关,用于终结大量的数字电路。
●AMG(AccessMediaGateway):
接入媒体网关,用于将一种网络中的媒体转换成另一种网络所要求的媒体格式。
例如,AMG可完成电路交换网的承载通道和分组网的媒体流之间的转换。
●UMG(UniversalMediaGateway):
通用媒体网关,主要完成媒体流格式转换与信令转换功能,具有TMG、内置SG(SignalingGateway)、AMG等多种用途,可用于连接PSTN交换机、PBX、接入网、路由器、无线基站等多种设备
2.媒体资源服务器
媒体资源服务器(MRS,MediaResourceServer):
一种网关,用于支持多种端点类型,如通知服务器接入点、交互式语音响应接入点和会议桥路接入点等等。
SoftX3000支持MGCP控制MRS,用于提供通知音和交换语音响应(IVR,InteractiveVoiceResponse)业务。
MRS可用于为系统中的各种用户提供通知服务。
SoftX3000也支持通过MRS进行收号。
3.呼叫代理
呼叫代理(CallAgent)提供信令和呼叫处理功能,是用于控制电话网关的外部呼叫控制单元。
SoftX3000系统提供MGCP呼叫代理功能。
SoftX3000可作为网络中MGCPE-phone和Softphone的接入点,和IETFRFC2705(MGCP)兼容。
SoftX3000遵循RFC2705(1.0版本)2.1.3节的规定,支持呼叫和连接管理规程。
4.端点
端点(EndPoint)是数据信源和数据信宿。
端点可以是物理链路,也可以是运行在物理链路上的虚拟链路。
在中继网关终端接PSTN交换机的中继接口、在接入网关接E-phone的端口是物理端点的例子,而媒体资源服务器(MRS)中的音源则是虚拟端点的例子。
创建一个物理端点需要安装硬件,而创建虚拟端点可以通过软件完成。
5.端点标识(端点名)
端点由端点标识符来标识。
端点标识符不区分大小写,由两部分组成,第一部分是该端点所在的网关的域名,第二部分是该端点在网关内的本地名称,它们之间用“@”来分隔,就像是一个Email地址。
本地名称的语法取决于端点的类型,可以具有层次结构,以形成一个从网关名到各端点的命名路径,端点标识遵循下面的约定:
(1)每个命名路径的标识项必须用单个斜杠分隔(“/”)。
(2)每个标识项都是一个由字母、数字或者其它可打印字符组成的字符串,该字符串中不包括定界符号(“/”、“@”)和空格。
(3)本地名中可以用通配符“*”和“$”,前者表示这一层上的所有端点,后者表示在这一层上的某一端点,即前者具有“所有的”,而后者具有“任何一个”的含义。
在MGCP中,网关通过其域名(如:
)标识。
本地名可以用物理接口名(如aaln)和终端标识(接入媒体网关中电话号码所对应的端口号)构成。
该终端标识和物理接口名用斜杠(“/”)分隔。
如:
接入媒体网关的端点名:
aaln/1@。
指域名为的接入媒体网关aaln接口的第1个端口。
中继网关的端点名:
X35V3+A4/13@。
指example网络中第23号网关中接口X35V3+A4上第13条TDM电路。
6.连接和呼叫
连接可以是点到点连接或多点连接。
点到点连接就是两个互相发送数据的端点之间的一种关联,一旦该关联在两个端点都建立起来后,就可开始传送数据。
多点连接是多个端点之间的关联。
连接可建在不同类型的承载网络之上。
连接根据呼叫分组,一个呼叫内可以有一个或者多个连接。
连接和呼叫的建立是由一个或者多个MGC主动发起的。
图1-3显示了端点、连接、呼叫和网关的概念及其相互关系。
图1-1端点、连接、呼叫和网关的相互关系
当两个端点所在的网关由同一个呼叫代理(如SoftX3000)管理时,可以通过以下三步创建连接:
(2)呼叫代理请求第一个网关在第一个端点上“创建一个连接”。
该网关为这个连接分配资源,并且用“会话描述”响应该命令。
该会话描述包含了第三方给该新建连接发送包所必须的信息,例如IP地址、UDP端口和打包参数。
(3)该呼叫代理请求第二个网关在第二个端点上“创建一个连接”。
该命令携带第一个网关提供的“会话描述”。
该网关为这个连接分配资源,并且用“会话描述”响应该命令。
(4)该呼叫代理用“修改连接”命令将第二个网关的“会话描述”提供给第一个端点。
一旦该过程完成,双方可以进行双向通讯。
7.连接标识
连接在端点处被管理,并且可以被聚合成呼叫。
连接由网关创建,并且网关赋予其本端唯一的连接标识。
连接标识符为十六进制数字组成的字符串。
8.呼叫标识
呼叫由唯一的标识号来标识,它由媒体网关控制器创建。
呼叫标识可以看作没有结构的字符串。
呼叫标识符在系统中必须是唯一的。
媒体网关控制器可能会对同一个呼叫构建数条连接,这些连接必须与同一个呼叫相关联。
9.呼叫代理和其它实体的命名
在MGCP中,呼叫代理由域名来标识。
为增强系统的可靠性,可以有冗余(备用)的呼叫代理,它们具有相同的域名,不同的网络地址(如IP地址)。
网关通过域名来识别呼叫代理,只是在低层操作时从域名服务器获得呼叫代理的网络地址列表,根据具体情况采用不同的网络地址和呼叫代理通信。
这种通过域名来唯一标识,同时又具有多个IP地址的冗余机制对于提高系统的可靠性具有重要的意义。
其它实体,如网关、讯息服务器等也都由域名来标识,同样,这些实体也可通过冗余来增强系统的可靠性。
对于呼叫代理和网关来说,它们通过域名来识别这些实体。
采用域名可以避免直接通过网络地址标识这些实体,因为域名相对稳定,而网络地址却相对易变。
例如,把一个实体移到另外一个局域网络,则IP地址将发生改变,而域名却可以不变。
域名的生存期可以保证其它实体能够比较及时地通过更新域名信息获得该实体的最新IP地址。
在MGCP中,呼叫代理和其它实体实际上是用Email地址来表示的,如:
Call-agent@表示example网中的呼叫代理
Busy-signal@表示example网中第12号讯息服务器中的忙音信号。
10.事件和信号
事件和信号的概念在MGCP中起着重要的作用。
呼叫代理可以要求端点在检测到某些事件,如摘机、挂机、拍叉或拨号号码发生时,向其发出通知;
也可请求将某些信号,如拨号音、回铃音、忙音等加到端点上。
事件和信号组合成包(package),每个包由某一特定端点支持。
事件名由包名加斜杠(/)加实际事件名组成(事件名和包名不区分大小写)。
包名是可选项,每个端点类型都有一个和它相关的缺省包,如果事件名中不包含包名,将采用缺省的包名。
事件名后面可以接符号“@”加检查到发生该事件的连接。
另外,可以使用事件的范围和通配符来取代单个的事件名。
通配符“*”可以用来表示“所有的”含义,通配符“$”可以用来表示“当前的,任何一个”的含义。
每个信号有一个与之相关的信号类型,如:
开/关(OO)、超时(TO)、短信号(BR)。
表1-1列出了几类常用的包:
表1-1包分类列表
包名
包ID
通用媒体包
G
DTMF包
D
MF包
M
中继包
T
模拟线包
L
头戴式送受话包
H
RTP包
R
网络接入服务器包
N
通告服务器包
A
脚本包
Script
表1-2列出了一些有效的事件名:
表1-2事件名举例
事件名
含义
l/hd
模拟线包中的摘机事件
l/hu
模拟线包中的挂机事件
l/dl
模拟线包中的拨号音事件
l/hf
模拟线包中的闪断事件
l/aw
模拟线包中的应答音事件
l/bz
模拟线包中的忙音事件
l/wt
模拟线包中的呼叫等待音事件
l/rg
模拟线包中的振铃事件
l/sl
模拟线包中的断续拨号音事件
M/0
MF包中的数字0
M/[0-9]
MF包中的数字0~9
fh
默认模拟线包中的拍叉事件
G/rt@0A3F58
连接“0A3F58”通用媒体包中的回铃音事件
G/mt
通用媒体包中的检测到Modem事件
G/ft
通用媒体包中的检测到传真信号音事件
G/ld
通用媒体包中的长时间连接事件,当一个连接持续时间大于一小时,该事件将被监测
[0-9*#A-D]
DTMF包中的所有数字和字母
T/$
中继包中的所有事件
R/qa@*
所有连接RTP包的质量告警事件
R/rt@$
当前连接RTP包中的回铃音事件
11.DigitMap
呼叫代理请求网关采集用户拨打的号码,如:
RGW采集用户拨号、信用卡号等。
如果收到一位号码就立即报告一位则效率太低,大量占用网络资源。
合理的方法是将拨号收齐后用一个消息集中发送,该方法的难点是网关如何判断号码收齐。
解决方法是由呼叫代理向网关加载一个“DigitMap”,相当于编号计划。
DigitMap的一般格式可用语法规则表达式严格表示。
它包含一列数字字符,收到的拨号序列只要和其中一串字符相匹配就表示号码已收齐。
数字字符串允许包含的字符有:
数字0~9、字母A~D、“#”、“*”、字母T和x以及“.”。
其中用“|”隔开的每个字符串是一个可选择的拨号方案;
“[]”表示任选一;
“*”表示拨*的话就一位一位上报;
字母T表示检测到定时器超时;
字母x表示任意数字;
“.”表示其后的字符可以出现任意多个,包括零个;
“#”表示立即上报。
例如,我们可能使用桌上的电话拨打如下号码:
表1-1DigitMap举例
本地接线员
00
长途接线员
xxxx
本地区号
8xxxxxxx
本地号码
xxxxxxx#
在其它公司服务区内的本地快捷号码
*xx
开始服务
91xxxxxxxxxx
长途号码
9011+最多15位数字
国际号码
上文所描述的拨号方案可以导出如下的数字表:
(0T|00T|[1-7