欢迎来到天天文库
浏览记录
ID:24520665
大小:1.08 MB
页数:35页
时间:2018-11-14
《osip源代码框架详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Q/CTXXXX.1-2008Osip协议源代码框架详解PreparedbyMaominghuaDate2009.09.25ReviewedbyDateApprovedbyDate中国IMS网络SIP协议规范总体技术要求-35-Q/CTXXXX.1-2008RevisionHistoryVersionAuthorReviewedByCommentsIssuedDate0.1Maominghua描述osip协议栈的源代码框架中国IMS网络SIP协议规范总体技术要求-35-Q/CTXXXX.1-2008目录1符号及缩写42整体描述43OSIP包的源代码框架解析53.1osip的tr
2、ansaction的event的产生53.1.1定时器事件的产生过程63.1.2报文触发的事件73.2osip的transaction的event处理流程73.2.1ICT的处理流程83.2.2IST的处理流程93.2.3NICT的处理流程93.2.4NIST的处理流程93.3Osip报文的解析103.3.1sip协议报文的解析整理流程103.3.2Osip报文头的解析123.3.3uri的解析143.3.4添加一个新的协议header字段153.4osip的transaction的管理163.5osip中dialog的管理184EXOSIP包的源代码框架解析194.1Lib库
3、的初始化和销毁204.2Lib库的主处理线程234.2.12xx应答的重发处理机制244.2.2Exosip_execute执行流程244.2.2.1Exosip_read_message的处理264.2.2.2eXosip_process_response_out_of_transaction的处理流程:294.2.3eXosip_automatic_action处理流程294.3Call的处理304.3.1创建Call的第一个INVITE304.3.2INVITE的ACK应答的创建和发送324.3.3dialog内的请求的创建和发送334.3.4Dialog内answer的
4、创建和发送334.4Register的处理344.4.1向一个服务器第一次注册354.4.2调整一个注册的注册超时时间354.4.3发送一个register注册35中国IMS网络SIP协议规范总体技术要求-35-Q/CTXXXX.1-2008Osip源代码框架详解1符号及缩写缩写英文全称中文名称ICTInviteClientTransactionInvite类型的客户端事务ISTInviteServerTransactionInvite类型的服务端事务NICTNotInviteClientTransaction非Invite类型的客户端事务NISTNotInviteServer
5、Transaction非Invite类型的服务端事务IMSIPMultimediaSubsystemIP多媒体子系统PSVTPacketservicevideotelephony分组域可视电话SIPSessionInitiationProtocol会话初始协议UDPUserDatagramProtocol用户数据报协议URLUniformResourceLocator统一资源定位器2整体描述开源代码的osip协议栈分为两个源代码包,整个协议栈采用lib库的形式,在内部没有使用到任务,采取与TCP/IP协议栈一样的策略,所以在使用上需要上层管理任务直接调用lib库提供的接口。因为
6、在Lib库内部没有使用到像定时器、发送队列等的任务,而同时需要使用到定时器,所以在lib库的内部采用轮训遍历的方式不停的检查是否有定时器超时,这在某种程度上会浪费CPU的允许时间。同时整个lib库实现了对call,notify等的管理,为了实现重入,在应用启用多线程的条件下,内部启用的信号量和锁的使用,在下面的分析中不涉及到信号量和锁机制。Lib库按照sip协议栈的层次关系分为两个lib包,底层的osiplib包实现对单个请求、应答、ACK的处理,包括message的解析、拼装、内容set和get,单个请求形成的transaction相关操作以及通信两端形成的一个dialog的
7、操作。Lib库上层的exosiplib在底层osiplib库的实现基础上,实现对sip协议整理逻辑上的管理。Exosip主要关注的是sip协议的业务流程,包括call的整体管理,notify的整体管理,publish的管理,register的管理,option的管理,refer的管理和subscription的管理,其中最主要的为call和register的管理,这两个为sip协议栈必须中国IMS网络SIP协议规范总体技术要求-35-Q/CTXXXX.1-2008实现的部分,另几个功能为si
此文档下载收益归作者所有