oSIP开发者手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

oSIP开发者手册——本手册指导开发者利用oSIP栈开发用户代理原文标题:oSIPUserManual原文作者:AymericMoizard联系方法:jack@atosc.org版权保护:GNUFreeDocumentationLicense项目网站:译文作者:陈善学联系方法:chenshanxue@263.net摘要“会话发起协议(SessionInitiationProtocol-SIP)是一个应用层的信令控制协议。用于创建、修改和终止一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发(例如:语音信箱)。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。”TheSessionInitiationProtocol(SIP)isanapplication-layercontrol(signaling)protocolforcreating,modifyingandterminatingsessionswithoneormoreparticipants.ThesesessionsincludeInternetmultimediaconferences,Internettelephonecallsandmultimediadistribution.Membersinasessioncancommunicateviamulticastorviaameshofunicastrelations,oracombinationofthese.版权本文的版权归AymericMoizard所有。允许拷贝、分发和在”GNUFreeDocumentationLicense”(版本1.1或由自由软件基金会最近发布的任何版本)下的定制。需要注意的是,本文档的任何章节的引用(包括本中文翻译)需列出它们的标题、开始的文本和结尾文本,并且标明文档受”GNUFreeDocumentationLicence”保护。Copyright(c)2001AymericMOIZARD.Permissionisgrantedtocopy,distributeand/ormodifythisdocumentunderthetermsoftheGNUFreeDocumentationLicense,Version1.1oranylaterversionpublishedbytheFreeSoftwareFoundation;withtheInvariantSectionsbeingLISTTHEIRTITLES,withtheFront-CoverTextsbeingLIST,andwiththeBack-CoverTextsbeingLIST.AcopyofthelicenseisincludedinthesectionentitledGNUFreeDocumentationLicense.前言译者修正了原文中一些细微的错误。本文档是由译者独立完成,未免有翻译不妥之处,因此任何的建议和指正都是非常欢迎的。联系的方式是通过电子邮件至chenshanxue@263.net索引摘要............................................................1版权............................................................1前言............................................................1索引............................................................2正文............................................................3第一章SIP协议..............................................3SIP独立与媒体............................................3SIP独立于传输层..........................................3SIP有很好的扩展性........................................3SIP和最终用户服务........................................3第二章SIP协议概述..........................................4SIP语法..................................................4SIP事务..................................................5SIP会话..................................................5Server行为..............................................7第三章oSIP开发库...........................................7目标.....................................................7开发的层次...............................................7语法分析器............................................7有限状态机............................................8事务管理..............................................8谁将受益于oSIP.......................................8允许的平台............................................8第四章oSIP语法分析器.......................................8文件.....................................................8SIP-URL(SIP地址).......................................9URL定义的语法结构和设计目标..........................9url_t结构体操作的API.................................9url_param_t和url_header_t操作的API.................11SIPheaders操作的API................................13SIPMessage操作的API................................17语法分析部分样例程序....................................23结构信息转化成字符串....................................26如何提高语法分析器的性能................................27第五章有限状态机...........................................27事务处理和事件(Events)..................................27事务处理的定义和目的.................................27事件的定义和目的.....................................28事务处理的API.......................................28回叫....................................................31一些有用的宏(MACROs)....................................32有限状态机的指引........................................33初始化oSIP栈...........................................33分配和初始化osip_t结构.................................33发送事件(events)控制事物(transaction)...................34Proxy开发的注意点.......................................36建造自己的体系结构......................................36后记...........................................................36正文第一章SIP协议SIP协议是用于发起、控制和终结多媒体会话的信令协议。它被IETF()以rfc2543发表。SIP是IETF致力于将电话服务带入IP网络众多协议的一个组成部分(它与SDP、RTP、RTCP、RTSP、RSVP、TRIP等众多协议构成SIP系统协议栈)。其将要变成正在发展的IP电话——这个朝气蓬勃的电信工业——的标准之一。正如同电子邮件协议一样,SIP将会变得越来越普及和大众化……SIP独立与媒体传统电话使用一种媒体编码个师通讯(正如被我所熟知的时隙和PCM概念)。现在,这种方式将被终结。我们的电话可以以不同的质量保证和不同的编码方法连接电视、连接摄像机、连接其他电话进行通信。SIP具有媒体协商等功能。任何多媒体应用(例如:游戏、远程教学)都可以使用SIP来建立会话。SIP独立于传输层SIP并不和任何的传输层紧密结合。这一构思将使得SIP在第三代网络中受到最小的互操作影响。无线电话的要求(例如漫游功能)同样被关心。SIP完美的构思,使得其适合作为新蜂窝电话时代的信令协议。SIP有很好的扩展性在rfc2543中定义了6种类型的事务(INVITE,BYE,CANCEL……)。这些事务被用于媒体协商、创建、修改和终结呼叫。许多其它的服务已经提供这些方式(例如H.323系统),但SIP以其为扩展性为目的设计和事务模型重用(对于服务器是透明的,被用于使用新类型事务创建辅助服务)。下面是可能的服务列表,其中的一些已经被实现。短信,用于实时信息预定或通告,用于会议管理委托,用于呼叫转移等管理SIP和最终用户服务“SIP透明支持名字映射和重定向服务,提供ISDN和智能网络电话服务同样的一些功能。这些特性也使得个人移动成为可能。”参考阅读:rfc2543.txt(章节1.1)SIP服务器被用于定位用户和分发请求的用户定位信息。这些途径,使得最终用户代理发起很少的请求,并能获得多种多样的服务。许多扩展性在建议文档中定义(查询SIP相关的draft)。我们也可以增加个性化的电话功能并和现有已存在的服务器保持交互。第二章SIP协议概述本章目的并不是为了细致的描述rfc(我们必须通过阅读rfc获取协议细节),其紧紧提供快速、不完整的协议语法和行为概述。SIP语法SIP是一个基于utf8文本编码格式的协议(这使其消息具有很好的可读性,并易于调试)。SIP协议中描述了请求、地址(URL)、应答和个个头部字段的语法信息。整个语法信息以扩展巴克斯范式的形式描述,可以在Columbia获得。这些语法定义参考了Mail和HTTP的定义方式。SIP定义了6种请求的类型。最基础的方法有:INVIT

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功