版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、H.248基本呼叫流程一、需要了解的一些H.248概念:1、 媒体网关(MG):MG 将一种网络中的媒体转换成另一种网络所要求的媒体格式。2、 媒体网关控制器(MGC):MGC 对MG 中与媒体通道连接控制相关的呼叫状态进行控制。3、终结点(Termination):终结点是MG 上的逻辑实体,它发起和/或接收媒体和/或控制流。终结点用一些属性来描述,如媒体流、modem 和承载能力等属性,这些属性组成了一系列描述符。4、关联(Context): 关联是一些终结点具有相互联系而形成的结合体。有一种特殊的关联称为空关联(Null),它包含所有那些与其它终结点没有联系的终结点。例如,接入网关中所有
2、的空闲线路都被看作空关联中的终结点。5、命令(Command):本协议定义了一些命令用于对协议连接模型中的逻辑实体(关联和终结点)进行操作和管理。命令提供了本协议所支持的最精微层次的控制。例如,通过命令可以向关联增加终结点、修改终结点、从关联中删除终结点以及审计关联或终结点的属性。命令提供了对关联和终结点的属性的完全控制;包括指定要求终结点报告的事件、向终结点加载的信号以及指定关联的拓扑结构(谁能听见/看见谁)。6、事务(Transaction):MG 与MGC 之间的一组命令构成事务。一个事务可以由一个或多个动作(Action)组成,每个动作又由作用范围局限在同一个关联中的一个或多个命令组成
3、。7、请求(Request)和响应(Reply):MGC 和MG 之间进行各种层次上的交互(如事务交互、动作交互和命令交互等)。每次交互包含一个请求和一个响应。请求由发送方发起;接收方对请求进行处理,并将处理结果包含在响应中返回给发送方。通常MGC 发起请求而MG 做出响应。但相反的情况也是可能的。协议结构:MG 和MGC 之间的一组命令(command)组成了事务(Transaction)。每个Transaction 由一个TransactionID来标识。Transaction 由一个或者多个动作(Action)组成。一个Action 又由一系列command以及对关联属性进行修改和审计的
4、指令组成,这些命令、修改和审计操作都局限在一个关联之内。因而每个动作(action)通常指定一个关联标识(Contextid). 所有 Megaco/H.248 信息采用 ASN.1 文本信息格式。Megaco/H.248 通过一系列命令控制终止(Termination)、关联域(Context)、事件(Event)以及信号(Signal)等。下面列出了各种命令: Add Add 命令负责添加 Termination 到 Context。Context 中的第一个 Termination 上的 Add 命令可以用于创建一个 Context。 Modify Modify 命令用于更改 Termi
5、nation 的属性、事件和信号。 Subtract Subtract 命令用于断开 Context 中的 Termination 连接,并返回加入 Context的关于 Termination 的统计值。Context 中最后 Termination 上的 Subtract 命令用以删除Context。 Move Move 命令自动将 Termination 移动到其它 Context。 AuditValue AuditValue 命令用以返回属性、事件和信号的当前状态,以及终点统计值. AuditCapabilities AuditCapabilities 命令返回媒体网关所支持的关于终点
6、属性、事件及信号等的所有可能值。 Notify Notify 命令允许媒体网关通知媒体网关控制器关于媒体网关中发生的事件。 ServiceChange ServiceChange 命令允许媒体网关通告媒体网关控制器关于单个终点或终点组将退出服务或返回到服务。此外 MG 利用 ServiceChange 命令通告其对 MGC(注册)的可用性,并通告 MGC 关于迫近或完全重启的 MG。MGC 可能通过向 MG 发送 ServiceChange 命令而通告 MG 其移交过程。MGC 还可能通告 ServiceChange 命令通知 MG 为服务增添单个终点或终点组或将单个终点或终点组退出服务。 H
7、.248和MeGaCo在协议文本上相同,只是在协议消息传输语法上有所区别,H.248采用ASN.1语法格式(ITU-T X.680 1997),MeGaCo采用ABNF语法格式(RFC2234)。【典型呼叫过程】a.主叫摘机,mg检测到后通过notify命令将事件(off-hook)报告给mgc; b.mgc通过add命令让mg将主叫端口加入一个context,并向主叫送拨号音; c.用户拨号,mg将收到的号码通过notify命令报告给mgc; d.mgc分析被叫号码,找出被叫端口,命令mg将被叫端口加入一个context; e.mgc命令mg向主叫送回铃音,向被叫送振铃音; f.被叫摘机,m
8、gc命令mg连接主被叫; g.主/被叫挂机,mgc命令mg释放主被叫连接,将主/被叫端口放空context。 二、环境创建主叫号码:66680012 ip=23,line1 被叫号码;66680014 ip=23,line3两号码在同一IAD(23)上,主叫拨打被叫振铃,被叫应答,被叫先挂机。如何trc 23的呼叫?1、在GUI上查看23所使用的的cocoCE为COCOCE2,现使用的是COCOCE-2A2、 在FW PC 上执行tcoco3 and host 23|mega
9、filt -a -s24,25 -mx|tee xiong.log(过滤除23之外的内容)3、用66680012拨打66680014,然后得到xiong.log, 通过more xiong.log打开文件或通过FTP下载到本地硬盘。三、消息流程分解:* MegaFilt - Middleware/Megaco/SIP filter tool * version 111 06/08/2004 WR4MGC * * written by: M. Spreter (ASEL) and *Expanding all (Middleware, Megaco, SIP, Interna
10、l messages)Suppressing following messages .MW_MonitorRequestMW_MonitorResponseTracing Middleware . with hexdump 1) MG1(23.2944) 检测到用户User1( njasbtest1line1)的摘机,将此摘机事件(Transaction)通过Notify 命令上报给MGC;-11:35:35.108365 eth0 < 23.2944 > njcoco2.2944: udp 162MEGACO/1 23:
11、2944Transaction=40 Context=- Notify=njasbtest1line1 ObservedEvents=589829 19700101T03211814:al/of(模拟用户/摘机) TransactionResponseAck 39 内容解释:采用MEGACO协议传送,从MG 23端口2944 发往MGC 的njcoco2.端口2944,此事务是TransactionRequest,事务的标识为Transactionid40,此动作由Notify命令组成,Notify命令里包含下列信息:终结点标识=njasbtest1line1请求序号589
12、829被观察事件描述符:al/of ->event:analog sub/off hookTransactionResponseAck2) MGC 向MG1 返回Reply11:35:35.115867 eth0 > njcoco2.11000 > 23.2944: udp 45 (DF)!/1 P=40 C=- N=njasbtest1line1 解释:P=replyTransactionReply 由事务的接收方发送,作为对TransactionRequest 的一对一响应。一个TransactionReply 包含一个或者多个动
13、作,其中每个动作都必须指定动作的目标关联,以及对应每个关联的一个或者多个响应。当事务的响应方完成了TransactionRequest 的处理后,就会发送一个TransactionReply。3、MG1 上的用户User1 拨号,MG1 根据MGC 所下发的号码表进行收号,并将所拨号码及匹配结果用Notify 消息上报MGC;11:35:39.196731 eth0 < 23.2944 > njcoco2.2944: udp 186MEGACO/1 23:2944Transaction=41 Context=- Notify=njasbtes
14、t1line1 ObservedEvents=393217 19700101T03212209:dd/ce ds="66680014", Meth=UM TransactionResponseAck 40 事件描述:MG检测收号完成(dd/ce),收到数字串(ds)为66680014,所收数字与DIGMAP正好匹配(Meth=UM)关于匹配(metching)的定义:如果首位已匹配但在后续收号过程中发生号码和号码表不匹配或长定时器超时,则只向MGC 上报已匹配成功的号码,并且meth=PM;如果首位已匹配但在后续收号过程中发生短定时器 超时,则只向MGC 上报已匹配成功的号
15、码,并且meth=FM;如果用户首位拨号匹配失败,则向MGC 上报ds="",Meth=PM;如果拨号精确匹配,则上报所拨号码,Meth=UM;4、MGC 向MG1 返回Reply;-11:35:39.200330 eth0 > njcoco2.11000 > 23.2944: udp 45 (DF)!/1 P=41 C=- N=njasbtest1line1 5、MGC 向MG发送Add 消息,在MG 中创建一个新context, 并在context 中加入用户User1 的termination 和RTP termi
16、nation,其中RTP 的Mode 设置为send and recivice,并设置语音压缩算法;11:35:39.211946 eth0 > njcoco2.11000 > 23.2944: udp 142 (DF)!/1 T=100366 C=$ A=njasbtest1line1 M O MO=SR,tdmc/ec=on,tdmc/gain=0->modesend and recivice ,A=$->add “CHOOSE” M O MO=RC->mode= Receiveonly ,L -> Local
17、描述符 v=0c=IN IP4 $m=audio $ RTP/AVP 8->V=0,C=IN IP4 <CHOOSE>,M=AUDIO,<CHOOSE> RTP/AVP 8 H.248协议里几个常用缩写:"T=" TransactionID"C=" ContextID"A=" ADD COMMAND"M" Media Descriptor"O" Local Control Descriptor(可能是,无从考证)"MO" Mode Descrip
18、tor"L" Local Descriptor"R" Remote Descriptor具体解释见第六流程6、MG1 为所需Add 的RTP 分配资源RTP1,并向MGC 应答Reply 消息,其中包括该RTP1的IP 地址,采用的语音压缩算法和RTP 端口号等;-11:35:39.301541 eth0 < 23.2944 > njcoco2.11000: udp 181MEGACO/1 23:2944Reply=100366 Context=12 Add=njasbtest1line1, Add=R
19、TP/0000 Media Local v=0c=IN IP4 23m=audio 4000 RTP/AVP 8 *相关知识*8MEDIA的几种描述符之间的关系如下所示:Media Descriptor,TerminationState Descriptor,Stream Descriptor,LocalControl Descriptor,Local Descriptor,Remote Descriptor其中,当本协议采用文本方式编码时,Local 和Remote 描述符包含RFC 2327 所定义的SDP 的会话描述(session description)。 SDP
20、 会话描述见附一,例子的描述如下: m= (媒体名称和传输地址)m=<media> <port> <transport> <fmt list>MEDIA 可以选择"audio", "video", "application", "data" and "control例子的m=audio 4000 RTP/AVP 8如此理解would specify that ports 4000 form one RTP/RTCP and RTP/AVP is the tr
21、ansport protocol and 8 is the format (see below).Codec id :8 -àG.711A; 0 -àG.711U; 18 -àG.729; 4-àG.723c= 连接信息 - 如果包含在会话层则该字段可选 c=<network type> <address type> <connection address>例子所用的描述符定义:c=IN IP4 23>IN=internet,IPV4,所连接的ip地址7、MGC 向MG2 发送Add 消息,在
22、MG2(例子MG2为23的line3) 创建一个新context,在context 中加入用户User2的termination 和RTP termination,其中Mode 设置为SendReceive(更多Mode见附二),并设置远端RTP 地址及端口号、语音压缩算法等,例子MG2为23的line3;-11:35:39.958274 eth0 > njcoco2.11000 > 23.2944: udp 196 (DF)!/1 T=100367 C=$ A=njasbtest1line3 M O
23、 MO=SR,tdmc/ec=on,tdmc/gain=0 ,A=$ M O MO=SO ,L v=0c=IN IP4 $m=audio $ RTP/AVP 8 ,R v=0c=IN IP4 23m=audio 4000 RTP/AVP 8 H.248协议里几个常用缩写:"T=" TransactionID"C=" ContextID"A=" ADD COMMAND"M" Media Descriptor"O" Local Control Descriptor(可能是,无从考
24、证)"MO" Mode Descriptor"L" Local Descriptor"R" Remote Descriptor-8) MG2 为所需Add 的RTP 分配资源RTP2,并向MGC 应答Reply 消息,其中包括该RTP2的IP 地址,采用的语音压缩算法和RTP 端口号等;11:35:40.035566 eth0 < 23.2944 > njcoco2.11000: udp 181MEGACO/1 23:2944Reply=100367 Context=13 Add=n
25、jasbtest1line3, Add=RTP/0002 Media Local v=0c=IN IP4 23m=audio 4004 RTP/AVP 8 9) MGC 向MG1 发送Modify 消息, 发送MG2的信息:-11:35:40.040059 eth0 > njcoco2.11000 > 23.2944: udp 143 (DF)!/1 T=100368 C=12 MF=njasbtest1line1 M O MO=SR ,MF=RTP/0000 M O MO=SR ,R v=0c=IN IP4 221.6
26、.59.123m=audio 4004 RTP/AVP 8 10) MG1 向MGC 返回Reply;-11:35:40.140345 eth0 < 23.2944 > njcoco2.11000: udp 106MEGACO/1 23:2944Reply=100368 Context=12 Modify=njasbtest1line1, Modify=RTP/0000 11)MGC 向MG2 发送Modify 消息,MG2 向被叫送振铃音(al/ri)-11:35:40.146983 eth0 > njcoco2.11000 >
27、 23.2944: udp 202 (DF)!/1 T=100369 C=13 MF=njasbtest1line3 E=589829 al/of strict=exact ,al/on strict=exact ,g/sc ,SG andisp/dwa ddb=8017010830363038313133350208363636383030313207014fca,pattern=1 ,MF=RTP/0002 12)MGC 向MG1 发送Modify 消息,让User1 放回铃音,并设置RTP1 的远端RTP 地址及端口号、语音压缩算法等;11:35
28、:40.147741 eth0 > njcoco2.11000 > 23.2944: udp 74 (DF)!/1 T=100370 C=12 MF=njasbtest1line1 SG cg/rt SY=TO,DR=0 13)MG1 向MGC 返回Reply;11:35:40.245253 eth0 < 23.2944 > njcoco2.11000: udp 163MEGACO/1 23:2944Reply=100369 Context=13 Modify=njasbtest1line
29、3, Modify=RTP/0002 Reply=100370 Context=12 Modify=njasbtest1line1 13)MG2 检测到用户User2 的摘机,将此摘机事件通过Notify 命令上报给MGC;11:35:44.649345 eth0 < 23.2944 > njcoco2.2944: udp 163MEGACO/1 23:2944Transaction=42 Context=13 Notify=njasbtest1line3 ObservedEvents=589829 19700101T03212729:al/
30、of(被叫摘机) TransactionResponseAck 41 14)MGC 向MG2 返回Reply;11:35:44.652670 eth0 > njcoco2.11000 > 23.2944: udp 46 (DF)!/1 P=42 C=13 N=njasbtest1line3 15)MGC 向MG2发送MODIFY,MODE=SR-11:35:44.660631 eth0 > njcoco2.11000 > 23.2944: udp 57 (DF)!/1 T=100374
31、C=13 MF=RTP/0002 M O MO=SR 16)MGC 向MG1 发送Modify 消息,让User1 停回铃音signal,并设置RTP1 的Mode 为SendReceive;11:35:44.662368 eth0 > njcoco2.11000 > 23.2944: udp 57 (DF)!/1 T=100375 C=12 MF=njasbtest1line1 SG 17)MG1 向MGC 返回Reply;User1 与User2 正常通话。11:35:44.754159 eth0 < 23.2
32、944 > njcoco2.11000: udp 136MEGACO/1 23:2944Reply=100374 Context=13 Modify=RTP/0002 Reply=100375 Context=12 Modify=njasbtest1line1 被叫挂机18)MG1 检测到用户User1 的挂机,将此挂机事件通过Notify 命令上报给MGC;11:35:48.529565 eth0 < 23.2944 > njcoco2.2944: udp 163MEGACO/1 23:2944Transactio
33、n=43 Context=13 Notify=njasbtest1line3 ObservedEvents=589829 19700101T03213091:al/on(主叫先挂机) TransactionResponseAck 42 19)确认挂机MGC 向MG2 返回Reply;11:35:48.535404 eth0 > njcoco2.11000 > 23.2944: udp 46 (DF)!/1 P=43 C=13 N=njasbtest1line3 20)MGC 向MG2 发送Modify 消息,向MG2 发送下一次呼叫的号码表
34、(Digitmap)和下一次放拨号音(cg/dt);并检测收号完成(dd/ce)、挂机(al/on)、拍叉簧(al/fl)事件;11:35:48.576410 eth0 > njcoco2.11000 > 23.2944: udp 178 (DF)!/1 T=100376 C=13 S=* ,C=- MF=njasbtest1line3 E=589829 al/of strict=exact,EM SG cg/dt ,E=393217 dd/ce DM=JSNGN8 ,al/on strict=exact ,g/sc ,al/on strict=exact 21)向主叫发释放信息,MGC 向MG1 发送Modify 消息,让MG1 对User1 放忙音(cg/bt)11:35:48.607005 eth0 > njcoco2.11000 > 23.2944: udp 111 (DF)!/1 T=100377 C=12 MF=njasbtest1line1 M O MO=SR ,SG SL=1 cg/bt,cg/bt ,MF=RTP/0000 M O MO=IN-à
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论