IP电话机、视频可视电话通信产品及组网方案

MGCP协议描述

时间:2021-09-15 14:38 作者:admin 分享到:
9.3.1端点类型和标识
1.端点类型
       MGCP并不关心网关的类型,仅定义端点类型。因为,一个具体的网关可能既有中继接口,又有PRI接入接口和模拟用户线接口,是一个兼具TGW、RGW和接入网关功能的混合网关,通过描述其包含的端口类型即可准确地表示该网关的功能。MGCP定义了8类基本端点类型。
(1))数字信道(DSO)
       数字信道提供8kHz*8bit服务,含于中继和ISDN接口中,通常是数字复用系统的一部分。支持该类端点的网关能将由该信道接收的A/µ律信号转换成音频数据分组。若网关还支持网络接人服务,则应能接收该信道上的话带数据(modem连接)或二进制数据(ISDN连接),并转换为数据分组。
       网关应能在该端点和分组网络之间或该端点和其它端点间建立多个连接,来自这些连接的信号应根据连接模式予以混合。
       如果该数字信道用来传送信令,如ISDN的D信道或直联7号信令链路,则网关应能执行信令网关的功能。在使用随路信令的情况下,网关应能检测并生成相应的信令信号。
(2)模拟线
       可为模拟用户线或中继线,可为电话连接或modem连接,可终接多个连接,典型情况是支持2~3个连接,以提供呼叫等待或三方呼叫业务。
(3)录音服务器接入点
       根据呼叫代理的请求,录音服务器播放指定的录音。请求遵从MGCP定义的事件信令和报告过程。至录音服务器的连接都是单向连接。
(4)交互式话音响应(IVR)接入点
       在呼叫代理的请求下,IVR服务器播放录音和音信号,并守听来自用户的响应。
(5)会议桥接接人点
       该端点应能建立多个连接,具体支持的连接数取决于网关的资源分配,是表征网关的一个特性。
(6)分组中继
       分组中继是一类特殊型式的会议桥,只支持两个连接。可用于防火墙,位于被保护网络和开放网络之间,或用于码型转换服务器,提供两个不兼容网络的互操作性,例如两个支持不同压缩编码算法的网关,或两个分别运行于IP和ATM承载网络上的网关。
(7)监听接入点
       提供监听服务,对连接进行录音或实时播放、监听点的连接为单向连接。监听服务器并不通告它在呼叫中的存在。
(8)ATM”中继侧“接口
       指的是用一个或数个ATMPVC来代替交换机间的'IDM中继连接。如采用A'IM/AAI2,在同一虚电路上可复用个多中继信道,每个中继信道视作为一个端点。
2.端点标识
       端点标识由两部分组成:端点所在网关的域名和网关中的本地名。
       具体的本地名取决于端点类型,但每类端点名都具有相同的层次结构,以标识所在物理网关的描述项开始,以表示端点的描述项结束。其结构规则为:
•  每个描述项间用符号“/“分隔;
•  每个描述项为由字母、数字或其它可打印字符组成的字符串;
•  "*”和“$”为通配符。其中,“*”表示可使用网关可知的所有值;“$”表示可使用网关可知的任意一个值。例如,本地名仅含“*",表示媒体网关中的所有端点;如仅含“$",表示网关中的任一端点。
       若某端点为7号信令中继中的某个话路,其端点本地名可为OPC/CIC,其中OPC为中继对端交换机的信令点编码,对应为中继群;CIC为电路标识码,指示该中继群的具体电路。
      网关配置文件通常用物理接口名/电路号来标识端点。例如:X35V3+A4/13。

9.3.2呼叫和连接建立
1.连接建立过程
现考虑最常见的点到点连接,连接的两个端点分属两个网关,但属于同一呼叫代理控制。其连接建立过程如图9.3所示。
MGCP连接建立过程
图9.3 MGCP连接建立过程
①呼叫代理请求第1个网关(GW1 )在端点l(EPl)“创建连接”。
②GW1 为此连接分配资源,向呼叫代理回送响应。响应中提供“会话描述",给出对端向该连接发送分组必要的信息,如IP地址、UDP端口和话音分组参数。
③呼叫代理请求网关2(GW¸ )在端点2(EP2)“创建连接"。该命令携带(况提供的会话描述。
④GW¸ 为此连接分配资源,向呼叫代理回送响应,响应中提供其自己的“会话描述“。
⑤呼叫代理用“修改连接”命令将第二个“会话描述“传给EPI。至此,可进行双向通信。
如果两个网关分属不同的呼叫代理控制,则需用到代理间信令协议。
连接建立后,任何时候都可用“修改连接”命令修改连接参数。例如,改变压缩算法;或者在呼叫转向时,改变数据发送的IP地址和UDP端口。
图9.4示出从网关角度看的连接建立状态图。
连接建立状态
图9.4  连接建立状态图
2.连接资源和属性管理连接资源可分为两类:
.外部可见资源:将影响网络中数据流的格式,必须和连接对端交换此信息。
.内部资源:决定接收信号如何处理和将什么信号发往连接。
       连接资源由网关根据呼叫代理的命令分配。该命令包括的参数有:连接模式、优先编码方式或分组化方法、回声抵消或静音抑制的使用。对每种参数,呼叫代理可以规定一个值、一个值范围或根本没有值,对应不同程度的控制,可使网关有不同程度的选择自由度。同样,向对端传送的远端会话描述给定的参数也可以是一个值范围。
       大型网关常包含大量不同类型的端点,在某些网络中,会要求在位于同一网关中的两个端点之间建立连接,称为本地连接,例如:呼叫和IVR服务器相连、中继电路和监听装置相连、呼叫和会议单元相连、“发夹“连接等。本地连接远比网络连接简单,通常经总线等内部互连部件即可完成。而且呼叫代理只需发送一个创建连接命令,命令中包含两个端点名,即用第二个端点名代替常规命令中的远端会话描述。
3..呼叫和连接标识
       呼叫标识由呼叫代理创建,在系统中唯一独立于下层平台或代理。当代理为同一呼叫建立多个连接时,所有连接都应具有相同的呼叫标识。这些连接可位于相同或不同的网关中。
       连接标识由网关创建,它们在端点范围内唯一标识连接。连接终结后,至少要过3分钟才能将原来该连接使用的标识分配给同一端点的新连接。
       前已述及,为了提高网络可靠性,网络中可部署冗余呼叫代理,当某代理出故障时可由其它代理接管控制。为此,呼叫代理和硬件平台或网络接口没有固定的绑定关系。其它网络实体的命名也采用这一原则,即用域名而不是用网络地址来标识实体。一个域名可对应多个网络地址。当命令或响应不能前传至某个地址时,可用另外的地址试传。
        当网络实体移至另一平台时,其域名将和现有实际平台关联,该映射关系由DNS服务器保存。呼叫代理和网关应注意由DNS读得记录的生存期,超过生存时间需予刷新。
9.3.3事件和信号表示
1.数字映像
       呼叫代理可请求网关采集用户拨打的号码,如RGW采集用户拨号、TGW和接入网关采集接入码和信用卡号等。如果收到一位号码立即报告一位则效率太低,合理的方法是将拨号收齐后用一个消息集中发送。该方法的难点是网关如何才能判断号码已经收齐。解决办法是由呼叫代理向网关加载一个“数字映像”(digitmap),对应于编号计划。
       数字映射的一般格式可用语法规则表达式严格表示。粗略地说,它包含一列数字字符串,收到的拨号序列只要和其中一个串相匹配就表示号码已收齐。
       数字字符串允许包含的字符有:数字0~9、字母A~D、“#"、“*'\字母T和x以及“."。其中,字母T表示在该处检测到定时器超时;字母x  表示任意数字;“.”表示紧随其前字的符可以出现任意多个,包括零个。
例如,表9.1所示的编号计划可用下述数字映像表示:
(OTIOOTI[1-7]xxxI8:xxxxxxxI#xxxxxxxI*xxI9IxxxxxxxxxxI9011X.T)
如式中,OT表示第1位拨0后不再拨任何号码,超时后就认为号码已齐(呼叫本地话务员)。[1- 7]xxx表示第1位拨号数字可为1~7中任何一个数字,其后为3个任意数字。
表9.1   编号计划示例
0 本地话务员
00 长途话务员
xxxx 本地分机
8xxxxxxx 本地号码
 
#xxxxxxx
其它分公司本地号码的缩位
* xx 星号服务
91xxxxxxxxxx 长途号码
9011+最多 15 位数字 国际号码
当网关检测到数字、字母或定时超时后,按如下规则处理:
.在称之为“当前拨号串"的内部状态变董后加上事件参数码作为标记。
.将当前拨号串按顺序和数字映像中的每一个规则表达式(串)相比较,判断是否能找到匹配项。
.如果比较结果未能完全匹配,不作任何处理。如果找到匹配项,就将当前数字串送往呼叫代理。
呼叫代理命令网关守听数字时,就将数字映像送往网关。
2.事件和信号表示
       如前所述,每个事件(含信号)可用“封包名/事件名”表示,每类端点有其特定的封包,每个封包含有规定的事件和信号。封包名和事件名均用数字字母串表示,其定义和数字映像相同,也可用通配符表示。例如:
L/dl:表示模拟接入线(L)封包中的拨号音(dl)事件。
T/*:表示中继(T)封包中的任意事件。
L/hu@A3F58:表示连接A3F58上的挂机信号,上式中,@表示检测的是某个连接而不是端点本身的事件。
对于封包中的每个事件,必需给出以下信息:
.事件描述及其目的,即由客户生成的实际信号(如,xxms FSK音信号)及用户观察到的结果(如,灯亮/灭)。
.事件的详细特征,例如音频信号的振幅和频率、调制和重复次数等。
.事件的典型时长和最大时长。
封包中信号可根据其行为分为三类:
.通/断(00)型:一旦加上后,这些信号将永远存在直至断开为止。断开可由另一事件发生或由一个新的信号请求而引起。
.定时(TO)  型:一旦加上后,这些信号将持续到被断开(由于另一事件或新的信号请求)或者规定时间到达为止。根据封包的规定,信号超时终止后可生成一个“操作完成”事件。
.短暂(BR)型:这些信号持续时间非常短,它们会自行终止。即使另一事件产生,该信号也不会终止,但如果一个新的信号请求到达时,该信号将终止。
       定时型信号通常用于提醒端点用户,通知他们执行某项操作,例如振铃请用户摘机。一旦第一个请求事件产生,该信号就应停止。封包描述应给出所有信号的类型,对定时型信号还需给出最大时长。
       目前MGCP定义了10种基本封包,如表9.2所示。其中,通用媒体封包封装的是多种类型端点,如中继网关、接入网关和宅内网关都可检测和施加的事件和信号。脚本封包用于下载用各种常用语言(如JAVA、Perl、XML等)书写的脚本。
 
表9.2   MGCP基本封包名
封包名   编写名
通用媒体封包   G
DTMF 封包   D
MF 封包   M
中继封包   T
模拟线封包   L
头戴式送受话器封包
RTP封包
网络接入服务器封包
通告服务器封包
脚本封包
H
 R 

A
Script
       各类网关支持的封包类型如表9.3所示。除此以外,高级录音播放服务器还可支持脚本封包,高级中继网关还可支持通告服务器(A汃脚本封包,有时还能支持送受话器(H)和模拟线(L)封包。
现以通用媒体封包、模拟线封包、RTP封包和通告封包为例,说明事件和信号的描述方法。
(1)通用媒体(G)封包
      G封包包含的事件和信号如表9.4所示。表中”符号”栏就是在IANA登记的事件名或信号名;“R”栏中标有x的,表示该事件可由呼叫代理请求;“S”栏若为空白,表示该事件不能作为信号由呼叫代理命令发送,否则就列出信号的类型(00/TO/BR);”时长”栏列出TO信号的持续时间。
表9.3各类网关支持的基本封包
网关 支持的封包
中继网关(ISUP) G,D,T,R
中继网关( MF) G,D,M,T,R
网络接入服务器( NAS) G,M,T,N
NAS/ VOIP 组合网关 G,M,D,T,N,R
接人网关( VOiP ) G,D,M,R
接人网关( VOiP + NAS) G,D,M,N,R
宅内网关 G,D,L,R
通告服务器 A,R
 
表9.4通用封包事件和信号
符号 定义 R s 时长
 
mt
检测到 Modem  
X
   
ft 检测到传真信号音  
X
   
Id 长持续时间连接  
X
   
pat(# # #) 检测到格式# # #  
X
00  
rt 回铃音   TO  
rbk( # # #) 连接上的回铃音   TO 180s
cf 证实音   BR  
 cg 网络拥塞音   TO  
it 阻截音   00  
pt 抢占音   00  
 
of
报告失败 x    
 
其中,“长持续时连间接“用以检测持续时间大于1小时的连接。格式定义用于特定的算法,如自动应答机检测、音信号检测等。
(2)模拟线(L)封包
      L封包包含的事件和信号如表9.5所示。其中,"区别音格式”中的格式符###可为000~999的任意数字,用于定义不同的振铃音和客户定制的拨号音等。“完成报告”事件指的是在端点施加定时信号的情况下,若该信号未被其它请求的事件(如摘机、拨号等)中断,而是定时器超时后自行终止的,则要求网关向代理报告,信号名作为报告的参数,其形式可为:
     0:L/oc(L/dl)
       式中,0表示“观察到的事件”,括号中指自明行完成的定时信号为拨号音。
表9.5模拟线封包事件和信号
符号 定义 R s 时长
adsi  (字符串) adsi显示   BR
 
VMWI
可视消息,等待指示   TO
hd 摘机  
X
 
hu 挂机  
X
 
hf 拍叉簧(瞬断)  
X
 
 
aw
应答音  
X
00
bz 忙音   TO     30s
ci(字符串) 主叫标识   BR
 
wt
呼叫等待音   TO     30S
dl 拨号音   10     16s
 
imwi
消息等待指示   TO    16s
nbz 网络忙  
X
00
rg 振铃   TO    180s
ro,rl , r2, r3  r4,r5,r6或 r7 区别振铃   TO     l80s
rs 短振铃   BR
p 提示音 x BR
 
e
出错音  
X
BR
sdl 断续拨号音   TO     16s
 
V
提醒音   00
y 录音机告警音   00
sit SIT 音(指示线路不作)    
z 呼叫卡服务音   00
 
oc
完成报告  
X
 
 
oT
摘机告警音   TO    持续
s(#  # #) 区别音格式 x BR
of 失败报告  
X
 
 
(3)RTP封包
       RTP封包包含的事件如表9.6所示。主要用于报告或命令调整编码算法和分配资源以及报告质量下降情况。如,UC(15)表示编译码器改变为PCMµ律,括号中的16进制数为RTP文档中规定的编码;SR(20)表示采样速率调整为20ms;JI(300)表示RTP接收流的抖动缓冲器大小调整为300ms;PL(10)报告分组丢失率为每100,000个分组丢失10个分组;“质量提示“用于在分组丢失率或时延和动抖综合指标超限时向代理报告。
(4)通告服务器(A)封包
       A封包包含的事件和信号如表9.7所示。其中通告播放操作带有URL名和一组初始参数,其形式如:
       S:arm(http:IIscripts.example.net/all-li腔-busy.au)指示可从该地址取播放内容,S表示信号发送请求。当通告播出后,网关向代理发出完成报告,如通告不能播出,则发送失败报告,并可在括号中注释失败原因。其形式可为:
        0:A/of(filenotfound)
指示失败原因是未找到文件。
        最后指出一点,在中继和模拟线等封包中包含许多音信号,对于这些音信号的定义各个国家都不尽相同,目前MGCP定义的都是北美使用的标准。为了能包容各国不同的定义,有两种解决方法:
表9.6     RTP封包事件
符号 定义 R s   时长
UC 使用的编译码器改变  
X
 
SR(# # #) 采样速率改变  
X
 
JI(# # #) 抖动缓冲器大小改变  
X
 
PL(###) 分组丢失率超限 x  
qa 质量提示  
X
 
of 失败报告  
X
 
 
表9.7    通告服务器封包事件和信号
符号 定义 R s     时长
ann(url, parrnS) 播放通告   TO  可变
oc 报告完成 x  
of 报告失败  
X
 
 
.为各国音信号定义不同的事件封包,如德国的拨号音可定义为“lrDE/de”。
.利用管理接口为每一端点指明各信号音的频率等参数。究竟采用什么方法解决此问题尚未确定。

9.3.4网关控制命令
1.端点配置命令
其命令形式为:
Endpoint Configuration(端点Id,承载信息)
其中,承载信息定义端点接收数据的编码方式。可包含一列子参数,目前仅定义A/µ律编码方式。端点Id可用通配符,表示该配置命令适用于网关中所有端点。
2.通知请求命令其命令形式为:
       Notification Requestt (端点Id,[被通知实体,][请求事件,]请求Id[,数字映像,][请求信号][预检处理][检测事件][封装端配点置])
       其中,被通知实体为任选参数,可指明通知应发往何处。一般无此参数,表示通知收往本命令的发送方。请求Id用来关联本命令和网关返回的通知。
请求事件可为一列事件。对每个事件可指明相应的操作。定义的操作有:
.立即通知该事件,连同累积的该事件序列一起通知。
.交换音频信号。
.将事件累积存入事件缓存器,不通知。
.根据数字映像累积。
.保持信号激活。
.处理内嵌通知请求。
.不作任何处理。
       有关操作可以组合。其中,交换音频信号用于三方通话、呼叫等待等端点涉及多个连接的情况。例如可用本命令指示端点在检测到拍叉簧事件时将话音信号按循环方式交换到下一个连接。这样就无需检测到事件后报告代理,再由代理命令端点转换到另一连接去,可简化协议过程。
       如果希望在检测的事件发生后启动某信号,可以使用“内嵌通知请求“操作。该内嵌通知请求可包含另外一列请求事件、请求信号和数字映像。
       请求信号的意义和请求事件类似。其操作应和相应事件同步,如检测到摘机事件后振铃应立即停止。请求信号也可以是空信号,例如可用于停信号音。
      “预检处理'指示如何处理预检事件。所谓预检事件指的是在通知请求命令未到达之前网关已检测到但尚未报告呼叫代理的事件。该参数可指示对预检事件应处理还是舍弃,网关最多生成一个通知还是多个通知。
       某些事件和信号,如回铃音或质量提示,需在端点连接上发送或检测,而不是对端点本身而言的。这一要求是由事件名结构保证的,事件名可表示该事件的对象是某连接。
封装端点配置命令可使一个命令完成两个命令的功能。但是,若通知请求被拒绝,端点配置也不予执行。
3..通知命令
其命令形式为:
Notify(端点Id[被通知实体,]请求Id,观察到的事件)各参数意义不言自明。
4.创建连接命令
其命令形式为:
CreateConnection(呼叫Id,端点Id,[被通知实体,][地本连接选项,]模式,[{远端连接描述语1第二端点Id},][封装通知请求,][封装端点配置])
       其中,本地连接选项参数供呼叫代理指示网关如何处理连接。参数包含如下字段:编码方法、信号打包周期、带宽、服务类型、使用回波抵消、使用静音抑制或活动性检测、使用信号电平适配和噪声电平抑制或增益控制、使用资源预留服务、使用RTP安全机制、连接传送网络类型。
对于前三个字段,呼叫代理有三种方式指定参数值:
.给定一个确定值,网关按此值赋予连接。
.给定一个松弛的范围,如一列允许的编码方法或打包周期的一个范围。
.只给出一个带宽指示,让网关自行选择编码方法和打包周期。
       服务类型规定连接使用的服务等级。当该连接是在IP网络上传送的,该参数就是IP头部的TOS字段。
       在缺省情况下,电话网关总是执行回波抵消功能,增益控制和静音检测是任选功能,但对modem呼叫这两项功能必须关闭。
       远端连接描述语是IP网络另一端连接端点的连接描述语。当代理向本端发出第一个创建连接命令时,该参数为空值。如果创建的是本地连接,则命令中不含此字段,代而之以“第二端点Id",该Id可以是表示“任一端点”的通配符,留由网关选择,选定的第二端点在响应中返回。
       封装通知请求可在创建连接的同时请求网关检测事件和生成信号。例如,呼叫代理要发起一个至RGW的呼叫,它可以通过此机制同时命令RGW:
.建立一个连接,以确保用户摘机后立即可开始通话。
.开始振铃。
.当用户摘机后通知呼叫代理。
网关根据此命令创建连接,并分配一个连接Id,然后向呼叫代理回送响应。
5.修改连接
命令命令形式为:
      ModifyConnection( 呼叫Id,端点Id,连接Id,[被通知实体,][本地连接选项,][模式,][远端连接描述语,][封装通知请求,][封装端点配置])
该命令的参数和创建连接命令相同,只是多了一个连接Id,该参数是在连接创建时由网关响应返回的。
      该命令可通过三种方式改变连接参数:
.通过远端连接描述语提供连接对端信息。
.通过改变模式参数激活或去激活连接。
.通过改变编码方式、打包周期、回声抵消处理方式等改变连接的发送参数。
网关响应仅返回本地连接描述语。
6.删除连接命令
(1)由呼叫代理发起删除
此为正常情况下的连接释放,命令形式为:
Delete Connection(呼叫Id,端点Id,连接Id[封装通知请求,][封装端点配置])
删除命令需向连接的两端网关发送。连接删除后,端点处于去激活模式。网关回送的响应包括一组连接运行时的统计数据,这些数据都是网关根据RTCP提供的信息计算得到的。
(2))由VOIP网关发起删除
此为异常情况下的连接释放,命令形式为:
DeleteConnection(n呼叫Id,端点Id,连接Id,理由码,连接参数)
(3)由呼叫代理发起的多连接删除
命令DeleteConnection(呼叫Id,端点Id)用于删除指定呼叫的所有连接。
命令DeleteConnection(呼叫Id)用于删除指定呼叫的所端点上的所有连接。如在端点Id中使用通配符,还可同时删除多个端点上的所有连接。
多连接删除命令无统计数据返回。
7.其它命令
审计端点命令形式为:
AuditEndpoint(端点Id,请求信息)
审计连接命令形式为:
AuditConnection(端点Id,连接Id,请求信息)
重启动进行中命令形式为:
Restarl lnprocess(端点Id,重启动方法,重启动时延)
重启动时延对于强制重启动没有意义;对于平缓重启动若此参数为零,表示端点将在该连接自然终结后退出服务;对于时延重启动则给出了指定的时延。
上述各命令的意义已在前述及,不再赘述。
8.响应码和出错码
和SIP一样,所有MGCP命令都要接收者回送响应。响应码为一整数,有三个取值范围:
200-299:表示成功完成。
400-499:表示短时出错。
500-599:表示永久性出错。
已定义的200响应有两个:
200:请求事务(即命令)已正常执行。
250:连接已删除。
已定义的400响应有三个:
400:由于短时出错事务不能执行。
401:电话已经摘机。
402:电话已经挂机。
另外还定义了18个500响应。
版权所有:IP电话:http://www.g3voip.com 转载请注明出处

热销IP电话产品hot products