>
首页 » 业界动态 » 基于MGCP的媒体网关控制器的分析与仿真

基于MGCP的媒体网关控制器的分析与仿真

作者:任枫华  时间:2007-04-30 21:14  来源:

摘要:MGCP(Media Gateway Controll Protocol)作为一种著名的媒体网关控制协议,许多厂商都在它的基础上开发媒体网关(MG)及媒体网关控制器(MGC)。MG的开发离不开MGC的配合与支持,然而开发MGC的低效率、长周期往往成为MG开发的瓶颈。着眼于此,在介绍了基于MGCP的VoIP系统结构的基础上,引入一种VoIP仿真工具Artiza VoIP Simulator,接着详细描述了怎样通过此工具仿真MGC实现跨MG通话。

关键词:MGCP;MGC;MG;VoIP

引言

在传统的VoIP系统中,媒体网关不但要执行媒体格式转换,还要进行信令转换等功能,其结构过于复杂,导致了可扩展性差,对IP电话的大规模部署具有相当大的制约力。鉴于此,业界提出了分离网关的思想,而这一思想也正是NGN(下一代网络,Next Generation Network)的关键特征之一。

按照分离网关的思想,传统的网关分解为三部分:媒体网关(MG)负责媒体变换以及SCN和IP两侧通路的连接;信令网关(SG)负责信令转换;媒体网关控制器(MGC)负责根据收到的信令控制媒体网关的连接建立和释放。网关分离导致出现了新的协议标准。媒体网关控制协议(MGCP;Media Gateway Control Protocol见RFC2705)就是根据分离网关的思想提出的一种运行在MGC与MG之间接口上的协议。分离网关对于VoIP的大规模应用,特别是进入家庭具有十分重要的意义,因此MGCP受到了广泛的重视,成为VoIP市场的热点之一。


图1 基于MGCP的VOIP系统网络结构

基于MGCP的VoIP系统结构

如图1所示,在基于MGCP的VoIP系统结构中,一个媒体网关控制器(MGC)可用来控制多个媒体网关(MG),两者之间通过MGCP进行通信相互配合完成MGCP通话。这种分离网关结构相对于传统的网关结构有着不可比拟的优势:

(1)由于功能的简化,媒体网关数量可以显著增加,解决了扩展性问题,同时也提高了系统的可用性。
(2)有利于快速引入新业务,它只需要更新MGC软件,而MG无需更改或改动很少。
(3)网络中大量的接入网关可以做得简单、便宜而且可靠,对VoIP的大规模应用有着十分重要的意义。

媒体网关控制器(MGC)
MGC作为实现呼叫控制的核心,它根据接收到的信令控制媒体网关连接的建立和释放等。其主要功能是呼叫控制功能,为基本呼叫的建立、维持和释放提供控制功能,包括呼叫处理、连接控制、智能呼叫触发检测和资源控制等。

此外,MGC还应当具有业务提供功能,协议功能、互通功能、资源管理功能、计费功能以及7信令功能等。

媒体网关(MG)

MG主要负责媒体转换以及PSTN和IP两侧通路的连接。根据网关在网络结构中的位置不同可以分为下面三种类型:

(1)中继网关。负责连接PSTN和IP网络,完成话音TDM格式和RTP数据包的相互转换,并受MGC的控制,完成连接建立。
(2)接入网关。位于网络的接入汇聚点,提供数字PBX接口或普通的RJ11模拟电话接口,一般用在住宅小区或办公楼宇。
(3)住宅网关。负责采集IP电话用户的事件信息(如摘机、挂机等),并将这些事件经IP网传给MGC。它还支持RTP,以完成端到端IP语音数据传送。住宅网关一般用于用户家中。

仿真MGC实现跨MG通话

应当看到,在上述的VoIP系统中,MG主要负责执行来自MGC的命令和媒体转换,而作为系统核心的MGC,功能则更强大,因而设计实现起来就困难、复杂了许多,开发周期更长;而MG的设计开发尤其是测试是离不开MGC的。幸运的是,MGC是可以通过软件进行仿真模拟的,在这里,要介绍这样一种VoIP协议仿真工具——Artiza VoIP Simulator,通过该工具仿真MGC进而实现跨网关通话。

VoIP协议仿真利器———Artiza VoIP Simulator
Artiza VoIP Simulator是著名的VoIP软件厂商Artiza Networks公司的主要产品之一,其试用版可到该公司网站(www.artiza networks.com)下载。

该软件可以仿真大多数VoIP协议网络设备,如MGC,MG,GateKeeper,Endpoint,SIP Server等。它除了支持H323协议簇外,还支持NGN的关键协议MGCP,H248/MEGACO,SIP等。它主要由以下三个部分组成:

(1)消息编辑器(Message Editor):编辑定制用户所需的VoIP协议消息。
(2)序列场景编辑器(Sequence Scenario Editor):编辑定制用户所需的通信事件、流程。
(3)模拟器(VoIP Simulator):运行用户创建的序列场景脚本。

用Artiza VoIP Simulator仿真基于MGCP的MGC

网络拓扑图
如图2所示,所要建立的场景是分属于两个MG的两个电话机在一台基于MGCP协议的MGC的控制下,进行正常通话。


图2 跨网关通话网络拓扑图

MGCP呼叫基本流程
接着详细描述一下对应图2网络拓扑的呼叫其基本流程。在这里将呼叫过程分为三个阶段:开始呼叫过程,呼叫建立过程和呼叫断开过程。

开始呼叫过程:

(1)主叫拿起电话机,主叫网关检测到摘机信号,发送NTFY到MGC,通知主叫摘机事件。MGC接着回送响应。
(2)MGC向主叫网关发送RQNT命令,请求其向主叫放拨号音并根据数字映像采集主叫的拨号号码,同时监视主叫的挂机事件。接着MG返回响应。
(3)主叫开始拨号到拨号完毕。主叫网关检测到收到的号码和数字映像相匹配,向MGC发送相应RQNT。接着MGC返回响应。呼叫建立过程:
(4)MGC向主叫网关发送CRCX命令,创建连接。命令参数包括呼叫ID,本地连接选项,recvonly模式等。
(5)主叫网关返回响应,响应中包括连接的ID,以及用于接收音频数据的本地会话描述等。
(6)MGC查询确定呼叫路由,向被叫网关发送CRCX命令,命令参数除包含呼叫ID、sendrecv模式之外,还携带主叫网关的会话描述等。
(7)被叫网关返回响应,响应中包含新创建连接的ID,以及由于接收音频数据的本地会话描述等。
(8)MGC向主叫网关发送MDCX命令以接通双向通路。命令参数包括呼叫ID,连接ID,sendrecv模式,被叫的会话描述。接着主叫回送响应。
(9)MGC向被叫网关发送RQNT命令,请求其向被叫放振铃音,同时监视摘机事件。接着,被叫网关回送响应。
(10)MGC向主叫网关发送RQNT命令,请求其向主叫放回铃音,同时监视挂机事件。接着主叫网关回送响应。
(11)被叫摘机,被叫网关向MGC发送NTFY,通知被叫摘机事件。接着,MGC回送响应。
(12)MGC向主叫网关发送RQNT命令,请求其停止向主叫放回铃音。接着主叫网关回送响应至此,双方进入通话状态。呼叫断开过程:
(13)通话结束。假定主叫先挂机。主叫网关检测到主叫挂机事件后,向MGC发送NTFY,通知主叫挂机事件。接着MGC回送响应。
(14)MGC向主叫网关发送DLCX命令,删除连接。接着主叫网关回送响应。
(15)MGC向被叫网关发送DLCX命令,删除连接。接着被叫网关回送响应。

至此,整个呼叫过程结束。下面我们详细描述一下怎样使用ArtizaVoIPSimulator来模拟MGC,现跨网关通话。

通过Sequence ScenarioE ditor编写相应的Sequence Scenario


图3 创建系统相关Nodes


图4 创建系统相关事件

首先编辑Node,即整个系统所要涉及的功能实体。我们所要用到的Node包括一台MGC,两台MG(主叫和被叫),创建后如图3所示,需要注意的是MGC Node其this列要选择ON,即表明我们所要仿真的是一个MGC。然后,我们根据3.2.2小节的呼叫基本流程,来创建每一步所对应的事件。

我们以第1步为例,在图3中Scenario列被激活状态下,点击add添加一个事件,根据我们要添加的事件的属性,Event选择Recv表明MGC接收消息事件,Protocol为MGCP,Message为NTFY,Tcp/Udp选择为默认的UDP,相应的Src和Dst填写Node的序号1和2。由于是第一次接收事件PORT填写为MG的默认值2427;其他缺省。需要说明一点的是,响应也是一个事件,必须填写。

根据上述规则依次创建所有事件,最后如图4所示,图的上半部分是系统呼叫事件序列,下半部分是软件自动生成的系统Node间的通信序列图,非常直观的描述MGCP呼叫基本流程。

紧接着,要做的是编辑每个事件所对应的MGCP消息,也就是Node间通信的具体内容,每一个消息表现为一个具有一定格式的文件。这也是该软件最吸引人的地方,根据所要仿真的协议其命令消息的格式,可选择不同的编辑器进行编写。对于H323系列协议消息,本软件提供的asn.1消息编辑器可帮助用户定制相关消息。而对于基于文本的MGCP、H248/MEGACO、SIP等协议消息,可使用任意一种文本编辑器按照格式进行编写,只是对应的文件扩展名为atf即可。具体格式可参见该软件帮助文档。

下面我们根据RFC2705中对MGCP命令消息格式的规定,以呼叫流程中几个典型事件对应的令消息的编写为例,描述文本格式的MGCP协议消息的创建。对应第1步的NTFY命令消息:

[TEXT]
NTFY1001 endpoint1@CallingMG MGCP 1.0
X:10
O:L/hd

其中,X:10表示命令消息对应的请求ID,O:L/hd表示检测到的是摘机事件。对应第4步的CRCX命令消息:

[TEXT]
CRCX1006 endpoint1@CallingMG MGCP110
C:10001
M:recvonly
L:a:G729
v=0
c=IN IP4 192.168.0.15
m=audio43000RTP/AVP11

此命令表示MGC希望双方使用g1729编码类型,需要说明一点的是,以v=0开始的是本地会话描述,采用SDP协议的规定,SDP协议是一种专门用来对会话进行描述的协议,详情请参见RFC2327。

依此类推,编辑完成整个呼叫过程所涉及的所有消息对应的atf文件。最后,将这些文件与他们所对应的事件进行绑定,保存该seq文件。至此,整个sequence脚本编写完成。

运行Simulator实现通话
打开VoIP Simulator,载入我们所编写的seq文件,正确填写系统中各个Node的IP地址,然后点击start就可以运行了。这样主被叫就可以按照规定的呼叫流程操作实现正常通话了。

运用Simulator验证实现其他功能
从上述例子可以看出,由于VoIP Simulator具有可编程性,所以在使用它来模拟MGC对MG的中后期开发调试帮助很大,除了可以实现基本通话,还可以在此基础上开发验证MG的心跳机制、传真等等展功能。

总结

MGCP作为NGN的关键协议之一,在其基础上进行MG与MGC的设计开发是必不可少的,而作为VoIP协议仿真利器——Artiza VoIP Simulator可以有效的提高设计开发MG的效率。值得一提的是,该仿真工具不仅支持MGCP,还支持H248/MEGACO,SIP等未来NGN的主流协议。在掌握这些协议的基础上,有效的运用这一仿真工具对于学习研究NGN、推动NGN的发展有着重要的意义。

相关推荐

展望2013年智能手机产业:价格下跌 VoIP流行

Google  智能手机  VoIP  2012-12-24

基于嵌入式Linux和MiniGUI的SIP电话设计

VoIP  嵌入式  Linux  2010-11-18

不可忽视VoIP协议安全的漏洞

VoIP  协议安全  DoS  2010-08-24

HelloSoft选用欧胜WM8352方案用于VoIP电话设计

欧胜  HelloSoft  电源管理  音频  VoIP  Android  2010-06-03

Diodes推出为VoIP应用优化的全新MOSFET

Diodes  MOSFET  VoIP  2009-12-02

GIPS网络高清语音技术助力构建VoIP功能客户机程序

2009-11-25
在线研讨会
焦点