- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Resiprocate SIP Stack管窥
1.前言
一直考虑怎样来组织这份文档,怎样开始呢?是从梳理源码开始还是从介绍 SIP 原
理开始?不过不管怎样开始都是从借鉴前人或者使用别人的成果上开始。希望能够简洁
明了、一清二楚,但是实际的情况是可能依然混沌朦胧、一塌糊涂。
2.从 SIP 谈起
说明:
不期待一次就把RFC3261或者其他的协议文档内容及其细节全部记住或者完全理解;
把原理性的东西及其脉络厘清也许更重要;在调试程序和看协议栈源码的过程中我的做
法是一直把 RFC3261(经常的是那份中文文档☺的文档打开;遇到忘记或者不是太明白的
概念和内容就在文档中再搜索相关主题及内容来看看;经常会碰到这样的问题,我发个
内容给 SIP Proxy 或者 SIP Server,可是并没得到我希望的回复或者与期待的回复内容
有出入,这时,我的经常做法是再去研读协议的相关定义,看看是不是我哪个细节并没理
解深入或者引起注意,导致我发出去的内容与协议标准有出入或者我的流程与协议定义
不吻合。
接下来的内容是前人的文档整理,只是个大概,如果没兴趣,完全可以跳过不看;协议栈
部分基本上是分成 DUM 与 Stack 两部份可以先后看,也可以先看 Stack 部分。
补充说明:文档中的大部分图片都来自网上公开的资料,只有少数几幅是自绘,因此
出现内容不清和误导,概不负责☺ 特此感谢借鉴资料和图片的原创者们,虽然他们并
不知道又误导一个^_^
文档做的不好,内容也不好,见谅见谅。
2.1 SIP (Session Initiation Protocol) 简介
最先由美国哥伦比亚大学的 Henning Schulzrinne 教授在 1998 年初开始发起,
1999 年 3 月由 IETF 的 MMUSIC(Multipart MultimediaSession Control)工作小组制定
正式标准成为RFC 2543, 1999 年9月IETF 成立新的工作小组 ,负责SIP新版本2.0 的
制定 , 并于 2000 年7 月释出初版 RFC 2543bis,于 2001 年发布了 RFC 3261 。RFC 3261
的发布,标示着 SIP 的基础已经确立,随后又发布了几个 RFC 增定版本,充实了安全
性及身份认证等几个领域的内容,例如RFC 3262对临时响应做了可靠性的规范。RFC 3263
确立了 SIP proxy 的定位规则。RFC 3264 提供了 Offer/Answer Model,RFC3265则是确
立了具体的事件通知。如同 Internet 一样,SIP 易于理解、扩充、及实做,作为 IETF
的规范,SIP 将 Internet 开放标准的精神延伸至通讯领域,实现了不同计算机、电话、
及软件的通讯。SIP 的讯息类似于 HTTP (RFC 2068),其寻址方式,则是重用了 SMTP 的
寻址方式,SIP address (如: sip:inaba@.tw)与 E-mail address 的
结构相同,SIP 甚至利用 Web 的体系结构,如 DNS,而使得 SIP 的使用者之间的通讯,
有更高的扩充性。
SIP 有下列几点特性
利用文字(Text-based)的方式来编码,类似 HTTP/1.1
Client-Server 的架构
Clients 端初始一个呼叫(caller)
Servers 端响应呼叫 (callee)
讯号与资料独立,SIP 负责讯号部分,资料传送部分可以使用 RTP,TCP,UDP…
可与其它 IETF 所制订的协议配合,例如:RFC2327(SDP), RFC2616
(HTTP/1.1) ,RFC2396(URL)…
2.2 SIP 命名方式
SIP 的地址称做 SIP URLs,其格式为 user@host ,使用者利用 REGISTER的 SIP request
来结合自己的 SIP URLs user 代表使用者名称或是电话号码 host 代表 domain name
或是数字型态的 IP address 举例来说 sip:inaba@.tw 或是
sip5
2.3 SIP 组件介绍
在 SIP 是一个 Client and Server的架构,在此环境当中,有三个
主要的组件分别为: User Agents, Servers 还有 Location Servers。
User Agents
在 S
文档评论(0)