专注SIP通讯产品与方案

SIP和H.323互通

SIP和H.323互通的意义
        SIP和H.323提供的信令控制功能基本相同。H.323符 合通信领域传统的设计思想,对呼叫进行集中、层次控制, 因此使用H.323更容易与传统电信网相连。而SIP协议继承 了 Internet的一贯风格,简单、灵活、易扩展。尽管业界都认为 SIP 的发展更具前景,未来势必取代 H.323,但目前商用的VoIP产品大部分都是基于H.323的。 由此可见,在相当长时间内H.323和SIP将会共存。因此, 研究SIP和H.323的互通具有较重要的意义。
SIP和H.323互通的原理
        SIP和H.323的互通其实就是信令的互通(或信令的转 换)。IWF(InterWorking Function)就是 SIP 和 H.323 系 统之间实现信令互通功能的实体。
1.IWF要求
IWF应该具有以下功能:
•呼叫序列映射;
•地址解析;
•终端能力事务;
•打开和关闭媒体通道;
•映射媒体算法;
•呼叫资源保留与释放;
•能够提供呼叫状态;
•可完成呼叫状态机;
•中间呼叫信令处理;
•业务互操作逻辑。
2. 流程
1) H.323 到 SIP 终端
H.323到SIP终端呼叫流程
2) SIP终端到H.323终端
SIP终端到H.323呼叫流程
 IWF的功能主要包括以下三个方面:        
(1) 地址映射。H.323 支持 H.323 ID、E.164 ID、Email ID、URL ID等地址类型,而SIP协议支持的地址类型主要是 SIP URL。因此,在进行SIP地址和H.323地址的相互转换 时,要考虑不同的地址类型。
(2) 消息转换。消息转换主要包括消息格式的转换和 消息内容的转换两个方面oSIP消息是基于文本的,采用UTF8 编码方式,而H.323协议采用ASN.1编码方式。因此,两种 协议消息格式的转换主要是UTF8编码和ASN.1编码之间的 转换。
(3) 媒体参数协商。在SIP协议中,媒体参数描述是 由SDP协议表示的,而在H.323中则是由H. 245的能力交换 过程来实现媒体参数的协商。因此,SIP和H.323协议的媒 体参数协商的互通就是SDP与H.245的互通。
SIP和H.323互通的实现      
目前,国际上有很多组织和研究机构在对SIP和H.323的互通进行研究,例如:IETF发布了很多关于SIP-H323互 通的草案;哥伦比亚大学的相关实验室也在 研究SIP-H.323的互通;中国也制定了一些关于SIP和H.323 互通的技术规范;市场上也出现了一些SIP和 H.323互通的产品,如信令转换网关。在VOVIDA的开源项目VOCAL系统中就实现了一个SIP-H.323 信令转换网关(SIP-H.323 Signal Gat eway)。下 面就来介绍这个信令转换网关的实现。
系统结构
VOCAL的SIP-H.323信令转换网关采用的方案是网关中 包含 GK(H.323 Gat eKeeper),如下图所示。
VOCAL SIP-H.323信令转换网关体系结构
        在上图所示的体系结构中,SIP代理服务器(SIP Proxy Server/ SIP Regis ter Server)负责维护和更新所有用户 的注册信息。显然,SIP用户代理或SIP电话(简称SIP终 端)的注册请求REGISTER消息是直接发送至SIP代理服务 器,由SIP代理服务器负责记录SIP终端相应的注册信息。而 H. 323用户终端或H. 323电话(简称H. 323终端)的注册请求消息送至SIP-H. 323信令转换网关的H.323 Gat eKeeper (GK) 之后,GK负责将H. 323注册请求消息通过IWF转换成相应的SIP 注册请求(即REGISTER消息),并转发至SIP代理服务器上, 由SIP代理服务器负责记录H. 323终端的注册信息。
VOCAL的SIP-H.323信令转换网主要分为三个模块:GK、 Router/Translator和SIP Proxy,各模块实现的功能如下: 
(1) GK实现H.323 Gat eKeeper的基本功能,可以作为H.323 GK独立存在。
(2) Router/Translator 实现 SIP 信令和 H.323 信令的 转换互通。
(3) SIP Prox y实现将H.323注册消息转换成SIP注册 消息,完成H.323终端的注册过程,但该模块只是完成SIP 代理服务器的部分功能,不能作为SIP代理服务器独立存在。
信令转换流程
        这里以H.323终端呼叫SIP终端为例,介绍SIP和H.323 的信令转换的主要流程。
呼叫建立信令流程
        如上图所示,当H.323终端想要邀请SIP终端加入会话 时,将向转换网关发送Setup消息,转换网关收到后将Setup 消息转换成INVITE消息,发送至SIP终端;SIP终端收到 INVITE 消息后发送 100 Trying、180 Ringing、200 OK 等消 息进行响应,并由转换网关将这些消息转换成 Alerting、 Connect等消息;之后,双方完成媒体参数的协商(或能力 交换)以及双向逻辑信道的打开;最后,转换网关向SIP终 端发送ACK消息,以完成呼叫的建立。 
        PM5384通过微处理器控制接口配置内置寄存器,来设定 芯片运行模式及监控芯片运行,用于配置的控制管脚主要 有:CSB为低电平有效片选信号;RDB为低电平有效读信号; WRB为低电平有效写信号;D[0: 7]为双向数据信号通道;A[0: 8]为9位地址总线;A[9]为寄存器测试模式选择,高电平为 测试模式。本项目采用NiosII嵌入式处理器Avalon总线模拟 实现PM5384的微处理器控制接口。采用NiosII处理器,可 以根据自己的标准定制处理器,按照需要选择合适的外设、 存储器和接口。Avalon总线是一种将片上处理器和外设连 接成片上可编程系统(SOPC)的一种简单总线结构,它规定 了主从设备之间的接口方式及其通信时序。Avalon总线模块 是所有的控制、数据、地址信号及控制逻辑的总和,是其将 外设连接起来并构成了系统模块。Avalon总线模块的端口可 以被看作是所有连接到被动总线的引脚连接。本项目主要通 过对PM5384内置寄存器的写操作达到配置芯片工作模式的目的。微处理器控制接口写时序模拟如下图:
微处理器控制接口写时序模拟
功能
        VOCAL 的SIP-H.323 信令转换网关目前支持的信令转换功能主要包括网守发现(GateKeeper Discovery)、终端注册(Endpoint Registration)、终端接纳控制(EndpointAdmission)、网守选路呼叫(GateKeeper Routed Calling)等;而还未实现的信令转换功能主要包括FastStart、EarlyH.245、H.245 Tunneling、Re-INVITE/动态打开或关闭信道(Dynamically Opening and Closing Channels)等。
性能
        通过VOCAL 的SIP-H.323 信令转换网关,SIP 终端和H.323 终端并不能100%成功建立正常连接,本文利用Ethereal 网络数据包分析工具对此进行分析,具体如下:
(1)当H.323 终端呼叫SIP 终端时,SIP 终端能100%收到INVITE 请求,但不能100%收到ACK 请求,原因主要是当终端之间进行媒体参数协商(即能力交换)时,一旦没有协商出合适的媒体参数,则转换网关不做任何处理。
(2)当SIP 终端呼叫H.323 终端时,H.323 终端不能100%收到Setup 请求,原因主要是转换网关与H.323 终端之间逻辑信道建立不成功,或者是SIP UA 的定时器设置的时间太短;当调整SIP UA 定时器的时间为64 s(原来是32 s)时,H.323 终端收到Setup 请求的概率会有所提高。而且,SIP 终端也不能100%收到200 OK,原因也主要是终端之间没有协商出合适的媒体参数。