第3章 呼叫流程分析
●
SS1a/SS1b回应答消息,NOTY_REPLY消息文本描述如下:
(1) MEGACO/1 [10.66.100.1]:2944 (2) P=49414{ (3) C=-{
(4) N=AG58900}} 2. 事件2:
●
SS1a/SS1b收到主叫用户摘机事件以后,通过MOD_REQ命令指示网关给终端发送拨号音,并把拨号计划DigtalMap发送给H.248网关,要求根据DigtalMap拨号计划收号,并同时检测挂机和拍叉簧事件的发生。网关设备回复相应的响应消息。
呼叫建立IAD提机NTFY_REQNTFY_REPLYMOD_REQ放拨号音MEGACO/1 [10.66.100.1]:2944 T=25218{C=-{MF=AG58900{DM=DM99{(##|0X.|11X|13XXXXXXXXX|[2-8]XXXXXX|9XXXXXXXX)},E=2002{dd/ce{DM=DM99},al/on,al/fl},SG{cg/dt}}}}MOD_REPLYSSIADMEGACO/1 [10.66.100.12]:2944 Reply = 25218{ Context = -{ Modify = AG58900} } 中兴通讯学院<本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传>univ.zte.com.cnuniv.zte.com.cn38 ? ? ? ?
MEGACO/1 [10.66.100.1]:2944 T=25218{ C=-{ MF=AG58900{
M=DM999264604954{(([2-9]xxxxxx|13xxxxxxxxx|0xxxxxxxxx|9xxxx|1[0124-9]x|E|x.F|[0-9EF].L)F025xxxxx|FF)},E=2002{dd/ce{ DM=DM999264604954 },al/on,al/fl},SG{cg/dt}}}}
37
SS_010030_C H248协议原理
第一行:MEGACO 协议的版本为1。消息发送者标识(MID),此时为MGC的IP 地址和端口号:[10.66.100.1]:2944。
第二行:事务ID 为“25218”,该事务ID 用于将该请求事务和其触发的响应事务相关联。此时,该事务封装的关联为空。
第三行:Modify 命令,用来修改终端AG58900的特性、事件和信号。 第四行:DigitMap描述符,SS下发给网关设备。拨号计划dmap1。其中,“[2-9]xxxxxx”表示用户可以拨2~9 中任意一位数字开头的任意7 位号码;“13xxxxxxxxx”表示13 开头的任意11 号码;“0xxxxxxxxx”表示0 开头的任意10 位号码;“9xxxx”表示9 开头的任意5 位号码;“1[0124-9]x”表示1 开头,3 以外的十进制数为第二位的任意3 位号码;“E”表示字母“E”;“x.F”;“[0-9EF].L”表示拨以数字0~9、字母“E”、“F”开头的任意位等长定时器超时之后就会上报。MGC 请求MG 监视终端A0 发生的以下事件:事件一,根据Digit Map规定的拨号计划(dmap1)收号。事件二,请求网关检测模拟线包(al)中的所有事件。
网关设备的应答信息,文本如下: MEGACO/1 [10.66.100.12]:2944 Reply = 25218 { Context = - { Modify = AG58900} }
3. 事件3:用户拨号,终端对所拨号码进行收集,并与刚才下发的DigtalMap
进行匹配,匹配成功,通过Notify命令发送给SS,SS回复给网关NTFY_REPLY消息。
38
第3章 呼叫流程分析
呼叫建立IAD提机NTFY_REQNTFY_REPLYMOD_REQ放号音拨号MEGACO/1 [10.66.100.1]:2944 Rply=49415{Context=-{Notify=AG58900}}MOD_REPLYNTFY_REQNTFY_REPLYSSIADMEGACO/1 [10.66.100.12]:2944 Transaction = 49415{ Context = -{ Notify = AG58900{ ObservedEvents = 2002 { 20020403T08131500 : dd/ce{ ds = “26778086\Meth = UM } } } } } 中兴通讯学院<本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传>univ.zte.com.cnuniv.zte.com.cn39 ? NTFY_REQ消息文本如下:
(1) MEGACO/1 [10.66.100.12]:2944 (2) Transaction = 49415{Context = -
(3) { Notify = AG58900{ ObservedEvents = 2002 {20020403T08131500 : dd/ce
{ ds = \ Meth = UM } } } } }
第一行:MG-MGC。MG 的IP 地址和端口号为:[10.66.100.12]:2944。 第二行:事务ID 为49415。此时,该事务封装的关联为空。SS1a/1b的实现方式为主叫拨号之后才建立关联,以免主叫摘机不拨号、所拨的号码不存在等原因引起的资源浪费。
第三行:Notify 命令,该命令作用于终端AG58900。观测到的事件描述符。RequestID 为“2002”,与上文MOD_REQ 命令的RequestID 相同,表示该通知由此MOD_REQ 命令触发。上报DigitMap 事件 的时间戳。“20020403T08131500”表示2002年4 月3 日早上8 时13 分15 秒。终端AG58900观测到的事件为DTMF 检测包中的DigitMap Completion 事件。该事件的两个参数为:DigitMap 结束方式(Meth)和数字串(ds)。DigitMap 结束方式(Meth)有3 个可能值:
“UM”:明确匹配。如果只有一个候选拨号序列且完全匹配,就会产生
一个“明确匹配”的DigitMapCompletion 事件。如上图中DigitMap为
39
SS_010030_C H248协议原理
[2-9]xxxxxx|13xxxxxxxxx|0xxxxxxxxx|9xxxx|1[0124-9]x|E|x.F|[0-9EF].L)F025xxxxx|FF,
数字串ds = \
“PM”:部分匹配。在每一步中,等待下一拨号事件的定时器将采用缺省的定时原则,或者参照一个或多个拨号事件序列中明确规定的定时器。若定时器超时,且不能与候选拨号事件集完全匹配或没有候选拨号事件可以匹配,则报告“定时器超时,部分匹配”。
“FM”:完全匹配。若定时器超时,且能与候选拨号事件集中的一个拨号事件完全匹配,则报告“定时器超时,完全匹配”。数字串“ds”,此时表示用户终端所拨的号码为“F02582325” ?
NTFY_REPLY响应文本如下: MEGACO/1 [10.66.100.1]:2944 Rply=49415{
Context=-{Notify=AG58900}}
4. 事件4:MGC在MG中创建一个新context,并在context中加入
TDMtermination 和RTP termination。MG返回ADD_REPLY响应,分配新的连接描述符,新的RTP终端描述符。
40
第3章 呼叫流程分析
呼叫建立(事件4)IAD提机NTFY_REQNTFY_REPLYMEGACO/1 [10.66.100.1]:2944 Transaction = 10003 {Context = $ {Add = AG58900,Add = $ {Media {Stream = 1 {LocalControl {Mode = ReceiveOnly,nt/jit=40 ; in ms},Local {v=0c=IN IP4 $m=audio $ RTP/AVP 4a=ptime:30}}}}}}MOD_REQMOD_REPLYNTFY_REQNTFY_REPLYADD_REQADD_REPLYSSIADMEGACO/1 [10.66.100.12]:2944 Reply = 10003 {Context = 2000 {Add = AG58900,Add=RTP/00000{Media {Stream = 1 {Local {v=0c=IN IP4 10.66.100.12m=audio 2222 RTP/AVP 4a=ptime:30a=recvonly}}}}}}44 ? ADD_REQ消息的文本如下所示:
(1) MEGACO/1 [10.66.100.1]:2944 (2) Transaction = 10003 {Context = $ { (3) Add = AG58900, (4) Add = $ {
(5) Media {Stream = 1 {LocalControl {Mode = ReceiveOnly,nt/jit=40 ; in ms}, (6) Local {
v=0 c=IN IP4 $
m=audio $ RTP/AVP 4 a=ptime:30}}}}}}
第一行:MGC-MG。MGC的IP地址和端口号为:[10.66.100.1]:2944。 第二行:事务ID为“10003”。“$”表示请求MG创建一个新关联。由于目前关联还不确定,所以使用“$”。
第三行:ADD命令,将终端AG58900加入新增的关联。
第四行:ADD 命令,将某个RTP 终端加入新增关联。其中,新的RTP 终端为临时终端,由于RTP 终端的描述符没有确定,所以使用“$”。
41