MGCP协议简介与呼叫流程 内部公开▲
2.2.6 由网关发起的删除连接命令(DLCX)
某些情况下,如资源不够、端点不能接收和发送数据而变的得不可用等,网关将不得不拆除这条连接,对此它将发送删除连接命令给呼叫代理通知对应的连接已被拆除。
DeleteConnection{CallID,EndPointId,ConnectionID,ReasonCode,ConnectionParameters} 主要参数:
1. CallId:呼叫标识。
2. EndpointId:端点标识。不可使用通配符。 3. ConnectionId:连接标识。 4. ReasonCode:拆除的原因。
5. ConnectionParameters:连接参数。包括关于此连接的各种统计值等信息。 收到网关发来的DeleteConnection后,呼叫代理立即应答网关。 2.2.7 审计端点命令(AUEP)
呼叫代理可以用这条命令检查指定端点的状态。 AuditEndpoint{EndPointID,RequestedInfo} 主要参数:
1. EndpointId:端点标识。如果端点标识含有通配符“*”,则网关将返回所有匹配此标识
的端点标识,且不返回任何关于这些端点的状态。如果端点标识不含通配符,则网关将返回此端点的各种指定状态。
2. RequestedInfo:请求检查的状态信息。呼叫代理通过此参数告知网关,希望得到关于端点的哪些状态。这些状态信息包括:RequestedEvents、DigitMap、SignalRequests、RequestIdentifier、NotifiedEntity、ConnectionIdentifiers、DetectEvents、Capabilities。 收到AuditEndpoint请求后,网关将立即应答呼叫代理,并根据RequestedInfo中的指示,返回关于指定端点的特定的状态信息。
2.2.8 审计连接命令(AUCX)
呼叫代理可以用这条命令检查指定连接的各种信息。 AuditConnection{EndPointID,ConnectionID,RequestedInfo} 主要参数:
1. EndpointId:端点标识。这里,端点标识不能含通配符。 2. ConnectionId:连接标识。欲被检查的连接标识。
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -16-
MGCP协议简介与呼叫流程 内部公开▲
3. RequestedInfo:请求检查的连接信息。呼叫代理利用此参数告知网关,希望获知此连接
的哪些信息。这些信息是:CallId、NotifiedEntity、LocalConnectionOptions、Mode、RemoteConnectionDescriptor、RemoteConnectionDescriptor、ConnectionParameters。 收到AuditConnection请求后,网关将立即应答呼叫代理,并根据RequestedInfo中的指示,返回关于指定端点中指定连接的指定信息。
2.2.9 重启命令(RSIP)
网关利用命令RestartInProgress提示呼叫代理,网关内的一个或一群端点将不再提供服务或将可以提供服务(take in or out of service),换句话说,就是即将离线或即将在线。
RestartInProgress{EndPointID,RestartMethod,RestartDelay} 主要参数:
1. EndpointId:端点标识,指即将在线或离线的端点。它可以含表示“所有”的通配符“*”,
但不能含表示“其中任何一个”的通配符“$”。
2. RestartMethod:重启方案。这些端点重新启动有三种方案,它们是: 3. Graceful:此方案表明这些端点将在指定的延时之后离线。 4. Forced:此方案表明这些端点将立即离线,已建立的连接将丢失。
5. Restart:此方案表明这些端点的服务将在指定的延时之后恢复(在线)。此时,这些端
点上没有建立任何连接。
6. RestartDelay:重启时延。即是上面所说的时延,以秒为单位。Forced方案下RestartDelay
没有意义。
收到RestartInProgress命令后,呼叫代理作相应处理,并应答网关。
2.3 命令示例
2.3.1 MGCP命令编码的示例
RQNT 4561 endpoint-66@tgw-21.infoinst.com MGCP 1.0 N: abc@cal.infoinst.com: 5777 X: 45848484 R: hd
第1行是命令行,RQNT是表示通知请求命令的动词,事务编号是4561,端点是endpoint-66@tgw-21.infoinst.com,协议版本是V1.0。
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -17-
MGCP协议简介与呼叫流程 内部公开▲
第2行表示NotifiedEntity的内容:Abc@cal.infoinst.com: 5777。它表示网关观察到指定的事件后,发出通知的实体是Abc@cal.infoinst.com,端口号是5777。
第3行是用于请求标识符的十六进制的字符串。发送命令时,网关通过此参数将相应的通知请求通报给MGC。
第4行表示每一个事件名称的代码,代码“hd”表示摘机。这些代码表示需要检测的网关请求的事件名称。
MGC给网关发出该命令,请求它监控摘机事件,该事件出现在中继网关tgw-21的“端点-66”,域名为“infoinst.com”。
2.3.2 响应格式
和MGCP命令的格式类似,响应格式由一行后接一组可选参数行的响应行组成。 响应行由响应码,事务标识和一个由空格隔开的可选注释组成。
响应码是一个三位的数值,表示命令的执行状态。MGCP 1.0版本中定义十九个代码,其范围如下:
1. 200和299之间的值表示成功完成 2. 400和499之间的值表示瞬态误差 3. 500和599之间的值表示永久误差 下面是审计连接响应的示例: 200 1203 OK
C: A3C47F21456789F0 N: [128.96.41.12] L: p: 10, a: PCMU; G726-32 M: sendrecv P: PS=1245, OS=62345, PR=780, OR=45123, PL=10, JI=27,LA=48 v=0
c=IN IP4 128.96.41.1 m=audio 1296 RTP/AVP 0 v=0
c=IN IP4 128.96.63.25 m=audio 1296 RTP/AVP 0 96
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -18-
MGCP协议简介与呼叫流程 内部公开▲
a=rtpmap:96 G726-32/8000
第1行,“200”表示命令的正确接收,1203是事务标识符,OK是注释。 第2行,C代表了呼叫ID。
第3行,被通知的实体。指示网关,当检测到指定事件时,应向哪个实体发送通知。 第4行,在近端连接选项L中,封装时延是10秒,压缩算法是G.726-32。
第5行,连接方式M,表示这是一个发送和接收模式,即,该端点既可接受也可发送数据。 第6行,连接参数(P)表示,到目前为止,1245个包含62345个字节的数据包已经发出,包含45123个字节的780个数据包已经收到,10个数据包丢失,平均抖动时间是27ms,平均延迟时间是48ms。
第7行及其下面的两组参数分别是近端连接说明和远端连接说明,分别表示当地和远端IP地址,端口号和抑制算法。
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -19-
内部公开▲
第3章 MGCP呼叫流程分析
3.1 呼叫流程示意图
两个电话用户在同一个MGC的控制下的不同MG成功呼叫,呼叫流程应用实例如下图所示:
图 3.1-1 两个电话用户之间的MGCP呼叫流程
以上呼叫流程解释如下:
1. MG1上User1摘机,MG1发送NTFY(L/HD)命令,通知MGC 2. MGC回响应
3. MGC向MG1发送RQNT命令,送拨号音,下发拨号表并要求检测用户拨号、挂机
(L/HU)、拍叉簧(L/HF)及放音结束事件(L/OC) 4. MG1回响应
5. MG1发送NTFY命令,将用户拨号送给MGC 6. MGC回响应
7. MGC向MG1发送CRCX命令,为主叫创建一个连接,连接模式为recvonly 8. MG1回响应,并将连接的SDP信息返回给MGC
本文中的所有信息归中兴通讯股份有限公司所有,未经允许,不得外传 -20-