H248协议原理及应用_第1页
H248协议原理及应用_第2页
H248协议原理及应用_第3页
H248协议原理及应用_第4页
H248协议原理及应用_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——H248协议原理及应用

NGN_SP002_C1H248协议原理与应用

课程目标:

?H.248协议呼叫模型和协议结构?H.248协议的基本命令、消息格式?H248的典型呼叫流程?H248在ZXSS10中的应用

参考资料:

?RFC3015

?《ZXSS10协议设计概要》?《ZXSS10技术手册》

目录

第1章H.248协议的整体概念11.1什么是协议11.2H248协议的起源2

1.2.1历史背景21.2.2网关分解功能模型31.2.3H248发展的历史41.3需要了解的几个问题5

1.3.1解答第一个问题61.3.2解答其次个问题71.3.3解答第三个问题8

第2章H248协议组成92.1连接模型的引入9

2.1.1终端和关联域102.1.2终端(termination)132.1.3关联域(context)142.2描述符162.3封包17

2.3.1H248常见包182.4H248H248的八个命令18

2.4.1Add命令192.4.2Modify命令202.4.3Subtract命令212.4.4Move命令212.4.5AuditValue命令222.4.6AuditCapability命令232.4.7Notify命令232.4.8ServiceChange命令242.5H248基于事务的消息传递机制25

i

2.5.1事务通信机制252.5.2事务响应262.5.3通信方式272.5.4“重启雪崩〞保护28

第3章呼叫流程分析313.1MG向MGC注册注销流程31

3.1.1注册流程分析323.1.2注销流程分析333.2同一SS域下IAD用户拨打IAD用户流程34

3.2.1情景模式343.2.2呼叫流程353.2.3呼叫流程分析353.3呼叫撤消流程503.4同一SS域下TG用户拨打TG用户流程54

3.4.1H248应用于TG/SG工作原理543.4.2情景模式553.4.3呼叫流程解析553.4.4呼叫流程573.4.5呼叫流程注解57

ii

第1章H.248协议的整体概念

?知识点

?本章将对h248协议的起源,作用及发展做一些介绍。

课程目标:

把握协议所定义的网络实体把握协议的寻址方式把握协议中的命令

协议的所定义的通信机制方式协议流程的简单分析

1.1什么是协议

什么是协议协议Xiéyì[agreeon]∶共同计议;协商[agreement;accord;concord]∶经过谈判、协商而制定的共同承认、共同遵守的文件4

1

SS_010030_CH248协议原理

1.2H248协议的起源

1.2.1历史背景

历史背景基于H323体系的第一代IP电话PSTN/ISDNGK??功能扩展性不强:业务的实现需要对繁杂的网关实体进行改造。容量扩展性不强:网关功能实体太过繁杂,对大规模用户的使用支持不好。GW媒体变换信令转换呼叫控制H323Terminal6由于IP网络的快速发展,IP网提供的业务越来越多。同时,原有的电路交换网(如PSTN网)依旧拥有大量的用户,为了能让这些用户使用IP网络提供的服务,需要提供不同网络之间互通的网关设备。那在2023年以前的大部分IP电话网关设备,是集中型网关设备,主要完成三个方面的功能:

1.完成IP电话互通,将PSTN用户的话音进行编码、组包后在IP网上传输,

同时将IP网来的数据包解包、解码后交给PSTN用户;2.处理信令消息;

3.负责网关内部资源管理,及呼叫连接过程的管理。

随着用户数量及对业务需求的增加,网关在规模上要不断扩大,这种集中型的网关结构在可扩展性、安全性方面及组网的灵活性上都存在很大的限制。由此,提出了将业务、控制和信令分开概念。

2

第1章H.248协议的整体概念

1.2.2网关分解功能模型

网关分解功能模型ControlSoftswitchBICC/SIP-TSIGTRANH.248EdgeRTP/RTCPSGMGISUP/MTPTDMTrunk7将IP电话网关分开成三部分:信令网关SG、媒体网关MG和媒体网关控制器MGC。SG负责处理信令消息,将其终结、翻译或中继;MG负责处理媒体流,将媒体流从窄带网打包送到IP网或者从IP网接收后解包后送给窄带网;MGC负责MG的资源的注册和管理,以及呼叫控制。在这种分布式的网关体系结构中,MG和MGC之间采用的是H.248协议,SG和MGC之间采用SIGTRAN协议。这些分开网关结构的重要特点是将控制智能集中到网络中来,即少量的MGC中,其思路和传统电信交换网类似。

思考:

网关分解功能模型带来什么好处?

3

SS_010030_CH248协议原理

1.2.3H248发展的历史

H248的发展历史8

早在1998年,IETF、ITU-T提出了SGCP(简单网关控制协议)和IPDC(IP设备控制协议),它们一起发展成了MGCP(媒体网关控制协议)。

H.248协议是在MGCP协议的基础上,结合其它媒体网关控制协议MDCP(媒体设备控制协议)的特点发展而成的一种协议,它提供控制媒体的建立、修改和释放机制,同时也可携带某些随路呼叫信令,支持传统网络终端的呼叫。该协议在构建开放和多网融合的NGN中,发挥着重要作用。

由于MGCP协议在描述能力上的欠缺,限制了其在大型网关上的应用。对于大型网关,H.248协议是一个好的选择。与MGCP用户相比,H.248对传输协议提供了更多的选择,并且提供更多的应用层支持,管理也更为简单。

H.248可以应用于SCN(SwitchedCircuitNetwork)、IP、ATM、有线电视网或其他可能的电路或分组网络中的任何的两种或多种网络之间的媒体网关控制的协议。H.248报文本身可以承载在任何类型的分组网络上,例如IP、ATM、MTP等。

4

第1章H.248协议的整体概念

1.3需要了解的几个问题

需要了解的几个问题???H248协议发生在谁和谁之间?H248协议起什么作用?同类似的其他协议相比,H248协议有些什么特点?5

学习H248协议之前我们必需要知道其用在哪里,起什么作用。在NGN网络中有好多协议,它们又有什么异同点。

5

SS_010030_CH248协议原理

1.3.1解答第一个问题

解答第一个问题?H248协议发生在谁和谁之间?ServiceControlSCPDatabaseAAAServerApplicationServerPolicyServerSoftswitchSoftswitchCoreCorePacketNetworkAccessSS7NetworkSGTGAGNASH323GWIPPBXMSAGIADWAGPSTN/ISDNBroadbandAccessWireless8由以上网关分解功能模型可以看出H248属于MGC与MG之间的接口协议。它必然发生在MG与MGC之间。

6

第1章H.248协议的整体概念

1.3.2解答其次个问题

解答其次个问题?H248协议起什么作用?它主要的作用就是将呼叫规律控制从媒体网关分开出来,使媒体网关只保持媒体格式转换功能9

H.248/Megaco协议(MediaGatawayControlProtocal),简称H.248协议,是IETF、ITU-T制定的媒体网关控制协议,一个非对等协议,用在媒体网关控制器(MGC)和媒体网关(MG)之间的通信。主要功能是建立一个良好的业务承载连接模型,将呼叫和承载连接进行分开,通过对各种业务网关:TG(中继网关),AG(接入网关),RG(注册网关)等的管理,实现分组网络和PSTN网络的业务互通。

7

SS_010030_CH248协议原理

1.3.3解答第三个问题

解答第三个问题?同其他网关分开协议相比,H248协议有些什么特点????ASN.1和文本行两种编码方式完全开放的扩展机制:包扩展机制。与MGCP的包扩展机制相比,机制更开放,定义的包更多。对多媒体业务和多方会议支持更好11

MGCP协议只支持文本编码方式。

8

第2章H248协议组成

?知识点?????

了解H248连接模型的作用及其组成。了解H248的命令。了解H248的描述符。了解H248的常用包。了解H248的消息传递机制

2.1连接模型的引入

连接模型的引入H248协议的目的是对媒体网关的承载连接行为进行控制和监视。为此,首要的问题就是对媒体网关内部对象进行抽象和描述。那么,H248提出了网关的连接模型概念。13

H248协议的目的是对媒体网关的承载连接行为进行控制和监视。为此,首要的问题就是对媒体网关内部对象进行抽象和描述。那么,H248提出了网关的连接模型概念。

9

SS_010030_CH248协议原理

连接模型指的是MGC控制的,在MG中的规律实体或对象。它是MGC和MG之间消息交互的内容核心,MGC通过命令控制MG上的连接模型,MG上报连接模型的各种信息包括状态、参数、能力等。

模型的基本构件包括:终端(termination)和关联域(context)。

2.1.1终端和关联域

终端和关联域媒体网关TerminationTerminationTerminationTerminationTerminationTerminationTerminationTerminationTerm.XContext.X终端关联域14媒体网关引入连接模型后,媒体网关就抽象为终端和关联域两种实体。

10

第2章H248协议组成

终端和关联域?终端(Termination):?概念:媒体流的源和宿。一个终端可以终结一个或多个媒体流。?半永久性终端:物理终端,例如IAD上的一个Z接口?临时性终端:一个信息流,例如一个RTP语音流。?Root终端:代表MG本身。?关联域(Context):?概念:代表一组终端之间的相互关系。?NullContext:空关联域,代表尚未和其他终端关联的终端,例如,空闲的用户线。15终端是一种规律实体,用来发送/接收媒体流和控制流,终端可以分为如下几类:?

半永久性终端:代表物理实体的终端,称为物理终端。例如:代表一个TDM信道的终端(如我们稍后配置中常见的MG中的TRUNK资源,IAD的AG资源),只要MG中存在这个物理实体,这个终端就存在。?

临时性终端:这类终端只有在网关设备使用它的时候才存在,一旦网关设备不使用它,立刻就被释放掉。例如我们稍后配置中常见的MG中的RTP资源,只有当MG使用这些资源的时候,这个终端才存在。临时性终端可以使用add命令来创立和substract命令来删除,当向一个空关联中参与一个终端时,默认的将添加一个关联;若从一个关联中使用substract命令删除最终一个终端时,关联将变为空关联。?

根终端(ROOT):根终端是一种特别的终端,他代表整个MG。当ROOT作为命令的输入参数时,命令将作用于整个网关,而不是网关中的一个终端。在根终端上可以定义包,也可以有属性、事件和统计特性(信号不适用于根终端),因此,根终端的TerminationID将会出现在一下几个地方:

Modify命令:改变属性或者设置一个事件Notify命令:上报一个事件

Auditvalue命令:检测属性值和根终端的统计特性Auditcapability命令:检测根终端上的属性

11

SS_010030_CH248协议原理

Servicechange命令:声明网关进入服务或者退出服务除此之外,任何在根终端上的应用都是错误的。

关联(Context)是一些终端具有相互联系而形成的结合体。当这个结合体中包含两个以上终端时,关联可以描述拓扑结构(谁能听见/看见谁),及媒体混合和(或)交换的参数。一个关联域可以包含多个终端。根据MG的业务特点不同,关联域中可以包含的最大终端数目就不同。一个关联域中至少要包含一个终端。同时一个终端一次也只能属于一个关联域。假使关联域中包含多于两个终端,关联域还会描述拓扑结构以及其他一些媒体混合/交换的参数。

有一种特别的关联称为空关联(Null),它包含所有那些与其它终端没有联系的终端。空关联中的终端的参数也可以被检查或修改,并且也可以检测事件。寻常使用Add命令(Command)向关联添加终端。假使MGC没有指明向一个已有的关联添加终端,MG就创立一个新的关联。使用Subtract命令可以将一个终端从一个关联中删除。使用Move命令可以将一个终端从一个关联转移到另一个关联。一个终端在某一时刻只能存在于一个关联之中。一个关联中最多可以有多少个终端由MG属性来决定。只提供点到点连接的MG中的每个关联最多只支持两个终端,支持多点会议的MG中的每个关联可以支持三个或三个以上的终端。

12

第2章H248协议组成

2.1.2终端(termination)

终端终端ID终端ID?终端可用TerminationID进行标识,TerminationID由?终端可用TerminationID进行标识,TerminationID由??MG分派。MG分派。??终端描述特性终端描述特性?性质(Property):服务状态、媒体信道属性等;?性质(Property):服务状态、媒体信道属性等;?事件(Event):例如摘机、挂机等;?事件(Event):例如摘机、挂机等;?信号(Signal):例如拨号音、DTMF信号等;?信号(Signal):例如拨号音、DTMF信号等;?统计(Statistics):采集并上报给MGC的统计数据;?统计(Statistics):采集并上报给MGC的统计数据;19终端用TerminationID进行标识,TerminationID的分派方式由MG自主决定。物理终端的TerminationID是在MG中预先规定好的。这些TerminationID可以具有某种结构。例如,一个TerminationID可以由一个中继组号及其中的一个中继号组成,例如用TRUNK0010101,其中001指单元号,第一个01指子单元号,其次个01指终端序号。

对于TerminationID可以使用一种通配机制。该通配机制使用两种通配值(Wildcard):“ALL〞和“CHOOSE〞。通配值“ALL〞用来表示多个终端,在文本格式的H.248信令跟踪中以“*〞表示。“CHOOSE〞则用来指示MG必需自己选择符合条件的终端,在文本格式的H.248信令跟踪中以“$〞表示。例如MGC可以通过这种方式指示MG选择一个中继群中的一条中继电路。当命令中的TerminationID是通配值“ALL〞时,则对每一个匹配的终端重复该命令,根终端(Root)不包括在内。当命令不要求通配响应时,每一次重复命令将产生一个命令响应。当命令要求通配响应时,则屡屡重复命令只会产生一个通配响应,该通配响应中包含所有单个响应的集合。

不同类型的网关可以支持不同类型的终端,H248协议通过允许终端具有可选的性质(Property)、事件(Event)、信号(Signals)和统计(Statics)来实现不同类型的终端。那这4类针对于终端的描述特性分别含义如下:

13

SS_010030_CH248协议原理

(1)性质(Property):(2)事件(Event):(3)信号(Signals):(4)统计(Statics):

H248协议用“描述语〞(descriptor)这一数据结构来描述终端的特性,并针对终端的公共特性,分门别类的定义了19个描述语,一般每隔描述语只包含上述某一类终端特性。

2.1.3关联域(context)

关联域关联特性关联特性?关联标识(ContextID):的标识;?关联标识(ContextID):ContextContext的标识;?拓扑结构(Topology):媒体的流向?拓扑结构(Topology):媒体的流向?优先权(Priority):提供关联的优先处理信息;?优先权(Priority):提供关联的优先处理信息;?紧急呼叫的标识符:提供关联的紧急处理信息。?紧急呼叫的标识符:提供关联的紧急处理信息。??19H248协议规定关联具有以下特性:?

ContextID(关联标识符)

ContextID为关联标识符,一个由媒体网关MG选择的32位整数,在MG范围内是独一无二的。特别关联编码对照如错误!未找到引用源。所示:

14

第2章H248协议组成

?

拓扑(Topology)(谁能听见/看见谁)

用于描述在一个关联内部终端之间的媒体流方向。对比而言,终端的模式(Send或Receive(见3.2.5本地控制描述符)等)描述的是媒体流在MG的入口和出口处的流向。?

关联优先级(Priority)

用于指示MG处理关联时的先后次序。在某些状况下,当有大量关联需要同时处理时,MGC可以使用关联优先级控制MG上处理工作的先后次序。H248协议规定“0〞为最低优先级,“15“为最高优先级。?

紧急呼叫的标识符(IndicatorforEmergencyCall)MG优先处理带有紧急呼叫标识符的呼叫。

15

SS_010030_CH248协议原理

2.2描述符

描述符?描述符(Descriptor)?概念:一种语法元素(数据结构),用来描述终端的特性;H248V1共定义了19个描述语,可以分为7类。?终端状态和配备:TerminationState、Modem;?媒体流相关属性:Media、Stream、Local、Remote、LocalControl、Multiplex;?事件相关特性:Event、DigitMap、EventBuffer、ObservedEvents;20描述符由描述符名称(name)和一些参数项(item)组成,参数可以有取值。一个命令可以共享一个或者多个描述符,描述符可以作为命令的输出结果返回。在返回的描述符内容中,空的描述符只返回它的名称,而不带任何参数项。H.248协议定义了19种描述符。

16

第2章H248协议组成

2.3封包

封包?封包(Package)?概念:一种终端特性描述的扩展机制,凡是未在基础协议的描述语中定义的终端特性可以根据需要增补定义相应的封包。?常用包举例:al(模拟线管理包)、cg(呼叫进程音发生包)、dd(Dtmf检测包)、Au(高级放音包);22由于应用的多样性和技术的不断发展,新的终端和特性要求会不断出现,为此,H248协议定义了一种终端特性描述的扩展机制:封包(Package)描述。凡是未在基础协议的描述语中定义的终端特性可以根据需要增补定义相应的封包。封包中定义的特性用{PackageID,特性ID}标识。

H248协议正是利用描述语和封包结构,通过相应的命令来指定终端的特性,控制终端的连接和监视终端的性能的。

封包详见RFC3015附录E及相关协议文档。

17

SS_010030_CH248协议原理

2.3.1H248常见包

H248常见包cg:callprogresstonegenerate(呼叫进程包)al:analogline(模拟用户包)cg/dt(dialtone)拨号音,cg/bt(busytone)忙音,cg/wt(warningtone)嗥鸣音al/of(offhook)摘机,al/on(onhook)挂机,al/fl(flashhook)叉簧Dd/ce表示DTMF收号,mfd/cd表示脉冲收号23

2.4H248H248的八个命令

H248协议定义了8个命令用于对协议连接模型中的规律实体(关联和终端)进行操作和管理。命令提供了H248协议所支持的最精微层次的控制。例如,通过命令可以向关联增加终端、修改终端、从关联中删除终端以及审计关联或终端的属性。命令提供了对关联和终端的属性的完全控制;包括指定要求终端报告的事件、向终端加载的信号以及指定关联的拓扑结构(谁能听见/看见谁)。

H248协议规定的命令大部分都是用于MGC对MG的控制,寻常MGC作为命令的始发者发起,MG作为命令的响应者接收。但是Notify命令和ServiceChange命令除外,Notify命令由MG发送给MGC,而ServiceChange命令既可以由MG发起,也可以由MGC发起。H248协议规定的命令参照表2.4-1:

18

第2章H248协议组成

表2.4-1:H.248命令列表

2.4.1Add命令

Add命令MGCMGAdd?MGC→MG,?把一个终端参与到一个关联域中,?假使contextID没有指定就新建一个关联域24

19

SS_010030_CH248协议原理

2.4.2Modify命令

Modify命令MGCMGAddModify?MGC→MG,?修改终端属性,事件或者信号属性25

20

第2章H248协议组成

2.4.3Subtract命令

Subtract命令MGCMGAddModifysubtract?MGC→MG,?从一个关联域中移出一个终端。?假使关联域中没有任何终端则删除关联域262.4.4Move命令

Move命令MGCMGAddModifysubtractMove?MGC→MG,将一个终端从一个关联域中移到另一个关联域中27

21

SS_010030_CH248协议原理

2.4.5AuditValue命令

AuditValue命令MGCMGAddModifysubtractMoveAuditValue?MGC→MG,?获得终端的当前信息,事件,信号信息以及统计信息28

22

第2章H248协议组成

2.4.6AuditCapability命令

AuditCapability命令MGCMGAddModifysubtractMoveAuditValueAuditCapability?MGC→MG,?获取一个媒体网关的容量性能指标12.4.7Notify命令

Notify命令MGCMGAddModifysubtractMoveAuditValueAuditCapabilityNotify?MG→MGC,?媒体网关通过此命令通知媒体网关控制器在其内部发生的事件(譬如用户提机)。28

23

SS_010030_CH248协议原理

2.4.8ServiceChange命令

ServiceChange命令MGCMGAddModifysubtractMoveAuditValueAuditCapabilityNotifyServiceChange31?MGC?MG?MGC→MG?启动服务?退出服务?MG→MGC?启动服务?退出服务?注册

24

第2章H248协议组成

2.5H248基于事务的消息传递机制

2.5.1事务通信机制

事务通信机制特点:支持多个命令的并行发送,提高协议的传送效率。即多个命令组合成事务(Transaction)事务Action1Command1TopologyDescriptorCommand1Command3Command2Command4Command2Action2事务标识Action3同一Action中的所有命令控制范围为同一Context因此寻常每个命令都带有ContextID中兴通讯学院30MG和MGC之间的一组命令组成了事务(Transaction)。

每个Transaction由一个TransactionID来标识事务由TransactionID标识,TransactionID是由事务发起方分派并在发送方范围内的唯一值。假使TransationRequest的TransactionID丢失,TransactionReply则带回一个Error描述符指示TransationRequest中的TransactionID丢失,其中包含的TransactionID填0。

Transaction由一个或者多个动作(Action)组成。一个Action又由一系列命令以及对关联属性进行修改和审计的指令组成,这些命令、修改和审计操作都局限在一个关联之内。因而每个动作寻常指定一个关联标识。但是有两种状况动作可以不指定关联标识符,一是当请求对关联之外的终端进行修改或审计操作时,另一种状况是当MGC要求MG创立一个新关联时。事务、动作和命令之间的关系示意图如上图所示。

25

SS_010030_CH248协议原理

2.5.2事务响应

事务响应发送方接受方TransactionRequestTransactionReply/TransactioinPendingTransactionResponseAck34事务由TransactionRequest(事务请求)发起。对TransactionRequest的响应放在一个单独的TransactionReply(事务应答)里面。在收到TransactionReply之前,可能会先出现一些TransactionPending(事务处理中)消息。事务保证对命令的有序处理。即在一个事务中的命令是顺序执行的。各个事务之间则不保证顺序,即各个事务可以按任意顺序执行,也可以同时执行。假使一个事务中有一个命令执行失败,那么这个事务中的所有剩余命令都将中止执行。假使命令中包含通配形式的TerminationID,则对每一个与通配值匹配的TerminationID执行此命令。TransactionReply包含对应每个与通配值匹配的TerminationID返回的一个响应;即使对其中一个或多个终端产生了错误码。假使与通配值匹配的终端在执行命令时发生了错误,则对此终端之后的所有通配值终端的命令将不再执行。但当命令标记为“Optional(可选)〞时,处理的方式将会不同,即:假使一个可选命令执行失败,该事务中的后续命令仍可继续执行。假使中间某个命令执行失败,MG在继续处理命令前应尽可能恢复该失败命令执行前所处的状态。TransactionReply包含相应的TransactionRequest中的所有命令的执行结果,其中包括成功执行的命令返回值,以及所有执行失败的命令的命令名和Error描述符。TransactionPending命令是用来周期性地通知接收者一个事务尚未终止,尚处于正在积极处理过程中。具体实现上,对每个事务都应当设置一个应用层定时器等待TransactionReply。当

26

第2章H248协议组成

定时器超时后,应当重新发送TransactionRequest。当接收到TransactionReply后,就应当取消定时器。当接收到TransactionPending消息后,就应当重新启动定时器。该定时器被称为最大重传定时器。

2.5.3通信方式

H248的传送机制应当支持对在MG和MGC之间的所有Transaction的可靠传输。传输应当与协议中需要传输的特定命令无关,并且可适用于所有的应用程序状态。假使是在IP上传输H248协议,MG应当实现TCP或者UDP/ALF,或者同时支持两者。在IP/TCP/UDP上传输H.248应当为MG预先提供一个首选MGC以及0到多个备选MGC的名字或地址(如DNS域名或IP地址),用于MG向MGC发送消息的目的地址。假使传输层协议采用的是TCP或者UDP,而由于某种原因不知道应将初始的ServiceChange请求发送到哪个端口,则消息发送方就应当将这个请求发送到缺省的协议端口。无论是TCP还是UDP,对于文本编码的消息,缺省的协议端口为2944;而对于二进制编码的消息,缺省的协议端口为2945。MGC接收到来自MG的包含ServiceChange请求的消息后,应当能够从中判断出MG的地址。同时,MG和MGC都可以在ServiceChangeAddress参数中提供一个地址,以便后续的TransactionRequest都发送到这个地址。但是,所有请求的响应(包括对初始的ServiceChange请求的响应)必需发送给相应请求的源地址。例如,在IP网中,这个地址应当是IP头中的源地址及TCP/UDP/SCTP头中的源端口号。

H.248协议的传输输机制能够支持在MG和MGC之间的事务处理的可靠传输采用三次握手机制。如图2.5-1:

27

SS_010030_CH248协议原理

通信方式SoftswitchH.248TCP/UDPIPThree-wayHandshakeH.248MGPort2944:Text-encodedPort2945:Binary-encoded36图2.5-1H.248的可靠传输

2.5.4“重启雪崩〞保护

大量的MG同时加电重新启动时,将同时发起大量的ServiceChange注册流程。此时,由于大量的ServiceChange命令同时到达很可能会使MGC消息处理流程发生崩溃,从而导致在业务重启期间引起消息丢失和网络拥塞。因此,H248协议建议采用以下规则预防MGC发生这种重启雪崩,如图2.5-2所示:

28

第2章H248协议组成

“重启雪崩〞保护MGCServiceChange?每个MG都需要重启计时器来防止“重启雪崩〞?定时器的值随机初始化MGMGMGMGRestartAvalanche37图2.5-2预防重启雪崩

29

第3章呼叫流程分析

?知识点

?本章例举了H248中在一些特定环境中的呼叫流程,例如AG-AG,TG-TG。

本章主要内容:网关注册注销流程分析呼叫建立流程分析呼叫解除流程分析

3.1MG向MGC注册注销流程

网关注册注销IADSSMEGACO/1[2]:2944Transaction=9998{Context=-{ServiceChange=ROOT{Services{MEGACO/1[]:2944Reply=9998{Context=-{ServiceChange=ROOT{Services{ServiceChangeAddress=2944,Profile=ResGW/1}}}}}}Method=Restart,ServiceChangeAddress=2944,Profile=ResGW/1}}SVC_CHG_REQSVC_CHG_REPLY4031

SS_010030_CH248协议原理

3.1.1注册流程分析

事件1:H.248网关向ZXSS10SS1a/SS1b发送SVC_CHG_REQ消息进行注册,文本描述如下:

(1)MEGACO/1[2]:2944(2)T=9998{(3)C=-{(4)SC=ROOT{(5)SV{(6)MT=RS}}}

第一行:MEGACO协议版本号,版本为1。消息由MG发往MGC,MG的IP地址是[2],端口号是2944

其次行:事务ID号为9998

第三行:此时未创立关联,由于关联为“-“,表示空关联

第四行:ServiceChange命令。终端ID为ROOT,表示命令作用于整个网关

第五行:ServiceChange命令封装的ServiceChange描述符

第六行:ServiceChange描述符封装的参数。表示ServiceChangeMethod为Restart,ServiceChangeReason为热启动

事件2:ZXSS10SS1a/SS1b收到MG的注册消息后,回送响应给MG。下面是SVC_CHG_REPLY响应的文本描述:

MEGACO/1[]:2944P=3{C=-{SC=ROOT{SV{}}}}

第一行:MEGACO协议,版本为1。MGC-MG,MGC的IP地址和端口号为:[]:2944。

其次行:事务ID为“9998〞,关联为空。ServiceChange命令作用于整个网关。表示MGC已经收到MG发过来的注册事务,并且响应注册成功。

32

第3章呼叫流程分析

3.1.2注销流程分析

事件1:H.248网关向ZXSS10SS1a/SS1b发送SVC_CHG_REQ消息进行注销,该命令中ServiceChangeMethod设置为Graceful或者Force,文本描述如下:

(1)MEGACO/12]:2944(2)T=9998(3){C=-{(4)SC=ROOT{(5)SV{

(6)MT=FO,RE=905}}}}

第一行:MEGACO协议版本号,版本为1。消息由MG发往MGC,MG的IP地址是[],端口号是2944

其次行:事务ID号为9998

第三行:此时未创立关联,由于关联为“-“,表示空关联

第四行:ServiceChange命令。终端ID为ROOT,表示命令作用于整个网关

第五行:ServiceChange命令封装的ServiceChange描述符

第六行:ServiceChange描述符封装的参数。表示ServiceChangeMethod为force,ServiceChangeReason为终端退出服务

事件2:ZXSS10SS1a/SS1b回送证明消息。下面是SVC_CHG_REPLY响应的文本描述:

MEGACO/1[]:2944P=9998{C=-{SC=ROOT{ER=505}}}

第一行:MEGACO协议,版本为1。MGC-MG,MGC的IP地址和端口号为:[]:2944。

其次行:事务ID为“9998〞,关联为空。ServiceChange命令作用于整个网关。Error描述符为“505〞,表示网关没有注册。

33

SS_010030_CH248协议原理

3.2同一SS域下IAD用户拨打IAD用户流程

3.2.1情景模式

图3.2-1呼叫流程情景模式

注意:

在IAD中包含有物理终端和临时终端,物理终端的TIDNAME是AG58900到AG58902,依次对应IAD的三个普通电话接口。临时终端的TIDNAME是RTP/00000到RTP/00002

34

第3章呼叫流程分析

3.2.2呼叫流程

图3.2-2完整呼叫流程图

3.2.3呼叫流程分析

1.事件1:主叫IAD对应的主叫用户摘机,网关通过NTFY_REQ命令把摘

机事件通知发送给SS1a/SS1b,SS1a/SS1b收到用户摘机消息后,回应答消息。

35

SS_010030_CH248协议原理

呼叫建立(事件1)IAD提机NTFY_REQNTFY_REPLYSSIADMEGACO/1[2]:2944Transaction=49414{Context=-{Notify=AG58900{{ObservedEvents=2000MEGACO/1[]:2944P=49414{C=-{N=AG58900}}20230403T08131100:al/of}}}41●

NTFY_REQ消息文本描述如下:

(1)MEGACO/1[2]:2944(2)Transaction=49414(3){Context=-{(4)Notify=AG58900

{

}}}

(5)ObservedEvents=2000{20230403T08131100:al/of

第一行:MEGACO协议版本号,版本为1。消息由MG发往MGC,MG的IP地址是[2],端口号是2944

其次行:事务ID号为49414

第三行:此时未创立关联,由于关联为“-“,表示空关联

第四行:通知命令Notify,该命令作用对象为AG58900,对应的号码为#02582325

第五行:notify命令封装的描述符ObservedEvents,其中事件号为2000,与触发NTFY_REQ命令的请求命令的RequestID保持一致,将两者关联,al/of表示摘机事件,事件发生时间为20230403T08131100。

36

第3章呼叫流程分析

SS1a/SS1b回应答消息,NOTY_REPLY消息文本描述如下:

(1)MEGACO/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[]:2944T=25218{C=-{MF=AG58900{DM=DM99{(##|0X.|11X|13XXXXXXXXX|[2-8]XXXXXX|9XXXXXXXX)},E=2023{dd/ce{DM=DM99},al/on,al/fl},SG{cg/dt}}}}MOD_REPLYSSIADMEGACO/1[2]:2944Reply=25218{Context=-{Modify=AG58900}}中兴通讯学院38????

MEGACO/1[]:2944T=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=2023{dd/ce{DM=DM999264604954},al/on,al/fl},SG{cg/dt}}}}

37

SS_010030_CH248协议原理

第一行:MEGACO协议的版本为1。消息发送者标识(MID),此时为MGC的IP地址和端口号:[]: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发生的以下事件:事件一,根据DigitMap规定的拨号计划(dmap1)收号。事件二,请求网关检测模拟线包(al)中的所有事件。

网关设备的应答信息,文本如下:MEGACO/1[2]:2944Reply=25218{Context=-{Modify=AG58900}}

3.事件3:用户拨号,终端对所拨号码进行收集,并与方才下发的DigtalMap

进行匹配,匹配成功,通过Notify命令发送给SS,SS回复给网关NTFY_REPLY消息。

38

第3章呼叫流程分析

呼叫建立IAD提机NTFY_REQNTFY_REPLYMOD_REQ放号音拨号MEGACO/1[]:2944Rply=49415{Context=-{Notify=AG58900}}MOD_REPLYNTFY_REQNTFY_REPLYSSIADMEGACO/1[2]:2944Transaction=49415{Context=-{Notify=AG58900{ObservedEvents=2023{20230403T08131500:dd/ce{ds=“26778086\Meth=UM}}}}}中兴通讯学院39?NTFY_REQ消息文本如下:

(1)MEGACO/1[2]:2944(2)Transaction=49415{Context=-

(3){Notify=AG58900{ObservedEvents=2023{20230403T08131500:dd/ce

{ds=\Meth=UM}}}}}

第一行:MG-MGC。MG的IP地址和端口号为:[2]:2944。其次行:事务ID为49415。此时,该事务封装的关联为空。SS1a/1b的实现方式为主叫拨号之后才建立关联,以免主叫摘机不拨号、所拨的号码不存在等原因引起的资源浪费。

第三行:Notify命令,该命令作用于终端AG58900。观测到的事件描述符。RequestID为“2023〞,与上文MOD_REQ命令的RequestID一致,表示该通知由此MOD_REQ命令触发。上报DigitMap事件的时间戳。“20230403T08131500〞表示2023年4月3日早上8时13分15秒。终端AG58900观测到的事件为DTMF检测包中的DigitMapCompletion事件。该事件的两个参数为:DigitMap终止方式(Meth)和数字串(ds)。DigitMap终止方式(Meth)有3个可能值:

“UM〞:明确匹配。假使只有一个候选拨号序列且完全匹配,就会产生

一个“明确匹配〞的DigitMapCompletion事件。如上图中DigitMap为

39

SS_010030_CH248协议原理

[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[]:2944Rply=49415{

Context=-{Notify=AG58900}}

4.事件4:MGC在MG中创立一个新context,并在context中参与

TDMtermination和RTPtermination。MG返回ADD_REPLY响应,分派新的连接描述符,新的RTP终端描述符。

40

第3章呼叫流程分析

呼叫建立(事件4)IAD提机NTFY_REQNTFY_REPLYMEGACO/1[]:2944Transaction=10003{Context=${Add=AG58900,Add=${Media{Stream=1{LocalControl{Mode=ReceiveOnly,nt/jit=40;inms},Local{v=0c=INIP4$m=audio$RTP/AVP4a=ptime:30}}}}}}MOD_REQMOD_REPLYNTFY_REQNTFY_REPLYADD_REQADD_REPLYSSIADMEGACO/1[2]:2944Reply=10003{Context=2000{Add=AG58900,Add=RTP/00000{Media{Stream=1{Local{v=0c=INIP42m=audio2222RTP/AVP4a=ptime:30a=recvonly}}}}}}44?ADD_REQ消息的文本如下所示:

(1)MEGACO/1[]:2944(2)Transaction=10003{Context=${(3)Add=AG58900,(4)Add=${

(5)Media{Stream=1{LocalControl{Mode=ReceiveOnly,nt/jit=40;inms},(6)Local{

v=0c=INIP4$

m=audio$RTP/AVP4a=ptime:30}}}}}}

第一行:MGC-MG。MGC的IP地址和端口号为:[]:2944。其次行:事务ID为“10003〞。“$〞表示请求MG创立一个新关联。由于目前关联还不确定,所以使用“$〞。

第三行:ADD命令,将终端AG58900参与新增的关联。

第四行:ADD命令,将某个RTP终端参与新增关联。其中,新的RTP终端为临时终端,由于RTP终端的描述符没有确定,所以使用“$〞。

41

SS_010030_CH248协议原理

第五行:媒体描述符。流号为1,LocalControl为本地描述符,给出了与此媒体流相关的参数,此时终端AG58900为只收模式,nt/jit=40,表示NetworkPackage中的抖动缓存最大值为40毫秒。

第六行:Local描述符。MGC建议新的RTP终端采用一系列本地描述参数。“v=0〞表示SDP协议版本为0。“c=INIP4$〞表示RTP终端的关联信息,关联的网络标识为Internet,关联地址类型为IP4,“$〞表示目前本地IP地址未知。“m=audio$RTP/AVP8〞表示MGC建议新的RTP终端的媒体描述,“audio〞表示RTP终端的媒体类型为音频,“$〞表示RTP终端的媒体端口号目前未知,“RTP/AVP〞为传送层协议,其值和“c〞行中的地址类型有关,对于IP4来说,大多数媒体业务流都在RTP/UDP上传送,已定义如下两类协议:RTP/AVP,音频/视频应用文档,在UDP上传送;Udp,UDP协议。“8〞对于音频和视频来说,就是RTP音频/视频应用文档中定义的媒体静荷类型。表示MGC建议RTP终端媒体编码格式采用G.711A。H.248协议规定RTP静荷类型至编码的映射关系为:G.711U=0;G.726=2;G.723,G.7231=4;G.711A=8;G.729,G.729A=18。

?ADD_REPLY消息文本如下所示:

(1)MEGACO/1[2]:2944(2)Reply=10003{

(3)Context=2000{Add=AG58900,Add=RTP/00000{(4)Media{

Stream=1{Local{v=0

c=INIP42m=audio2222RTP/AVP4a=ptime:30a=recvonly}}}}}}

在此回复消息中,已经建立了关联,Context=2000,其中选择的终端为AG58900和RTP/00000。网关设备在利用SS发送的ADD_REQ消息中的

42

第3章呼叫流程分析

SDP描述模板,把自己的媒体信息上报给SS,这些媒体信息包括自己的IP地址:c=INIP42,RTP流的端口号和网关采用的编解码方式:m=audio2222RTP/AVP4,时延a=ptime:30等信息。

5.事件5:MGC进行被叫号码分析后,确定被叫端,设置被叫测媒体参数。

网关返回ADD_REPLY响应,分派新的连接描述符,新的RTP终端描述符。

呼叫建立(事件5)IAD提机NTFY_REQNTFY_REPLYMEGACO/1[3]:2944Reply=50003{Context=5000{Add=AG58901,Add=RTP/00001{Media{Stream=1{Local{v=0c=INIP43m=audio1111RTP/AVP4}};}}}}MOD_REQMOD_REPLYNTFY_REQNTFY_REPLYADD_REQADD_REPLYADD_REQADD_REPLY响铃SSIADMEGACO/1[]:2944Transaction=50003{Cont

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论