SIP协议原理全解.ppt

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

响应消息 序号 状态码 消息功能 1xx 信息响应(呼叫进展响应) 表示已经接收到请求消息,正在对其进行处理 2xx 成功响应 表示请求已经被成功接受、处理 3xx 重定向响应 表示需要采取进一步动作,以完成该请求 4xx 客户出错 表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理 5xx 服务器出错 表示SIP服务器故障不能完成对正确消息的处理 6xx 全局故障 表示请求不能在任何SIP服务器上实现 命令名称 对端URI 版本 Call-ID:值 Form:值 To :值 Cseq :值 Via :值 Contact :值 Max-Forwards : 值 起始行 消息头 SIP请求消息结构 Allow :值 Content-Length :值 Supported :值 User-Agent :值 Content-Type :值 …… 空格 SDP 消息头 消息体 SIP请求消息结构 (续) SIP地址 SIP URL 的一般结构为: SIP:用户名@主机:端口 “SIP”表示需采用 SIP 协议和所指示的端系统通信。为了与Internet地址形式相区别,在写SIP地址时一定要加上“sip:”,即sip:user@host。 “用户名”可以由任意字符组成,一般可取类似与 E-mail 用户名形式,也可以是电话号码。 “主机”可为主机域名或IPv4地址。 “端口”指示请求消息送往的端口号,其缺省值为5060,即公开的SIP 端口号。 参数 如果把地址理解为可以与目的地取得联系的必要信息的话,那么SIP协议中还有其他一些与地址有关的重要参数。比如: branch(分支)参数; tag参数等 参数可以出现在各种头域中 举例: From: sip:2125551212@ To: Bob sip:bob@; tag=376364382 Call-ID:该字段用以唯一标识一个特定的邀请或标识某一客户的所有登记。 需要注意的是,一个多媒体会议可能会有多个呼叫,每个呼叫有其自己的Call-ID。例如,某用户可数次邀请某人参加同一历时很长的会议。用户也可能会收到数个参加同一会议或呼叫的邀请,其Call-ID各不相同。用户可以利用会话描述中的标识,例如SDP中的 o(源)字段的会话标识和版本号判定这些邀请的重复性。 Call-ID的一般格式为: Call-ID:本地标识@主机 From: 所有请求和响应必须包含此字段,以指示请求的发起者。服务器将此字段从请求消息复制到响应消息。 该字段的一般格式为: From: 显示名SIP-URL;tag=xxxx 其中,显示名为用户界面上显示的字符,如果系统不予显示,应置显示名为“匿名(Anonymous) ”。显示名为任选字段。tag 称为标记,为16进制数字串,中间可带连字符“-”。当两个共享同一SIP 地址的用户实例用相同的Call-ID发起呼叫邀请时,就需用此标记予以区分。标记值必须全局唯一。用户在整个呼叫期间应保持相同的Call-ID和标记值。 To: 该字段指明请求的接收者,其格式和 From相同,仅第一个关键词代之以 To。所有请求和响应消息必须包含此字段。 字段中的标记参数可用于区分由同一SIP URL 标识的不同的用户实例。由于代理服务器可以并行分发多个请求,同一请求可能到达用户的不同实例(如住宅电话等)。由于每个实例都可能响应,因此需用标记来区分来自不同实例的响应。需要注意的是,To字段中的标记是由每个实例至于响应消息中的。 Cseq Cseq称之为命令序号。客户在每个请求中应加入此字段,它由命令名称和一个十进制序号组成,该序号由请求客户选定,在 Call-ID范围内唯一确定。序号初值可为任意值,其后具有相同 Call-ID值,但不同命令名称、消息体的请求,其 Cseq序号应加1。重发请求的序号保持不变。服务器将请求中的 Cseq值复制到响应消息中,用于将请求和其触发的响应相关联。 ACK和CANCEL请求的Cseq值(十进制序号)和对应的 INVITE 请求相同,BYE请求的Cseq序号应大于INVITE 请求。服务器必须记忆相同 Call-ID的INVITE 请求的最高序号,收到序号低于此值的INVITE 请求应在给出响应后予以丢弃。 由代理服务器并行分发的请求,其Cseq 值相同。严格来说,Cseq 对于任何可由BYE或CANCEL请求取消的请求以及客户可连续发送多个具有相同Call-ID请求的情况都是需要的,其作用是判定响应和请求的对应关系。 Via Via字段用以指示请求历经的路径。它可以防止请求消息传送产生环路,并确保响应和请求消息选择同样的路径,以保证通

文档评论(0)

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

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

1亿VIP精品文档

相关文档