首页 百科知识 媒体控制协议

媒体控制协议

时间:2022-10-19 百科知识 版权反馈
【摘要】:RFC2719把传统网关分解为媒体网关、信令网关和媒体网关控制器三部分,由此产生了媒体网关控制协议,目前的媒体网关控制协议有MGCP和H.248/Megaco。MGCP通过对端点和连接上的事件进行检测和判别来对呼叫流向进行控制,指示端点应该向用户发送或终止何种信号。MGC可要求端点在检测到某些事件发生时,向其发出通知,由它来处理。MGCP采用文本协议,协议分为两类:命令和响应。

11.6.1 媒体控制协议

RFC2719把传统网关分解为媒体网关(MG)、信令网关(SG)和媒体网关控制器(MGC)三部分,由此产生了媒体网关控制协议,目前的媒体网关控制协议有MGCP和H.248/Megaco。

1)MGCP

MGCP是SGCP、IPDC相结合的产物,它一被提出来就受到业界极大的关注,它既可以用于H.323/IP电话体系,也可用于SIP/IP电话体系。MGCP的特点是简单性、可靠性。它本身只限于处理媒体流控制、呼叫处理等,将智能工作卸载到软交换上,使得媒体网关成为一个简单的设备,MGCP通过软交换实现对多业务分组网边缘上的如VoIP网关、VoATM网关、Cable Modem、机顶盒、软PBX等数据通信设备的外部控制和管理。

MGCP定义的连接模型包括端点(Endpoint)和连接(Connection)两个概念。端点用来接收和发送数据,它既可以是物理端点,也可以是虚拟端点。MGCP协议大致把端点分为8类,包括数字信道、模拟线、IVR接入点等。连接是在点到点,点到多点之间建立的一种关联,当端点之间要传送数据时,就由软交换设备控制的终端在呼叫涉及的端点间建立连接,一个端点可以建立多个连接,不同呼叫的连接可以终结于同一个端点。

在MGCP的呼叫控制中,事件(Event)和信号(Signal)是非常重要的概念,MGCP把网关能侦测出的状态称为事件,例如电话拿起(Off-hook)或挂上(On-hook)即为两种事件。MGCP亦定义一些网关能产生的信号,如拨号音。MGCP通过对端点和连接上的事件进行检测和判别来对呼叫流向进行控制,指示端点应该向用户发送或终止何种信号。例如,当端点检测到用户的摘机事件时,就向用户发送拨号音信号。MGC可要求端点在检测到某些事件发生时,向其发出通知,由它来处理。但也可请求将某些信号(如拨号音、回铃音、忙音等)加到端点上,由端点直接处理。

事件和信号组合成包(Package),每个包由某一特定端点支持,用“包名/事件名”表示,每类端点有特定的包,包名和事件名均用数字字母串表示。MGCP中定义了十个基本包,包括:通用媒体包、DTMF包等。

MGCP采用文本协议,协议分为两类:命令和响应。每个命令需要接收方回送响应,采用三次握手方式证实,命令消息由若干命令行和若干参数组成,响应消息带三位数字响应码。MGCP采用UDP进行传送,采用SDP(媒体描述协议)向网关描述连接参数,例如媒体IP地址、端口、RTP(实时传输协议)等。

完整的MGCP协议栈如图11.17所示。

img400

图11.17 MGCP协议栈结构

MGCP定义的基本命令:EndpointConfiguration由软交换发送给MG,用来规定端点所接收信号的编码格式;NotificationRequest表示软交换要求MG监视/报告端点上发生的事件;Notify表示软交换要求MG向其报告发生的事件,即端点在检测到指定事件时向软交换发送命令;CreateConnection表示软交换要求在MG端点间创建连接;ModifyConnection由软交换向MG发出,表示改变连接属性,包括连接的本地特征和远端特征;DeleteConnection表示MG要求软交换删除连接;AuditEndpoint表示软交换要求查看MG中端点状态;AuditConnection表示软交换要求查看MG中与连接相关的参数;RestartInprogress表示MG向软交换报告端点进入或退出服务。

MGCP的呼叫连接过程如图11.18所示。

img401

图11.18 MGCP呼叫、连接建立过程

呼叫连接的两个端点分属不同的MG,假设属于同一个MGC。如果两个端点的MG分属不同的MGC时,为了同步在两个端点上创建连接,需要通过软交换间的信令协议如SIP来交换信息。呼叫、连接建立步骤:

(1)MGC请求MG1在端点(EP1)创建连接;

(2)MG1为该连接分配资源,向MGC回送响应,响应中提供第一个“会话描述”;

(3)MGC请求MG2在端点(EP2)创建连接,该命令携带MG1提供的“会话描述”;

(4)MG2为该连接分配资源,向MGC回送响应,响应重提供第二个“会话描述”;

(5)MGC用“ModifyConnection”命令向MG1的EP1提供MG2的“会话描述”,EP1、EP2之间就可以进行双向通信。

2)H.248/Megaco协议

H.248协议是MGCP的进一步开发,是2000年由ITU-T第16工作组提出的。

H.248连接模型主要的抽象概念是终节点(Termination)和关联域(Context),如图11.19所示。

img402

图11.19 关联和终节点示意图

终节点位于MG中,是媒体或媒体控制流的发起者或接收者,可以终结一个或多个媒体流。终节点分为半永久性终节点和临时性终节点。半永久性终节点可以代表物理实体,如TDM信道或模拟线等;临时性终节点对应一个虚拟实体,用来表示临时性的媒体流,如RTP流。终节点可以支持各种信号(Signal)和事件(Event),同时还可以对终节点信息进行统计,当MGC要求时,把统计信息报告给MGC。

关联域是一组呼叫或会话中终节点的集合,关联域中能存在的终节点的最大数目由MG的特性决定,若MG只支持点到点连接,则每个关联域最多支持两个终节点,若MG支持点到多点连接,则可支持多个终节点。当MG发起呼叫时,如图11.19所示,MGC就创建一个新的关联域,并使用Add命令将RTP流和模拟线这两个终节点分别添加到关联域中。当MG所需的呼叫完成后,MGC就使用Subtract命令将终节点从关联中删除,从而释放所使用的资源。

终节点可用特性来进行描述,不同类型的终节点,其特性也不尽相同。如RTP终节点可用端口号(Port)、IP地址、语音编解码类型以及是否使用回声控制等特性来进行描述。而模拟线终节点可用摘挂机事件或者各种信号音(拨号音、回铃音、忙音等)等特性来描述。因此,H.248协议将终节点所包含的特性组成了一系列描述符,描述符可作为描述命令的输入和输出参数。H.248定义了十九个终节点特性描述语,如Modem、Multiplex(复用)、Media(媒体)、Local(本地)等。

H.248中的事件和信号概念与MGCP中相同,同时,为了解决终端多样性问题,在协议中也引入了包(Package)概念,将终端的各种特性参数组合成包,通过包来实现协议的可扩展性,不同类型的媒体网关所支持的包类型也不同。此外,IETF、ITU-T也正在研究并推出各种扩展包,使之能更好地应用于语音、数据、多媒体以及移动业务。

为了实现呼叫连接的建立、释放及MGC对MG的管理功能,H.248/Megaco协议定义了八个命令:Add表示向一个关联中添加终节点;Modify表示修改终节点的特性、事件和信号;Subtract表示解除一个终节点与它所处的关联之间的联系,同时返回有关终节点的统计数据;Move表示将一个终节点从它当前所在的关联转移到另一个挂念;AuditValue表示获取终节点的特性、事件、信号和统计的当前值;AuditCapabilities表示返回与终节点有关的特性、事件、信号和统计等所有可能值;Notify表示MG向MGC报告MG中所发生的事件;ServiceChange表示MG向MGC报告一个终节点或一组终节点将要退出服务或刚返回服务,及向MGC进行注册,报告MG将开始或完成了重新启动工作。

MG和MGC之间的一组命令组成了事务交互。事务(Transaction)是由一个或者多个动作(Action)组成。一个动作又由作用于同一关联域的一系列命令(Command)组成,因此,动作使用关联标识符(ContextID)来进行标识。其中,事务、动作和命令之间的关系如图11.20所示。

img403

图11.20 事务、动作和命令的关系

H.248协议消息可采用二进制和文本两种方式进行编码,既可以在ATM上承载,也可以在IP上承载。当在IP上承载时,传输层可使用TCP或UDP两种协议。无论是TCP还是UDP,当使用文本方式进行编码时,协议消息所使用的缺省端口为2944,当使用二进制方式编码时,协议消息所使用的缺省端口为2945。

以模拟语音用户发起的呼叫建立流程为例,如图11.21所示,说明MGC和MG利用H.248协议来进行的呼叫。约定主叫模拟线用户与MG1连接,被叫模拟线用户与MG2连接,MG1与MG2同属于一个MGC管辖区内,呼叫建立由主叫用户发起,而呼叫释放则由被叫用户发起。

整个流程如下:

(1)软交换设备向MG1和MG2分别发送Modify命令,在空关联中加入一个终节点,等待摘机事件。

(2)主叫用户摘机,MG1向软交换设备发送Notify命令,报告摘机事件。

(3)软交换设备向MG1发送Modify命令,等待用户输入被叫号码,以及指示MG1向主叫用户播放拨号音。

(4)MG1向软交换设备发送Notify命令,将被叫号码上报给软交换设备。

(5)软交换设备MG1发送Add命令,创建一个新的关联域(Context),并在Context中加入主叫模拟线终节点和RTP终节点,其中连接模型设置为ReceiveOnly(只收),并设置抖动缓存、语音压缩算法等。MG1通过Reply命令返回该连接所使用的RTP端口号及采用的语音压缩算法。

img404

图11.21 H.248协议呼叫流程示例

(6)软交换设备向MG2发送Add命令,创建一个新的关联域,在关联域中加入被叫模拟线终节点和RTP终节点,其中连接模型设置为SendReceive(可发可收),并设置抖动缓存、语音压缩算法等。同时,软交换设备指示MG2向被叫用户发送振铃音。MG2通过Reply命令返回该连接所使用的RTP端口号及采用的语音压缩算法。

(7)软交换设备向MG1发送Modify命令,告之主叫的远端地址(IP地址和RTP端口号),并指示MG1向主叫用户发送回铃音。

(8)被叫用户摘机,MG2向软交换设备发送Notify命令,报告摘机事件。

(9)软交换设备向MG2发送Modify命令,切断振铃音。

(10)软交换设备向MG1发送Modify命令,切断回铃音。

(11)主被叫双方建立通信连接,双方开始通话。

(12)被叫挂机,MG2向软交换发送Notify命令,报告挂机事件。

(13)软交换向MG2发送Subtract命令,指示删除关联域和终节点。

(14)软交换向MG1发送Subtract命令,指示删除关联域和终节点。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈