[信息与通信]SIP培训.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]SIP培训

* 1. Stack对象 应该为每一个SIP应用程序构造一个Stack对象。这个对象负责所有SIP工具包的初始化,配置和内存管理。 2. Dialog(Call-Leg)对象 一个SIP call-leg对象对应一个SIP呼叫对,也就是2个通信SIP终端之间的信号联系。下面是唯一标识SIP呼叫对的标识: Call-ID 双方的SIP地址(To and From 头域) SIP的To和From 头域的Tag部分 在SIP栈中,call-leg对象存储状态和管理call-leg的事务。 * 3.Register-Client对象 一个SIP注册的过程是Client通告他们的当前位置并将他们的信息存储到定位服务器上。在SIP工具包中,一个register-client是一个负责Client端注册行为的对象。 4. Transaction对象 一个SIP事务包括在Client和Server完成一个信号交互所有的消息,诸如呼叫建立和呼叫终止。CSeq 头字段是用作识别和指示事务的。它由序列号和方法组成。此方法必须和请求相匹配。? 在SIP栈中,事务对象通过使用事件和状态机存储事务状态和管理事务的进度。 * 5.Subscription对象 订阅对象管理SUBSCRIBE(定义在RFC3265)。每一个订阅对象处理:发起SUBSCRIBE请求和接着的任意的REFRESH请求。订阅对象也用来发送NOTIFY请求。 6.Notification对象 这个对象用来发送和接收NOTIFY请求。 Thanks! * * * * * * * * * * 功能 终端注册 URI定位 请求消息规则 请求URI必须为域形式,如sip: To字段中的URI必须与From字段的URI保持一致 除非终端URI发生变化,否则每次请求消息的Call-ID必须保持一致 * 请求消息举例 REGISTER sip: SIP/2.0 Via: SIP/2.0/UDP 02:5060;branch=z9hG4bK776asdhds To: DVS6501 sip:01001@ From: DVS6501 sip:01001@;tag=1901774 Call-ID: a84b4c76e66710@ CSeq: 6581 REGISTER Contact: sip:02 Max-Forwards: 70 Content-Length: 0 * 功能 建立会话 更新会话 维持会话 请求消息与Dialog的关系 Dialog只能由INVITE请求建立 Dialog是否建立决定了请求消息是Dialog内部请求还是外部请求 * Dialog的建立 INVITE请求及其非失败应答(1xx或2xx)中To字段的tag参数建立相应的Dialog 临时应答(1xx)建立的Dialog称为早期Dialog,请求成功应答(2xx)建立的Dialog称为长期Dialog,早期Dialog在接收到请求成功应答后自动变为长期Dialog,否则在接收到请求失败应答或是超时后自动结束Dialog * 建立会话 Dialog的建立标志着会话的建立 初始INVITE请求总是Dialog外部请求,To字段必须不包含tag参数 初始INVITE请求可能会有多个请求成功应答,因为路由代理可能会产生多个分支,每一个请求成功应答及其To字段包含的tag参数建立各自的长期Dialog 对于每一个请求成功应答,逻辑客户端必须发送相应的ACK请求 * SIP/2.0 200 OK Via: SIP/2.0/UDP 49:5060;branch=z9hG4bK2164 To: sip:;tag=5342 From: sip:;tag=3386 Call-ID: 2542@ CSeq: 1 INVITE Contact: sip: Max-Forwards: 70 Content-Length: 0 * ACK sip: SIP/2.0 Via: SIP/2.0/UDP 49:5060;branch=z9hG4bK2165 To: sip:;tag=5342 From: sip:;tag=3386 Call-ID: 2542@ CSeq: 1 ACK Max-Forwards: 70 Content-Length: 0 * 更新会话 作为Dialog内部请求发送的INVITE请求称为再次INVITE请求 再次INVITE请求更新当前已建立的会话状态 会话状态由请求消息中的消息数据更新 * 更新会话举例 INVITE sip: SIP/2.0 Via: SIP/2.0/UDP 49:5060;branch=z9hG4bK2164 To: sip:;tag=5342 From:

您可能关注的文档

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档