欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 机电一体化论文

软交换系统中h.248协议研究与实现

时间:2015-12-27  作者:何西良 王庆敏 杨浩

MEGAC0/h.248协议是 ITU和IETF第一次携手共同制定一个双方都认可V0IP 协议标准。协议的制定也反映了电信网和Internet的融合趋势。在提倡三网融合的今天H.248协议的解码在三网融合中起着重要的作用。
论文关键词:软交换,h.248协议,MGC,MGW

软交换作为下一代网络的核心技术倍受业界关注。软交换的核心思想是呼叫与承载分离、业务与控制分离,就是将传统交换机的媒体流承载、呼叫控制、业务提供等功能分散到不同的网络构件中。传统的网关既要支持媒体变换又要支持媒体控制和信令,功能过于复杂,对于IP电话系统的大规模部署有很大的制约。于是人们提出了网关分离的思想,即把原来集媒体和信令转换功能的网关分离为媒体网关和信令网关,两者通过媒体网关控制器联系,结构见图1。

MGC 图1. 网关分离功能模型

其中MGW(Media Gateway)负责媒体格式的转换及PSTN和IP两侧通路的连接;SGW(SignallingGateway)负责信令的底层转换,即从TDM 电路传送转变为IP网络中的传送方式,从应用层的角度看,SGW 对于信令仍是透明的;MGC(Media Gate—way Controller),又称SoftSwitch或Call Agent,负责根据收到的信令控制MG 的连接建立和释放。MGC对信令消息进行分析和处理并进行应用层的互通变换。不同类型的网关可以支持不同类型的终端。

1 H.248协议概述

1.1 连接模型

H.248协议的连接模型由关联域(Context)和终端(Termination)组成,终端指媒体网关上发起或终结一个或多个媒体流的逻辑实体,关联域用来描述终端之间的连通关系,只有存在于同一关联域的终端之间才可通信。

1.2协议消息

H.248协议定义了8 个命令,分别为:(1)仅由MGC端发起的命令:Add为MGC指示MG 向指定的关联域中加入终端;Subtract为MGC指示MG从关联域中去除终端;Move为MGG指示MG把终端从一个关联域移到另一个关联域;Modify为MGC指示MG修改终端的属性、事件或信号等;AuditValue为MGC请求MG返回终端的属性、事件、信号和统计特性的当前值;AuditCapabilities为MGC请求MG返回反映网关处理能力的终端的属性、事件、信号和统计特性的所有可能值。(2)仅由MG端发起的命令有:Notify为MG向MGC报告其检测或发生的事件。(3)MGC端和MG端都可发起的命令有:ServiceChange为MG 向MGC通知终端将要退出服务或恢复正常的服务,MGC也可用此命令向MG指示相关终端退出服务或恢复正常的服务。用于对协议连接模型中的逻辑实体(关联和终端)进行操作和管理,命令提供了实现对关联和终端进行完全控制的机制。

1.3 事务和消息

每个事务(transaction)赋予一个事务标识,用以关联事务请求和事务响应。事务分别为事务请求、事务进展和事务响应。事务请求由事务发送者调用,用于发送命令;事务进展由事务接收者调用,表示事务还在处理中;事务响应由事务接收者调用,用于回送命令执行结果。一个或多个事务级联组合后形成消息(message)。消息有一个头部,其中包含消息发送者的标识。消息中包含的各个事务独立处理,没有顺序规定。

1.4 协议编码和传输

H.248协议消息可以采用ASN.1和文本两种方式进行编码。在IP网络上,传输层可使用TCP或UDP协议,推荐使用UDP协议传送。由于UDP是无连接的协议,所以H.248协议采用了定时重发机制,保证了消息的正确传送。

2. H.248协议的实现

2.1解码模块的总体设计方案

H.248协议解码采用模块化的设计思想整个解码软件分为:消息预解码模块、事务预解码模块和动作解码模块。

消息预解码:判断消息长度是否合法,如果是,执行下一步,否则退出对消息头解码对事务类型及事务ID解码,搜索事务字符串,将事务字符串分发给相应的事务预解码单元。

事务预解码:对动作的上下文ID解码搜索动作字符串并将动作字符串分发给相应的动作解码单元。

动作解码:对动作字符串解码,生成h.248的内部消息。完成对h.248消息的解码。

因此在对h.248消息解码的过程中最主要的参数是:

Message_Id: (Domain Address/domain name/Device/name). a string of chars

Transaction_Id: 32bit int.

Transcaction_type: Enum values (Request, Reply, Pending, ResponseAck)

Context_Id:32bit. NULL=0, CHOOSE=0xfffffffe, ALL=0xffffffff

Termination_Id: a string of chars.

Command_Id:Enum values {Add, Modify, Subtract, Move, AuditValue,

AuditCap, Notify, ServiceChg)

2.2基本类的定义

模块化的设计思想,H.248协议的解码功能实现采用面向对象的程序设计方法,对外仅提供相应的解码接口函数。在该方案中我们主要定义以下几个基本类:H248Mesg,H248Transaction ,H248Context ,H248Command。

class H248Mesg

{

protected:

Uint8 *pData;

Uint32 dataLen;

//Message ID

Istring msgId

Uint32 megacoVersion;

//Message Encode Type

Uint8encodeType;

//Reconstruction Info

ReconstructNode *reconNode;

//H248 transactionList.

Tlist transactioinList;

//SU syntax error indicator

Ibool suSyntaxErrFlag;

virtual void parse(Ibool digitflag) = 0;

}

*pData为数据指针,dataLength是协议数据单元在内存中的长度,我们根据这两个变量确定一个h.248协议数据在内存中的确切位置.以及MegID,版本号等。

对于text模式我们将定义: H248TextMsg,H248TextTransaction,H248TextContext,H248TextCommand。他们之间的关系见图2。

软交换系统中h.248协议研究与实现

图2 h.248类图

3 消息解码的应用

通过解码模块的应用可以将消息解码的信息提供给网络管理系统,网络管理系统可以将这些信息进行组合形成呼叫合成如图3所示,CDR等管理信息。

h.248协议

图3 呼叫合成

4 结束语

本文通过对H_248协议解码模块的深入 分析和研究,采用面向对象的设计思想和C++编程进行编程测试,能很好的达到解码模块要实现的预期效果,并在NGN网络测试仪中得到应用,效果良好。

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:三种被动液压发动机悬置模型动特性对比研究
下一篇论文:全站仪的选购与保管维护
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关机电一体化论文
    无相关信息
最新机电一体化论文
读者推荐的机电一体化论文