51CTO-H248抓包详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

H.248/MegacoByLucasLiuAlphanetworks(Chengdu).coContents目录什么是H.248/Megaco重要的概念H.248中定义的报文完整的通话过程WhatisH.248/MegacoH.248/Megaco1.H.248/Megaco是VOIP中的一种媒体网关控制协议;2.由IETF和ITU-T研究组共同研究努力的结果IETF将其命名为Megaco(MediaGatewayControlProtocol),ITU-T则根据自己的协议编号体系将其命名为H.248WhatisH.248/MegacoH.248/Megaco特点1.H.248/Megaco把呼叫控制从媒体转换中分离出来;2.协议规定了媒体网关和媒体网关控制器,媒体网关和软件换之间进行通信的时候的协议要求3.媒体网关:将一种网络中媒体转换成另一种网络所要求的格式(exp:电路-分组)4.媒体网关控制器:对媒体通道的连接控制相关的呼叫状态进行控制Networktopology•H.248/Megaco所依托的网络体系结构软件换设备控制层接入层IP中继网关ATM中继网关综合接入网关多媒体网关媒体服务器MSH.248智能终端MPIADMC接入层媒体承载通道H.248MGCContents目录什么是H.248/Megaco重要的概念H.248中定义的报文完整的通话过程Conceptions•H.248的一些概念终端/终结点(Termination)和关联(Context),这两个概念是H.248中最基本最重要的概念1.终结点(Termination):终结点是MG上的逻辑实体,它发起和/或接收和/或控制流2.关联(Context):关联是一些终结点具有相互联系形成的组合3.空关联(Null):指包含所有哪些与其他终结点没有联系的终结点Example•关联(Context)媒体网关(MG)关联(Context)*终结点终结点终结点RTP流SCN承载通道SCN承载通道终结点SCN承载通道*终结点SCN承载通道空关联(Null)关联(Context)Conceptions•终端的分类:1.半永久终端:表示物理实体.例如设备中的某个物理通道,只要这个物理通道在媒体网关中被配置,就一直存在,只有当配置信息被删除,与之对应的终端才会消失,每个半永久终端都有一个标识ID,如F420中默认的为A0/A12.临时终端:代表临时的信息流,例如RTP流,当需要时创建,使用完毕后就删除,每个临时终端也有一个标识,如RTP/10000,临时终端是通过ADD命令来创建,通过SUBTRACT命令来删除,与此不同,当一个半永久终端被加入一个特定的关联时,它是从Null关联中获取,而当从特定关联中删除时,它又被返回到Null关联3.根终结点(ROOT):有时候,一个命令是针对整个MG的,而不是某个终结点,为此H.248中定义了一类特殊的终结点:根终结点(ROOT),一般来说注册时候都是以ROOT去注册,也可以用单个终结点注册.Contents目录什么是H.248/Megaco重要的概念H.248中定义的报文完整的通话过程PacketsdefinedinH.248•H.248中定义的8种报文:4.Move:将一个终结点从一个关联转移到另外一个关联中,但是不能用于空关联;3.Subtract:用于将一个终结点从它所处的关联中分离,同时返回这个终结点处于关联期间的统计数据;2.Modify:用于修改终结点的属性,事件和信号;1.Add:用于向一个关联中添加终结点;PacketsdefinedinH.248•H.248中定义的8种报文:8.ServiceChange:MG用ServiceChange来像MGC注册,或者注销,或者用于MG向MGC报告一个终结点或者一组终结点将要退出服务或者刚刚返回服务,或者想MGC报告MG将要重启或者已经重启完毕,MGC可以用该命令指示MG进入服务或者退出服务,MGC还可以用ServiceChange将对MG的控制转交给其他MGC7.Notify:MG用于Notify来向MGC报告MG中所发生的事件;6.AuditCapabilities:返回终结点的有关的属性,事件,信号与统计等的所有可能值;5.AuditValue:用于获取终结点的属性,事件,信号和统计的当前值;Contents目录什么是H.248/Megaco重要的概念H.248中定义的报文完整的通话过程Callprocess•注册MGCMG-AMG-BServiceChangeRequestSer_ChgeServiceChangeResponseSer_ChgeModify_Request要求MG检查用户摘机事件(al/of)MOD_REQModify_ReplyMOD_ReplyNotify_REPLYCallprocess•呼叫MGCMG-AMG-BA想要呼叫BStep1:摘机MG检测到摘机事件,通过Notify报文上报给MGCMOD_REQNotify_REQ修改MG状态,放拨号音播放拨号音MOD_REPLYCallprocess•呼叫MGCMG-AMG-BA呼叫B流程开始拨号MG将收到的号码送往MGCNTFY_REQNTFY_REPLYMGC通过ADD命令将MG-A加入一个关联ADD_REQADD_REPLYADD_REPLYMGC解析号码,得到对应的IP地址,然后同样用ADD命令将MG-B加入关联,并包含了主叫的IP地址等信息ADD_REQADD_REPLY收到Reply,修改MG-B状态,使其振铃,同时修改MG-A,播放回铃音MOD_REQMOD_REPLY电话振铃MOD_REQ播放回铃音MOD_REPLYCallprocess•呼叫MGCMG-AMG-BA呼叫B流程此时B摘机MG检测到摘机事件,上报给MGCNTFY_REQNTFY_REPLY到此MGC会通过Modify报文告知MG1对方的IP地址,端口号,以及编码格式等信息MOD_REQMOD_REQMOD_REPLYMOD_REPLY双方建立连接,开始通话Callprocess•释放呼叫MG-AMG-BA呼叫B流程B挂机MG检测到挂机,向MGC发送Notify报文NTFY_REQNTFY_REPLY通过MOD报文修改MG状态使其停止接收数据流MOD_REQMOD_REPLY修改状态完毕后MGC就通过subtract将MG从关联中删除,SUB_REQSUB_REPLY与此同时通过MOD报文修改A的状态,使其停止接受数据流,并播放忙音MOD_REQMOD_REPLY回复reply同时播放忙音Callprocess•释放呼叫MG-AMG-BA呼叫B流程将B从关联中删除后再次修改B的状态为检测摘机状态MOD_REQMOD_REPLY当A检测到挂机后,就以NTFY通知MGC,MGC然后通过SUB把A从关联删除,然后再次修改A的状态为检测摘机状态A挂机A检测到挂机NTFY_REQNTFY_REPLYSUB_REQSUB_REPLYMOD_REQMOD_REPLY到此为止,通话结束CallprocessMGC流程总结MG1MG2摘机Notify_Request(1)Notify_Reply(2)Modify_Request(3)Modify_Reply(4)播放拨号音拨号Notify_Request(5)Notify_Reply(6)Add_Request(7)Add_Reply(8)Add_Request(9)Add_Reply(10)Callprocess流程总结MGCMG1MG2Modify_Request(11)Modify_Reply(12)振铃Modify_Request(13)Modify_Reply(14)播放回铃音摘机Notify_Request(15)Notify_Reply(16)Modify_Request(18)Modify_Request(17)Modify_Reply(20)Modify_Reply(19)通话连接建立进入呼叫释放流程Notify_Request(1)Packets事务IDN=NotifyTID=A0OE=ObjectEvent,al/of=al/offhook摘机.MG检测到摘机事件后将该事件通过Notify报文上报给MGC返回流程图PacketsNotify_Reply(2)P=Reply并且ID相同N=NotifyTID=A0.MGC收到MG的Request后回复一个Reply返回流程图PacketsModify_Request(3)返回流程图MGC发送modify消息,向MG发送数图(Digitmap),放拨号音(cg/dt),并检测收号完成,挂机,拍叉簧事件事务ID,在发送方唯一MF=ModifyDd/ce:检测digitmap完成事件Al/*:“*”表示任意字符,这里表示以al/开始的事件,如:al/on(挂机),al/off(摘机),al/fl(拍叉簧)数图:拨号规则.放拨号音PacketsModify_Reply(4)MG收到Mofidy后回复Reply并播放拨号音返回流程图P=Reply,事务ID和Request中保持一致MF=ModifyTID=A0.PacketsNotify_Request(5)N=NotifyTID=A0Dd/ce:检测digitmap完成事件号码为:15267082595Method=FullMatch.返回流程图MG根据MGC下发的数图进行收号,并将用户所拨号码以及匹配结果上报给PacketsNotify_Reply(6)返回流程图P=Reply,对Request的回应.MGC收到Request后回应MG一个Reply报文PacketsAdd_Request(7)MGC给MG发送一个Add消息,将MG加入一个新的关联中,并把用户的TID和RTP终端加入关联,其中RTP的模式设置为ReceiveOnly,并设置语音压缩算法返回流程图A=Add,将A0加入关联A=Add,创建关联,$表示任意ID,添加临时终端A=Ad创建关联,关联ID为任意模式为Inactive模式为ReceiveAdd_Request_details返回流程图具体各个值的含义网络类型为Internet地址为IPV4地址$:地址待MG上报媒体类型为:audio端口待设置媒体协议为RTP/AVPAVP=8代表G.711PCMA.PacketsPacketsAdd_Reply(8)MG为所需Add的RTP分配资源RTP1,其中包括RTP1的IP地址,语音压缩算法和RTP端口号返回流程图P=Reply,对Request的回应ContextID=5将半永久终端A0加入关联临时终端为RTP/1上报临时终端的IP地址,端口号,压缩算法等.PacketsAdd_Request_Callee(9)MGC向MG2发送ADD消息,在MG2中创建关联,并加入MG的TID和RTP地址,端口号和语音算法,模式改为SendReceive返回流程图将USER2加入关联模式改为SR对端IP地址,端口号等.Add_Reply_Callee(10)PacketsMG收到MGC的Add消息后返回相应的信息返回流程图事务ID一致,P=ReplyL=Local,返回本地RTP的IP地址,端口号,语音压缩算法等.PacketsModify_Request_Callee(11)返回流程图MGC修改被叫状态,在振铃的同时显示主叫号码修改TID=USER2的状态振铃同时显示主叫号码.PacketsModify_Reply_Callee(12)返回流程图MG收到Request后回复Reply对状态修改的回应.PacketsModify_Request(13)返回流程图播放回铃音.MF=ModifyMGC发送Modify报文给MG播放回铃音PacketsModify_Reply(14)MG收到MGC的modify报文后回复一个ReplyP=Reply.返回流程图PacketsNotify_Request_Ca

1 / 59
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功