SIP应用层网关技术

时间:2011-04-23来源:网络

  信息数据库接口模块

  出于安全性的考虑,SIP URI信息管理系统从SIP应用层网关中分离出去,这个系统的功能并不复杂,一方面它接受来自ALG的访问;另一方面,它必须对自身的信息数据库进行维护。ALG本身必须通过信息数据库接口模块对其进行访问。

  ALG需要从SIP URI信息管理系统得到的信息有两类:一类是用户信息,包括用户名和密码;另一类是SIP URI绑定信息,这一类信息的交互是双向的,不同的REGISTER请求会要求ALG添加、修改、删除或者仅仅是获取SIP URI的绑定信息。本文用统一的数据结构来表示这两类信息,这样只需要一次访问就能够获取所需全部信息,可以缩短ALG处理SIP消息所需的时间。

  信息管理模块

  SIP应用层网关需要很多信息才能完成工作,有些信息是动态的,例如SIP URI的绑定信息,不同用户不同时间的绑定信息是不同的,因此只有在需要的时候应用层网关才从数据库中进行动态的访问;而另外一些信息则是相对稳定的,如ALG本身的域名、IP地址等等。这些信息很多,但并不复杂,大多是字符串、数值或者布尔型的变量,信息管理模块的功能就是维护和管理它们。

  “媒体会话”模块

  当SIP应用层网关为跨网络呼叫的终端之间建立起媒体会话(视频、音频)的连接后,双方之间主要的交互将是RTP数据流(媒体数据被打包成RTP数据包)的交互,“媒体会话”模块的功能主要就是在通信双方之间进行RTP数据包的转发工作,每一个RTP数据包转发器能够为多路RTP连接提供数据包转发服务。

  当ALG需要为一路RTP连接提供数据包转发服务时,它试图从转发器环境中得到一个空闲的RTP数据包转发器,如果环境中的转发器都已经被占用,环境会试图创建一个新的RTP数据包转发器,并把它加入到环境当中,并将它返回给ALG使用。另一方面,当一个转发器不再为任何RTP连接提供转发服务时,环境会把它删除,并释放相应的资源。

  “消息处理及对话维护”模块

  这是SIP应用层网关的核心模块,它的功能是对收到的SIP消息进行解析和处理,完成对SIP消息的代理,对跨网络呼叫的上下文环境进行维护以及在必要时启动对话的RTP代理。这些功能之间是相互关联的,统一由SIP消息处理及对话的维护线程完成。图2是SIP消息处理线程的工作流程图。

  本文小节

  SIP协议凭借其简单、易于扩展、便于实现等诸多优点越来越得到业界的青睐,越来越多的基于SIP协议的网络如VOIP、视频会议、智能家居系统被开发实现,本文实现的SIP应用层网关正是SIP网络对NAT/Firewall的穿越的关键技术,但这一方案仍存在着不足之处,由于SIP应用层网关必须对跨网络的所有SIP消息进行解析,导致这些消息须以明码的形式传输,降低了SIP应用的安全性,进一步研究表明:这要求我们对SIP协议进行适当扩展来实现信息的加密。

1 2

关键词: 技术 网关 应用层 SIP

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版