SIP体系架构讲义及消息交互.ppt_第1页
SIP体系架构讲义及消息交互.ppt_第2页
SIP体系架构讲义及消息交互.ppt_第3页
SIP体系架构讲义及消息交互.ppt_第4页
SIP体系架构讲义及消息交互.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SIP 体系架构 Agenda 对SIP方方面面的回顾 SIP在协议栈中的位置 SIP梯形和SIP实体 SIP URI tel URI SIP 分层方法 dialog session 安全 SIP标准 核心标准: RFC 3261 SIP: Session Initiation Protocol SIP扩展标准: RFC 2976 The SIP INFO Method RFC 3263 Locating SIP Servers RFC 3265 SIP-Specific Event Notification RFC 3311 UPDATE Method RFC 3326 The Reason Header Field RFC 3372 SIP for Telephones (SIP-T): Context and Architectures RFC 3398 ISUP to SIP Mapping RFC 3428 SIP Extension for Instant Messaging SIP在协议栈中的位置 一个典型的网络结构,SIP trapezoid SIP梯形 SIP UA或终端构成对话的端点: 它发送或接收SIP请求和响应 。UA由以下两部分构成: UA Client: 发起请求的主叫方 应用; UA Server:接收、重定向或拒 绝请求,代表用户给到来的 请求发送响应。 SIP中间服务器是SIP消息在到达 其最终目的地前所经过的逻 辑实体,这些中间服务器用 于对请求路由和重定向。服 务器包括代理服务器(Proxy Server),重定向服务器 (Redirect Server)和注册服务 器(Registrar)。 目的:为了减少负责路由请求的代理服务器的负荷,提高 信令路径的鲁棒性 SIP实体-重定向服务器 重定向服务器(Redirect Server) 实现:只是返回用户有可能出现的位置列表,由用户代理 去进行用户定位的所有尝试。 位置列表将放置在Contact头域中。 响应的3XX类有: “300“ ; Multiple Choices “301“ ; Moved Permanently “302“ ; Moved Temporarily “305“ ; Use Proxy “380“ ; Alternative Service SIP实体-重定向服务器 sip:helen INVITE sip: SIP/2.0 Via: SIP/2.0/UDP :5060 From: helen li To: zheng Call-ID: 12345678 CSeq: 1 INVITE Contact: helen li 查询 SIP/2.0 302 Moved Temporarily Via: SIP/2.0/UDP 0 Via: SIP/2.0/UDP :5060 Call-ID: 12345678 CSeq: 1 INVITE Contact: victor ; expires=3600 INVITE sip: SIP/2.0 Via: SIP/2.0/UDP :5060 From: helen li To: zheng Call-ID: 12345678 CSeq: 1 INVITE Contact: helen li SIP Request SIP Response 非SIP协议包 目的:接收请求,决定将这些请求传送到何处,并且将它 们传送到下一服务器(使用下一跳路由原理)。 SIP实体-代理服务器 代理服务器(Proxy Server) 3类代理: 保留呼叫状态代理(Call Stateful Proxy): 存储从INVITE到BYE的一个会话所有状态信息; 保留状态代理(Transaction) Stateful Proxy): 事务状态代理,存储一个指定事务相关的状态信息直到这个事务结束; 不保留状态代理 INVITE sip:victor8 SIP/2.0 Via: SIP/2.0/UDP 10:5060 Via: SIP/2.0/UDP 0:5060 From: flora To: zheng Call-ID: 12345678211.808.0.10 CSeq: 1 INVITE Contact: flora Content-Type: application/sdp v=0 o=flora 2891293921 2891293921 IN IP4 0 s=meeting INVITE sip: SIP/2.0 Via: SIP/2.0/UDP 0:5060 From: flora To: zheng Call-ID: 123456780 CSeq: 1 INVITE Contact: flora Content-Type: application/sdp v=0 o=flora 2891293921 2891293921 IN IP4 0 s=meeting SIP/2.0 200 OK Via: SIP/2.0/UDP 0:5060 ACK sip:victor8 SIP/2.0 Via: SIP/2.0/UDP 0:5060 From: flora To: zheng ;tag=314159 Call-ID: 123456780 CSeq: 1 ACK Contact: flora SIP/2.0 200 OK Via: SIP/2.0/UDP 10:5060 Via: SIP/2.0/UDP 0:5060 From: flora To: zheng ;tag=314159 Call-ID: 12345678 CSeq: 1 INVITE Contact: victor Content-Type: application/sdp SIP/2.0 180 Ringing Via: SIP/2.0/UDP 10:5060 Via: SIP/2.0/UDP 0:5060 From: flora To: zheng ;tag=314159 Call-ID: 12345678 CSeq: 1 INVITE Contact: victor SIP实体-代理服务器 SIP/2.0 180 Ringing Via: SIP/2.0/UDP 0:5060 SIP Request SIP Response 非SIP协议包 BYE sip:victor8 SIP/2.0 CSeq: 2 BYE SIP/2.0 200 OK CSeq: 2 BYE SIP实体-注册服务器(Registrar) SIP特性User Mobility:用户通过将自己的AOR与某个主 机地址进行明确绑定,使自己可以被联络到,从而使用户 移动性成为可能。 目的:接收UA的注册/注销请求,从位置服务器中将UA的地 址信息添加/删除。 注册机制 当UA要向注册服务器添加一个地址映射记录时,Contact域包含要增加的联系 地址信息,通过Expires头部域或该地址信息的expires 参数来声明该联系地址的生 命期。用户可通过一个REGISTER请求消息同时增加多个地址映射记录。 注销机制 当UA要删除一个映射记录时,可在Contact域中填写要删除的联系地址信息, 并将expires参数置0, 注册服务器收到后就会删除该映射记录。 如果将Contact域设为“*”,且Expires头部域设为0,将会删除该用户的所有联 系地址映射记录。 SIP实体-注册服务器(Registrar) 刷新机制: Contact头域指明了过期参数,默认是1小时。UA应该每 隔一段时间后重注册。如果UA没有刷新或明确清除该绑 定,则当绑定过期时,Registrar将其直接删除。 创建多个绑定的方法: 从每一个设备发送一个REGISTER请求; 从同一个设备发送一个与AOR有多个绑定的REGISTER请求。 构造注册请求消息: Request-URI: 包含注册服务器的域名信息; To : 要注册或注销的用户的逻辑地址; From: 发送注册消息者的地址记录; Contact: 要注册的联系地址信息。 SIP实体-注册服务器(Registrar) REGISTER sip: SIP/2.0 Via: SIP/2.0/TCP 9:15926 Max-Forwards: 70 From: ;tag=98ef1;epid=ea8 To: Call-ID: 7d0ec36123594451967f7e74cbee9c43 CSeq: 1 REGISTER Contact: Content-Length: 0 SIP/2.0 401 Unauthorized WWW-Authenticate: NTLM realm=“SIP Communications Service“, targetname=““ WWW-Authenticate: Kerberos realm=“SIP Communications Service“, targetname=“sip/“ Via: SIP/2.0/TCP 9:15926 From: ;tag=98ef1;epid=ea8 To: ;tag=C48A21874 Call-ID: 7d0ec36123594451967f7e74cbee9c43 CSeq: 1 REGISTER Content-Length: 0 SIP/2.0 200 OK Via: SIP/2.0/TCP 9:15926;ms-received-port=1048;ms- received-cid=4100 From: ;tag=98ef1;epid=ea8 To: ; Call-ID: 7d0ec36123594451967f7e74cbee9c43 CSeq: 2 REGISTER Contact: ;expires=7200 非SIP协议;比如采用LDAP,添加用 户的绑定信息到位置服务器 SIP Response 非SIP协议包 SIP Request SIP安全机制协定部分略去, 将在以后章节演示 SIP URI 两种SIP URI: Address-of-Record(AOR): 用于标示一个用户,例如 sip:(需要DNS SRV记录来定位域的SIP服务器) 主机的FQDN或IP地址:例如,sip:bob8,或 sip:(不需要路由解析) 格式:sip:用户信息主机端口参数消息头 用户信息:用户名或电话号码 主机端口:域名或数字形式的网络地址和端口 参数:定义具体的URI参数,例如传输协议、生存时间等 消息头:用来传递额外信息 tel URI 例如: 全球号码:tel:+358-9-123-45678 具有域名上下文的本地号码:tel:45678;phone-context= 具有全球号码上下文的本地号码:tel:45678;phone-context=+358-9-123 格式:一个全球号码或者本地号码 全球号码:遵从E.164号码规则,以”+”开始 本地号码:需要有电话上下文(phone-context)参数来标识号码范围 SIP分层方法 IETF坚持分层,不同模块功能相对独立,各层之间松散耦合 事务用户层(Transaction User) 事务层(Transaction) 传输层(Transport) 语法和编码层(Syntax and Encoding) SIP分层方法-事务层 事务的定义:指客户端发送到服务器的一条请求,以及服务 器回送客户端的所有对该请求的响应。 目的:事务层处理应用层重传,匹配响应到请求,以及应用 层超时,以实现消息的可靠传输。 四个事务状态机: INVITE客户端事务 非INVITE客户端事务 INVITE服务端事务 非INVITE服务端事务 SIP分层方法-事务层-INVITE事务 UA和Proxy都有责任保证INVITE到达下一跳。 临时应答用于阻止逐跳INVITE重传。 (1)INVITE (2)100尝试 (3)INVITE (4)INVITE (5) 100尝试 重传INVITE直到临时应答到来 SIP分层方法-事务层-INVITE事务 对于非成功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论