目前正研究sip.北邮的这章翻译似乎不太好,自己重译下
注册请求
必须的头域:
Request-URI:
注册服务器的地址,forexample, "sip:chicago.com"). The "userinfo" and "@" components of the SIP URI MUST NOT be present(没有用户部分)
To:
待被(Registrar)增删查的地址,常包含用户名(address-of-record)
From
注册者的地址,除非是第三方注册,否则与To同
Call-ID
同一UAC指定的一个REGISTER发送的注册,Call-ID必须相同
CSeq
同一Call-ID,Cseq递增(防止注册延时重复到达)
Contact(可选)
用来填绑定地址和其他参数
参数expires:
绑定有效期,以秒计。如果没有,用Expires header field代替。大于2^32-1(136year)秒则当成2^32-1。异常值当3600s
增加绑定
Contact头域内容常常是SIP endpoints URI(forexample,"sip:carol@cube2214a.chicago.com")代理将对address-of-record的请求路由到SIP endpoints
超时的设定见上,没有设则由REGISTER自定(10.3)
Contact中地址的选择:如果包含多个地址,它们的优先级可以通过在地址中加入q参数(Section16.6 )
取消绑定
发送超时为0的注册包,若要删除全部Contact-addr,Contact 头域设为*,Expires header设为0
获取绑定
发一个不包含Contact头域的注册包,Registrar返回的Contact头域中包含相关信息(见上”增加绑定”)
刷新绑定
UA不应该刷新别人的注册信息
先获取绑定(见上面”获取绑定”),利用19.1.4规则匹配绑定,然后根据当前要求重新注册(比如快超时的地址)
一次请求Call-ID必须一样