SIP协议基本原理与实例分析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Page * 消息的头域 To :用于表示请求的接收者,其格式和From相同,仅第一个关键字不同; To:显示名SIP-URL;tag=XXXX Tag可用于区分由同一SIP URL标识的不同的用户实例。由于代理服务器可以并行分发请求,同一请求可能到达用户的不同实例,每个实例都可能响应,因此需用标记来区分来自不同实例的响应。To字段中的标记是由每个实例置于响应消息中的。 举例: To: sip:1001@1;tag=62beb3ca 在SIP 中,Call-ID、From 和To 三个字段标识一个呼叫分支。在代理服务器并行分发请求时,一个呼叫可能会有多个呼叫分支。 Page * 消息的头域 CSeq :用于表示请求的顺序号, UAC在每个请求中加入此字段,一般格式为: CSeq:序号 消息名称 序号由UAC选定,在Call-ID范围内唯一确定,序号初值可为任意值,其后具有相同Call-ID值但不同命令名称、消息体的请求,其CSeq序号应加1。重发请求的序号保持不变。服务器将请求中的CSeq值复制到响应消息中,用于将请求和其触发的响应关联起来。 ACK和CANCEL请求的CSeq值和对应的INVITE请求相同,BYE请求的CSeq序号应大于INVITE请求。 由代理服务器并行分发的请求,其CSeq值相同。 严格来说, CSeq对于任何可由BYE或CANCEL请求取消的请求以及客户可连续发送多个具有相同Call-ID请求的情况都是需要的,其作用是判断响应和请求的对应关系。 举例: CSeq : 4711 INVITE Page * 消息的头域 Via :用以指示请求历经的路径,它可以防止请求消息传送产生环路,并确保响应和请求消息选择同样的路径,以保证通过防火墙或满足其他特定的选路要求。 对于请求:每个SIP实体前传请求时,都将自己的地址放到当前的Via集的最上面,与此类推,当请求到达UAS端时,在SIP 消息中将会形成一个类似于堆栈的Via头域集。 对于响应:UAS 将请求中的Via地址原样拷贝到响应里面,当Proxy接收到响应时,检查顶端的Via是否是自己,如果是,将顶端的Via删除,并检查下一个Via地址将响应发送到下一个Via地址,如果没有下一个Via地址,则表示这个响应应该到Proxy这儿终结。 Address: B Address: C Address: D Via: A Via: B Via: A Via: C Via: B Via: A Via: C Via: B Via: A Via: B Via: A Via: A Request Response Address: A Page * 消息的头域 Via字段的一般格式: Via:发送协议 发送方;隐藏参数;生存期参数;多播地址参数;接收 方标记,分支参数 发送协议的格式为:协议名/协议版本/传输层协议。协议名和传输层协议的缺省值为SIP和UDP。 发送方为发送方的域名或主机IP和端口号,如果采用默认端口号5060,端口号可以缺省。 隐藏参数表示该字段已由上有代理予以加密,以提供隐私服务。 分支参数用于代理服务器并行分发请求时标记各个分支,当响应达到时,代理可判定是哪一分支的响应。 举例: Via: SIP/2.0/UDP ;branch=z9hG4bKkjshdyff Via:SIP/2.0/UDP :5060; Page * 其他重要消息头域 Max-Forwards:用于定义一个请求达到其目的地所允许经过的中转站的最大值。请求每经过一个中转站,该值减1。如果该值为0时该请求还没有达到其目的地,服务器将返回483响应并终止这个请求。 该字段的目的主要是为了出现环路时不会一直消耗代理服务器的资源,它的初始值为70。它的一般格式为: Max-Forwards:十进制整数 请求消息中必须包括Max-Forwards头域。 Page * 其他重要消息头域 Contact:用于INVITA、ACK和REGISTER请求以及成功响应、呼叫进展响应和重定向响应消息,其作用是给出其后和用户直接通信的地址。 INVITE和ACK请求中的Contact字段指示该请求发出的位置。它使被叫可以直接将请求(如BYE请求)发往该地址,而不必借助Via字段经由一系列代理服务器返回。 对INVITE请求的成功响应消息可包含Contact字段,它使其后的请求(如ACK请求)可直接发往该字段给

文档评论(0)

beautyeve + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档