注册(一)

来源:互联网 发布:东莞外贸b2c建站 编辑:程序博客网 时间:2024/04/28 01:49

注册服务为特定地区的位置服务创建绑定关系,这个绑定关系是用来建立包含一个或者多个联系地址的address-of-record URI。因而,当那个地区的proxy接收到一个请求,这个请求的Request-URIaddress-of-record的记录匹配,那么这个proxy会转发请求到这个address-of-record中登记的联系地址中去。
Address-of-Record:
记录地址。一个address-of-record(AOR)是一个SIP或者SIPS URI它指向了一个具有定位服务的主机,这个主机可以把URI映射成为用户真正物理位置的URI。通常情况下,定位服务器是通过登记服务来建立的。一个AOR经常被认为是一个用户的公共地址

 

REGISTER请求

REGISTER请求用来增加、删除、查询绑定资料。

一个REGISTER请求可以增加一个address-of-record和一个或者多个联系地址之间的绑定。在合适的第三方认证的情况下,可以做address-of-record的登记。客户端同样可以删除前边绑定的内容也可以查询address-of-record的当前绑定地址。

一个REGISTER请求并不建立一个对话。当基于事先给定路由集的情况下,一个UAC可以在REGISTER请求中包含一个Route头域。在REGISTER请求和应答包中,Record-Route头域并没有任何意义,如果这个头域存在,必须被忽略。另外,UAC一定不能基于REGISTER请求的应答包中的任何Record-Route头域来创建新的路由集合。

 

下面这些头域,必须在REGISTER头域中包含,但Contact除外。

Request-URI:这个头域指明了登记服务所指明的位置服务所在的区域(比如sip:chicago.com)。”userinfo””@”元素在SIP URI中不能出现。

To:这个头域包含了被查询、增加、修改的address-of-recordto头域和Request-URI头域通常是不同的,因为这个由用户名组成。这个address-of-record必须是一个SIP URI或者SIPS URI.

From:这个头域包含了提交这个注册信息的用户的address-of-record资料。这个值和To头域的值相同,除非这个请求是第三方发起的注册请求。

Call-ID: UAC发出的给某个注册服务器(registrar)的所有注册请求都应该有相同的Call-ID头域值。如果相同的客户端用了不同的Call-ID值,注册服务器(registrar)就不能检测是否一个REGISTER请求由于延时的关系导致了故障。

Cseq: Cseq值保证了REGISTER请求的正确顺序。一个UA为每一个具备相同的Call-IDREGISTER请求顺序递增这个Cseq字段。

Contact: REGISTER请求可以有一个Contact头域。这个头域可以有0个或者多个包含绑定地址信息的值。 “expires”参数表明UA的绑定的有效时间。以秒为单位的整数。如果本参数没有制定,那么这个参数的值就是Expires头域的值。实现中,可以把超过2**32-1的值(4294967295秒或者136年)认为是2**32-1。非法的值应当视同3600

 

注意UA在没有收到上一个注册请求的应答或者上一个REGISTER请求超时之前,禁止发送新的注册请求(就是说,包含一个新的Contact头域值,而不是重发)。

0 0