抓包看H.248呼叫流程-经典

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
共六十七页
基本概念
▪ 事务(shìwù)(Transaction):MG 与MGC 之间的一组命令
构成事务。一个事务可以由一个或多个动作(Action)组 成,每个动作又由作用范围局限在同一个关联中的一个或 多个命令组成。
▪ 请求(Request)和响应(Reply):MGC 和MG 之
间进行各种层次上的交互(如事务交互、动作交互 和命令交互等)。每次交互包含一个请求和一个响 应。请求由发送方发起;接收方对请求进行处理, 并将处理结果包含在响应中返回给发送方。通常 MGC 发起请求而MG 做出响应。但相反的情况也 是可能的。
5) MG1 上的用户User1 拨号,MG1 根据MGC 所下发的号码表进行收号,并将所拨号码及匹配结果 用Notify 消息上报MGC; 6) MGC 向MG1 返回Reply;
7) MGC 向MG1 发送Add 消息,在MG 中创建(chuàngjiàn)一个新context, 并在context 中加入用户User1 的 termination 和RTP termination,其中RTP 的Mode 设置为 ReceiveOnly,并设置语音压缩算法; 8) MG1 为所需Add 的RTP 分配资源RTP1,并向MGC 应答Reply 消息,其中包括 该RTP1的IP 地址,采用的语音压缩算法和RTP 端口号等; 9) MGC 向MG2 发送Add 消息,在MG2 创建一个新context,在context 中加入用户 User2的termination 和RTP termination,其中Mode 设置为SendReceive,并设置 远端RTP 地址及端口号、语音压缩算法等; 10) MG2 为所需Add 的RTP 分配资源RTP2,并向MGC 应答Reply 消息,其中包括 该RTP2的IP 地址,采用的语音压缩算法和RTP 端口号等;
USER2
a2
共六十七页
主叫摘机
物理(wùlǐ)终结点 为“a1”
一般(yībān),MG发送给MGC的以“MEGACO/1”开头
MGC发送给MG的以“!/1”开头
IAD的IP
检测(jiǎn cè)到
时间和日期
的事件
MG1检测到用户USER1的摘机事件,并将此事件通知MGC。
摘机
Notify命令即通知命令,只能由MG向MGC发起。通常出现在MG检测到某些事件(如用户摘挂机、拍 叉簧、拨号结束、网络失效等)时通知MGC,也可以作为MG发起的心跳。
共六十七页
呼叫 流程图 (hū jiào)
共六十七页
流程 说明(1) (liúchéng)
1) MG1 检测到用户User1 的摘机,将此摘机事件通过Notify 命令上报给MGC; 2) MGC 向MG1 返回Reply; 3) MGC 向MG1 发送Modify 消息,向MG1 发送号码表(Digitmap);请求MG1 放拨号 音(cg/dt);并检测收号完成(dd/ce)、挂机(al/on)、拍叉簧(al/fl)事件; 4) MG1 向MGC 返回Reply;
MGC→MG,修改一个终端的属性、事件和信号参数。
MGC→MG,从一个关联中删除一个终端,同时返回终端的统计状态。如关 联中再没有其它的终端,将删除此关联。
MGC→MG,将一个终端从一个关联移到另一个关联。
MGC→MG,获取有关终端的当前特性,事件、信号和统计信息。
MGC→MG,获取MG 所允许的终端的特性、事件和信号的所有可能值的信 息。
共六十七页
基本概念:终结 点 (zhōngjié)
▪ 终结点(Termination):终结点是MG 上的逻辑实体,它发起和/或接收
媒体和/或控制流。终结点用一些属性来描述,如媒体流、modem 和承载 能力等属性,这些属性组成(zǔ chénɡ)了一系列描述符。
▪ Termination的分类 ▪ 物理终结点(Physical Termination)
当你拨了第一个号码一个号码11时只有三个拨号方案能匹配你继续的拨号了那么这一串拨号计划就时只有三个拨号方案能匹配你继续的拨号了那么这一串拨号计划就缩短为缩短为13xxxxxxxxx159xxxxxxxx10124613xxxxxxxxx159xxxxxxxx1012469x9x当你再拨了第二个号码当你再拨了第二个号码11时就只时就只剩剩1012461012469x9x来匹配你继续的拨号了最后你拨了号码来匹配你继续的拨号了最后你拨了号码99这时你的拨号与这时你的拨号与1012461012469x9x这个拨号方案完全匹配了并且拨号计划的匹配序列也只有这一个拨号方这个拨号方案完全匹配了并且拨号计划的匹配序列也只有这一个拨号方案了因此这个时候你上报的拨号就是明确匹配案了因此这个时候你上报的拨号就是明确匹配umum的
示例中的是实验室环境,只要求检测挂机事件,数图也很简单。在实际工程中,除检 测挂机时间外,一般还要检测拍插簧等其它事件。
共六十七页
数图示例(shìlì)
要求检测所有(suǒyǒu)事件(al/*)
!/1 [221.4.12.196]:2944 T=540559175{C=-{MF=A16{E=540377348{dd/ce{DM=dmap1},al/*},SG{cg/dt},DM=dmap1{([28]xxxxxx|13xxxxxxxxx|0xxxxx|9xxxx|1[0124-9]x|E|F|x.F|[0-9].L)}}}}
共六十七页
MGC下发(xià fā)数图、拨号音
P:Reply C:Context N:Notify K:TransactionResponseAck
检测(jiǎn cè)挂机和拨号完成 拨号音
数图
事件
MGC向MG下发数图,给用户放拨号音,并要求MG检测用户挂机和拨号完成事件。 dd/ce:拨号完成事件。 DM:DigitMap即数图、拨号计划(jìhuà),用于检测和报告Termination上接收到的拨号事 件。
▪ 关联(Context): 关联是一些终结点具有相互联系而形成的结合体。有
一种特殊的关联称为空关联(Null),它包含所有那些与其它终结点没有 联系的终结点。例如,接入网关中所有的空闲线路都被看作空关联中的 终结点。
▪ Context的分类 ▪ NULL Context(空关联)
▪ 当网关中没有建立任何关联,则所有的物理Terminations都将归属于 NULL Context。 例如,在一个接入网关刚刚注册的时候,所有用于描述用户线的 Terminations都将归 属于NULL Context。NULL Context只有逻辑概念。
MG→MGC ,MG将检测到的事件通知给MGC。
MGC→MG或MG→MGC, MG使用该命令向MGC报告一个终端或者一组终 端将要退出服务或者刚刚进入服务。 MG也可以使用该命令向MGC进行注册 并且向MGC报告MG将要开始或者已经完成了重新启动工作。同时,MGC可 以使用该命令通知MG将一个终端或者一组终端进入服务或者退出服务。
抓包看H.248呼叫(hū 流程 jiào)
共六十七页
H.248协议(xiéyì)简介
▪ H.248协议,也叫MeGaCo协议,是媒体网
关控制器(MGC)与媒体网关(MG)之间 的一种媒体网关控制协议。与MGCP协议 相比,H.248 协议可以支持更多类型的接入 技术并支持终端的移动性,除此之外, H.248协议最显著之处在于能够支持更大规 模的网络应用,而且更便于对协议进行扩 充(kuòchōng),因而灵活性更强,已逐渐取代 MGCP发展成为媒体网关控制协议的标准。
▪ 注意:端点从NULL Context→Context不是(bùshi)使用Move操作。
共六十七页
基本概念
▪ 命令(Command):协议定义了一些命令用于对协议连接模型中的逻辑(luójí)实体(关联和终结
点)进行操作和管理。命令提供了本协议所支持的最精微层次的控制。例如,通过命令可以向关联 增加终结点、修改终结点、从关联中删除终结点以及审计关联或终结点的属性。命令提供了对关 联和终结点的属性的完全控制;包括指定要求终结点报告的事件、向终结点加载的信号以及指定 关联的拓扑结构(谁能听见/看见谁)。
▪ 描述符(Descriptor):协议中的一种语法元素,用来描述一组相互联系的 特性。例如:通过在一个命令中包含适当的描述符,控制器能够设置MG 中的媒体流特性。描述符可作为命令的输入和输出参数。一个空描述符 只由其描述符名组成,后面没有项目列表。常见描述符有:媒体描述符 (Media)、事件描述符(Events)、信号描述符(Signals)、审计描 述符(Audit)、业务改变描述符(ServiceChange)、号码采集规则描 述符(DigitMap)、统计描述符(Statistics)、包描述符(Packages)、 被观察事件描述符(ObservedEvents)、拓扑描述符(Topology)、错 误描述符(Error)等。
WireShark解析(jiě xī)后的信令
-----------------------信令原文
Packet Details
共六十七页
Packet Bytes
网络 示意图 (wǎngluò)
MG1 10.94.20.223
USER1
a1
MGC 10.94.20.203
MG2 10.94.20.222
▪ 在网关制造出来之后就存在并一直存在下去的物理端点
▪ 映射到中继线、模拟线等
▪ 临时终结点(Ephemeral Termination)
▪ 在呼叫中临时分配,并持续到呼叫结束时候的逻辑端点 ▪ 映射到RTP端口等
▪ ROOT终结点
▪ 物理终结点 ▪ 代表整个网关,可以用于修订网关属性
共六十七页
基本概念:关联(guānlián)
口号、语音压缩算法等; 14) MG1 向MGC 返回Reply; 15) MG2 检测到用户User2 的摘机,将此摘机事件通过Notify 命令上报给MGC;
16) MGC 向MG1 返回Reply; 17) MGC 向MG2 发送Modify 消息,让MG2 检测User2 的挂机(al/on)、拍叉簧(al/fl)事件; 18) MG2 向MGC 返回Reply;
共六十七页
流程 说明(2) (liúchéng)
11) MGC 向MG2 发送(fā sònɡ)Modify 消息,MG2 向被叫送振铃音(al/ri);
12) MG2 向MGC 应答;
13) MGC 向MG1 发送Modify 消息,让User1 放回铃音(cg/rt),并设置RTP1 的远端RTP 地址及端
共六十七页
H.248协议(xiéyì)的消息结构
共六十七页
H.248的八个命令(mìng lìng)
命令名称
描述
Add
Modify Subtract
Move AuditValue AuditCapabili 增加一个终端到一个关联中,当不指明ContextID时,将生成 一个关联,然后再将终端加入到该关联中。
19) MGC 向MG1 发送Modify 消息,让User1 停回铃音SG{},并设置RTP1 的Mode 为 SendReceive; 20) MG1 向MGC 返回Reply;User1 与User2 正常通话。
共六十七页
WireShark界面(jièmiàn)
Filter中输入(shūrù)“megaco”进行过滤 Packet List
要求检测挂机(al/on)和拍叉簧事件(al/fl) !/1 [10.46.130.4]:2944 T=2240183330{C=-{MF=AG589005{DM=DM694108686476 {([2-8][ 1-9]xxxxx|1[3458]xxxxxxxxx|[EF][0-9][0-9E].F|EEXX|EFXXF|FF|EFxxExxxxEx.F|FExxE xxxxEx.F|10xxx|10xxS.|11[02479]|11[13568]Sx.|12[026789]|121xx|12[3-5]Sx.|168xx xxx|1[79]xSx.|200|201|20[2-9]xSx|400xS.|444S.|600x|800xxxxxxx|9xxxxSx.|163X.|4 0081xxxxx|160|96169|400271|446230xxxxxxxxx|446235xxxxxxxxx|01[38]xxxxxxxxx|010
xxxSxxxxx|02xxxxSxxxxx|0[3-9]xxxxxSxxxx|0311xxxSxxxxx|037[179]6xxSxxxxx|04[15]
1xxxSxxxxx|051[0-9]xxxSxxxxx|053[12]xxxxxxxx|057[147]xxxSxxxxx|059[15]xxxSxxxx x|075[457]xxxSxxxxx|0769xxxSxxxxx|0898xxxSxxxxx|00xxSx.|015[0-9]xxxxxxxx|068x| 076[0]xxxSxxxxx|0573xxxSxxxxx|073xxxxSxxxxSx|0432xxxSxxxxSx|[2-8]xxxxxx|[1-8]x
相关文档
最新文档