Asterisk Chan_sip模块的SST支持

        SST(SIP Session-Timers,RFC4028)是SIP协议的一个扩展机制,它允许终端和代理周期性地刷新SIP会话。按协商好的时间间隔,周期性地发送re-INVITE或UPDATE请求,以此来保证会话的kept alive。如果会话刷新失败,所有支持SST的实体,必须清除其内部的会话状态。此外,UA还需要发出一个BYE请求,以便代理和对端UA同时清除相关会话的状态(这样做,对网络路径中不支持SST的实体是有益的)。

        SST功能既可以在系统全局配置,也可以基于每个user或peer配置。User或peer的配置会覆盖全局的配置。在sip.conf里,添加了几个配置项:

session-timers=["accept", "originate", "refuse"]
session-expires=[integer]
session-minse=[integer]
session-refresher=["uas", "uac"]

 

        Sip.conf里的SST参数,定义了Asterisk SST功能的操作模式:

 

        1.     Accept:: 在“accept”模式下,Asterisk按终端意愿处理SST。终端可以在INVITE请求中携带一个“Supported: timer”报头,或者在给Asterisk的200OK应答中携带“Session-Expires”报头,以告诉Asterisk启用SST机制。在这种模式下,Asterisk不会主动要求终端使用SST机制。

        2.     Originate::在“originate”模式下,除了终端请求之外,Asterisk会主动要求终端激活SST机制。为了获取尽可能多的保护,防止因网络或终端原因造成的通道挂起,即使终端不支持SST机制,Asterisk也会周期性地发送re-INVITE消息。

        3.     Refuse::在“refuse”模式下,Asterisk就当自己不支持SST,对inbound和outbound请求都不支持。Asterisk忽略请求中SST相关的内容。如果终端强制要求激活SST(通过Require报头要求),那么就直接回应420 Bad Extension。

你可能感兴趣的:(timer,网络,user,Integer,终端,extension)