1
Resiprocate
介绍
1.
前言
本文主要内容来自互联网,特此感谢
Steven
的辛苦撰写和
resiprocate
开源组织的
无私奉献以及
sip
协议的创造è€?/p>
Schulzrinne
教授å’?/p>
Rosenberg
大师的辛勤工ä½?/p>
�/p>
2
.从
SIP
谈起
说明
:
不期待一次就æŠ?/p>
RFC3261
或者其他的协议文档内容及其细节全部记住或者完全理
è§?/p>
;
把原理性的东西及其脉络厘清也许更重è¦?/p>
;
在调试程序和看协议栈源码的过程中æˆ?/p>
的做法是一直把
RFC3261(
经常的是那份
中文文档
�/p>
的文档打开
;
遇到忘记或者不是太æ˜?/p>
白的概念和内容就在文档中再搜索相关主题及内容来看çœ?/p>
;
经常会碰到这样的问题
,
�/p>
发个内容ç»?/p>
SIP Proxy
或è€?/p>
SIP Server,
可是并没得到我希望的回复或者与期待的回å¤?/p>
内容有出å…?/p>
,
这时
,
我的经常做法是再去研读协议的相关定义
,
看看是不是我哪个细节å¹?/p>
没理解深入或者引起注æ„?/p>
,
导致我发出去的内容与协议标准有出入或者我的流程与协议
定义不吻合ã€?/p>
接下来的内容是前人的文档整理
,
只是个大æ¦?/p>
,
如果没兴è¶?/p>
,
完全可以跳过不看
;
�/p>
议栈部分基本上是分成
DUM
�/p>
Stack
两部份可以先后看,也可以先看
Stack
部分ã€?/p>
补充说明ï¼?/p>
文档中的大部分图片都来自网上公开的资料,
只有少数几幅是自绘,
å›?/p>
此出现内容不清和误导,概不负è´?/p>
�/p>
特此感谢借鉴资料和图片的原创者们,虽然他ä»?/p>
并不知道又误导了一个菜鸟ã€?/p>
2.1 SIP (Session Initiation Protocol)
简ä»?/p>
最先由美国哥伦比亚大学çš?/p>
Henning Schulzrinne
教授åœ?/p>
1998
年初开始发起,
1999
å¹?/p>
3
月由
IETF
çš?/p>
MMUSIC(Multipart
MultimediaSession
Control)
工作小组制定
正式标准成为
RFC
2543
ï¼?/p>
1999
å¹?/p>
9
�/p>
IETF
成立新的工作小组
,
负责
SIP
新版æœ?/p>
2.0
çš?/p>
制定
,
并于
2000
å¹?/p>
7
月释出初ç‰?/p>
RFC
2543bis
ï¼?/p>
�/p>
2001
年发布了
RFC
3261
�/p>
RFC
3261
的发布,标示着
SIP
的基础已经确立,随后又发布了几ä¸?/p>
RFC
增定版本,充实了安全
性及身份认证等几个领域的内容ï¼?/p>
例如
RFC
3262
对临时响应做了可靠性的规范ã€?/p>
RFC
3263
确立äº?/p>
SIP
proxy
的定位规则ã€?/p>
RFC
3264
提供äº?/p>
Offer/Answer
Model
ï¼?/p>
RFC3265
则是ç¡?/p>
立了具体的事件通知。如å�?/p>
Internet
一样,
SIP
易于理解、扩充、及实做,作ä¸?/p>
IETF
的规范,
SIP
å°?/p>
Internet
开放标准的精神延伸至通讯领域ï¼?/p>
实现了不同计算机ã€?/p>
电话ã€?/p>
及软件的通讯ã€?/p>
SIP
的讯息类似于
HTTP
(RFC
2068)
,其寻址方式,则是重用了
SMTP
çš?/p>
寻址方式ï¼?/p>
SIP
address
(
如:
sip:************.ncku.edu.tw)
�/p>
address
çš?/p>
结构相同ï¼?/p>
SIP
甚至利用
Web
的体系结构,å¦?/p>
DNS
,而使å¾?/p>
SIP
的使用者之间的通讯ï¼?