《H.248协议软交换分组协议基础.docx》由会员分享,可在线阅读,更多相关《H.248协议软交换分组协议基础.docx(19页珍藏版)》请在三一办公上搜索。
1、资料编码产品名称NGN使用对象工程师产品版本编写部门固网技术支持部资料版本V2.0软交换分组协议基础H.248协议拟 制:邢宇翔日 期:2002年11月01日审 核:日 期:审 核:日 期:批 准:日 期:华 为 技 术 有 限 公 司版权所有 侵权必究修订记录日期修订版本描述作者2002/11/01V1.1调整文章结构及内容,结合NGN组网及软交换产品对协议加以说明。邢宇翔2002/12/10V2.0转换成Word格式。邢宇翔目 录第1章 H.248协议介绍31.1 H.248 协议的起源31.2 H.248协议定义41.2.1 基本定义41.2.2 扩展说明4第2章 H.248协议概念52
2、.1 H.248协议在呼叫中的位置52.2 连接模型以及基本概念52.2.1 连接模型52.2.2 终端62.2.3 上下文62.3 H.248协议的消息结构72.3.1 消息82.3.2 事务82.3.3 行动92.3.4 命令92.4 H.248协议的消息传输机制9第3章 H.248协议命令103.1 命令介绍103.2 描述符11第4章 呼叫流程134.1 呼叫媒体流的流程13第5章 H.248协议在NGN中的应用155.1 H.248协议在SoftX3000软交换系统中的协议栈结构155.2 H.248协议在SoftX3000软交换系统中的应用16软交换分组协议基础H.248协议Err
3、or! No text of specified style in document.Error! No text of specified style in document.关键词: NGN 软交换 媒体网关 H.248摘 要: NGN的目标是建立一个能够提供话音、数据、多媒体等多种业务的,集通讯、信息、电子商务、娱乐于一体,满足自由通讯的分组融合网络。 NGN是一个包括PSTN/ISDN、H.323、ATM/IP等网络的融合网络,网络互通是NGN成功的必要条件。为实现这一目标,在NGN组网中采用了大量的分组协议。本文重点介绍了分组协议中的H.248协议,H.248/Megaco协议(Me
4、dia Gataway Control Protocal),简称H.248协议,是IETF、ITUT制定的媒体网关控制协议,一个非对等协议,用在媒体网关控制器(MGC)和媒体网关(MG)之间的通信。 缩略语清单:MGCP (Media Gataway Control Protocal):媒体网关控制协议PSTN(Public Switched Telephone Network):公共电话交换网MG (Media Gataway):媒体网关MGC (Media Gataway Controller):媒体网关控制器SG (Signaling Gataway): 信令网关SCN(Switched
5、 Circuit Network):电路交换网参考资料清单:C&C08 iNET工程师培训教材-分组协议固网技术支持部NGN协议介绍华为技术报136期H.248协议培训教材公共技术研究部H.248 IPPhone Flow信令与协议研究管理部 SoftX3000V2信令与协议分册H.248协议资料开发部第1章 H.248协议介绍1.1 H.248 协议的起源由于IP网络的快速发展,IP网提供的业务越来越多。同时,原有的电路交换网(如PSTN网)仍然拥有大量的用户,为了能让这些用户使用IP网络提供的服务,需要提供不同网络之间互通的网关设备。目前的大部分IP电话网关设备,是集中型网关设备,主要完成
6、三个方面的功能: 1、完成IP电话互通,将PSTN用户的话音进行编码、组包后在IP网上传输,同时将IP网来的数据包解包、解码后交给PSTN用户; 2、处理信令消息; 3、负责网关内部资源管理,及呼叫连接过程的管理。 随着用户数量及对业务需求的增加,网关在规模上要不断扩大,这种集中型的网关结构在可扩展性、安全性方面及组网的灵活性上都存在很大的限制。由此,提出了将业务、控制和信令分离概念,即将IP电话网关分离成三部分: 信令网关SG、媒体网关MG和媒体网关控制器MGC。SG负责处理信令消息,将其终结、翻译或中继;MG负责 处理媒体流,将媒体流从窄带网打包送到IP网或者从IP网接收后解包后送给窄带网
7、;MGC负责MG的资源的注册和管理,以及呼叫控制。在这种分布式的网关体系结构中,MG和MGC之间采用的是H.248协议,SG和MGC之间采用SIGTRAN协议。三者之间的关系如图1所示:图1 分离的网关模型在分布式的媒体网关的网络结构中,由于业务处理和“媒体承载实体”分布在两台不同的设备上,因此当业务处理模块MGC(SoftX提供MGC功能)需要将媒体承载实体MG(各种IAD设备)进行连接并承载媒体流时,需要通过一个统一格式的消息来通知拥有媒体承载实体的设备MG,这个消息的格式就是由H.248协议规定的。1.2 H.248协议定义1.2.1 基本定义H.248/Megaco 协议(Media
8、Gataway Control Protocal),简称H.248协议,是IETF、ITUT制定的媒体网关控制协议,一个非对等协议,用在媒体网关控制器(MGC)和媒体网关(MG)之间的通信。 主要功能是建立一个良好的业务承载连接模型,将呼叫和承载连接进行分离,通过对各种业务网关: TG(中继网关),AG(接入网关),RG(注册网关)等的管理,实现分组网络和PSTN网络的业务互通。1.2.2 扩展说明H.248协议是在MGCP协议的基础上,结合其它媒体网关控制协议特点发展而成的一种协议,它提供控制媒体的建立、修改和释放机制,同时也可携带某些随路呼叫信令,支持传统网络终端的呼叫。该协议在构建开放和
9、多网融合的NGN中,发挥着重要作用。由于MGCP协议在描述能力上的欠缺,限制了其在大型网关上的应用。对于大型网关,H.248协议是一个好的选择。与MGCP用户相比, H.248对传输协议提供了更多的选择,并且提供更多的应用层支持,管理也更为简单。H.248可以应用于SCN(Switched Circuit Network)、IP、ATM、有线电视网或其他可能的电路或分组网络中的任何的两种或多种网络之间的媒体网关控制的协议。H.248报文本身可以承载在任何类型的分组网络上,例如IP、ATM、MTP等。第4页软交换分组协议基础H.248协议Error! No text of specified s
10、tyle in document.Error! No text of specified style in document.第2章 H.248协议概念2.1 H.248协议在呼叫中的位置在分布式的媒体网关的网络结构中,由于业务处理和“媒体承载实体”分布在两台不同的设备上,在NGN组网中,业务处理由SoftX3000完成,媒体承载实体则是各种IAD终端设备,因此当SoftX3000需要连接IAD并承载媒体流时,需要通过一个统一格式的消息来通知各IAD设备。当SoftX3000和IAD 通过H248协议连接时,这个消息的格式就是由H.248协议规定的。消息的格式至少应该包含两方面的内容:1、一个
11、业务中应该包含哪些媒体承载实体;2、这些媒体承载实体之间的关系如何。 在H.248协议中,这些媒体承载实体被称为“终端”;而“上下文”中指明“一个业务中应该包含哪些媒体承载实体IAD”,“这些媒体承载实体IAD之间的关系”则在“上下文”中的“拓扑”中规定。2.2 连接模型以及基本概念2.2.1 连接模型连接模型指的是MGC控制的,在MG中的逻辑实体或对象。它是MGC和MG之间消息交互的内容核心,MGC通过命令控制MG上的连接模型,MG上报连接模型的各种信息包括状态、参数、能力等。如图2所示:连接模型由两种实体组成:上下文(Context)和终端(Termination)。图2 基本概念的图形示
12、意2.2.2 终端终端是能够发送或接收一种或多种媒体流的逻辑实体。终端由许多特性描述,这些特性组合成一组描述符而包含在命令中。终端有唯一的终端标识(Termination ID),它由媒体网关在在创建时分配。一个终端在任一时刻属于且只能属于一个上下文。 2.2.3 上下文一个上下文就是一些终端间的联系。 它描述了终端之间的拓扑关系以及媒体混合/交换的参数。上下文由一组终端组成。一个上下文可以包含多个终端。根据MG的业务特点不同,上下文中可以包含的最大终端数目就不同。一个上下文中至少要包含一个终端。同时一个终端一次也只能属于一个上下文。如果上下文中包含多于两个终端,上下文还会描述拓扑结构以及其他
13、一些媒体混合/交换的参数。上下文有如下参数:a)ContextId:由媒体网关MG分配的32位整数,可以用“*”来代表“所有”,用“-”代表“空”。ContextId在MG范围内是唯一的。b)拓扑关系:描述上下文中的终端之间的关系。这些关系指出了媒体流在终端之间的流向。拓扑结构只用于描述上下文,它可以在“Add”和“Modify”命令中使用。c)Priority(优先级):向MG提供上下文优先处理的信息。d)Emergencyindicator(紧急事件):向MG提供上下文紧急处理的信息。H.248协议规定可以创建新的上下文和修改已经存在的上下文的参数。通常用Add命令添加一个终端到上下文。在
14、Add命令中没有指定上下文,MG将创建一个新上下文。Subtract命令把一个终端从上下文中删除,Move命令将终端从一个上下文移到另一个上下文。当上下文的最后一个终端被删除或移动出去后,该上下文被隐式删除。2.3 H.248协议的消息结构MGC和MG之间是通过消息进行通信的,H.248消息都有相同的结构,一个H.248消息的结构如所示: 图3 H.248消息结构消息有一个消息头,消息头里面包含一个消息的MID(Message ID)和一个协议版本号。MID被配置成一个规定的名字,如域地址(Domainaddress)或域名(Domainname)或设备名(Devicename)。协议版本号标
15、记本消息所支持的协议版本。本协议的版本号是从1开始。 一个消息(Message)包含多个事务(Transaction),消息中的事务相互没有关系,可以单独处理;事务由多个行动(Action)构成,事务里面的行动必须按照顺序执行。行动由一系列局限于一个上下文的多个命令组成。由此,H.248消息构成机制如所示:图4消息机制示意图2.3.1 消息消息从消息头开始,其中包含发送者的标识。每一条消息包含消息遵守的协议版本的版本标识号。正如RFC 2145中的定义,版本号是Major/Minor格式,各有1-2个数字。消息头后面是若干互不相关事务。2.3.2 事务事务保证顺序命令的执行。即在一个事务中,命
16、令是按序执行的。当所有命令成功执行时事务才成功执行,当其中一个命令失败时,整个事务失败。事务中的一个命令失败时,此命令的后续命令将终止执行。事务表现为TransactionRequest和对TransactionRequest的响应。有三种响应:TransactionAccept,TransactionReject和TransactionPending:TransactionAccept命令包含对应TransactionRequest所有命令的返回值。TransactionReject命令在当事务失败时发送。TransactionReject包含成功命令的返回值和失败命令的错误值。Transa
17、ctionPending命令用于通知事务正在被执行,还没有完成,以防止事务发送方以为事务丢失,而再次发送此事务。 2.3.3 行动行动与上下文是密切相关的,它由一系列局限于一个上下文的命令组成。在一个行动内,命令需要顺序执行。ContextID用于标识该行动对应的上下文。ContextID由MG指定,在MG范围内是唯一的。MGC必须在以后的与此上下文相关的事务中使用ContextID。2.3.4 命令命令是H.248消息的主要内容,实现对上下文和终端属性的控制,包括指定终端报告的事件什么信号和动作可施加于终端,以及指定上下文的拓扑结构。我们将在下章详细介绍H.248的命令。2.4 H.248协
18、议的消息传输机制H.248的应用层应该和传输层的需求是分开的:图5事务、Action和命令的关系示意图H.248应用层负责维护MG和MGC之间事务的状态和可靠性。H.248传输子层被看作是逻辑层,保证H.248事务在MG和MGC之间传输的可靠性(重传、定时等等)。H.248消息可以在多种传输协议上传输,如承载在IP网络上的TCP、UDP、SCTP和M3UA等,以及承载在ATM上的MTP3-B、AAL5等。第9页软交换分组协议基础H.248协议Error! No text of specified style in document.Error! No text of specified sty
19、le in document.第3章 H.248协议命令H.248协议提供命令以操纵连接模型的逻辑实体上下文和终端。命令提供了对上下文和终端属性的完全控制,包含指定终端报告的事件和什么信号和动作可施加于终端等等。3.1 命令介绍协议有8个命令,这些命令除了“Notify”和“ServiceChange”外,其余都是由MGC主动发给MG,MG进行响应的。“Notify”是由MG发给MGC,而“ServiceChange”可以由它们之间互相发送。1、AddAdd命令添加终端到上下文。上下文中第一个终端的添加用于创建上下文。2、ModifyModify命令更改终端属性、事件和信号。3、Subtrac
20、tSubtract命令从上下文中删除终端并统计终端参加的上下文情况。上下文的最后一个终端的删除的同时删除上下文本身。4、MoveMove命令将一个终端从一个上下文移动到另一个上下文。5、AuditValueAuditValue命令返回终端当前的状态属性、事件,信号以及终端的统计6、AuditCapabilitiesAuditCapabilities命令返回MG允许的终端属性、信号和事件的所有可能值。7、NotifyNotify命令用于MG把MG当前发生的事件通知给MGC。8、ServiceChangeServiceChange命令可用于MG通知MGC有一个或一组终端离开服务或返回服务。Serv
21、iceChange还用于MG在上电或者从失败中恢复后,向MGC发起注册或重新注册(这两个过程是一样的),提醒MG的重启的迫近或完成。ServiceChange可由MGC向MG发送移交通知。3.2 描述符终端参数结构化为许多描述符。通常,描述符的形式如下:DescriptorName=parm=value,parm=value_.参数可以有如下三种设置方法:1、完全指定参数(FullySpecified)命令发起者在命令中给相应的参数一个明确的值。2、不指定参数(UnderSpecified)命令的发起者使用通配符,允许用户选择一个他所支持的任何一个值并返回给命令的发起者。3、指定一系列参数(O
22、verSpecified)命令的发起者给出一个该参数的列表,列表中值的顺序是降序排列的,即前面的优先级高。命令响应者从列表中选取一个并返回给命令发起者。未指定的参数保留原值。如果需要指定的描述符没有被指定,则使用它原来的值。以下列出H.248协议的18种参数描述符,供参考:描述符名称说明Modem标识Modem类型和属性Mux描述多媒体终端( H.221, H.223, H.225.0)的复用类型和终端输入队列复用Media媒体流规格的列表TerminationState不特定于流的终端属性(可在包中定义)Stream单个流的Local/Remote/LocalControl描述符的列表Loc
23、alMG接收的流相关的属性RemoteMG发送的流相关的属性Localcontrol描述MGC和MG之间的属性EventsMGC要求MG检测及报告的事件列表EventBufferMGC要求MG在EventBufferControl为LockStep时,检测及缓冲的事件列表Signals描述应用于终端的信号和(或)活动(如回铃音)Audit描述哪些信息需要审计ServiceChangeServiceChange的活动和原因DigitMap指示如何在MG中处理号码匹配的拨号方案StatisticsSubtract和Audit命令中,终端保持的统计数据的报告Packages审记时,返回终端识别的包的
24、列表ObservedEvents“Notify”上报检测到的事件Topology描述Context内各终端间的流的方向,用于Context而不是 Termination第12页软交换分组协议基础H.248协议Error! No text of specified style in document.Error! No text of specified style in document.第4章 呼叫流程为了使大家有个更为形象的认识,下面我们就一次呼叫来看看H.248协议在MGC和MG之间的消息发送。关于MGC和TMG之间的H.248消息流程请参考SoftX3000技术手册 信令与协议分册 H
25、.248协议相关内容。4.1 呼叫媒体流的流程图6 简单呼叫流程上图画出了两个媒体网关MG1呼叫MG2 时,MGC和发起呼叫的MG1以及被叫MG2之间的媒体流的流程。其中(3)(4)(5)(6)(7)(8)是呼叫的建立过程,(9)(10)是呼叫的连接过程,(11)(12)(13)(14)是被叫挂机后的删除连接过程。整个媒体流的流程如下: (1)主叫摘机,MG检测到后通过Notify命令将事件(Off-Hook)报告给MGC; (2)用户拨号,MG将收到的号码通过Notify命令报告给MGC; (3) MGC分析收到数据决定建立MG1到MG2的一个Context,并通过Add命令让MG1将主叫端
26、口加入一个Context,向主叫送拨号音。因为MGC还未获得包含特定媒体流接收方的属性,所以媒体流的Mode是ReceiveOnly,并且在命令中,未知的参数用参数通配符“$”表明,意思为“选择”,具体的参数值将由MG1在下一条Reply中填入具体的值。 (4) MG1接受新的终端(Termination),并把自己的IP和UDP端口填入。 (5) MGC分析被叫号码,找出被叫端口,决定建立MGC到MG2的一个新的Context,并通过Add命令让MG2将主叫端口加入一个Context。 (6) MG2把自己的IP和UDP端口填入。 (7) MGC命令MG1将被叫端口加入前面所说的那个Cont
27、ext 。MGC命令MG1向主叫送回铃音,向被叫送振铃音; (8) MG1再向MGC发送回应消息。 (9)被叫摘机,MGC命令MG1连接主被叫,把媒体流的Mode从ReceiveOnly修改为SendReceive,并停止回铃。 (10) MG再向MGC发一个Reply。 此后,双方进入通话。 (11)(12)(13)(14)主/被叫挂机(由于主叫挂机和被叫挂机返回的命令是一样的,下面只列出被叫挂机的情况),MGC命令MG1和MG2释放主被叫连接,将主/被叫端口放空Context,此处只列出MGC对MG1的媒体流。至此,MG1与MGC的连接释放,媒体流终止。第17页第5章 H.248协议在NG
28、N中的应用5.1 H.248协议在SoftX3000软交换系统中的协议栈结构H.248在SoftX3000的协议栈结构如所示:图7 H.248在SoftX3000中的协议栈结构在SoftX3000软交换系统应用中,H.248的协议系统包括各种业务模块(ISUP/TUP/ESL/SIP/H.323),这些模块实现H.248协议命令与ISUP/TUP/ESL/SIP/H.323协议的互通,实现对MG的控制。图7中H.248消息在UDP/IP上传递,此外还可以在其它多种传输协议上传输,如承载在IP网络上的TCP、SCTP和M3UA等,以及承载在ATM上的MTP3-B、AAL5等。SoftX3000
29、H.248协议传输层可以是承载在IP上的UDP/TCP/SCTP和承载在ATM上的MTP3-B,如所下图示:图8 H.248基于不同传输协议上的协议栈结构5.2 H.248协议在SoftX3000软交换系统中的应用SoftX通过H.248协议规定的一个统一格式的消息来实现与各 IAD、TMG等NGN构件间的通讯。 由于H.248协议和MGCP协议的很多共同性,在NGN组网中SoftX与大多数构件间既可以采用H.248协议,又可以采用MGCP协议;但鉴于H.248对于大型网关的良好支持,一般TMG和SoftX之间都采用H.248协议。目前的组网中,SoftX3000通过TMG和SG同PSTN互通
30、,TMG实现电路交换网和分组交换网之间的语音信号的转换,而SG实现电路交换网和分组交换网之间的信令转换。呼叫代理即MGC(SoftX3000),主要实现与呼叫过程相关的信令功能,并控制和管理MG和SG的操作规程。在这种分布式的网关体系结构中,MG和SoftX之间采用的是H.248协议,SG和SoftX之间采用SIGTRAN协议。 图9 H.248协议在SoftX产品中应用SoftX3000产品作为分离网关模式下的媒体网关控制器,H.248用于控制中继网关。Soft Switch提供H.248 MGC功能以控制中继网关中的ISUP中继;H.248 MGC提供以下功能: 1.出口网关和入口网关的RTP容量协商可以配置每个H.248 MG的RTP发送和接受容量。SoftX3000要确保两个MG之间设定的匹配容量被用于建立呼叫。 2.通过H.248协议管理TMG中的PSTN ISUP中继 支持TMG上的中继预留 支持TMG上的中继释放 支持TMG上的中继回流型连接 支持中继参数的修改 在中继上加上信号音 支持中继(或中继组)暂停业务和恢复业务 3.通过H.248协议管理TMG中的临时RTP终止 支持临时终端的创建 支持临时终端的取消支持有关临时终端的RTP参数的修