您当前的位置是:  首页 > 资讯 > 国内 >
 首页 > 资讯 > 国内 >

SIP协议规范RFC3261中文分享-16

2020-02-07 11:01:59   作者:james.zhu   来源: Asterisk开源派   评论:0  点击:


  继续接前面的章节。

  10.2.2 Removing Bindings

  注册绑定是一种软状态,除非此状态被刷新,否则,它会终止注册状态,但是也可以直接解除绑定关系。 客户端可以尝试去设置超时周期来解除绑定,超时周期有注册服务来设置,具体的描述在Section 10.2.1中介绍。一个UA可以通过在注册请求中的Contact地址中设置超时周期为0来立即解除绑定。在超时周期超时之前,UAs应该支持绑定解除的机制。

  REGISTER-specific Contact 头域"*"的值应用在所有的注册中,但是它一定不能被使用,除非Expires以设置为“0”的方式出现。 使用Contact头的“*”允许一个正在注册的UA移除所有和address-of-record绑定的关系,无需知道其准确数值。

  10.2.3 Fetching Bindings

  无论请求是否包含一个Contact头,对任何注册请求来说,一个成功的协议包含完整的存在的绑定列表。如果没有Contact头出现在当前的注册请求中,绑定列表不会修改。

  10.2.4 Refreshing Bindings

  每个UA负责对已创建的绑定进行刷新。一个UA的绑定不应该由其他的UA执行绑定刷新。 从注册服务获得的200(OK)响应码包含了一个Contact域的列表,这个列表模拟当前的绑定状态。如果UA通过Section 19.1.4中的对比规则,已经创建了这个contact 地址, UA会对比每个contact地址来对照检查。如果是这样的话,这个UA会根据超时参数更新超时周期设置,或者,如果缺省了这个参数的话,则根据这个Expires域来设置超时设置。 此UA在超时周期时间到期之前,然后对它的每个绑定执行一个REGISTER请求。它可能在一个REGISTER请求中合并几个更新。

  在单个启动循环中,一个UA应该使用同一Call-ID支持所有的注册。除非是一个转发服务,作为初始注册,注册刷新应该被发送到同样的网络地址中。

  10.2.5 Setting the Internal Clock

  如果注册请求中的响应包含一个Date 头,客户端可以使用这个日期头来获悉当前的时间,以便使用此时间设置任何内部时钟。

  10.2.6 Discovering a Registrar

  UA能够使用三种方式来决定注册的地址:通过配置的方式,使用address-of-record地址,使用multicast广播方式。通过注册服务地址,UA能够被设置。如果没有设置注册服务的地址的话,UA应该使用address-of-record的主机地址作为Request-URI,并且使用正常的SIP定位服务机制[4]对此地址发送请求。例如,对于这个UA的用户 sip:carol@chicago.com来说,其注册地址请求应该发送到sip:chicago.com。

  最后,一个UA可以使用广播的方式来进行设置。广播注册被称之为"all SIP servers" 广播地址 "sip.mcast.net" (224.0.1.75 是IPv4地址)。没有分配到没有非常熟知的IPv6广播地址;这种广播地址分配目前没有独立说明。SIP UA可以监听那个地址,使用此地址,并且让其他当地用户也可以获悉本UA的地址状态(参考 [33]);但是,本地用户不会对此请求回复响应消息。

  广播注册方式可能不适合使用在某些环境中,例如,多个业务共享同一内网。

  10.2.7 Transmitting a Request

  一旦REGISTER method构建成功以后,并且消息目的地确认以后,UACs会根据在 Section 8.1.2 中所描述的流程让传输层来进行下一步处理。 因为REGISTER无响应生成,如果传输层返回超时错误,UAC不应该马上重新注册到同样的注册服务。 一个马上重新注册的处理流程也可能和超时一样。在一个合理的时间周期范围内等待网络环境的修正,降低网络负载,排查网络设备故障。这里,无特别具体的时间周期设置。

  10.2.8 Error Responses

  如果一个UA收到了423响应码(Interval Too Brief),它可以重新注册。但是,这里有一个必要条件-注册请求中的超时周期后才能重新注册。具体来说,注册流程中需要耗费一定的时间,使得在注册请求中所有contact地址中的超时周期等于或大于423响应中的Min-Expires头中的超时周期,它才可以重新注册。

  继续发布。。。

  关注微信公众号:asterisk-cn,获得有价值的Asterisk行业分享

  Asterisk freepbx FreeSBC技术文档: www.freepbx.org.cn

  融合通信/IPPBX商业解决方案:www.hiastar.com

  如何使用FreeSBC,qq技术分享群:334023047

 

 

【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题

CTI论坛会员企业