第8卷 第10期 2008年5月167121819(2008)1022589204
科 学 技 术 与 工 程
Science Technol ogy and Engineering
Vol .8 No .10 M ay 2008
Ζ 2008 Sci .Tech .Engng .
基于S IP 协议的V O IP 系统设计与实现
徐 炽 张闻芳
13
(湖南城市学院计算机科学系,湖南城市学院,益阳,413000)
摘 要 近年来,SI P 作为Vo I P 的相关协议得到了越来越广泛的应用和越来越多厂商的支持。介绍了Vo I P 的基本原理及
SI P 协议的基本内容。基于SI P 协议的Vo I P 作为主要研究内容,探讨了I P 电话的相关协议、相关标准和关键技术,对SI P 这
种比较新的I P 电话协议进行了研究分析,设计出一套基于SI P 协议的Vo I P 电话服务器系统,包括系统分析、系统设计、系统实现,最后对该软件进行了测试,使该软件的开发达到了预期的目的。关键词 Vo I P SI P radius openSER 服务器中图法分类号 TP393.04; 文献标志码
A
2007年9月12日收到
第一作者简介:徐 炽(1981—),男,湖南益阳人,硕士研究生,研究方向:软件工程。
3通信作者简介张闻芳(1981—),女,湖南衡阳人,硕士研究生,研究方向:图形图像。
近年来,Vo I P 及其应用技术日渐成熟,在全球范围内获得了高速发展,已经成为影响下一代网络(NG N )的一个主要因素[1]。目前构建Vo I P 系统
结构的信令协议主要有H.323协议和SI P 协议
[2]
。虽然H.323协议正主导着Vo I P 技术,但其
实现复杂、成本高、建立连接时延大,在现有网络中很难实现互联互通。因此,I ETF 组织提出了会话初始协议SI P (Sessi on I nitial Pr ot ocol )
[3]
。SI P 将网
络设备的复杂性推向网络边缘,支持单播通信、多播通信、名称映射和重定向业务,还支持类似呼叫转发、呼叫拒绝等电信业务的实现以及支持用户移动性。与H.323协议相比,SI P 协议更适合于智能用户终端,使用更加灵活、简单。I P 技术是一种面向无连接的技术,I P 网络只提供一种“尽力而为”(Best Eff ort )的服务,这对于只要求准确率而对时延
没有严格要求的数据业务来说是合适的,而对于音、视频等实时通信的QoS (Quality of Service )却难以保证。因此,如何为音、视频等实时通信保证合理可预测的QoS,提供与公共开关电话网PST N
(Public S witched Telephone Net w ork )可媲美的质量
和服务已成为当前I P 领域中一个重要的研究热点
[4]
。
1 VO I P 和S I P
Vo I P (Voice Over I P ),顾名思义,就是在I P 网
络上进行语音通信,但现在的Vo I P 已不仅仅是指传统意义上的语音通信,而是指音频、视频、数据合一的实时多媒体通信
[5]
。VO I P 就可定义为:在整个
语音通信过程中,部分或全部采用分组交换技术,通过I P 网络来进行的语音传输都可称之为V0I P 。VO I P 的本质特征在于是否语音分组交换技术。分
组交换技术是I nternet 采用的体系结构,其核心是将要传输的数据报文分成长度较短且具有标准格式的分组,并采用存储转发机制,有效降低数据传输过程中的网络延迟,满足数据传输和交换的要求。
总之,VO I P 采用分组交换技术,具有以下特点
[6]
:(1)数据包排队传输产生时的时延较小,基本
满足语音通信的要求。(2)路由共享,传输线路动态统计时分复用,资源利用率高。(3)为不同传输速率、不同编码方式、不同同步方式、不同通信规程的用户之间提供了语音通信的环境。(4)采用分组技术,传输误码率低:从源端到目的端存在多个路由,网络中某一节点发生问题时,分组可以自动选
择另外路由,从而保证通信不会中断,可靠性高。(5)分组交换设备要比传统的PST N 设备交换机便
宜,其运营和维护费用少,并且有利于新业务的扩展,经济性好。(6)由于I P 协议本身提供的是面向无连接的服务,并不适合对实时性要求较高的语音服务,所以语音服务质量较难保证。(7)要提供高质量的语音服务,尚存在一定的技术难度。
SI P 协议是由I ETF 最早提出的一种Vo I P 实现
方式
[7]
,其基本思想是在互联网环境中,组建一个
平面结构的、可用于点对点对话需求的系统。SI P 作为一个广义的电话信令协议,具有以下几个主要特征
[8]
:(1)SI P 可以发起会话,也可以邀请用户加
入以其他方式(如S AP 、LDAP 等)发布或建立的会话。(2)SI P 可以支持单播会话,也可以支持多播会话。(3)SI P 与网络协议独立,即与底层协议无关。SI P 可以在不同的传输层协议,如TCP 或UDP 。当
使用UDP 的时候,SI P 可以更好的支持多播会话;当使用T CP 的时候,SI P 可以更容易的穿透防火墙。(4)SI P 支持很多其他协议,如RS VP 、RTP 和RTCP 、RTSP 、S AP 、S DP 等,但SI P 的功能和操作不
取决于以上任何协议。(5)SI P 是基于文本的协议,简单灵活,可扩展性好;SI P 采用Client/Server 的体系结构,在很大程度上继承了HTTP 和S MTP 协议的特征
[9]
。(6)SI P 协议是无状态的,服务器可以保持也可以不保持呼叫状态。(7)SI P 透明支持名字映射和重定向服务,可以实现I S DN 和I N 电话用户服务;通过网关,SI P 可以实现PST N 电话之间的呼叫。(8)SI P 支持用户的移动性和移动业务
。
图1 VO I P 分组交换
2 系统简介
本系统主要由SI P 服务器、基于RAD I U S 的AAA 服务器、用户注册平台以及Talk 软电话四部分
组成。Vo I P 系统网络拓扑结构在vTalk 系统的实现过程中,SI P 服务器使用开源的OpenSER 来完成。OpenSER 是由基于I PTE L 公司开发的SER 发展出
来的,采用GP L (General Public L icense )许可证发行的自由软件,它是符合ANSI C 语言标准写成架构在Free BS D 、L inux 2L ike (PC )系统和Solaris (Sun )系统,OpenSER 是支持符合RFC 3261的协议规范且架构
在TCP 和UDP 之上的SI P 协议,是一套高效能、易于修改组态成形的语音服务器系统。除了可以充当SI P 服务器外,OpenSER 还可作为短消息服务(S MS,Short Message Service )、即时通信(I M ,I nstant Message )、RAD I U S 记账和授权以及基于W eb 的用
户配置、账号申请等充当网关。
3 系统的设计与实现
本文中的SI P 服务器、Radius 服务器及Apache 、Mysql 服务器均建立在同一机器上,此机器使用的
操作系统为Free BS D
。
图2 32TI ER 的架构
0952科 学 技 术 与 工 程8卷