1.概述:git
软交换设备之间采用SIP(Session Initiation Protocol)协议或者BICC(Bearer Independent Call Control)协议,软交换设备与信令网关之间采用信令传送协议SIGTRAN(Signaling Transport)在IP网络中传递电路交换信令。而在媒体网关控制器(Media Gateway Controller)和媒体网关( Media Gateway )之间则采用H.248/Megaco协议。这是一个呼叫控制协议,媒体网关(MG)受MGC控制,其中渗透着MGC和MG分离的思想:优点在于--媒体转换相对分布在边缘,使得呼叫控制相对集中,能够用相对比较少的MGC控制相对比较多的MG,可使MGC快速地升级。缓存
传统的VoIP网关 vs MGC与MG分离网络
左图为其在网络中的位置,右图以阿尔卡特的软交换设备为例。编码
MGCP协议是在MEGACO/H.248以前的一个版本,它的灵活性和扩展性比不上MEGACO/H.248,同时在对多运营商的支持方面也不如 MEGACO/H.248协议。 MEGACO/H.248其实是同一个协议的名字,由IETF和ITU联合开发,IETF称为MEGACO,ITU-T称为H.248。MEGACO /H.248称为媒体网关控制协议,它具备协议简单,功能强大,且扩展性很好的特色。.net
H.248/Megaco协议是2000年由ITU-T第16工做组提出的媒体网关控制协议,它是在早期的MGCP协议(RFC2705)基础上结 合其它媒体网关控制协议特色发展而成的种协议。它提供控制媒体的创建、修改和释放机制,同时也可携带某些随路呼叫信令,支持传统网络终端的呼叫,解决了 H.323的复杂、伸缩性差着问题,是下一代网络关键的媒体网关控制协议。blog
H.248/Megaco的另外一个特色是消息格式既能够采用文本格式,也能够采用ASN.1的二进制编码格式。在对媒体流进行描述时,若是消息格式 是文本格式,则采用SDP描述媒体流。若是消息格式是二进制编码格式,则使用协议规定的编码。所以在协议实现时,若要求各厂商设备互通,就须要实现两种编 码方式。这一特色是IETF和ITU-T合做的结果。事件
H.248/Megaco协议创建了多种传输机制,其定义的各类协议消息既能够在TCP上传输,也能够在UDP上传输,保证了协议消息在媒体网关和媒体网关控制器之间的可靠传输。事务
2.H.248/Megaco协议中的主要概念:ip
- 终结点(Termination)是媒体网关上的一个逻辑实体,可以发送或接收一个或多个媒体流的逻辑功能实体,如模拟用户接入网关中的电话线、 中继网关中的中继电路,一个终端在任一时刻属于且只能属于一个关联。终结点定义: TerminationID、PropertyID、Descriptor。
- 半永久性终结点:表明物理实体,如中继线、模拟线;
- 临时终结点:表明临时性的信息流,如IP资源--一个RTP Port,仅在它们被使用期间存在。
分类:ci
- 关联(Context)是两个或多个终结点之间的链接关系,描述了终端间拓扑关系和媒体混合/交换的参数,表示一组终结点之间的链接关系。只有同 一个关联中的终结点才能交换媒体,一个终结点在任一时间只能在一个关联中,可是在一个关联中能够存在若干个终结点,其数目彻底由媒体网关的特性决定。空关 联表示全部与其它终点没有联系的终结点。
- ContextID
- Topology:表示关联中终结点之间媒体的流向
- Priority:MG处理关联时的优先级
关联的属性
- 包(Package)经过容许终结点具备可选的特性、事件、信号和数据,媒体网关控制协议实现了对具备不一样特色的终结点的支持。同时,为了实现媒 体网关与媒体网关控制器的互操做,这些可选项能够被组合成包。不一样类型媒体网关能够实现不一样的终结点,包用来肯定终结点的不一样和媒体网关的能 力,Megaco的可扩展性主要由包来体现。
- 属性(Property):终结点状态属性和媒体流特性
- 事件(Event):终结点须要检测和上报的事件,如摘机,挂机和拍叉等
- 信号(Signal):请求MG向终结点施加的信号,如拨号音、忙音和录音通知等
- 统计(Statistic):指示终结点采集并上报的统计数据
定义
- 事务交互(Transacition)
MG和MGC之间的命令被封装到事务中,事务交互由TransactionRequest发起,返回结果放在TransactionReply中,TransactionPend周期性地报告Transaction的执行状况。
事务交互特色:保证命令的按序执行,但不一样的事务能够以任何顺序执行,事务处理都是原子操做。
3.Megaco命令
- Add:MGC->MG,向一个关联添加一个终结点,当向一个关联添加第一个终结点时,同时建立一个关联。
- Subtract:MGC->MG,解除一个终结点与关联的联系,并把该终结点放入空关联,当删除关联中最后一个终结点时,同时删除了这个关联 。
- Move:MGC->MG,将一个终结点从一个关联转移到另外一个关联,不能用来将终结点从空关联中移走和移入。
- Modify:MGC->MG,修改一个终结点属性、事件和信号,指示检测相关的事件
- Notify:MG->MGC,报告媒体网关中所发生的事件
- AuditValue:MGC->MG,获取与终结点的当前属性、事件、信号。
- AuditCapability:MGC->MG,获取媒体网关所容许的终结点特性、事件和信号的全部可能值的信息
- ServiceChange:MG->MGC/MGC->MG,报了结结点将要退出服务或者恢复服务,MGC指示应退出服务或恢复服务的终结点,报了结结点的能力发生了改变,MGC将对MG的控制权移交给其余的MGC。
4.描述符(Descriptor)
- 媒体描述符(Media):描述全部的媒体流,包括一个终结点状态描述符和多个流描述符。
- 终结点状态描述符(Termination State):与媒体流无关,代表业务状态特性和事件缓存特性,终结点状态--Test, in service, out of service。
- 流描述符(stream):描述单个双向流:本地流的特性,远程流的特性,包括本地控制描述符、本地描述符和远程描述符。
- 本地控制描述符(local control):媒体流特有的属性模式,receive-only/send-only/send-receive/inactive。
- 本地描述符(Local):描述MG接受到的媒体的编码格式。
- 远端描述符(Remote):描述MG发出的媒体的编码格式。
- 事件描述符:包括RequestID和一组MG须要检测和报告的事件。
- 调制器描述符(Modem):对调制器的类型和参数进行定义。
- 复用描述符(Multiplex):将媒体和对应的承载通道联系在一块儿。
- 事件缓存描述符(EventBuffer):一系列须要检测和缓存的事件,对检测到的事件的处理模式。
- 信号描述符(Signal):MG应用于终结点的信号集
- 审计描述符(Audit):向MG指示要进行审计的信息,一个其余描述符的集合。
- 业务改变描述符(ServiceChange):只能用于ServiceChange命令,描述改变的模式、缘由、时间等
- 数图描述符(DigitMap):规定做用于MG中的拨号方案,用于检测和报告在终结点处接收到的数字
- 统计描述符(Statistics):描述关联中终结点的统计属性。
- 包描述符(Packet):用于AuditValue命令,返回终结点实现的包的列表。
- 被观察事件描述符(ObservedEvent):向MGC报告检测到的事件
- 拓扑描述符(Topology):描述关联中终结点的流方向(T1,T2,联络)
- 错误描述符(Error):向MGC报告错误
5.典型交互流程
控制中继网关:与ISUP协议配合共同完成中继呼叫。
控制驻地网关:单独负责用户终端接入的功能
