61
oSIP 协议栈的研究及应用
卢 华,王保保
(西安电子科技大学 计算机学院,陕西 西安 710071)
摘 要 针对GNU oSIP协议栈进行了深入研究,讨论了oSIP协议栈的结构功能及其核心的状态机模块。在研
究和实践的基础上,介绍了如何在POSIX兼容系统中实现基于oSIP的SIP应用,最后给出了基于oSIP的应用模型,
通过实验测试,该模型工作得非常稳定。
关键词 oSIP;oSIP 状态机;SIP;VoIP
中图分类号 TP39
Study of oSIP Stack and its Application
Lu Hua, Wang Baobao
(School of Computer Science and Technology, Xidian University, Xi′ an 710071, China)
Abstract This paper makes a profound study of GNU oSIP stack and discusses its structure and functions. Then it
introduces how to implement a sip application based on oSIP in the posix system. Finally it offers an application model,
which experiments show is stable.
Keywords oSIP; oSIP StateMachine; SIP; VoIP
1 引 言
目前 SIP 协议在 Vo I P 中的应用越来越广泛,越
来越多的
Vo I P 系统都采用SIP 作为它们的信令通信
协议,在实现
Vo I P 系统的过程中对于 SIP 协议栈的
选择及应用就显得非常重要。
oSIP 协议栈作为 GNU
维护的 SIP 开发库,它的结构简单而且小巧,可移
植性好,可以应用于支持
POSIX 的任何系统当中,
它已经被成功地移植到
Solaris,HP unix,RT OS
VxWorks
,Windows 和 GNU/Linux(2.2.16 和 2.4.7)
系统中,这也是为什么在实现
Vo I P 系统过程中选
择
oSIP 的原因。笔者就是在深入研究的基础上,介
绍了
oSIP 的功能结构,并讨论了如何利用 oSIP 来
实现自己的
SIP 协议栈,最后给出了 POSIX 兼容系
统中
oSIP 的一般应用模型。
2 oSIP 的特点
oSIP 最大的特点就是小巧灵活,它是基于标准
收稿日期:2005-08-29
作者简介:卢华(1981—),男,硕士研究生。研究方向:
计算机应用技术。王保保(1963—),男,副教授,硕士生
导师。研究方向:数字图像处理,网络计算。
C 编写而成,可以应用于任何支持 POSIX 的系统当
中,所以即使在嵌入式系统中也可以得到广泛的应
用。以下列出了
oSIP 协议栈的主要特点:
(1)开发语言 C。
(2)操作系统:Solaris ,HP unix ,RT OS
VxWorks
,Windows,GNU/Linux,POSIX 兼容系
统。
(3)支持的 RFC 标准 : RFC 3261,RFC 2327,
RFC 3264,RFC 3263,RFC 3311。
(4)支持的传输协议:TCP,UDP。
(5)支持单线程及多线程编程。
(6)模块之间采用松耦合,模块独立性高。
(7)兼容性高,可以与多种 SIP 协议栈互通。
oSIP
主要提供了解析 SIP/SDP 消息的 API 和事
务处理的状态机,它并没有提供高层的
SIP 会话控
制的
API,利用 oSIP 可以开发 User Agent,IP
soft-phone
和 SIP Proxy 等。
3 oSIP 的结构功能
3.1 oSIP 的结构组成
oSIP 主要包括:状态机模块、解析器模块和工
电子科技 2006 年第 2 期(总第 197 期)