连载了解SIP协议翻译文章[IOKE作品][19]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

Contact标题头必须存在于INVITE请求和针对这个邀请的200 OK的应答中。有时,直接到用户代理的Contact URI可以不必解析。例如:一个处于防火墙 ALG(Application Layer Gateway)后面的UA需要使用Contact URI 来决定防火墙 ALGApplication Layer Gateway)的地址。否则,由于防火墙阻止任何直接到来的SIP请求,因此通过利用UAURIContact可能导致呼叫失败。Contact标题头可能同时存在于1xx2xx3xx,和485的应答中。唯一一个用在REGISTER请求的Contact的标题头用来删除全部已经存在的登记信息,它有着专用的格式:Contact*Expires:0一起使用。 除表格4.3中列出的可以用在注册请求的标题头以外,所有Contact标题头都不允许使用通配符。Contact 标题头值中还可以引入一个显示名称,当Contact 头字段包含一个显示名称的时候,即使显示名称为空,带有所有的URI 参数的URI 应放于三角括号<>中,否则,URI 后面的参数都认为是头字段参数而不是URI 参数。

Contact标题头中包含三个附加参数:qactionexpires。它们处于URI的后面通过分号(;)来分割。参数q的取值指明相关的优先权,取值范围是从01之间的十进制数字来表示,q的取值并非是一个概率数字并且不作为必要的条件,因为一个给定的Contact列表的合计值很容易达到其最高值1。(action参数定义在RFC2543中,在RFC3261中已经被明确表示不赞成使用)。它被唯一用在注册Contact标题头中,并且仅仅用于指定代理或重定向服务器.)expires参数指出URI的生存期并且也是唯一被用于注册请求中。Contact标题头必须存在于INVITE请求和针对这个邀请的200 OK的应答中。在SIP格式中expires参数可以一个具有整数值的秒数也可以是一个截至日期(参考6.1.4节)。参考表格6.3中的例子:

 

 

表格6.3 Contact标题头例子

标题头

解释

Contact: sip:bell@telephone.com

一个简单的没有显示名称的SIP URI

Contact: Lentz <h.lentz@petersburg.edu>

一个在<>中的有显示名称的URI;显示名称可以被当作标记或者被忽略 。

Contact: M. Faraday <faraday@effect.org>, "Faraday" <mailto:faraday@pop.effect.org>

两个URI列表,第二在引号中的显示名称并非是SIP URI

m: <morse@telegraph.org;transport=tcp>; expires= "Fri, 13, Oct 1998 12:00:00 GMT"

标题头的压缩格式用于单个URI。在<>中的URI后包含一个带有端口号的URI参数。expires将一个SIP日期引入标题头参数中。

本文关键:连载了解SIP协议翻译文章[IOKE作品]
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top