第十二章 网关控制协议_第1页
第十二章 网关控制协议_第2页
第十二章 网关控制协议_第3页
第十二章 网关控制协议_第4页
第十二章 网关控制协议_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

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

文档简介

第十二章网关控制协议

主要内容:12.1网关控制协议产生的背景12.2MGCP协议12.3H.248协议1智能网SCPSSP第三方应用服务器业务平台Parlay网管服务器AAA服务器路由服务器路由服务器软交换软交换接入网关中继网关信令网关IADH.323终端SIP终端INAP媒体服务器MGCP/H.248/SIPINAPINAP/SIPSNMPRADIUSLADP或SIPTRIPSIP-T或BICC策略服务器COPSDIAMETERISUPSS7PSTNMGCP/H.248/V5.2/ISDN/DSS1MGCP/H.248SIGTRANMGCP/H.248H.323SIP承载网设备承载网212.1网关控制协议产生的背景H.323协议体系是为定义IP网络和PSTN网络互通的网关功能而出现的,在早期的H.323体系中,网关功能复杂,不但完成媒体格式转换、控制网关的内部资源、为每个呼叫建立网关内部的语音通路,还要进行信令转换,完成ISDN信令与H.323的互通。这种集所有功能于一体的集成网关结构,对于IP电话系统的大规模部署具有相当大的制约。3主要表现为:在扩展性方面,网关功能过于复杂,极大地限制了接入用户的数量;在互通性方面,信令转换能力受限,不能在IP电话系统中提供现有PSTN所提供的丰富的业务。因此,人们提出了网关分解的概念,即将控制功能与和媒体转换功能相分离,分别在媒体网关控制器和媒体网关中实现。由媒体网关负责媒体格式转换及PSTN和IP两侧通路的连接,由媒体网关控制器负责根据收到的信令,控制媒体网关的连接和释放,完成基于状态机的控制。媒体网关控制器对信令消息进行分析处理,并进行应用层的互通变换。4两部分功能可由独立的物理设备完成。在这种分离式的网关结构中,MGC要执行对MG的控制。MGC和MG之间必须依靠一种主从控制协议来实现接口,这就是网关控制协议。相关组织定义了多种网关控制协议。IETF在综合了多个厂商定义的控制协议的基础上,于1999年10月形成媒体网关控制协议(MGCP),以RFC2705发表。不少公司已经开发并在网上部署了该协议。5另外,IETF与ITU-T还共同开发了统一的控制协议,ITU-T称为H.248协议,IETF称为MEGACO协议,以RFC3015发表,合称H.248/MEGACO协议。该协议定义了ASN.1和文本两种编码方式。612.2MGCP协议12.2.1连接模型MGCP连接模型的基本元素是端点(Endpoint)和连接(Connection)。

1、端点

是数据源或数据宿。可以是物理端点,也可以是虚拟端点。端点的类型可以是用户线、中继线、录音通知接入点、IVR(互动式语音应答)接入点、会议桥接入点等。7端点的标识分两部分,网关域名和端点在网关内的名称,格式为:endpoint-name@domain-name端点的标识可以引入通配符“*”或“$”,“*”代表所有符合条件的端点,“$”表示从符合条件的相关端点中任选一个。82、连接连接由呼叫代理基于端点控制建立,由网关为每个连接分配唯一的连接标识(ConnectionID),为16进制字符串。ConnectionID按“3分钟原则”使用,即在某一个端点使用完某个ConnectionID后,在至少3分种内,在该端点上,不能为其它连接分配该ConnectionID。9与连接相关的属性之一是呼叫标识(CallID),与Connection不同的是,CallID由呼叫代理创建,CallID同样也要求在系统内的唯一性,至少在网关所从属的呼叫代理集合中是唯一的。在同一个呼叫中,所有的连接共享一个CallID。1012.2.1重要特性

1、事件和信号

在MGCP的控制过程中,事件(Event)和信号(Signal)是非常重要的概念,这两个概念和H.248中的事件与信号基本相似。连接构成了MGCP中的呼叫,而对呼叫流向的控制,是通过对端点和连接上的事件进行检测和判别,指示端点应该向用户发送或中止何种信号。大多数情况下,事件发生在端点上,但在视频会议中,有时会向不同的连接发送不同的待检测事件。11例如:当端点上监测到用户有摘机事件时,应向用户发送拨号音信号。MGC可要求端点在检测到某些事件(摘机、挂机、拍叉或拨号)发生时,向其报告,也可请求某些信号(拨号音、忙音、回铃音等)加到端点上。事件和信号组合成包(packet),每个包由某一特定端点支持。在MGCP中,事件和信号被定义在包中。12

2、包

MGCP采用包的概念来实现功能的扩展,可以对包括事件、信号、承载参数、原因码等一系列特性进行扩展。协议里给出了10个基本包:GenericMedia(通用媒体包)、DTMF(双音多频包)、MF(多频包)、Trunk(中继包)、Line(用户线包)、Handsetemulation(头戴式送受话包)、RTP、NetworkAccessServer(网络服务器包)、AnnoucementServer(通知服务器包)和Script(脚本包)、13

3、数字表

MGCP和H.248一样,采用数字表来提高效率。数字串是根据网络编号计划确定的所有可能的被叫号码形式。对于数字表可以定义定时器,但该协议没有对首位定时器(即久不拨号定时器)的规定。1412.2.3基本命令

MGCP采用文本协议,协议消息分为命令和响应。每个命令需要接收方回送响应。命令消息由命令行和若干参数行组成,响应消息带有3位数字的响应码。MGCP采用会话描述协议(SDP)向网关描述连接参数,如IP地址、UDP端口号、RTP属性等。MGCP采用UDP传送。如果没有指定端点的UDP端口号,那么缺省的网关的MGCP端口号是2427,MGC的MGCP的端口号是2727。15

1、命令的格式和意义

(1)端点配置命令(EndpointConfiguration)代码EDCF从MGC到网关,此命令指定某一端点所接收信号的编码方式。(2)通知请求命令

(NotificationRequest)代码RQNT从MGC到网关,此命令被用来要求网关在该命令中指定的事件发生时,向MGC通报这一事件的发生。16

(3)通知命令

(Notify)代码NOFY从网关到MGC,当被检测的事件发生时,网关用此命令向MGC通报。(4)创建连接命令

(CreateConnection)代码CRCX从MGC到网关,MGC用该命令将某端点与指定的IP地址和UDP端口关联,另外还向远端端点发送创建连接命令,建立两个端点间的连接。17(5)修改连接命令

(ModifyConnection)代码MDCX从MGC到网关,修改以前建立连接的参数。(6)删除连接命令

(DeleteConnection)代码DLCX用于删除连接。可以由呼叫代理发出,也可由网关发出。该命令有三种应用形式。①由呼叫代理发向网关删除指定连接,返回删除后的统计值,如收包数、发包数等。18

②由网关发向呼叫代理如果端点丢失与连接相关的资源或者不能进行媒体流的收发时可以向呼叫代理发出删除连接命令。③由呼叫代理发出同时删除多点连接该命令可以删除对应同一CallID的多个连接,也可以用来删除对应某个端点的所有连接。

(7)审计端点命令

(AuditEndpoint)代码AUEP从MGC到网关,查询指定端点的状态。19

(8)审计连接命令

(AuditConnection)代码AUCX从MGC到网关,获取某个连接的有关参数。(9)重启动进行中命令

(RestartInprogress)代码RSIP从网关到MGC,该命令是网关用来通知MGC,一个端点或一组端点加入或退出服务,而且通知MGC该端点进行重启的方法和时延。20

2、响应码

所有MGC命令都有应答,应答中都携带有响应码,指示命令的状态。响应码是一个3位整数码,区分了5个范围代表不同的意义。(1)000—099:表示响应证实(2)100—199:指示临时的响应(3)200—299:指示执行的成功(4)400—499:指示临时的错误(5)500—599:指示永久的错误21

3、原因码

原因码用于端点发起的DelateConnection命令中向呼叫代理表明删除连接的原因,或在RestartInProgress命令中告诉呼叫代理重启的原因。原因码为一个3位整数,已定义的值如下:(1)000:端点状态正常(2)900:端点功能失常(3)901:端点退出服务(4)902:低层连接丢失(5)903:QoS资源预留丢失(6)904:人工干预22(7)905:TDM电路故障23

4、MGCP典型的通信流程(1)MGCP注册流程(1)RSIP(2)ACK200(3)RQNT(4)ACK200MGMGC24

(2)MGCP注销流程(1)RSIP(2)ACK200MGMGC25

(3)MGCP呼叫建立流程MG1MGCMG2MG1在此之前收到过MGC要求其检测摘机事件的RQNT命令,事件的请求标识(RequestID)为445678944。26

(3)MGCP呼叫建立流程(1)NTFYMG1MGCMG2摘机Ntfy12aaln/1@mgcp1.0O:l/hd(检测到事件集)X:44567894412为事务标识,MGC响应时应携带该标识。模拟用户线包中的摘机事件。445678944是MGC先前的请求标识,MG检测到该事件后,使用本命令通知MGC时应携带该标识。27

(3)MGCP呼叫建立流程(1)NTFY(2)ACK200(3)RQNTMG1MGCMG2摘机拨号音20012okRqnt1057aaln/1@mgcp1.0R:l/hu(n),d/[0—9#*T](d)(请求事件列表)S:l/dl(信号音请求参数)X:445678945D:5xxx(堆积方式收号方案)下发号码表,请求送拨号音28(4)ACK200MG1MGCMG2拨号(5)NTFY(6)ACK200Ntfy13aaln/1@mgcp1.0O:d/5,d/0,d/0,d/l(检测到事件集)X:4456789452001057ok20013ok29(7)RQNTMG1MGCMG2(8)ACK200rqnt1058aaln/1@mgcp1.0r:l/hu(n)X:445678946要求检测挂机事件2001058ok(9)CRCXcrcx1059aaln/1@mgcp1.0c:9876543210abcdef(呼叫标识)L:p:20,a:PCMU(本地连接选项)M:recvonly(本地连接模式)打包周期20ms,编码G.711u律,分组侧收发模式为只接收30MG1MGCMG2(10)ACK2002001059oki:456789fedcba5(连接标识)空行后是本地SDPV=0(协议版本)o=2345678998765432INIP4(会话创建者和会话标识)S=-(会话名称)C=INIP4(连接信息)T=00(会话活跃时间)M=audio6058RTP/AVP0(媒体名称和传输地址,0为RFC3551中定义的有效负载类型–G.711u律)31MG1MGCMG2(11)CRCXcrcx2052aaln/1@mgcp1.0c:9876543210abcdefL:p:20,a:PCMUM:sendrecvV=0o=2345678998765432INIP4S=-C=INIP4T=00M=audio6058RTP/AVP0(MCC命令MG2创建连接,消息中携带MG1的SDP信息)32MG1MGCMG2(12)ACK2002002052oki:67890af54c9V=0o=2345678998765432INIP4S=-(会话名称)C=INIP4T=00M=audio6058RTP/AVP033MG1MGCMG2(13)MDCXmdcx1060aaln/1@mgcp1.0c:9876543210abcdefL:p:20,a:PCMUi:4567890fedcba5M:recvonly(修改连接,并把MG2的SDP带给MG1)V=0o=2345678998765432INIP4S=-C=INIP4T=00M=audio6058RTP/AVP034(16)ACK200(15)RQNTMG1MGCMG2(14)ACK2002001060okrqnt1061aaln/1@mgcp1.0r:l/hu(n)S:g/rtX:445678947(要求对用户1放回铃音并检测挂机事件)2001061ok回铃音35(17)RQNT(18)ACK200MG1MGCMG2rqnt2053aaln/1@mgcp1.0r:l/hd(n)S:l/rgX:445678948(要求对用户2振铃并检测摘机事件)2002053ok振铃36(19)NTFY(20)ACK200MG1MGCMG2摘机Ntfy27aaln/1@mgcp1.0O:l/hdX:44567894820027ok37MG1MGCMG2(22)ACK200(21)RQNTrqnt2054aaln/1@mgcp1.0r:l/hu(n)S:g/rtX:445678949(要求对用户2停铃并检测挂机事件)2002054ok38MG1MGCMG2(24)ACK200(23)RQNTrqnt1062aaln/1@mgcp1.0r:l/hu(n)S:g/rtX:445678950(要求对用户1停回铃音并检测挂机事件)2001062ok39(25)MDCX(26)ACK200MG1MGCMG2通话mdcx1063aaln/1@mgcp1.0c:9876543210abcdefi:4567890fedcba5M:sendrecv(修改连接)2001063ok40

(4)MGCP呼叫释放流程(1)NTFY(2)ACK200(3)DLCX(4)ACK250MG1MGCMG2挂机通话包括上报统计信息41(5)RQNT(6)ACK200MG1MGCMG2(7)RQNT(8)ACK200忙音挂机(9)NTFY(10)ACK200监视摘机42MG1MGCMG2(11)DLCX(12)ACK250(13)RQNT(14)ACK200包括上报统计信息43

5、MGCP应用时的实际问题(1)安全要求如果未被授权的实体可以使用MGCP,那么就可能建立非法呼叫,或干扰正常的呼叫,带来安全隐患。所有的MGCP消息都是在安全的Internet上传送的,这种安全性是靠RFC2401所定义的IP安全体系结构,或者使用在RFC2402中定义的IP头,或者封装IP安全载荷来实现的。完整的MGCP协议栈如下图所示。44MGCPUDPIPSec(鉴权和加密)IP传送媒体

MGCP支持软交换通过向网关提供“会话密钥”对媒体进行加密,以防窃听。MGCP还支持对发起方的身份认证。1、进行地址认证,即仅接受已知来源发出的分组;2、在呼叫过程中传送密钥,用此密钥对分组进行加密和认证。(参考网络安全)45

(2)重启雪崩如果所有网关同时上电,它们都从RestartInprogress事务开始,大量的消息拥向呼叫代理(MGC),呼叫代理就会不堪重负,引起消息丢失和网络拥塞。可采下面几种办法:1、当网关上电时,设置一个初始重启定时器,其值为0到最大等待时间的随机值。应避免多个网关采用同样的算法。2、网关要等待重启定时器超时,或收到呼叫代理的命令,或检测到本地用户事件(如摘机),则网关开始重启过程。46

(3)At-Most-Once由于MGCP在不保证传输质量的UDP之上传输,为防止丢包,则应用相应的重传机制。MG/MGC收到MGC/MG的MGCP命令后,要给予应答,但有可能是应答包丢失,这样就会重发MGCP命令,如果MG/MGC收到再次重传过来的同样的命令,则不应执行相应的事务操作。这就要求MG/MGC要有At-Most-Once功能,即在缓冲区里保留最近执行过的任务列表,每次收到新命令后,比较,如相同,则只重发应答消息,而不重新执行命令操作。4712.3H.248协议H.248协议(ITU-T称为H.248,IETF称MEGACO)是2000年由ITU-T提出的媒体网关控制协议,是在早期的MGCP上改进而成。H.248协议用于连接MGC与MG的网关控制协议,应用于MG与softX之间或softX与H.248终端之间,是softX应支持的重要协议。12.3.1连接模型终结点和关联是H.248协议连接模型使用的主要抽象概念。481、终结点是MG中的逻辑实体。一个终结点可以发送和/或接收一个或多个媒体流。在会议情况下,一个终结点可以发送或接收多个媒体流。在多媒体通信情况下,一个多媒体终结点可以支持多种媒体流的发送或接收。相关媒体流参数、对应承载能力参数等都是封装在终结点中的描述特性。49

终结点分为半永久性终结点和临时性终结点,半永久性终结点也称物理终结点,是一旦装入网关就一直存在的终结点,如中继接口、用户电话接口、PBX接口等。临时性终结点是仅在呼叫过程中存在的终结点,如RTP媒体流,它依附于呼叫,一旦呼叫结束,终结点就消亡。每个终结点都有一个终结点标识,在创建时由网关分配,在网关内唯一。终结点标识可以采用结构形式,例如:{中继群,中继}

表示某一中继群中的某一中继电路。50协议还定义了两类通配符用于终结点,All和Choose。All表示符合条件的所有终结点,在命令中采用All表示终结点即意味着命令对所有符合条件的终结点执行。Choose指示网关在一定范围内任意选取一个终结点,例如在某个中继群中选取一个中继电路。除此以外,还有一种特殊的终结点,称为根(Root)终结点,代表整个网关,H.248引入根终结点的概念,使得网关控制器可以对整个网关的参数、特性、能力等进行审计和修改,但是根终结点不参与呼叫过程。512、关联关联表示了终结点之间的关系。当呼叫发生时,由H.248命令创建关联,并在其中加入主、被叫设备对应的终结点,在呼叫结束时,随着终结点的删除,关联也自动删除。关联的属性包括:关联标识、拓扑、优先级和紧急呼叫指示语。其中,关联标识由网关分配,对网关唯一;拓扑描述了终结点之间媒体流的收/发关系;优先级供媒体网关确定并区分呼叫的优先处理策略,规定优先级0为最高优先级,15为最低优先级。52关联的创建、修改和删除均由相应的H.248命令完成。当MGC用Add命令在关联中加入一个终结点,而命令中又未指明关联标识时,就隐含指示MG创建一个关联。当MGC用相关删除命令删除或移走最后一个终结点时,就隐含该关联被删除。一个关联包含的最大终结点数是网关的特性。只提供点到点连接的网关只允许一个关联最多包含两个终结点;支持多点会议的网关允许关联包含多个终结点。一个终结点同时只存在于一个关联之中。53有一种特殊类型的关联叫空关联(NullContext),它是不与其它任何终结点相联系的所有终结点的集合,例如在一个接入网关之中的空闲电路,可以用空关联中的一个终结点来表示。物理终结点在空闲状态下即处于空关联中,从某关联中删除后就归还空关联。543、终结点特性终结点可用特性进行描述,每个特性由一个PropertyID标识,由这些特性可以组成一系列描述符。终结点具有一些公共特性以及与特定媒体流相关的非公共特性,公共特性与特定媒体流无关,也称为终结点状态(TerminationState)特性。与特定媒体流相关的特性包括本地(Local)特性和接收或/发送流特性。终结点的非公共特性由包进行定义,这些特性可由包名(PackageName)和特性标识符(PropertyID)来标识。

554、包不同类型的网关可支持不同类型的终结点,允许通过具有可选的特性(Property)、事件(Events)、信号(Signals)、统计(Statistics)来实现不同类型的终结点。特性:分为终结点状态特性和媒体流特性。前者主要表示终结点所处的服务状态(如正常服务、退出服务或测试),后者主要表示临时终结点的媒体属性(如收发模式、编码格式、编码参数等)。

56

事件:终结点需要监测和报告给MGC的事件,如摘机、挂机、拍叉、收到的电话号码等事件。信号:请求MG对终结点施加的信号,如拨号音、忙音、回铃音、录音通知等。统计:指示终结点应该采集并上报给MGC的统计数据。统计数据一般在呼叫结束时上报,但MGC可以通过命令随时要求MG上报。57H.248协议第一版定义了13个基本包:(1)g包:通用包(Generic),定义基本的特性和事件参数。(2)root包:基本根包(Baseroot),适用于根终结点的包。(3)tg包:信号音生成包(ToneGenerator)定义基本的信号音生成。(4)td包:信号音检测包(ToneDetection),定义基本的信号音检测事件。(5)dg包:基本DTMF生成包(DTMFGenerator),定义基本的DTMF信号生成包。58(6)dd包:基本DTMF检测包(DTMFDetection),定义基本的DTMF信号检测。(7)cg包:呼叫进展信号音生成包(CallProgressGeneration),定义基本的呼叫进展信号音,如拨号音、忙音、回铃音、振铃等。(8)cd包:呼叫进展信号音检测包(CallProgressDetection),定义基本的呼叫进展信号音检测事件。(9)al包:模拟线检测包(AnalogLineSupervision),定义适用于模拟线的事件和信号。59(10)ct包:基本连续性包(BasicContinuity),定义适用于连续性检测的信号和事件。(11)nt包:网络包(Network),定义与网络连接相关的特性、事件、信号和统计参数。(12)rtp包:RTP包(RTP),定义与RTP流相关的事件和统计参数。(13)tdmc包:TDM电路包(TDMCircuit),定义与TDM电路相关的特性参数。605、描述符描述符可做命令的输入、输出参数。描述符由描述符名称和一些参数项组成。参数可以有数值。描述符的文本格式如下:DescriptotName=<someID>{parm=value,parm=value,…}

61(1)Modem描述符用于定义终结点使用的调制解调器的类型和参数。缺省情况下,终结点不使用使用Modem描述符。(2)复用描述符(Mux)多媒体呼叫时,媒体流在一群承载通道上传输,Mux描述符将媒体和对应的承载通道联系起来。(3)媒体描述符(Media)用于描述所有媒体流特性的参数,媒体流特性参数可用终结点状态描述符(TerminationState)和流描述符(Stream)来描述。

62其中终结点状态描述符与特定媒体流无关,用于描述终结点的特性,流描述符描述媒体流。流描述符由StreamID进行标识,流描述符可分为本地控制描述符(LocalContol)、本地描述符(Local)和远端描述符(Reote)三种,它们可以在一个Media描述符中定义。这几种描述符的关系如下:Media

TerminationStateSteam

LocalControl

LocalRemote

63(4)终结点状态描述符(TerminationState)终结点状态描述符包括业务状态(ServiseStates)特性、事件缓存控制(EventBufferControl)特性以及在包中定义的与特定流无关的终结点特性。其中,ServiseState描述了终结点的状态,有下面三种:test、outofservice的inservice。TerminationState的缺省值是inservice。EventBufferControl特性描述了检测到Evens描述符指定的事件后的处理方式,一种是对事件立即处理,另一种是先对事件缓存后再处理。

64(5)流描述符(Stream)用于指定一个双向流的参数,流描述符由StreamID进行标识,流描述符可分为本地控制描述符(LocalContol)、本地描述符(Local)和远端描述符(Reote)三种。通过在关联中的终结点上指定一个新的StreamID来创建一个新流,如要删除一个已存在的流,则需要对该流原先所在的关联中的所有终结点设置如下:①LocalControl描述符中的ReserveGroup和ReseveValue的参数为false。

65②Local和Remote描述符为空。StreamID由MGC分配,StreamID是MGC和MG间的局部参数,一个关联中具有相同的StreamID的流是相互连接的。当使用Move命令将一个终结点移到另一个关联时,对于移入的关联,其效果等同于增加一个新的终结点,而终结点上原有的StreamID保持不变。

66(6)本地控制描述符(LocalControl)LocalControl描述符包含模式属性(Mode)、预留组属性(ReserveGroup)、预留值属性(ReserveValue)和包中定义的某些与特定媒体流有关的终结点特性。关联中的媒体流的Mode可分为:SendOnly、ReceiveOnly、SendReceive、Inactive、Loopback。预留属性决定了MG在收到Local和/或Remote描述符的动作。缺省值均为false。其具体含义参阅相关标准。

67(7)本地和远端描述符(Local和Remote)Local描述符针对MG接收到的媒体进行定义,Remote描述符针对MG发出的媒体进行定义。利用Local和Remote描述符,MGC要求MG预留承载用于信息流和终结点的媒体编码所需的资源。MG在响应中通过这些描述符返回它实际预留的资源。如果采用文本方式编码,则Local和Remote描述符由SDP(会话描述协议)中的会话描述来构造,如果采用二进制方式编码,则Local和Reote描述符由属性组组成(参阅相关标准)。

68(8)事件描述符(Events)Events描述符包含RequestID以及MGC要求MG检测和报告的一组事件。通过RequestID将事件请求命令和事件发生后的通知命令关联起来。Events描述符由事件名(Eventname),StreamID和KeepActive标记和一些其它的可选参数组成。其中StreamID和KeepActive是可选参数。事件名的描述方式为PackageName/EventID。如果Events描述符中DigitMapCompletion事件,则描述符中的参数EventDM参数用来携带与DigitMap相关的字符和数值。

69(9)事件缓存描述符(EventBuffer)略。(参阅相关标准)(10)信号描述符(Signals)Signals描述符包含MGC要求MG应用于终结点的信号集。Signal描述符可以包含空信号,也可以包含信号序列。信号在包中进行定义,信号由PackageName/signalID进行标识。

70(11)审计描述符(Audit)Audit描述符规定要审计的终结点信息。Audit描述符规定了描述符信息列表和/或个别属性。Audit描述符可用在任何命令中用于返回某个描述符的信息。

71(12)业务改变描述符(ServiceChange)用于MGC和MG相互告知设备状态改变,包含如下参数:ServiceChangeMethodServiceChangereasonServiceChangeAddressServiceChangeDelayServiceChangeProfileServiceChangeVesionServiceChangeMGCIDTimeStamp一些扩展参数

72(13)号码采集规则描述符(DiditMap)DigitMap描述符定义了MG中的号码采集规则,用于检测和报告在终结点处接收到的拨号事件。(14)统计描述符(Statistic)由MG返回的关于终结点的统计信息,统计项目在相关包中定义。呼叫释放时,MGC发出Subtract命令后,MG默认返回统计值。(15)包描述符(package)仅用于MG收到AuditValue命令时,返回终结点所支持的包。

73(16)观察到事件描述符(ObservedEvents)用于MG通知MGC所检测到的事件,该通知消息由Events描述符触发,其中携带Events描述符所指定事件的请求标识。

74

12.3.2H.248命令集H.248规定的大部分命令用于MGC实现对MG的控制,通常MGC作为命令的发起者,MG作为命令的接收者。但是,Notify和ServiceChange命令除外。Notify命令由MG发给MGC,而ServiceChange命令既可由MG发起,也可由MGC发起。H.248协议规定的命令具体如下:75

(1)Add:向一个关联添加一个终结点,当使用Add命令向一个关联添加第一个终结点时,同时就相当于创建了一个关联。

(2)Modify:修改一个终结点的特性、事件和信号。

(3)Subtract:删除一个终结点和它所在的关联之间的联系。当删除一个关联中最后一个终结点时,同时就删除了这个关联。

(4)Move:将一个终结点从一个关联转移到另一个关联。76

(5)AuditValue:获取有关终结点的当前特性、事件、信号和统计信息。

(6)Auditcapablities:获取MG所允许的终结点的特性、事件和信号的所有可能值的信息。

(7)Notify:MG向MGC报告MG中所发生的事件。

(8)ServiceChange:MG向MGC报告一个终结点或一组终结点将要退出服务或刚刚进入服务;MG向MGC进行注册,并且向MGC报告MG将要开始或者已经完成重新启动工作。77

12.3.3事务交互为了支持多个命令并行发送,提高协议的传送效率,H.248采用事务通信的方式传送命令。事务动作1动作2动作3命令1命令2命令3命令1命令1命令2命令378

可以将多个命令组合成一个事务在MGC和MG之间交互,由一个TtansactionID来标识。事务包含一个或多个动作(Action),每个动作包含一个或多个命令。事务动作1动作2动作3命令1命令2命令3命令1命令1命令2命令379

同一动作中的所有命令的控制范围为同一关联,因此通常每个动作都带有关联标识。事务动作1动作2动作3命令1命令2命令3命令1命令1命令2命令380事务交互保证命令的有序处理,即在一个事务交互中命令的执行是顺序的,但不保证各个事务之间的有序处理,即对各个事务交互的处理可以按任何顺序进行,也可以同时进行。如果一个事务交互过程中有一个命令执行失败,那么在这个事务处理中的所有剩余命令都停止执行。在一个事务交互中有四种事务:事务发起者发送的有事务请求和事务响应确认,由事务接收者发送的有事务响应和事务进展。

81(1)事务请求(TransactionRequest)TransactionRequest(TransactionIDContexID{Command…Command},……ContexID{Command…Command}})发起者必须分配一个事务ID,以便与接收方发出的事务响应和事务进展相关联。

82(2)事务响应(TransactionReply)事务接收者在处理完事务请求后,回送对事务请求的响应,其中包含对每个命令的执行结果。事务请求中所有命令按发送顺序逐个处理,如果一个命令出错,其后命令将停止执行,认为事务处理完毕。TransactionReply(TransactionID{ContexID{Response…Response},……ContexID{Response…Response}})

83(3)事务进展(TransactionPending)事务接收者用来周期性地向事务发起者报告事务处理正进行但没有结束,以防事务发起者超时,误认为事务请求已丢失。对于每个事务处理都应实现一个应用层定时器,当定时器超时后,应当重新传送事务请求,当接收到事务响应后就应当取消定时器,当收到Pending后就应当重新启动定时器。TransactionPending(TransactionID{}})

84(4)事务响应确认(TransactionResponseAck)为了提高事务传送的可靠性,H.248支持采用三次握手机制,即事务发起者在收到事务响应后,向事务接收者发送响应确认。TransactionResponseAck(TransactionID{}…TransactionID{}})

85

12.3.4消息传送多个事务组合成消息,H.248消息可以通过UDP或TCP传送,由于UDP是不可靠的传输层协议,因此需要应用层提供重发等功能来保证可靠传送。协议规定,传输层采用UDP时,文本格式的消息的缺省UDP端口是2944,二进制格式消息的缺省UDP端口是2945。86IP城域网MGC媒体流控制流MG1控制IP:承载IP:21MG2控制IP:承载IP:22

12.3.5H.248消息示例87(MG1toMGC)MEGACO/1[];文本消息的缺省端口号为2944Tansaction=9998;事务标识{Context=-;空关联{ServiceChange=ROOT;整个网关

{

services{Method=Restart,ServiceChangeAddress=55555,Profile=ResGW/1}}}}55555表示在以后的H.248交互中将使用的UDP端口号网关注册流程188(MGCtoMG1)MEGACO/1[]Reply=9998(返回的事务标识){Context=-{ServiceChange=ROOT(整个网关)

{

services{ServiceChangeAddress=55555,Profile=ResGW/1}}}}网关注册流程289(MGCtoMG1)MGC设置空闲终节点特性MEGACO/1[]:55555;IP地址和端口号

Transaction=9999{Context=-{Modify=A4444;终结点标识{Media{Stream=1;媒体流标识{LocalControl{Mode=SendRecv,

tdmc/gain=2,;indB,

tdmc/ec=on

},TDM包

}

},

Events=2222{al/of};模拟线包摘机事件

};2222为事件请求标识

}

}

网关注册流程390(MG1toMGC)MG1响应MEGACO/1[]:55555Reply=9999(返回的事务标识){Context=-{Modify=A4444}}至此,网关的注册过程结束,MG2的注册过程相同。网关注册流程491(MG1toMGC)事件发生,通知MGCMEGACO/1[]:55555Tansaction=10000;事务标识{Context=-{Notify=A4444;终结点标识

{ObservedEvents=2222;先前事件请求标识{20131224T21000000:al/off}};摘机事件和发生时间}}呼叫流程192(MGCtoMG1)MGC响应MEGACO/1[]:55555Reply=10000;事务标识{Context=-{Notify=A4444;终结点标识}}呼叫流程293(MGCtoMG1)MGC修改终结点特性MEGACO/1[]:55555Tansaction=10001;事务标识{Context=-{Modify=A4444

{Events=2223{al/on,dd/ce{DigitMap=Dialplan0}模拟线包中的挂机事件和DTMF检测包中的数字映象完成事件},Signal{cg/dt},呼叫进展信号音生成包中的拨号音DigitMap=dialplan0{(0|00|[1-7]xxx|8xxxxxxx|Fxxxxxxx|Exx|91xxxxxxxxxx|9011x.)}}呼叫流程394(MG1toMGC)MG1响应MEGACO/1[]:55555Reply=10001;事务标识{Context=-{Modify=A4444;终结点标识}}呼叫流程495(MG1toMGC)收到号码,通知MGCMEGACO/1[]:55555Tansaction=10002;事务标识{Context=-{Notify=A4444

{ObservedEvents=2223{20131224T21010001:dd/ce{ds=“81648164”,Meth=FM}}收到的号码、检测结果为完全匹配}}呼叫流程596(MGCtoMG1)MGC响应MEGACO/1[]:55555Reply=10002;事务标识{Context=-{Notify=A4444;终结点标识}}呼叫流程697(MGCtoMG1)MEGACO/1[]:55555Tansaction=10003;事务标识{Context=$关联标识为任选(CHOOSE),隐含命令MG1创建一个关联。在此关联中要加入2个终结点,一个是物理终结点A4444,另一个是IP侧的RTP终结点,其终结点标识为CHOOSE,待MG1分配

{Add=A4444,

Add=${Midia{Stream=1{LocalControl{Mode=ReceiveOnly,发送媒体格式尚不能确定,取决于MG2的接收能力nt/jit=40inms

inms网络包中的最大抖动缓冲器容量

},呼叫流程798{Local{v=0协议版本c=INIP4$连接信息m=audio$RTP/AVP4媒体描述a=ptime:30分组长度30msv=0c=INIP4$m=audio$RTP/AVP0}}}}}}在SDP中指定RTP终结点可选的媒体格式及编码方式(按优先级高低排列)。4—G.723.10—G.711,同时要求MG1提供承载IP地址和RTP端口号(承载IP与控制IP可相同,也可不同,与具体设备有关)。呼叫流程799(MG1toMGC)MEGACO/1[]:55555Reply=10003;事务标识{Context=2000MG1刚刚创建的关联标识{Add=A4444;物理终结点标识

Add=A4445RTP终结点标识{Media{Stream=1{Local{v=0c=INIP421m=audio2222RTP/AVP4a=ptime:30}}MG1承载IP为121.121.121,2222为本地RTP端口号}呼叫流程8100(MGCtoMG2)MEGACO/1[]:55555Tansaction=50003;事务标识{Context=${Add=A5555

{Midia{Stream=1{LocalControl{Mode=SendReceive}}},Events=1234{al/of},要求MG2检测摘机事件Signals{al/ri}要求MG2给用户送振铃信号},在后面的SDP描述中,要求MG2提供本地承载IP地址和RTP端口号,在Romte中,携带了主叫的SDP,供被叫网关协商。

呼叫流程9101Add=$

{Midia{Stream=1{LocalControl{Mode=SendReceive,nt/jit=40;inms},Local{v=0c=INIP4$m=audio$RTP/AVP4a=ptime:30},Remote{v=0c=INIP421m=audio2222RTP/AVP4a=ptime:30}}}}}}2222为远端MG1RTP端口号呼叫流程9102(MG2toMGC)MEGACO/1[]:55555Reply=50003;事务标识{Context=5000刚刚创建的关联标识{Add=A5555;物理终结点标识

Add=A5556RTP终结点{Media{Stream=1{Local{v=0c=INIP422m=audio1111RTP/AVP4}}}}1111为MG2本地RTP端口号}呼叫流程10103(MGCtoMG1)MEGACO/1[]:55555Tansaction=10005;事务标识{Context=2000{Modify=A4444{Signals{cg/rt}送回铃音},Modify=A4445{Media{Stream=1{Rome{v=0c=INIP422m=audio1111RTP/AVP4}}}}}

呼叫流程11104(MG1toMGC)MEGACO/1[]:55555Reply=10005;事务标识{Context=2000{Modify=A4444,Modify=A4445}}至此,MG2至MG1的后向通道已经建立,前向通道已保留但尚未建立(因为MG1的RTP终结点还处于“只接收”状态)。呼叫流程12105(MG2toMGC)MEGACO/1[]:55555Tansaction=50005;事务标识{Context=5000{Noyify=A5555{ObservedEvents=1234{20100302T21020002:al/of}}}}

用户2摘机,报告给MGC,事件标识为先前请求的。呼叫流程13106(MGCtoMG2)MEGACO/1[]:55555Reply=50005;事务标识{

温馨提示

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

评论

0/150

提交评论