【NGN学习笔记】4 软交换中的协议2—Megaco/H.248

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.概述: 软交换设备之间采用SIP(Session Initiation Protocol)协议或者BICC(Bearer Independent Call Control)协议,软交换设备与信令网关之间采用信令传送协议SIGTRAN(Signaling Transport)在IP网络中传递电路交换信令。

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

1.概述:

软交换设备之间采用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分离

image image

左图为其在网络中的位置,右图以阿尔卡特的软交换设备为例。

 

image image

MGCP协议是在MEGACO/H.248之前的一个版本,它的灵活性和扩展性比不上MEGACO/H.248,同时在对多运营商的支持方面也不如MEGACO/H.248协议。 MEGACO/H.248实际上是同一个协议的名字,由IETF和ITU联合开发,IETF称为MEGACO,ITU-T称为H.248。MEGACO/H.248称为媒体网关控制协议,它具有协议简单,功能强大,且扩展性很好的特点。

H.248/Megaco协议是2000年由ITU-T第16工作组提出的媒体网关控制协议,它是在早期的MGCP协议(RFC2705)基础上结合其它媒体网关控制协议特点发展而成的种协议。它提供控制媒体的建立、修改和释放机制,同时也可携带某些随路呼叫信令,支持传统网络终端的呼叫,解决了H.323的复杂、伸缩性差着问题,是下一代网络关键的媒体网关控制协议。

H.248/Megaco的另一个特点是消息格式既可以采用文本格式,也可以采用ASN.1的二进制编码格式。在对媒体流进行描述时,如果消息格式是文本格式,则采用SDP描述媒体流。如果消息格式是二进制编码格式,则使用协议规定的编码。因此在协议实现时,若要求各厂商设备互通,就需要实现两种编码方式。这一特点是IETF和ITU-T合作的结果。

H.248/Megaco协议建立了多种传输机制,其定义的各种协议消息既可以在TCP上传输,也可以在UDP上传输,保证了协议消息在媒体网关和媒体网关控制器之间的可靠传输。

 

2.H.248/Megaco协议中的主要概念:

  • 终结点(Termination)是媒体网关上的一个逻辑实体,能够发送或接收一个或多个媒体流的逻辑功能实体,如模拟用户接入网关中的电话线、中继网关中的中继电路,一个终端在任一时刻属于且只能属于一个关联。终结点定义: TerminationID、PropertyID、Descriptor。
    image
    • 半永久性终结点:代表物理实体,如中继线、模拟线;
    • 临时终结点:代表临时性的信息流,如IP资源--一个RTP Port,仅在它们被使用期间存在。

分类:

关联(Context)是两个或多个终结点之间的连接关系,描述了终端间拓扑关系和媒体混合/交换的参数,表示一组终结点之间的连接关系。只有同一个关联中的终结点才能交换媒体,一个终结点在任一时间只能在一个关联中,但是在一个关联中可以存在若干个终结点,其数目完全由媒体网关的特性决定。空关联表示所有与其它终点没有联系的终结点。
image
  • 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协议配合共同完成中继呼叫。

image image

控制驻地网关:单独负责用户终端接入的功能

image image

 

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
11月前
|
数据安全/隐私保护 网络架构
VOIP技术连载之一VOIP简介
VOIP技术连载之一VOIP简介
|
11月前
|
Web App开发 API UED
WebRTC与VoIP的差异
WebRTC与VoIP的差异
|
存储 负载均衡 安全
|
存储 应用服务中间件 网络性能优化
SIP的voip语音环境咬线或摘机状态什么处理
SIP的voip语音环境咬线或摘机状态什么处理
|
编解码 网络协议 数据库
语音业务VOIP开发之SIP协议篇
SIP是基于一个类似HTTP协议的请求应答的通讯模式。每一个通讯都包含对某个功能的请求,并且起码需要一个应答。在这个应答中,Alice的软电话发送一个含有Bbo的SIP URI抵制的INVITE通讯请求。INVITE是一个SIP请求的例子,表示请求方(Alice)希望服务方(Bob)应答。INVTE请求包含一系列的包头域(Header fields)。包头中包含很多属性并且包含了传输消息的附加信息。在INVITE中有如下的字段:呼叫的唯一标志,目的抵制,Alice的地址,Alice和Bob建立会话的类型。INVITE请求(图1中的F1)可能看起来像这样的:
|
XML 网络协议 JavaScript
VOIP—软交换系统
Asterisk Asterisk是一个开源的PBX,Ast的模块化架构使得它可以支持sip,h323,iax,dahdi等接口,所以是目前功能最为齐全的PBX平台,而内部处理机制限制了它在高并发量环境的应用。
|
芯片
STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)
STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)
521 0
STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)
|
Web App开发 Java 应用服务中间件
FreeSwitch+Sipml5实现SIP协议WebRTC视频聊天(没呼叫成功)
FreeSwitch+Sipml5实现SIP协议WebRTC视频聊天(没呼叫成功)
401 0
FreeSwitch+Sipml5实现SIP协议WebRTC视频聊天(没呼叫成功)