您的当前位置:首页正文

MGCP(经典)

2021-03-17 来源:九壹网


ICS

YDYD/T ××××.1—××××中华人民共和国通信行业标准IP电话接入设备互通技术要求-MGCP协议 Interoperability Specification for VOIP accessing equipment based MGCP (NEQ) (草案稿) ××××-××-××发布 ××××-××-××实施中华人民共和国信息产业部 发布 YD/T ××××.1—××××

目 次

前言.................................................................................II 1 范围................................................................................1 2 规范性引用文件......................................................................1 3 定义和缩略语........................................................................1 4 RTP协议(待定).....................................................................2 5 语音帧结构:........................................................................5 6 流程................................................................................7 7 安全性要求.........................................................................33 8 消息定义...........................................................................33 9 封包...............................................................................48 10 定时器和重发......................................................................53

I

YD/T ××××.1—××××

前 言

本标准以”IP电话/传真业务总体技术要求”为基础,针对国内使用的骨干网侧采用IP协议传输语音业务的接入设备互联互通。本标准是结合了国内多家基于MGCP协议的IP电话接入设备的实际互通测试经验制定,规定了IP电话接入设备互通时依据的主要流程、消息定义和定时等内容。它是IP电话接入设备研制、生产和测试入网的依据。

本标准的附录A为资料性附录

本标准由中国通信标准化协会提出并归口。

本标准起草单位: 信息产业部电信传输研究所,中兴公司,华为公司,UT斯达康公司,上海贝尔

公司

本标准主要起草人:

本标准委托信息产业部电信传输研究所负责解释

II

YD/T ××××.1—××××

IP电话接入设备互通技术要求-MGCP协议

1 范围

本标准规定了国内骨干网侧采用IP协议传输语音业务的基于MGCP协议接入设备之间以及接入设备与控制设备之间在通信协议上的互通要求。

本标准适用于国内在IP网络上开放语音业务的采用MGCP协议的IP电话接入设备的研制,工程设计和测试。

2 规范性引用文件

下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。

YD/T 1044-2000 IP电话/传真技术体制 YDC 003-2001 软交换设备总体技术要求

YD/T XXXX-200X 媒体网关控制协议(MGCP)技术规范 ITU-T H.245-1998 多媒体通信的控制协议 IETF RFC3435 IETF RFC3550 IETF RFC3551 IETF RFC3389 3 定义和缩略语

本标准采用如下定义:

IP电话接入设备: 骨干网侧采用IP协议传输语音业务的接入设备,能够实现不同网络间媒

体格式的转换或直接将用户接入IP电话网络的设备,如IPPBX,媒体网关,网关适配器及其它具有相近功能的设备,以MG标示。

接入控制设备: 连接七号信令网与IP 网的设备,主要完成PSTN/ISDN侧的七号信令与IP

网侧信令的转换功能负责IP电话接入设备的呼叫连接和/或媒体通道的建立进行控制的设备。可以是媒体网关控制器,软交换,呼叫代理或及其它具有相近功能的设备。

中继网关: 在IP网络和电路交换网或其它网络之间的网关,用来进行媒体转换。 信令网关: 连接其它网络与IP 网的设备,主要完成其它网络侧的信令与IP网侧控制

命令的转换功能

媒体服务器(MS):专用媒体处理设备,提供基本和增强业务中的媒体处理功能,包括业务

音提供、会议、交互式应答(IVR)、通知、高级语音业务等。

本标准采用下列缩略语: MGC

1

YD/T ××××.1—××××

MG IP电话接入设备 SG 信令网关 TG

PSTN 公共电话交换网 DTMF 双音多频

RTCP 实时传输控制协议 RTP 实时传输协议 SNMP 简单网络管理协议 MS 媒体服务器 4 RTP协议 4.1 RTP报头格式

0012345678CCM19012PTTimestampSynchronization Source (SSRC) identifier345678920123456789301V = 2PXSequence numberContributing Source (CSRC) identifiersT1527560-97 各Field值确定 V(Version) : 2 bit 版本号置2 P(padding) : 1 bit 填充位置0 X(extension) : 1 bit 扩展位置0

CC(CSRC count) : 4 bit CSRC 标识的数量 , 此字段填充为0,本标准不使用CSRC。 M(Marker) : 1bit 标志位 , 该标志在静音后的第一个语音包时置位。而静音包仅发送一个 , 不连续

发送。 PT(Payload Type) : 7 bit G.723.1 4 G.729 18 G.711 µ律 0 G.711A律 8 舒适噪声 13

Sequence number :16bit 序列号 , 初始值为一随机数 , 此后以1递增 ; 收端以此判定包丢失及

恢复包顺序。 Time stamp:32 bit 时戳。用于标识RTP数据包中第一个字节采样时的时刻,其起始值为一随机值,

以8000次/秒的速率递增。

Synchronization Source (SSRC) identifiers : 32 bit , 用来标识RTP包的数据源 。

Contributing Source (CSRC) identifiers : 每个CSRC 32 bit , 0 ~ 15 个CSRC序列 , 本标准不包含

2

YD/T ××××.1—××××

该字段。

4.2 RTCP 协议

RTCP报文共有5类:RR SR SDES BYE APP。本标准只对SR和RR报文提出要求。SR(发送报文)的格式如下:

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|V=2|P| RC | PT=SR=200 | length | header +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of sender | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

| NTP timestamp, most significant word | sender +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ info | NTP timestamp, least significant word |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RTP timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sender's packet count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sender's octet count | +=+=+=+=+=+=+=+=

+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

| SSRC_1 (SSRC of first source) | report +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block | fraction lost | cumulative number of packets lost | 1 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extended highest sequence number received | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | interarrival jitter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | last SR (LSR) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | delay since last SR (DLSR) | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

| SSRC_2 (SSRC of second source) | report +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block : ... : 2

3

YD/T ××××.1—××××

+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | profile-specific extensions | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

其中的各项内容定义如下:

Version (V): 2 bits 协议鉴别,在本标准中规定为2。 Padding (P): 1 bit 在本标准中规定为0。 reception report count (RC): 5 bits

在SR中包含的RR的数目,在本标准中规定不得大于1。 packet type (PT): 8 bits

报文类型,以2进制表示。其中十进制的200代表SR。 length: 16 bits

报文长度,指在其后的报文长度,所以有可能为0。 SSRC: 32 bits

源同步码,用以标识此次通话。 NTP timestamp: 64 bits

绝对时戳。在测量环路时延时可在对方的RR报文中带回;如果发送方不具有绝对时钟的能力,则可以用通话开始时间作为时钟0点或将此域置0。(在NTP格式中,64位的前32位是从1900年1月1日0时开始到现在的以秒为单位的整数部分,后32位是此时间的小数部分) RTP timestamp: 32 bits

以RTP的timestamp为基准。 sender's packet count: 32 bits

从通话开始后发送方总共发送的RTP报文的数目。 sender's octet count: 32 bits

从通话开始后发送方总共发送的有效载荷的数目(以字节记)。

随后描述的是一个或多个RR报文块,在本标准中规定在SR报文中最多只能有一个RR报文块。 SSRC_n (source identifier): 32 bits

源同步码,用以标识此RR块所从属的通话。 fraction lost: 8 bits

从上一个SR或RR报文发送后的丢包率,表现为接收方在此段时间内期待的RTP报文与所收到的RTP包数目的差值和它所期待的RTP报文的数目的比值,若为负值,置为0。详见RFC1889。 cumulative number of packets lost: 24 bits 累计的包丢失数

extended highest sequence number received: 32 bits

其低16位是其收到的RTP包中的sequence number的最新值。其高16位标识其收到的RTP报文的sequence number的循环的次数.

interarrival jitter: 32 bits

时延抖动。每两个RTP包的抖动可以用其RTP包中的RTP timestamp和接收的时刻进行计算,计算公式如下:设

Rj代表第j个包的到达时刻,Sj代表第j个包的RTP timestamp值,则第i个RTP报文与第j个RTP报文间的抖动为D(i,j):

D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)

在生成RTCP报文时,其应当传送的时延抖动的值可用如下公式进行递推计算: J = J + ( |D(I - 1, I)| - J) / 16

4

YD/T ××××.1—××××

其中,J为要传送的时延抖动值。对后一项除以16是为了消除连带噪声。

last SR timestamp (LSR): 32 bits

收到的最近一个SR报文的NTP timestamp的中间32位。 delay since last SR (DLSR): 32 bits

在收到上一个SR报文与此次发送的报文之间的时间。以1/65536秒记。如果还没有收到任何SR报文,此值置0。

RR报文的格式如下:

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|V=2|P| RC | PT=RR=201 | length | header +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of packet sender | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

| SSRC_1 (SSRC of first source) | report +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block | fraction lost | cumulative number of packets lost | 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extended highest sequence number received | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | interarrival jitter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | last SR (LSR) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | delay since last SR (DLSR) | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

| SSRC_2 (SSRC of second source) | report +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block : ... : 2 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | profile-specific extensions | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

其中各项的功能与形式如SR中的说明。若未收到任何RTP报文,则可发送一个空的RR,即RC=0。 RTCP包发送机制:在两次RTCP报文之间,若端点没有发出任何RTP报文,则端点此次发送RR(接收报文),否则,端点发送SR(发送报文)。设备可以发送RTCP报文,每1至10秒发送一次,也可以不发送RTCP报文。设备接收不到RTCP报文时,不应判定媒体流断开而拆除连接。 5 语音帧结构:

5.1 G.723.1

IP 电话可以选用G.723.1编码。G.723.1的帧长有三种情况:24byte (6.3k/s),20byte (5.3k/s) 和4byte。4byte为SID(插入静音描述帧)帧,它主要用在语音的静音段,用以发送比较舒服的噪声的参数描述。这三种帧可以用任意方式混合使用。第一个八位组的最低二个比特确定了帧的长度和编码类型。

5

YD/T ××××.1—××××

在30ms的帧边界上,这二种速率可以进行任意切换,以获得最佳的音质。所有编码比特流都是从最低有效位开始传送,直至最高有效位。

G.723.1打包特征为:

・ 用在RTP报头的标记位的置位方法,来表示该报文是静音以后第一个包,其余包的标志位置

零,发送了第一个静音帧以后,在静音期间不再发送RTP包,由收端接入设备根据静音帧产生舒适噪音。。

・ 抽样频率为8000HZ ・ 帧长为30ms

・ 在一个包中,编解码器可以编解码几个连续的帧。 ・ 接收机必须要能连续接收0-180ms的音频数据。 5.2 G.729编码

这是一种8Kbit/s的编码算法,该种编码抗随机比特错误的能力与抗随机突发消失帧的能力相同。在噪声较大的环境下,它能有更好的语音质量。G.729 annex A算法是G.729算法降低了复杂度后的版本,二者能完全互操作,因而不必对这二种算法进行区分。

在G.729AnnexB中,建议声音激活检测器(VAD)和舒适噪声发生器(CNG)用于数字模拟声音和数字应用,可以和G.729、G.729Auuex A结合使用。G.729帧长为10个八位组(octet),静音(annex B)为2个八位组。舒适静音的格式为:

图1 G.729舒适静音打包结构

有声段帧格式为: ・一帧为10ms

・帧长10个八位组

・一个RT包可以放0个、一个或多个G729或G729Annex A帧,后随G729 annex B的有效载荷。舒适噪声帧的存在可以减小RTP载荷的长度。 ・静音后的第一个有声包在RTP报头中标记位置位 ・抽样率8000HZ

・缺省打包时间段20ms

・编解码器可以进行单一包中连续1-10帧的编解码 ・接收方必须能接收0-200ms的用户语音数据。 5.3 其它语音编码算法

可根据实际情况增加其它语音编码算法。优选G.711。

6

YD/T ××××.1—××××

针对没有内置的不连续传输能力的语音编解码器,例如G.711、G.722、G.726、G.727、G.728,规定一套通用的舒适静音格式。对于RTP时戳的时钟频率为8000Hz的编解码器,舒适静音的Payload 类型为13。RTP包的Marker位不置位。

舒适静音包的Payload包括噪声电平与以反射系数表示的频谱信息。其中频谱信息可选,且噪声模型的级数(即反射系数的个数)不作规定。编码器可以基于语音质量、实现复杂性、预计的环境噪声、信号的带宽综合考虑决定合适的级数。级数的个数不明确传递,而由解码器根据Payload的长度自动判断。Payload的格式如下所示:

Byte 1 2 3 ... M+1 Level N1

N2

...

NM

其中Level表示噪声电平,最高位必须置0。M为噪声模型的级数,Ni(i=1..M)表示反射系数。 6 流程

6.1 开机注册

对于注册通常有两种方式:

・ 对整个接入设备进行注册; ・ 已注册设备增加端点时的注册; 对整个接入设备进行注册,若MG设备用户数比较多时将注册需要较长的时间,因此建议上电冷启动的注册采用接入设备整体进行注册即采用通配符进行注册;

MGMGC

RSIP(1)

Start

ACK(2)RQNT(3)ACK(4)

RQNT(5)ACK(6)NTFY(7)ACK(8)

7

YD/T ××××.1—××××

图2 接入设备进行注册

1) 接入设备向接入控制器发RSIP命令(带通配符),重启方式为restart;命令中还带有三个用于认证的X字段:一个用于数字签名的数字串MGAUTH、算法ID和随机数Rand; 还带有用于DH交换的A。

MG事先产生一个随机数Rand,通过计算得到MG的数字签名MGAUTH=MD5(Ki,MGID,Rand); 同时MG先产生一个用于DH交换的私人数字a,计算得到A=gamod(P)。 2) 接入控制器收到RSIP命令后,首先计算MGRES= MD5(Ki,MGID,Rand)。

如果MGCAUTH = MGRES,则说明是一个合法的MG发过来的信息,认证通过;否则拒绝。同时接入控制器再产生一个用于DH交换的私人数字b,计算

B=gbmod(P) 得到共享的鉴权密钥KEY-MGC= Abmod(P)=gabmod(P) 进而计算得到MGCAUTH=MD5(KEY-MGC,Ki,B)

3) 接入控制器下发检测摘机RQNT命令;建议摘挂机事件为永久事件;接入设备在检测到摘挂机事件后通过NITY向接入控制器上报;同时MGC把B下传给MG,同时下传的还有MGCAUTH和算法ID。 MG得到B,MGCAUTH后,首先计算得到共享的鉴权密钥KEY-MG= Bamod(P)=gabmod(P) 进而计算MGRES=MD5(KEY-MG,Ki,B)

如果MGCAUTH = MGRES,则说明是一个合法的MGC发过来的信息。 4) 发送对MGC的回应消息;

5) MGC定期向MG发送RQNT命令进行鉴权,命令中带有MGC产生的随机数d(16BYTE),并用共享密钥KEY-MGC加密。同时命令中还带有算法ID(实验中采用MD5)。如采用MD5,则加密方法为MD5(KEY-MG,d),具体参见附录1。 6)MG回响应.

7) MG用NTFY中的[ObservedEvents]向MGC回送鉴权应答,应答中带有用共享密钥KEY-MG加密的两项:MGID及随机数d(为MGC所带的),该两项数值顺序排列。如采用MD5,则加密方法为MD5(KEY-MG,MGID,d),具体参见附录1。 8)MGC回响应。

注:

1) 初始事件的ID必须为0,后续的ID为上次RQNT所带的事件ID。

2) 在初次注册成功成功后,马上发送RQNT消息以生成共享密钥;后续通过RQNT重复5~~8步

8

YD/T ××××.1—××××

定期进行安全检测.

3) RQNT消息间隔由MGC控制,建议不大于为10分钟。用于安全检测的RQNT消息可以是专门的,也可以不是。

4)推荐加密算法采用MD5。

5)用于Differ-Hellman交换质数p及底数g网关上就应可根据MGC的要求进行配置或生成,对MG和MGC公开。

6)用户初始安装时,在MGC和MG中设置一个共享密钥Ki,密钥长度是128bit;

7) 每个MG都有一个数字标示(MGID):MGID为16个BYTE数字标识,包含厂家和设备信息,该信息不在其它地方公开传送,只有MG本身和管理该MG的MGC知道。

增加端点时的注册则按照要求对每个端点进行注册;

MG 控制器 RSIP<1> ACK<2>RQNT<3>ACK<4>图3 单个用户注册流程

MG在启动时向接入控制器发送RSIP命令,通知接入控制器本MG上所有端点进入服务。该命令的重启方式是restart,重启时延需要满足IETF RFC2705协议规定的防止重启崩溃的要求。

1. MG向接入控制器发送RSIP命令,重启方式为restart 2. 接入控制器回响应

3. 接入控制器向MG发送RQNT命令,建议监视摘机 4. MG回响应

注:初始事件的ID必须为0,后续的ID为上次RQNT所带的事件ID。

6.2 注销流程 MG 控制器

RSIP<1>

ACK<2>

图4 注销流程

9

YD/T ××××.1—××××

MG在退出服务时向接入控制器发送RSIP命令,通知接入控制器本MG上所有端点退出服务。 1. MG向接入控制器发送RSIP命令,重启方式为forced 2. 接入控制器回响应

注:上面所说的流程除了适应整个MG设备退出服务外,还适用部分端点退出服务的情况。 该命令的重启方式包含forced,graceful,cancelgraceful,disconnext。

6.3 接入控制器退出服务流程 6.3.1 主动退出服务流程

MG控制器RSIP<1>ACK<2>

图5 接入控制器主动退出服务流程

接入控制器在主动退出服务时向MG发送RSIP命令,通知MG本接入控制器退出服务。同时若配置有备用接入控制器,则可以切换到备用接入控制器,其流程如6.1。

1. MG向接入控制器发送RSIP命令,重启方式为restart 2. 接入控制器回响应

3. 接入控制器向MG发送RQNT命令,要求监视摘机 4. 接入控制器向MG发送RSIP命令 5. MG向接入控制器发送回应

注:此处属于国内协议扩展。原文没有。

RSIP命令重启方式包含forced,graceful,cancelgraceful。MG可以根据该命令所带方式决定正在进行的通话:如果是forced,那么立即断开通话;如果是graceful,那么保持通话到其所指示时延。

6.3.2 被动退出服务流程

接入控制器被动退出服务(如突然当机)后,MG设备通过心跳检测机制检测到接入控制器已经退出服务,心跳间隔3分钟,无反映重发5次,间隔初始值1秒。保持时间到就立即断开。(放入下面定时器)

同时若配置有备用接入控制器,则可以切换到备用接入控制器,其流程参照6.1。

6.4 同一接入控制设备下的两个接入设备之间的呼叫建立流程

10

YD/T ××××.1—××××

图6 同一接入控制设备下的两个接入设备之间的呼叫建立流程

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。

(1)主叫摘机,MG发送NTFY命令,通知接入控制器 (2)接入控制器回响应

(3)接入控制器向主叫MG发送RQNT命令,送拨号音,下发拨号表并要求监测用户拨号 (4)主叫MG回响应

(5)主叫MG发送NTFY命令,将用户拨号送给接入控制器 (6)接入控制器回响应

(7)接入控制器接入控制器向主叫MG发送CRCX命令,为主叫创建一个连接,连接模式为

reciveonly (8)主叫MG回响应,并将连接的SDP信息返回给接入控制器接入控制器

(9)接入控制器接入控制器向被叫MG发送CRCX命令,连接模式为sendrecv,并且将主叫连接

11

YD/T ××××.1—××××

的SDP信息带给被叫MG,被叫用户振铃,并且检测用户摘机

(10) 被叫MG回响应,并将连接的SDP信息返回给接入控制器接入控制器 (11) 接入控制器接入控制器向主叫MG发送RQNT命令,主叫用户听回铃音 (12) 主叫MG回响应

(13) 被叫用户摘机,被叫MG发送NTFY命令 (14) 接入控制器接入控制器回响应

(15) 接入控制器接入控制器向主叫MG发送MDCX命令,修改连接模式为sendrecv,并将被

叫SDP信息带给主叫MG (16) 主叫MG回响应

6.5 同一接入控制设备下的两个接入设备之间的呼叫释放流程(主叫挂机,被叫挂机) 6.5.1 主叫挂机流程

被叫MG 主叫MG 控制器

通 话

挂机 NTFY(挂机)<1> ACK<2> DLCX<3> ACK<4> RQNT(监视摘机)<5> ACK<6> DLCX<7> ACK<8> RQNT(忙音)<9> ACK<10>NTFY(挂机)<11> ACK<12> RQNT(监视摘机)<13> ACK<14>挂机

图7 主叫挂机流程

主被叫进入语音通话之前的信令流程与普通拨号通话流程一致。

(1)主叫挂机,主叫MG向接入控制器发送NTFY命令 (2)接入控制器回响应

(3)接入控制器向主叫MG发送DLCX命令,拆除对应连接 (4)主叫MG回响应

(5)接入控制器向主叫MG发送RQNT命令,监视摘机 (6)主叫MG回响应

(7)接入控制器向被叫MG发送DLCX命令,拆除对应连接

12

YD/T ××××.1—××××

(8)被叫MG回响应

(9)接入控制器向被叫MG发送RQNT命令,送忙音,并要求监视用户挂机 (10) 被叫MG回响应

(11) 被叫挂机,被叫MG向接入控制器发送NTFY命令 (12) 接入控制器回响应

(13) 接入控制器向被叫MG发送RQNT命令,监视摘机 (14) 被叫MG回响应

注:被叫侧监视挂机的命令在呼叫建立后就发送。

6.5.2 被叫挂机流程

主叫MG 控制器 被叫MG 通 话 NTFY(挂机)<1> 挂机 ACK<2> DLCX<7> DLCX<3> ACK<8> ACK<4> RQNT(忙音)<9> RQNT(监视摘机)<5> ACK<10> ACK<6> 挂机 NTFY(挂机)<11> ACK<12> RQNT(监视摘机)<13> ACK<14> 图8 被叫挂机流程

主被叫进入语音通话之前的信令流程与普通拨号通话流程一致。

(1)被叫挂机,被叫MG向接入控制器发送NTFY命令 (2)接入控制器回响应

(3)接入控制器向被叫MG发送DLCX命令,拆除对应连接 (4)被叫MG回响应

(5)接入控制器向被叫MG发送RQNT命令,监视摘机 (6)被叫MG回响应

(7)接入控制器向主叫MG发送DLCX命令,拆除对应连接 (8)被叫MG回响应

(9)接入控制器向主叫MG发送RQNT命令,送忙音,并要求监视用户挂机

13

YD/T ××××.1—××××

(10) 主叫MG回响应

(11) 主叫挂机,主叫MG向接入控制器发送NTFY命令 (12) 接入控制器回响应

(13) 接入控制器向主叫MG发送RQNT命令,监视摘机 (14) 主叫MG回响应

注:主叫侧监视挂机的命令在呼叫建立后就发送。

接入控制设备必需默认支持互不控方式

6.5.3 异常呼叫释放流程

6.5.3.1 媒体流异常中断(MG主动删除连接并上报)

主叫MG控制器被叫MG通话DLCX <1>ACK<2>ACK<4>RQNT<7>ACK<8>RQNT<5>ACK<6> 图9 媒体流异常中断流程

假设主叫MG先检测到媒体流中断;

(1) 主叫MG反向通过DLCX向MGC上报删除此连接,并在DLCX中捎带删除原因; (2) 接入控制器回ACK响应

(3) 接入控制器向被叫MG下发DLCX命令删除相应连接 (4) 被叫MG回ACK响应

(5) 接入控制器向被叫MG下发RQNT,检测挂机和送忙音; (6) 被叫MG回ACK响应

(7) 接入控制器向主叫MG下发RQNT,检测挂接和送忙音; (8) 主叫MG回ACK响应

6.5.3.2 接入设备断线

DLCX<3>14

YD/T ××××.1—××××

接入控制器发现主叫MG断线。

(1)接入控制器向被叫MG发送DLCX命令 (2)被叫MG回响应

(3)接入控制器向被叫MG发送RQNT命令,检测摘机,送忙音。 (4)被叫MG回响应

(5)接入控制器向主叫MG发送AUEP命令,同步接入控制器和接入设备的状态。直到收到接入

设备的响应为止。

6.5.4 呼叫转移(遇忙,无条件,无应答) 6.5.4.1 遇忙转移

控制器 通 话 DLCX<1> ACK<2> RQNT<3> AUEP<5> ACK<4> 主叫MG 被叫MG 图10 接入设备断线流程

15

YD/T ××××.1—××××

主叫MG 摘机 NTFY(摘机)<1> ACK<2> 放拨号音 RQNT(拨号音、拨号表)<3>ACK<4> 接收用户拨号 NTFY(被叫号码)<5>ACK<6> CRCX(reciveonly)<7> ACK(主叫SDP)<8> 控制器 被叫MG2 被叫MG1CRCX(sendrecv,主叫SDP)<9> ACK(被叫SDP)<10> RQNT(回铃音)<11> ACK<12> NTFY(摘机)<13> ACK<14>MDCX(sendrecv,被叫SDP)<15>ACK<16> 通 话 摘机 图11 遇忙前转流程

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。

(1)主叫摘机,MG发送NTFY命令,通知接入控制器 (2)接入控制器回响应

(3)接入控制器向主叫MG发送RQNT命令,送拨号音,下发拨号表并要求监测用户拨号 (4)主叫MG回响应

(5)主叫MG发送NTFY命令,将用户拨号送给接入控制器 (6)接入控制器回响应

(7)接入控制器向主叫MG发送CRCX命令,为主叫创建一个连接,连接模式为reciveonly

16

YD/T ××××.1—××××

(8)主叫MG回响应,并将连接的SDP信息返回给接入控制器

(9)接入控制器向被叫MG2发送CRCX命令,连接模式为sendrecv,并且将主叫连接的SDP信

息带给被叫MG2,被叫用户振铃,并且检测用户摘机

(10) 被叫MG2回响应,并将连接的SDP信息返回给接入控制器 (11) 接入控制器向主叫MG发送RQNT命令,主叫用户听回铃音 (12) 主叫MG回响应

(13) 被叫用户摘机,被叫MG2发送NTFY命令 (14) 接入控制器回响应

(15) 接入控制器向主叫MG发送MDCX命令,修改连接模式为sendrecv,并将被叫SDP信息

带给主叫MG

(16) 主叫MG回响应

6.5.4.2 无条件呼叫转移

17

YD/T ××××.1—××××

主叫MG 摘机 NTFY(摘机)<1> ACK<2> 放拨号音 RQNT(拨号音、拨号表)<3>ACK<4> 接收用户拨号 NTFY(被叫号码)<5>ACK<6> CRCX(reciveonly)<7> ACK(主叫SDP)<8> 控制器 被叫MG2 被叫MG1CRCX(sendrecv,主叫SDP)<9> ACK(被叫SDP)<10> RQNT(回铃音)<11> ACK<12> NTFY(摘机)<13> ACK<14>MDCX(sendrecv,被叫SDP)<15>ACK<16> 通 话 摘机 图12 无条件前转流程

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。

(1)主叫摘机,MG发送NTFY命令,通知接入控制器 (2)接入控制器回响应

(3)接入控制器向主叫MG发送RQNT命令,送拨号音,下发拨号表并要求监测用户拨号 (4)主叫MG回响应

(5)主叫MG发送NTFY命令,将用户拨号送给接入控制器 (6)接入控制器回响应

(7)接入控制器向主叫MG发送CRCX命令,为主叫创建一个连接,连接模式为reciveonly (8)主叫MG回响应,并将连接的SDP信息返回给接入控制器

(9)接入控制器进行号码分析,发现MG1无条件转移到MG2,向被叫MG2发起呼叫。接入控18

YD/T ××××.1—××××

制器向被叫MG2发送CRCX命令,连接模式为sendrecv,并且将主叫连接的SDP信息带给被叫MG2,被叫用户振铃,并且检测用户摘机

(10) 被叫MG2回响应,并将连接的SDP信息返回给接入控制器 (11) 接入控制器向主叫MG发送RQNT命令,主叫用户听回铃音 (12) 主叫MG回响应

(13) 被叫用户摘机,被叫MG2发送NTFY命令 (14) 接入控制器回响应

(15) 接入控制器向主叫MG发送MDCX命令,修改连接模式为sendrecv,并将被叫SDP信息

带给主叫MG

(16) 主叫MG回响应 主叫MG 控制器 被叫MG2 被叫MG16.5.4.3 应答 摘机 NTFY(摘机)<1> ACK<2> 放拨号音 RQNT(拨号音、拨号表)<3> ACK<4> 接收 用户 拨号 NTFY(被叫号码)<5> ACK<6> CRCX(reciveonly)<7> ACK(主叫SDP)<8> CRCX(sendrecv,主叫SDP)<9> ACK(被叫SDP)<10> RQNT(回铃音)<11> ACK<12> DLCX<13> ACK<14> CRCX(sendrecv,主叫SDP)<15> ACK(被叫SDP)<16> 摘机 NTFY(摘机)<17> ACK<18> MDCX(sendrecv,被叫SDP)<19> ACK<20>

通 话 19

YD/T ××××.1—××××

图13 无应答前转流程

流程说明:

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。

当用户摘机时,如果接入控制器下发了拨号表,则主叫侧MG根据拨号表对用户拨号进行分析,当匹配完成后上报用户拨号串,如果接入控制器没有下发拨号表,则将收到的每一个用户拨号立即上报,MG应该可以同时支持这两种方式。

在上述流程中,当MG收到一个TO类型的信号(如拨号音、振铃等)时,MG应该能够在超时后或者当有相应的请求事件发生时,自动停止该信号,而不应该期待接入控制器会发送显示的停止信号命令消息。

MG设置摘机、挂机事件为永久事件。

(1)主叫摘机,MG发送NTFY命令,通知接入控制器 (2)接入控制器回响应

(3)接入控制器向主叫MG发送RQNT命令,送拨号音,下发拨号表并要求监测用户拨号 (4)主叫MG回响应

(5)主叫MG发送NTFY命令,将用户拨号送给接入控制器 (6)接入控制器回响应

(7)接入控制器向主叫MG发送CRCX命令,为主叫创建一个连接,连接模式为reciveonly (8)主叫MG回响应,并将连接的SDP信息返回给接入控制器 (9)接入控制器进行号码分析,向被叫MG1发起呼叫。接入控制器向被叫MG1发送CRCX命令,

连接模式为sendrecv,并且将主叫连接的SDP信息带给被叫MG1,被叫MG1用户振铃,并且检测用户摘机

(10) 被叫MG1回响应,并将连接的SDP信息返回给接入控制器 (11) 接入控制器向主叫MG发送RQNT命令,主叫用户听回铃音 (12) 主叫MG回响应

(13) 被叫MG1久不摘机,接入控制器进行号码分析,发现MG1无应答转移到MG2,接入控

制器向MG1发送DLCX命令 (14) 被叫MG1回响应

(15) 接入控制器向被叫MG2发送CRCX命令,连接模式为sendrecv,并且将主叫连接的SDP

信息带给被叫MG2

(16) 被叫MG2回响应,并将连接的SDP信息返回给接入控制器 (17) 被叫用户摘机,被叫MG2发送NTFY命令 (18) 接入控制器回响应

(19) 接入控制器向主叫MG发送MDCX命令,修改连接模式为sendrecv,并将被叫SDP信息

带给主叫MG

(20) 主叫MG回响应

6.5.5 呼叫等待

20

YD/T ××××.1—××××

控制器 NTFY(摘机)<1> ACK<2> 放拨号音 RQNT(拨号音、拨号表)<3>ACK<4> 接收用户拨号 NTFY(被叫号码)<5>ACK<6> CRCX(reciveonly)<7> ACK(主叫SDP)<8> CRCX(sendrecv, SDP1)<9> RQNT(回铃音)<11> ACK<12> ACK(SDP2)<10> 摘机 NTFY(摘机)<13> ACK<14>MDCX(sendrecv, SDP2)<15>ACK<16> 通 话 MG1 摘机 MG2

图14 拨号通话流程(1)

流程说明:

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。 (1)主叫摘机,MG发送NTFY命令,通知接入控制器 (2)接入控制器回响应

(3)接入控制器向MG1发送RQNT命令,送拨号音,下发拨号表并要求监测用户拨号 (4)MG1回响应

(5)MG1发送NTFY命令,将用户拨号送给接入控制器 (6)接入控制器回响应

(7)接入控制器向MG1发送CRCX命令,为主叫创建一个连接,连接模式为reciveonly (8)MG1回响应,并将连接的SDP信息返回给接入控制器

(9)接入控制器向MG2发送CRCX命令,连接模式为sendrecv,并且将主叫连接的SDP信息带

21

YD/T ××××.1—××××

给MG2,被叫用户振铃,并且检测用户摘机

(10) MG2回响应,并将连接的SDP信息返回给接入控制器 (11) 接入控制器向MG1发送RQNT命令,主叫用户听回铃音 (12) MG1回响应

(13) 被叫用户摘机,MG2发送NTFY命令 (14) 接入控制器回响应

(15) 接入控制器向MG1发送MDCX命令,修改连接模式为sendrecv,并将被叫SDP信息带

给MG1

(16) MG1回响应

图15 拨号通话流程(2)

流程说明:

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。 (17) MG3摘机,MG发送NTFY命令,通知接入控制器 (18) 接入控制器回响应

(19) 接入控制器向MG3发送RQNT命令,送拨号音,下发拨号表并要求监测用户拨号 (20) MG3回响应

(21) 第三方拨打MG2用户号码,MG2发送NTFY命令,将用户拨号送给接入控制器

22

YD/T ××××.1—××××

(22) 接入控制器回响应

(23) 接入控制器向MG3发送CRCX命令,为MG3创建一个连接,连接模式为inactive (24) MG3回响应,并将连接的SDP信息返回给接入控制器

(25) 接入控制器分析MG2有呼叫等待业务,发现MG3呼叫的是 MG2。接入控制器向MG2

发送RQNT命令,向其发送呼叫等待音、检测拍叉簧事件 (26) MG2回响应

(27) 接入控制器向MG3发送RQNT命令,被叫用户听回铃音 (28) MG3回响应

至此,MG2用户可以选择继续通话,还是与新用户通话。 23

YD/T ××××.1—××××

MG1 控制器 NTFY<29> ACK<30> RQNT<31> ACK<32> MG2 MG3 拍叉簧 ACK<34> MDCX(SDP2,sendrecv)<35>ACK<36> MDCX(SDP3)<37> ACK<38> MG2和MG3通话中 NTFY<39> ACK<40> RQNT<41> ACK<42> NTFY<43> ACK<44> RQNT<45> ACK<46> MDCX(SDP1)<47> MDCX(SDP2)<49> ACK<50> ACK<48> 拍叉簧 NTFY<51> ACK<52> DLCX<53> ACK<54> RQNT<55> ACK<56> 24 MG1和MG2通话 YD/T ××××.1—××××

图16 呼叫等待流程(3)

(29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56)

MG2发送NTFY命令到接入控制器,上报拍叉簧事件; MG2收到接入控制器对拍叉簧事件的响应;

MG2收到接入控制器来的号码表(Digitmap),拨号音,挂机、拍叉簧等事件; 接入控制器收到MG2对号码表、拨号音消息的响应;

MG2的用户用户拨号‘2’,同MG3用户通话,同时保留与MG1的呼叫;接入控制器收到MG2收到接入控制器的响应;

MG3收到接入控制器来的MDCX命令,远端SDP为 MG2的SDP,收发模式改为sendrecv。 接入控制器收到MG3对的响应;

MG2收到接入控制器来的MDCX命令,其远断SDP为MG3的SDP描述;

接入控制器收到MG1的响应;此时MG1的远端会接到MediaServer上,对其放音乐(不在如果MG2想恢复同MG1的会话,截断同MG3的会话,继续拍叉簧;接入控制器收到MG2MG2收到接入控制器对拍叉簧事件的响应; MG2收到接入控制器来的号码表,拨号音等;

MG2拨号‘1’,切断与当前用户MG3的通话,而回到与MG1的通话中; MG2通过NTFY上报号码‘1’到接入控制器; MG2收到接入控制器针对上报号码的响应; MG3收到接入控制器来的RQNT忙音信号; 接入控制器收到MG3来的忙音信号的响应;

MG2收到接入控制器来的MDCX命令修改远端SDP为SDP1。 接入控制器收到MG2对修改远端媒体的响应;

MG1收到接入控制器来的MDCX命令修改远端SDP为SDP2。 接入控制器收到MG1对修改远端媒体的响应; MG3挂机,上报USER3的挂机事件到接入控制器; MG3收到对挂机事件的响应; MG3收到接入控制器的DLCX命令;

接入控制器收到接入控制器的DLCX命令的响应; 接入控制器向MG3发送RQNT命令,检测摘机 MG3回响应

MG2来的号码;

此处讨论的范围,可详见MediaServer的具体流程); 上报拍叉簧事件NTFY;

此时用户MG1、用户MG2在通化中;

MG1挂机;此时的呼叫释放同基本呼叫不再累述。

6.5.6 呼叫保持流程

呼叫保持流程和呼叫等待相似,在此不再详细叙述。

6.5.7 主叫号码显示流程

25

YD/T ××××.1—××××

图17 主叫号码显示流程

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。 (1)主叫摘机,MG发送NTFY命令,通知接入控制器 (2)接入控制器回响应

(3)接入控制器向主叫MG发送RQNT命令,送拨号音,下发拨号表并要求监测用户拨号 (4)主叫MG回响应

(5)主叫MG发送NTFY命令,将用户拨号送给接入控制器 (6)接入控制器回响应

(7)接入控制器向主叫MG发送CRCX命令,为主叫创建一个连接,连接模式为reciveonly (8)主叫MG回响应,并将连接的SDP信息返回给接入控制器

(9)接入控制器检测出被叫登记有CID业务权限,向被叫MG发送CRCX命令,连接模式为

26

震铃,显示主叫号码

主叫号码显示有终端用户挂机状态的情况和终端用户通话状态的情况,这两种情况对信令流程都是

一样的,下面只描述终端用户挂机状态的情况。

接入控制器检测被叫登记有CID业务权限

YD/T ××××.1—××××

sendrecv,并且将主叫连接的SDP信息带给被叫MG,并且在其中带上CID信息指示。被叫用户振铃,显示主叫号码信息,并且检测用户摘机;也可以通过CRCX命令只下发主叫SDP消息,通过RQNT命令下发主叫号码CI信息和被叫振铃rg信号; (10) 被叫MG回响应,并将连接的SDP信息返回给接入控制器 (11) 接入控制器向主叫MG发送RQNT命令,主叫用户听回铃音 (12) 主叫MG回响应

(13) 被叫用户摘机,被叫MG发送NTFY命令 (14) 接入控制器回响应

(15) 接入控制器向主叫MG发送MDCX命令,修改连接模式为sendrecv,并将被叫SDP信息

带给主叫MG

(16) 主叫MG回响应

27

YD/T ××××.1—××××

6.4.8 会议电话 会议电话、三方通话的流程和呼叫等待类似;建议接入控制器实现此业务时利用专门媒体资源服务器实现,接入设备不支持媒体资源服务器;

会议电话:MG上的Usr1为主席,连续发起MG2上的Usr2和Usr3开会 主叫MG1MG MG2 网关控制 Usr1 摘机 NTFY(摘机)<1> ACK<2> 放拨号音 RQNT(拨号音、拨号表)<3> ACK<4> 接收 用户NTFY(Usr2被叫号码) 拨号 ACK<6> CRCX(RecOnly)<7> ACK(主叫SDP)<8> CRCX(SenRec,主叫SDP)<9> ACK(被叫SDP)<10> RQNT(回铃音)<11> ACK<12> NTFY(摘机)<15> ACK<16> Usr2摘机 RQNT(挂机)<13> ACK<14> MDCX(sendrecv,被叫SDP)<17> ACK<18> Usr1和Usr2通话

28

MS YD/T ××××.1—××××

主叫MG1MG MG2 网关控制 Usr1 拍叉簧 NTFY(拍叉簧)<19> ACK<20> MDCX Usr2(inactive)<21>

ACK(SDP)<22> RQNT(拨号音、拨号表)<23> 放拨号音 ACK<24> 接收 用户NTFY(Usr3被叫号码) 拨号 ACK<26> MDCX(RecOnly,)<27> ACK<28> CRCX Usr3(SenRec,主叫SDP)<29>

ACK(SDP)<30> RQNT(回铃音)<31> ACK<32> Usr3摘机 NTFY(摘机)<33> ACK<34> RQNT(挂机)<35> ACK<36> MDCX(sendrecv,SDP)<37> ACK<38> USER1和USER3通话

MS 29

YD/T ××××.1—××××

主叫MG1MG MG2 网关控制MS NTFY(拍叉簧)<39>USER1拍叉簧 ACK<40> MDCX Usr3(inactive)<41> ACK(SDP)<42> 放拨号音 RQNT(拨号音、拨号表)<43> ACK<44> 接收NTFY(进入开会的被叫号码)<45>用户 ACK<46> 拨号 CRCX (SenRec,Usr1 SDP)<47> ACK(SDP)<48> MDCX Usr1(SenRec,SDP) ACK<50> CRCX (SenRec,Usr2 SDP)<51> ACK(SDP)<52> MDCX Usr2(SenRec, SDP)<53> ACK<54> CRCX (SenRec,Usr3SDP)<55> ACK(SDP)<56> MDCX Usr3(SenRec,SDP)<57> ACK<58> USER1、USER2、USER3通话

图18 会议电话流程

流程说明:

30

YD/T ××××.1—××××

在流程中RQNT命令也可以内嵌到连接操作命令中,不单独发送。 (1)Usr1摘机,MG1发送NTFY命令,通知网关控制器 (2)网关控制器回响应

(3)网关控制器向主叫MG1发送RQNT命令,送拨号音,下发拨号表并要求监测用户Usr1拨号 (4)MG1回响应

(5)MG1发送NTFY命令,将用户拨号送给网关控制器 (6)网关控制器回响应

(7)网关控制器向主叫MG1的用户Usr1发送CRCX命令,为主叫创建一个连接,连接模式为

RecOnly

(8)MG1回响应,并将连接的SDP信息返回给网关控制器

(9)网关控制器向被叫MG2的用户Usr2发送CRCX命令,连接模式为SenRec,并且将主叫连

接的SDP信息带给被叫MG,被叫用户振铃,并且检测用户摘机 (10) 被叫MG2回响应,并将连接的SDP信息返回给网关控制器 (11) 网关控制器向主叫MG1发送RQNT命令,主叫用户听回铃音 (12) MG回响应

(13) 被叫用户Usr2摘机,被叫MG2发送NTFY命令 (14) 网关控制器回响应

(15) 网关控制器向被叫MG2的Usr2发送RQNT命令,请求检测Usr2挂机 (16) MG2回响应

(17) 网关控制器向主叫MG1的Usr1发送MDCX命令,修改连接模式为sendrecv,并将被叫

SDP信息带给主叫MG (18) 主叫MG回响应

(19) Usr1拍插簧,MG1发送NTFY命令,通知网关控制器 (20) 网关控制器回响应

(21) 网关控制器向MG2发MDCX,修改连接模式为inactive (22) MG2回响应

(23) 网关控制器向主叫MG1发送RQNT命令,送拨号音,下发拨号表并要求监测用户Usr1

拨号

(24) MG1回响应

(25) MG1发送NTFY命令,将用户拨号Usr3送给网关控制器 (26) 网关控制器回响应

(27) 网关控制器向主叫MG1发送MDCX命令,修改连接模式为RecOnly (28) MG1回响应

(29) 网关控制器向被叫MG2的用户Usr3发送CRCX命令,连接模式为SenRec,并且将主叫

连接的SDP信息带给被叫MG,被叫用户振铃,并且检测用户摘机 (30) 被叫MG2回响应,并将连接的SDP信息返回给网关控制器 (31) 网关控制器向主叫MG1发送RQNT命令,主叫用户听回铃音 (32) MG回响应

(33) 被叫用户Usr3摘机,被叫MG2发送NTFY命令 (34) 网关控制器回响应

(35) 网关控制器向被叫MG2的Usr3发送RQNT命令,请求检测Usr3挂机 (36) MG2回响应

(37) 网关控制器向主叫MG1的Usr1发送MDCX命令,修改连接模式为sendrecv,并将被叫

SDP信息带给主叫MG

31

YD/T ××××.1—××××

(38) MG回响应

(39) Usr1拍插簧,MG1发送NTFY命令,通知网关控制器 (40) 网关控制器回响应

(41) 网关控制器向MG2的Usr3发MDCX,修改连接模式为inactive (42) MG2回响应

(43) 网关控制器向主叫MG1发送RQNT命令,送拨号音,下发拨号表并要求监测用户Usr1

拨号

(44) MG1回响应

(45) MG1发送NTFY命令,将用户拨号要求开会送给网关控制器 (46) 网关控制器回响应

(47) 网关控制器向MS的发送CRCX命令,连接模式为SenRec,并且将Usr1的SDP信息带

给被叫MG.

(48) MS回响应,并将连接的SDP信息返回给网关控制器

(49) 网关控制器向主叫MG1的Usr1发送MDCX命令,修改连接模式为sendrecv,并将MS

的SDP信息带给MG1的Usr1 (50) MG1回响应

(51) 网关控制器向MS的发送CRCX命令,连接模式为SenRec,并且将Usr2的SDP信息带

给被叫MG.

(52) MS回响应,并将连接的SDP信息返回给网关控制器

(53) 网关控制器向主叫MG2的Usr2发送MDCX命令,修改连接模式为sendrecv,并将MS

的SDP信息带给MG2的Usr2 (54) MG2回响应

(55) 网关控制器向MS的发送CRCX命令,连接模式为SenRec,并且将Usr3的SDP信息带

给被叫MG.

(56) MS回响应,并将连接的SDP信息返回给网关控制器

(57) 网关控制器向主叫MG2的Usr3发送MDCX命令,修改连接模式为sendrecv,并将MS

的SDP信息带给MG2的Usr3 (58) MG2回响应

32

YD/T ××××.1—××××

7 安全性要求

7.1 设备认证

对于IP网上众多的接入设备,接入控制器如何区分其合法性通过是通过设备认证进行区分;具体的流程如下:

MGRSIP<1>ACK <2>RQNT(设备标识码、随机数) <3>ACK <4>Notify(设备标识码、加密后的结果) <5>ACK <6>控制器

图19 设备认证流程

流程说明:

(1) 接 入设备向接入控制器设备发起注册请求, 消息带有DH字段,用以Difffer-Hellman交换; (2) 接入控制器回响应

(3) 接入控制器向接入设备下发RQNT消息带有DH字段和相关信息,用以Difffer-Hellman交换,以

产生接入控制器和接入设备之间的共享密钥,这个共享密钥将在此后的消息中使用; (4) 接入设备回响应

(5) 接入设备向接入控制器回报用共享密钥,设备标识码等信息生成的加密结果;将带有加密结果

的Notify发送到控制器;请求注册;这儿加密算法是接入控制器和接入设备共同协商好的的加密算法;

(6) 接入控制器根据接入设备的加密结果和自己的加密后的结果进行比较,若相同则回响应注册成

功否则失败;

注:此时在RQNT和NOTIFY消息中endpoint设为*. 8 消息定义

8.1 MGCP 的协议命令

8.1.1 端点配置(Endpoint Configuration)

接入控制设备-接入设备,用于指示接入设备某端点电路侧的编码特性。

ReturnCode

<-- EndpointConfiguration( EndpointId,

33

YD/T ××××.1—××××

BearerInformation)

参数 响应证实 承载消息

8.1.2 通知请求(NotificationRequest) <-- NotificationRequest( EndpointId,

必备、选项

O K ResponseAck M B BearerInformation [NotifiedEntity,] [RequestedEvents,] RequestIdentifier, [DigitMap,] [SignalRequests,] [QuarantineHandling,] [DetectEvents,]

[encapsulated EndpointConfiguration]) 参数 响应证实 承载消息 呼叫id

必备、选项

O O F

K ResponseAck B BearerInformation C CallId I ConnectionId X RequestIdentifier L LocalConnectionOptionsM Connection Mode R RequestedEvents S SignalRequests N NotifiedEntity E ReasonCode O ObservedEvents D DigitMap P ConnectionParameters Z SpecificEndpointID Z2 Second Endpoint ID

F RequestedInfo Q QuarantineHandling F 连接id

M 请求id

本地连接选项 F

F 连接模式

O* 请求事件

O* 请求信号

被通知实体

原因码 观测的事件 数字映像 连接参数 指定端口id 第二端口id 请求信息 预检处理

34

O F F O F F F F O

检测事件 O T DetectEvents

F ES EventStates 重启动方法 F RM RestartMethod 重启动时延 F RD RestartDelay 第二连接id F I2 SecondConnectionId

F

A Capabilities 远端连接描述F RC RemoteConnection 术语

Descriptor 本地连接描述F LC LocalConnection 术语

Descriptor MGC-DH字段 M

8.1.3 通知(Notify)

<-- Notify( EndpointId,

[NotifiedEntity,] RequestIdentifier, ObservedEvents) 参数 必备、选项

响应证实 O K ResponseAck 承载消息 F B BearerInformation 呼叫id F C CallId 连接id F I ConnectionId 请求id

M

X RequestIdentifier 本地连接选项 F

L LocalConnectionOptions连接模式

F M Connection Mode 请求事件

F R RequestedEvents 请求信号 F S SignalRequests 被通知实体

O N NotifiedEntity 原因码 F E ReasonCode 观测的事件 M O ObservedEvents 数字映像 F D DigitMap 连接参数 F P ConnectionParameters 指定端口id F Z SpecificEndpointID 第二端口id F Z2 Second Endpoint ID

请求信息 F F RequestedInfo 预检处理 F Q QuarantineHandling 检测事件 F T DetectEvents

F

ES EventStates YD/T ××××.1—××××

35

YD/T ××××.1—××××

重启动方法 重启动时延 第二连接id

F F F F

RM RestartMethod RD RestartDelay I2 SecondConnectionId A Capabilities RC RemoteConnection Descriptor LC LocalConnection Descriptor

远端连接描述F 术语

本地连接描述F 术语

8.1.4 创建连接(Creation Connection) <--- CreateConnection(CallId,

EndpointId, [NotifiedEntity,]

[LocalConnectionOptions,] Mode,

[{RemoteConnectionDescriptor | SecondEndpointId}, ]

[Encapsulated NotificationRequest,] [Encapsulated EndpointConfiguration]) 参数 响应证实 承载消息 呼叫id 连接id 请求id 本地连接选项

必备、选项 O O M F O+ O

K ResponseAck B BearerInformation C CallId I ConnectionId X RequestIdentifier L LocalConnectionOptions 连接模式 请求事件 请求信号

36

M O O

M Connection Mode R RequestedEvents S SignalRequests 被通知实体 O N NotifiedEntity 原因码 F E ReasonCode 观测的事件 F O ObservedEvents 数字映像 O D DigitMap 连接参数

F

P ConnectionParameters 指定端口id F Z SpecificEndpointID 第二端口id

O

Z2

Second Endpoint ID

请求信息 F F RequestedInfo 预检处理 O Q QuarantineHandling 检测事件 O T DetectEvents

F ES EventStates 重启动方法 F RM RestartMethod 重启动时延 F RD RestartDelay 第二连接id F I2 SecondConnectionId

F

A Capabilities 远端连接描述术语 O

RC RemoteConnection Descriptor 本地连接描述术语 F

LC LocalConnection Descriptor

8.1.5 修改连接(Modify Connection)

<--- ModifyConnection(CallId,

YD/T ××××.1—××××

37

YD/T ××××.1—××××

EndpointId, ConnectionId, [NotifiedEntity,]

[LocalConnectionOptions,] [Mode,]

[RemoteConnectionDescriptor,] [Encapsulated NotificationRequest,]

[Encapsulated EndpointConfiguration])

参数 响应证实 承载消息 呼叫id 连接id 请求id

必备、选项

O O M M O+

K ResponseAck B BearerInformation C CallId I ConnectionId X RequestIdentifier L LocalConnectionOptions本地连接选项 O

连接模式 请求事件 请求信号 被通知实体 原因码 观测的事件 数字映像 连接参数

M O O O F F O F

M Connection Mode R RequestedEvents S SignalRequests N NotifiedEntity E ReasonCode O ObservedEvents D DigitMap P ConnectionParameters 指定端口id F Z SpecificEndpointID 38

第二端口id F Z2 Second Endpoint ID

请求信息 F F RequestedInfo 预检处理 O Q QuarantineHandling 检测事件 O T DetectEvents

F ES EventStates 重启动方法 F RM RestartMethod 重启动时延 F RD RestartDelay 第二连接id F I2 SecondConnectionId

F

A Capabilities 远端连接描述O RC RemoteConnection 术语

Descriptor 本地连接描述F LC LocalConnection 术语 Descriptor

8.1.6 删除连接(Delete Connection) <-- DeleteConnection(CallId,

EndpointId, ConnectionId,

[Encapsulated NotificationRequest,]

[Encapsulated EndpointConfiguration])

<-- DeleteConnection( CallId,

EndpointId, ConnectionId, Reason-code,

Connection-parameters)

YD/T ××××.1—××××

39

YD/T ××××.1—××××

<-- DeleteConnection( CallId, EndpointId)

ReturnCode,

<-- DeleteConnection( EndpointId)

参数 响应证实 承载消息 呼叫id 连接id 请求id

必备、选项

O O O O O+

K ResponseAck B BearerInformation C CallId I ConnectionId X RequestIdentifier L LocalConnectionOptionsM Connection Mode R RequestedEvents S SignalRequests N NotifiedEntity E ReasonCode O ObservedEvents D DigitMap P ConnectionParameters Z SpecificEndpointID Z2 Second Endpoint ID

F RequestedInfo Q QuarantineHandling T DetectEvents ES EventStates RM RestartMethod RD RestartDelay I2 SecondConnectionId A Capabilities RC RemoteConnection Descriptor LC LocalConnection Descriptor

本地连接选项 F

F 连接模式

O 请求事件

O 请求信号

O 被通知实体

O 原因码 观测的事件

数字映像 连接参数 指定端口id 第二端口id 请求信息 预检处理 检测事件

重启动方法 重启动时延 第二连接id

F O O F F F O O F F F F F

远端连接描述F 术语

本地连接描述F 术语

40

8.1.7 审计端点(Audit Endpoint) EndPointIdList|{

[RequestedEvents,] [DigitMap,] [SignalRequests,] [RequestIdentifier,] [NotifiedEntity,] [ConnectionIdentifiers,] [DetectEvents,] [ObservedEvents,] [EventStates,] [BearerInformation,] [RestartReason,] [RestartDelay,] [ReasonCode,] [Capabilities]}

<--- AuditEndPoint(EndpointId,

[RequestedInfo]) 参数 必备、选项

响应证实 O K ResponseAck 承载消息 F B BearerInformation 呼叫id F C CallId 连接id F I ConnectionId 请求id

M

X RequestIdentifier 本地连接选项 F

L LocalConnectionOptions连接模式

F M Connection Mode 请求事件

F R RequestedEvents 请求信号

F S SignalRequests 被通知实体

O N NotifiedEntity 原因码 F E ReasonCode 观测的事件 M O ObservedEvents 数字映像

F D DigitMap 连接参数 F P ConnectionParameters 指定端口id F Z SpecificEndpointID 第二端口id F Z2 Second Endpoint ID 请求信息

F

F RequestedInfo YD/T ××××.1—××××

41

YD/T ××××.1—××××

预检处理 检测事件

重启动方法 重启动时延 第二连接id

F F F F F F F

Q QuarantineHandling T DetectEvents ES EventStates RM RestartMethod RD RestartDelay I2 SecondConnectionId A Capabilities RC RemoteConnection Descriptor LC LocalConnection Descriptor

远端连接描述F 术语

本地连接描述F 术语

8.1.8 审计连接(Audit Connection) ReturnCode,

[CallId,] [NotifiedEntity,]

[LocalConnectionOptions,] [Mode,]

[RemoteConnectionDescriptor,] [LocalConnectionDescriptor,] [ConnectionParameters]

<--- AuditConnection(EndpointId, ConnectionId, RequestedInfo) 参数 响应证实 承载消息 呼叫id 连接id 请求id

必备、选项

O F F M F

K ResponseAck B BearerInformation C CallId I ConnectionId X RequestIdentifier L LocalConnectionOptionsM Connection Mode R RequestedEvents S SignalRequests 本地连接选项 F

F 连接模式

F 请求事件 请求信号

42

F

YD/T ××××.1—××××

被通知实体 原因码 观测的事件 数字映像 连接参数 F F F F F N NotifiedEntity E ReasonCode O ObservedEvents D DigitMap P ConnectionParameters 指定端口id F Z SpecificEndpointID 第二端口id F Z2 Second Endpoint ID 请求信息 M F RequestedInfo 预检处理 F Q QuarantineHandling 检测事件 F T DetectEvents

F ES EventStates 重启动方法 F RM RestartMethod 重启动时延 F RD RestartDelay 第二连接id F I2 SecondConnectionId

F

A Capabilities 远端连接描述F RC RemoteConnection 术语

Descriptor 本地连接描述F LC LocalConnection 术语 Descriptor

8.1.9 重启动进行中(Restart Inrogress) <------- RestartInProgress ( EndPointId,

RestartMethod, [RestartDelay,]

[Reason-code])

参数 必备、选项

响应证实 O K ResponseAck 承载消息 F B BearerInformation 呼叫id F C CallId 连接id F I ConnectionId 请求id

F

X RequestIdentifier 本地连接选项 F

L LocalConnectionOptions连接模式 F M Connection Mode 请求事件

F R RequestedEvents 请求信号

F

S SignalRequests 43

YD/T ××××.1—××××

被通知实体 原因码 观测的事件 数字映像 连接参数 指定端口id 第二端口id 请求信息 预检处理 检测事件

重启动方法 重启动时延 第二连接id

F O F F F F F F F F F M O F F

N NotifiedEntity E ReasonCode O ObservedEvents D DigitMap P ConnectionParameters Z SpecificEndpointID Z2 Second Endpoint ID F RequestedInfo Q QuarantineHandling T DetectEvents ES EventStates RM RestartMethod RD RestartDelay I2 SecondConnectionId A Capabilities RC RemoteConnection Descriptor LC LocalConnection Descriptor

远端连接描述F 术语

本地连接描述F 术语

M DH子段

8.2 MGCP协议命令的响应

命令的响应用响应头来表示。响应头由响应行组成,响应行由一个3位的响应码开头,紧跟着是事务标识和一个辅助的注释,它们之间用空格来分开。如:200 1203 OK。响应头有时会带含有响应参数的头。具体各命令的成功响应如下:

8.2.1 端点配置(Endpoint Configuration)命令成功的响应: 200 TransactionID OK

8.2.2 通知请求(NotificationRequest)命令成功的响应: 200 TransactionID OK

8.2.3 通知(Notify)命令成功的响应: 200 TransactionID OK

8.2.4 创建连接(Creation Connection)命令成功的响应: 200 TransactionID OK

Connection ID,

44

YD/T ××××.1—××××

[Specific Endpoint ID], [SecondConnectionId], [SecondEndpointID],

LocalConnectionDescriptor (LC v=”VERSION”

c=IN IP4 Ipaddress

m=audio “PORT” RTP/AVP “CODEC”)

8.2.5 修改连接(Modify Connection)命令成功的响应: 200 TransactionID OK

LocalConnectionDescriptor (LC v=”VERSION”

c=IN IP4 Ipaddress

m=audio “PORT” RTP/AVP “CODEC”)

8.2.6 删除连接(Delete Connection)命令成功的响应: 200 TransactionID OK

ConnectionParameters (P:PS=, PR=, OS=, OR=, JI=, PL=, LA= ) 或 250 TransactionID OK

ConnectionParameters (P:PS=, PR=, OS=, OR=, JI=, PL=, LA= )

8.2.7 审计端点(Audit Endpoint)命令成功的响应: 200 TransactionID OK

[BearerInformation],

[RequestIdentifier],

[LocalConnection Options], [RequestedEvents], [SignalRequests], [ReasonCode], [ObservedEvents],

[QuarantineHandling], [DetectEvents], [EventStates], [RestartMethod], [RestartDelay], Capabilities

(A:a:PCMA;PCMU;G729;G726-32,p:10-30,e:on,s:on,v:L;G;R;D,m:inactive;sendonly; recvonly;sendrecv;confrnce)

45

YD/T ××××.1—××××

8.2.8 审计连接(Audit Connection)命令成功的响应: 200 TransactionID OK

LocalConnection Descriptor, RemoteConnection Descriptor, [CallId],

[LocalConnection Options], [Connection Mode], [Connection Parameters]

8.2.9 重启动进行中(Restart Inrogress)命令成功的响应: 200 TransactionID OK

[NotifiedEntity]

8.3 原因值和错误码

代码 000 01 11 100

注释

终端状态正常。Endpoint state is nominal. (This code is used only in response to audit requests.)

由于终端没准备好,该事务不能被执行。The transaction could not be executed, because the endpoint is not ready

由于命令中包含未被承认的扩展参数,该事务不能被执行。The transaction could not be executed, because the command contained an unrecognized extension The transaction is currently being executed. An actual completion message will follow on later.

当前的事务正在处理,最终的响应稍迟返回 The requested transaction was executed normally. 事务被正常处理

The connection was deleted. 连接被删除

The transaction could not be executed, due to a transient 由于瞬时错误,事务不能执行 The phone is already off hook 电话已经处于摘机状态 The phone is already on hook 电话已经处于挂机状态

The transaction could not be executed, because the endpoin not have sufficient resources at this time

当前端点没有足够的资源

200 250 400 401 402 403

46

YD/T ××××.1—××××

404 Insufficient bandwidth at this time 前没有足够的带宽

500 The transaction could not be executed, because the endpoin unknown. 未知端点

501 The transaction could not be executed, because the endpoin not ready. 端点未准备好 或 未进入服务状态

502 The transaction could not be executed, because the endpoin not have sufficient resources

端点没有足够的资源

510 The transaction could not be executed, because a protocol was detected. 协议语法格式错误

511 The transaction could not be executed, because the command contained an unrecognized extension.

命令中包含未知的扩展 或 不支持的扩展

512 The transaction could not be executed, because the gateway not equipped to detect one of the requested events. 网关没有能力侦察请求的事件

513

The transaction could not be executed, because the gateway not equipped to generate one of the requested signals 网关没有能力执行请求的信号

514

The transaction could not be executed, because the gateway cannot send the specified announcement. 网关不能发送指定的宣告

515 The transaction refers to an incorrect connection-id (may been already deleted) 不正确的connection-id,该connection-id可能已经删除了 516 The transaction refers to an unknown call-id. 未知call-id

517 Unsupported or invalid mode. 不支持的或无效的连接模式 518 Unsupported or unknown package. 支持的或未知的包

519 Endpoint does not have a digit map. 端点没有号码表 或 没收到号码表

520 The transaction could not be executed, because the endpoin \"restarting\". 端点正在启动过程中

521 Endpoint redirected to another Call Agent. 端点重定向到另外一个 Call Agent. 522 No such event or signal. 无此事件或信号

523 Unknown action or illegal combination of actions 未知动作 或 非法的动作组合

524

Internal inconsistency in LocalConnectionOptions LocalConnectionOptions 内部不一致

47

YD/T ××××.1—×××× 525

Unknown extension in LocalConnectionOptions 未知的 LocalConnectionOptions 扩展

526 Insufficient bandwidth

无足够带宽

527 Missing RemoteConnectionDescriptor

丢失 或 没有 RemoteConnectionDescriptor 528 529 530 531 000

Incompatible protocol version 不兼容的协议版本 Internal hardware failure 内部硬件缺乏/故障 CAS signaling protocol error. CAS 信令协议错误

failure of a grouping of trunks (e.g. facility failure). 中继组设备异常(比如说设备故障)

Endpoint state is nominal. (This code is used only in response to audit requests.) 端点状态正常(该代码只能用语对审计请求的响应)

900 Endpoint malfunctioning

端点故障 901 902 9 封包

9.1 MGCP协议采用的基本封包

Endpoint taken out of service 端点退出服务

Loss of lower layer connectivity (e.g., downstream sync) 下层连接丢失(比如说下游同步)

名称 符号

通用媒体封包 G DTMF封包 D MF封包 M 中继封包 T 模拟线封包 L 头戴式送话器封包 H RTP封包 R NAS封包 N 脚本封包 A

9.2 不同类型的接入设备支持不同类型的基本封包

名称 名

48

YD/T ××××.1—××××

中继网关ISUP 中继网关MF 网络接入服务器 NAS/VOIP组合网关 接入网关VOIP

接入网关(VOIP+NAS) 宅内网关 通告服务器

GM, DTMF, TK, RTP GM, MF, DTMF, TK, RTP GM, MF, TK, NAS

GM, MF, DTMF, TK, NAS, RTP GM, DTMF, MF, RTP GM, DTMF, MF, NAS, RTP GM, DTMF, Line, RTP ANN, RTP

9.3 主要采用的封包

本次互通的MGCP接入设备产品应至少支持三种类型的封包,通用媒体封包,DTMF封包,模拟线封包,RTP封包。对于其它类型的封包将在后续的工作中完成。

9.3.1 通用封包事件和信号

符号 Mt Ft Ld Pat(###) Rt Rbk(###) Cf Cg It Pt Of

9.3.2 DTMF封包

定义

检测到MODEM 检测到传真信号音 长持续时间连接 检测到格式### 回铃音 连接上的回铃音 证实音 网络拥塞音 阻截音 抢占音 报告失败

R 时长

X X X X 00 T0 T0 180s Br T0 00 00

符号 0 1 2

定义 R 时长

DTMF0 x BR DTMF1 x BR DTMF2 x BR 49

YD/T ××××.1—××××

3 4 5 6 7 8 9

DTMF3 x BR DTMF4 x BR DTMF5 x BR DTMF6 x BR DTMF7 x BR DTMF8 x BR DTMF9 x BR x x x x x x x x

x x

BR BR BR BR BR BR 2S

4S

# DTMF# * DTMF* A DTMFA B DTMFB C DTMFC D DTMFD L X

long duration indicator

通配符

T Interdigit timer of

9.3.3 模拟线封包事件和信号

报告差错

符号 Adsi(string) vmwi hd hu hf Aw Bz Ci(ti,nu,na)

wt wt1,wt2,

wt3,wt4

dl mwi nbz Ro Rg

50

定义 Adsi显示 可视消息,等待指示

摘机 挂机 拍叉簧 应答音 忙音 主叫识别 呼叫等待音 可选择呼叫等待音

拨号音 消息等待指示 网络忙 区别振铃 振铃

R x x x

时 BR 00

x 00

T0 30S BR

T0 30S

T0 16S T0 16S T0 30S T0 180S x 00

YD/T ××××.1—××××

r0,r1,r2,r3,r4,r5,r6或r7 Rs P E Sl V Y sit Z oc Ot s(###) Of

特色振铃 短振铃 提示音 出错音 断续拨号音 提醒音 录音机告警音 SIT音 呼叫卡服务音 完成报告 摘机告警音 区别告警音 失败报告

T0 180S BR

x BR x BR

T0 16S 00 00 00 T0

不确定

x x BR x

9.3.4 RTP封包事件

符号 UC SR(###) JI(###) PL(###) Qa Of

定义

使用的编译码器改变 采样速率的改变 抖动缓冲器大小改变 分组丢失率超限 质量提示 失败报告

R 时长

X X X X X X

9.3.5 留言灯

S: L/vmwi(+)(点亮留言灯) S: L/vmwi(-)(熄灭留言灯)

9.3.6 反极性计费:

因反极性包在 RFC2705中没有专门的包,一般是采用扩展包的形式支持;建议采用下面的扩展包实现:

S:L/Z(+) S:L/Z(-) S:L/lsa

S:XL/rev 9.3.7 鉴权包

51

YD/T ××××.1—×××× 包名:Auth 版本:1 事件:

1:安全认证结果 事件标识:authoc

检测事件参数:32*64(HEXDIG) 说明: 检测事件参数返回认证结果 信号:

1 :安全认证请求 信号标识:authreq 信号参数:32*64(HEXDIG)

说明:安全认证请求信号参数为MGC向MG发出的一个随机数。随机数为大于16位的字符

串小于32位的字符串。每一位字符串ABNF编码为2个HEXDIG(DIGIT = %x30-39 ; 0-9 HEXDIG = ( DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" ))

认证过程举例:

MGC向MG发起认证请求 MGC―――》MG

RQNT 100 aaln/1@huawei.com mgcp 1.0 X:123 R:auth/authoc

S:auth/authreq(7890abcdef5678900022002200220032)

MG回送命令响应 MG――――》MGC 200 100 OK

MG发送认证结果给MGC MG――――》MGC

NTFY 200 aaln/1@huawei.com mgcp 1.0

52

YD/T ××××.1—××××

X:123

O: auth/authoc(1234abcdefabef900022002267897788)

MGC回送命令响应 MGC―――》MG 200 200 OK

10 定时器和重发

1) 临时响应定时器间隔1秒,最大临时相应发送时间30秒。 2) 保留响应消息时长最长30秒 3) 命令消息重发定时器:

重发定时时长的两种算法:

1. 固定重发时长为1~5秒,重发次数为5~10次。

2. 重发间隔初始值为500毫秒,逐次翻倍,次数为10次。 4) 号间拨号定时器16秒

5) 拨号匹配成功超时定时器4秒

6) 断开等待延时初始值15 秒;断开等待延时最小值15 秒;断开等待延时最大值600 秒

53

YD/T ××××.1—××××

附 录 A (资料性附录) 呼叫建立和释放流程示例

A.1 主叫呼叫建立及释放流程

序号:1 方向 :接收

NTFY 1714292 aaln/0@[202.202.9.212] MGCP 1.0 X: 29 O:hd

序号:2 方向 :发送 200 1714292 OK

序号:3 方向 :发送

RQNT 103757224 aaln/0@[202.202.9.212] MGCP 1.0 X: 30

R: D/[0-9#*T](D), L/HU(N),L/HF(N) S: L/DL D:

(13xxxxxxxxx|013xxxxxxxxx|010xxxxxxxx|02[0-478]xxxxxxxx|02[59]xxxxxxx|0[3469]xxxxxxxxx|05[023-689]xxxxxxxx|0512xxxxxxxx|051[013-9]xxxxxxx|057[147]xxxxxxxx|057[0235689]xxxxxxx|0755xxxxxxxx|07[0-46789]xxxxxxxx|075[0-46789]xxxxxxx|08[0-8]xxxxxxxx|0898xxxxxxxx|089[0-79]xxxxxxx|x.T|xx.#|9[0-1]xxxxxx|[2-8][1-8]xxxxxx|201|10xx|11x|17930)

序号:4 方向 :接收 200 103757224 OK

序号:5 方向 :接收

NTFY 1714293 aaln/0@[202.202.9.212] MGCP 1.0 X: 30

O:9,1,0,0,0,0,0,3

序号:6 方向 :发送 200 1714293 OK

54

序号:7 方向 :发送

RQNT 103757225 aaln/0@[202.202.9.212] MGCP 1.0 X: 31

R: L/HU(N),L/HF(N)

序号:8 方向 :发送

CRCX 103757226 aaln/0@[202.202.9.212] MGCP 1.0 C: 6

L: e:on,s:off,a:PCMU,p:20 M: recvonly

序号:9 方向 :发送

RQNT 103757227 aaln/0@[202.202.9.212] MGCP 1.0 X: 32

R: L/HU(N),L/HF(N) S:

序号:10 方向 :接收

200 103757225 OK

序号:11 方向 :接收

200 103757226 OK

I:a v=0

c=IN IP4 202.202.9.212

m=audio 6024 RTP/AVP 0 a=ptime:20

序号:12 方向 :发送

RQNT 103757228 aaln/0@[202.202.9.212] MGCP 1.0

X: 33

R: L/HU(N),L/HF(N) S: G/RT

序号:13

方向 :接收

YD/T ××××.1—××××

55

YD/T ××××.1—××××

200 103757227 OK

序号:14

序号:15 C: 6 I: a v=0

c=IN IP4 202.202.9.211 m=audio 4000 RTP/AVP 0 a=ptime:20

序号:16

序号:17 C: 6 I: a M: sendrecv

序号:18

序号:19 X: 34

R: L/HU(N),L/HF(N) S:

序号:20

56

方向 :接收

200 103757228 OK

方向 :发送

MDCX 103757229 aaln/0@[202.202.9.212] MGCP 1.0

方向 :接收

200 103757229 OK

方向 :发送

MDCX 103757230 aaln/0@[202.202.9.212] MGCP 1.0

方向 :接收

200 103757230 OK

方向 :发送

RQNT 103757231 aaln/0@[202.202.9.212] MGCP 1.0

方向 :接收

200 103757231 OK

序号:21 方向 :发送

RQNT 103757232 aaln/0@[202.202.9.212] MGCP 1.0

X: 35

R: L/HU(N),L/HF(N) S: L/BZ

序号:22 方向 :接收

200 103757232 OK

序号:23 方向 :接收

NTFY 1714294 aaln/0@[202.202.9.212] MGCP 1.0

X: 35 O:hu

序号:24 方向 :发送

200 1714294 OK

序号:25 方向 :发送

RQNT 103757233 aaln/0@[202.202.9.212] MGCP 1.0

X: 36 R: L/HD(N)

序号:26 方向 :发送

RQNT 103757234 aaln/0@[202.202.9.212] MGCP 1.0

X: 37 R: L/HD(N) S:

序号:27 方向 :发送

DLCX 103757235 aaln/0@[202.202.9.212] MGCP 1.0

C: 6 I: a

序号:28 方向 :接收

200 103757233 OK

YD/T ××××.1—××××

57

YD/T ××××.1—××××

序号:29

序号:30

方向 :接收

250 103757235 Conn Deleted

P: PS=381, OS=60960, PR=242, OR=38720, PL=0, JI=0, LA=0

注:MC向MGC上报事件包名可选

MG应支持三种inactive,recvonly,sendrecv模式

方向 :接收

200 103757234 OK

A.2 被叫呼叫建立及释放流程

序号:1 方向 :发送

CRCX 103757217 aaln/0@[202.202.9.212] MGCP 1.0 C: 5

L: e:on,s:off,a:PCMU,p:20 X: 26 R: L/HD(N) S: L/RG M: sendrecv v=0

c=IN IP4 202.202.9.211 m=audio 4000 RTP/AVP 0 a=ptime:20

序号:2 方向 :接收 200 103757217 OK I:9 v=0

c=IN IP4 202.202.9.212 m=audio 6024 RTP/AVP 0 a=ptime:20

序号:3 方向 :接收

NTFY 1714290 aaln/0@[202.202.9.212] MGCP 1.0 X: 26 O:hd

58

序号:4 20 .01 方向 :发送 200 1714290 OK

序号:5 方向 :发送

RQNT 103757218 aaln/0@[202.202.9.212] MGCP 1.0 X: 27

R: L/HU(N),L/HF(N)

序号:6 方向 :接收 200 103757218 OK

序号:7 方向 :接收

NTFY 1714291 aaln/0@[202.202.9.212] MGCP 1.0 X: 27 O:hu

序号:8 方向 :发送 200 1714291 OK

序号:9 方向 :发送

RQNT 103757219 aaln/0@[202.202.9.212] MGCP 1.0 X: 28 R: L/HD(N)

序号:10 方向 :发送

RQNT 103757220 aaln/0@[202.202.9.212] MGCP 1.0

X: 29 R: L/HD(N) S:

序号:11 方向 :发送

DLCX 103757221 aaln/0@[202.202.9.212] MGCP 1.0

C: 5 I: 9

YD/T ××××.1—××××

59

YD/T ××××.1—××××

序号:12

序号:13

序号:14

方向 :接收

250 103757221 Conn Deleted

P: PS=418, OS=66880, PR=290, OR=46400, PL=0, JI=0, LA=0 注册流程

RSIP 23 aaln/*@202.202.101.202 MGCP 1.0 RM : restart

方向 :接收

200 103757220 OK

方向 :接收

200 103757219 OK

60

YD/T ××××.1—××××

附 录 B (资料性附录)

用MD5对消息内容逐步加密过程

假设密钥为S,需要加密的内容为p,加密完成的内容为c。xor表示进行异或操作,MD5表示进行MD5计算。则具体过程如下:

MG/MGC先用密钥S和随机数RA用MD5生成一个128bit的b1。然后把要加密的内容按16个BYTE为一组分为:p1、p2、…..、pi,最后的pi不足16BYTE后面用0补齐。 然后用下面的方法得出

b1 = MD5(S + RA) c(1) = p1 xor b1 b2 = MD5(S + c(1)) c(2) = p2 xor b2 . . . . . . bi = MD5(S + c(i-1)) c(i) = pi xor bi

加密过的字符串级联起来的字符串 c(1)、c(2)、…..、c(i)

注:详细内容可参见RFC 2865。

61

YD/T ××××.1—××××

附 录 C (资料性附录) DH交换的解释

C.1 GW,GWC之间通信

确定一个指数p,以及底数g;GW和GWC各选取一个私人数字(如a和b),并进行乘幂计算以产生公共值

A=ga mod p B=gb mod p

GW将A给GWC, GWC将B给GW,他们再次执行乘幂计算,使用二者的公共值作底数以产生共享密钥以保护以后的通信。

Ba mod p=gab mod p=Ab mod p

62

YD/T ××××.1—××××

附 录 D (资料性附录)

带安全认证的MGCP协议示例流程

D.1 采用的鉴权包

包名:Auth 版本:1 事件:

事件标识:authoc

检测事件参数:32*256(HEXDIG)

说明: 检测事件参数返回认证结果,HEXDIG(DIGIT = %x30-39 ; 0-9 HEXDIG= ( DIGIT / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" ))

事件标识:eventea 信号参数:1*4(DIGIT) 说明:所用的算法编号

事件标识:entrandom 信号参数:1*32(HEXDIGIT) 说明:MD5所用的随机数 信号:

信号标识:authreq

信号参数:32*256(HEXDIG)

说明:安全认证请求信号参数为MGC向MG发出的一个数字串。

信号标识:authea 信号参数:1*4(DIGIT) 说明:所用的算法编号

信号标识:authrandom 信号参数:1*32(HEXDIG)

63

YD/T ××××.1—××××

说明:MD5所用的随机数

D.2 流程示例:

1、MG发送注册

RSIP 57 *@ian2kA MGCP 1.0

RM:restart

X-EA:1 /*算法编号*/ X-RANDOM: 24565689324e /*用于MD5的随机数*/ X-AUTH:

57edf4a22be3c955ac49da2e2107b67a9834dcae2392e400ecaaf96cca34567b57edf4a22be3c955ac49da2e2107b67a9834dcae2392e400ecaaf96cca34567b57edf4a22be3c955ac49da2e2107b67a9834dcae2392e400ecaaf96cca34567b /*加密的数字串*/

2、MGC回送相应

200 57 OK

3、 MGC向MG发送生成共享密钥的随机数和算法ID MGC―――》MG

RQNT 100 *@202.202.202.1 mgcp 1.0 X:123

R:auth/authoc

S:auth/authreq(c3fcd3d76192e4007dfb496cca67e13b57edf4a22be3c955ac49da2e2107b67a9834dcae2392e400ecaaf96cca34567b57edf4a22be3c955ac49da2e2107b67a9834dcae2392e400ecaaf96cca34567b ), /*经过加密的DH交换随机数*/

auth/authea(1))/*算法编号*/

auth/authrandom(def56789000e) /*用于MD5的随机数*/

4、 MG回送命令响应 MG――――》MGC 200 100 OK

5、MGC向MG发起鉴权 MGC―――》MG

RQNT 101 *@202.202.202.1 mgcp 1.0 X:123 R:auth/authoc

64

YD/T ××××.1—××××

S:auth/authreq(0cc175b9c0f1b6a831c399e269772661), /*经过加密的随机数*/ auth/authea(1), /*算法编号*/

auth/authrandom(3465546acde) /*用于MD5的随机数*/

6、 MG回送命令响应 MG――――》MGC 200 101 OK

7、 MG向MGC回送鉴权应答 MG――――》MGC

NTFY 200 *@202.202.202.2 mgcp 1.0 X:123

O: auth/authoc(0dd195e1d0c1b6a331c344e289792231

235345e1dfcab6a331c344e28edc5433) ,/*经过加密的随机数和设备ID*/

auth/eventea(1) /*算法编号*/

auth/entrandom(de45565689ffca) /*用于MD5的随机数*/

8、 MGC回送命令响应 MGC―――》MG 200 200 OK

65

因篇幅问题不能全部显示,请点此查看更多更全内容