没有合适的资源?快使用搜索试试~ 我知道了~
首页oSIP协议栈浅析(非常好的学习OSIP的资料)
资源详情
资源评论
资源推荐
oSIP 协议栈浅析
1. oSIP 介绍........................................................................................................................................1
2. oSIP 结构分析................................................................................................................................1
2.1 oSIP 结构..............................................................................................................................1
2.2 状态机(Finite State Machines)模块.....................................................................................2
2.2.1 概述............................................................................................................................2
2.2.2 ICT 状态机.................................................................................................................3
2.2.3 NICT 状态机..............................................................................................................4
2.2.4 IST 状态机.................................................................................................................5
2.2.5 NIST 状态机..............................................................................................................7
2.3 解析器(Parsers)模块.............................................................................................................8
2.3.1 SIP Parser...................................................................................................................8
2.3.2 SDP Parser................................................................................................................10
2.3.3 URL Parser...............................................................................................................11
2.4 工具(Facilities)模块...........................................................................................................12
2.4.1 SDP negotiator.........................................................................................................12
2.4.2 Dialog management.................................................................................................12
3. oSIP 特点......................................................................................................................................13
3.1 oSIP 的优点........................................................................................................................13
3.2 oSIP 的缺点........................................................................................................................13
4. oSIP 应用结构图..........................................................................................................................13
5. oSIP 使用概述..............................................................................................................................14
5.1 初始化 oSIP........................................................................................................................14
5.2 注册 CALL BACK 函数.....................................................................................................15
5.3 Transaction 操作.................................................................................................................17
6. 参考...............................................................................................................................................17
oSIP 协议栈浅析
1. oSIP介绍
oSIP 是按照 RFC3261(SIP)和 RFC2327(SDP)标准,并使用标准 c 编写的
一个 SIP 协议栈。它是一个公开源码的免费协议栈。oSIP 协议栈结构简单而小
巧,它并不提供高层的 SIP 会话控制的 API,它主要提供一些解析 SIP/SDP 消
息的 API 和事务处理的状态机。
oSIP 支持线程安全,既可以用于多线程的编程模式,也可以用于单线程的
编程模式;oSIP 可以用来开发 User Agent,IP soft-phone 和 SIP Proxy 等
等。
oSIP 目 前 最 后 版 本 为 V 0.9.7 , 不 久 oSIP 版 本 将 升 级 至 oSIP2 ( V
1.99.7)。 oSIP2 主要调整了一些函数和结构名称,以及一些头文件的名称 、
内容结构的调整,整体的构架和功能不变。
本文以下描述都基于 oSIP V0.9.6 版本。
2. oSIP结构分析
2.1 oSIP 结构
oSIP 主要包括三大部分的内容:状态机模块、解析器模块和工具模块。
状态机模块的功能:
完成对某个事务(注册过程,呼叫过程等等)状态记录,并在特定状态
下触发相应的事件或回调函数。
解析器模块的功能:
该模块主要完成对 SIP 消息结构剖析、SDP 消息的结构剖析以及 URI
结构的剖析;
工具模块的功能:
该模块提供一些 SDP 等处理的一些工具。
oSIP 的模块结构图如下(图 2-1):
Page 1
oSIP 协议栈浅析
2.2 状态机(Finite State Machines)模块
2.2.1 概述
oSIP 状态机(Finite State Machines)主要分为四类,分别为:
ICT -- Invite Client (outgoing) Transaction
NICT -- Non-Invite Client (outgoing) Transaction
IST -- Invite Server (incoming) Transaction
NIST -- Non-Invite Server (incoming) Transaction
Page 2
SIP parser
URL parser
SDP parser
Finite
State
Machines
Dialogue Facilities
SDP negotiation
Facilities
Application
状态机模块
解析器模块 工具模块 ( 可选
项 )
oSIP 模块
图 2-1 oSIP 结构
oSIP 协议栈浅析
2.2.2 ICT 状态机
注:
cb_ict_Nxx_received:其中 N 表示一下几个值
3 -- cb_ict_3xx_received
4 -- cb_ict_4xx_received
5 -- cb_ict_5xx_received
6 -- cb_ict_6xx_received
Page 3
ICT_PRE_CALLING
ICT_COMPLETED ICT_PROCEEDING
ICT_TERMINATED
Transaction initialization
ICT_CALLING
cb_ict_transport_error cb_ict_invite_sent
cb_ict_invite_sent2
cb_ict_transport_error
图 2-2: ICT State Machine
cb_ict_kill_transaction
cb_ict_transport_error
cb_ict_1xx_received
cb_ict_2xx_received
cb_ict_transport_error
cb_ict_1xx_received
cb_ict_Nxx_received
cb_ict_Nxx_received
cb_ict_3456xx_received2
cb_ict_ack_sent2
cb_ict_xxx_xxxx
表示从一种状态转换到另一种状态时将调用该回调函数
表示从一种状态转换到另一种状态时不调用任何回调函数
剩余17页未读,继续阅读
zhqxm1983
- 粉丝: 7
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5