sip信令超时机制

DIALOG
UA发送初始INVITE请求后,只有接收到失败响应才有可能建立DIALOG。通过callid,FROM域中的tag参数,TO域中的tag参数来唯一标识DIALOG FROM域中的参数由主叫添加,TO域中的参数由被叫添加。

根据DIALOG的定义,只有当101199200消息中的TO域中带有tag参数时,此时才建立dialog。对通过101199消息(目前一般是18×消息)建立的DIALOG,我们称之为早期会话(early dialog).

消息传送和定时器保护
无论是Client还是Server方,在定时器和消息重发的处理上,可分为与INVITE相关的Transaction 和与INVITE不相关的TransactionRFC3261中定义了两个基准定时器T1500msT24s
无论是可靠传送还是不可靠传送,当实体发送消息(包括请求或响应消息)后,都会启动一个64 倍的T1定时器(计时器B、H、F),当此定时器终结时,如果没有收到相应的响应或确认消息,实体将会清掉相关的Transaction

一、与INVITE请求消息相关的行为(Client侧行为)
SIP实体(包括UAProxy)发送INVITE消息后,无论是可靠传送还是不可靠传送,实体都会启动 Transaction保护,启动定时器BTimer B=64*T1,如果T1500ms,则此定时器为32S)。
在不可靠传送的情况下,实体同时会启动T1500ms定时器(A定时器)如果T1终结了没有收到任何响应消息,实体将会重发INVITE消息,以后的间隔分别为2T1,4T1,8T1,16T1,32T1,在此期间,如果收到响应消息,实体将会终止重发行为。
当定时器BTimer B=64T1)终结时,如果实体仍然没有收到响应消息,实体将终止该呼叫请求。

二、与INVITE消息相关的最终响应行为(Server侧行为)
当被叫用户应答时,被叫侧UAUAS)将会向对端发送200消息,表示对INVITE消息的确认,主叫侧UAUAC收到200消息)后,将会发送ACK消息,表示收到200消息。因此,对Server侧来讲,当发送200消息后,为了等待ACK消息,将会启动定时器HTimer H=64T1
在不可靠传送的情况下,Server还会启动T1定时器(计时器G)如果T1终结,没有收到ACK消息,UAS将会重发200 消息。以后的间隔分别为2T1,4T1,8T1,当时间达到T2T28T1)后,后续重发的间隔将一直为T2。
当定时器HTimer H=64T1)终了时,如果实体仍然没有收到ACK确认消息,实体将会终止该呼叫请求。
其它的最终响应消息,消息的重传和定时器保护也与200消息的相同。

三、与INVITE消息无关的请求消息的行为(Client侧行为)
其它请求(非INVITE请求)消息,例如INFO消息或BYE消息,实体接收到最终响应后,由于不需要对最终响应消息进行确认,因此消息重发行为上与INVITE消息的重发存在不同。
当实体发送INFOBYE消息后,实体将会启动定时器FTimer F=64T1)。如果定时器F终了时,没有收到最终响应消息,实体将会清掉Transaction
在不可靠传送的情况下,实体同时启动T1定时器(计时器E)。如果没有收到任何响应消息,实体重发的行为将与INVITE消息相关的最终响应行为(Server)相同。如果在此期间没有收到临时响应消息,实体将会以T2的间隔重发。

ACK只有在响应非200 OK时才和INVITE一样,否则与INVITE不为同一事务,只属于同一个对话。

定时器缺省值含义
T1500 ms17.1.1.1经历来回时间(RTT)
T24 秒17.1.2.2非 INVITE 请求和 INVITE 响应的最长重新传输时间间隔
T45 秒17.1.2.2消息可保留在网络中的最长持续时间
计时器 A最初为 T117.1.1.2INVITE 请求重新传输时间间隔(仅适用于 UDP)
计时器 B64*T117.1.1.2INVITE 事务超时计时器
计时器 D大于 32 秒(对于 UDP)17.1.1.2响应重新传输的等待时间
0 秒(对于 TCP 和 SCTP)
计时器 E最初为 T117.1.2.2非 INVITE 请求重新传输时间间隔(仅适用于 UDP)
计时器 F64*T117.1.2.2非 INVITE 事务超时计时器
计时器 G最初为 T117.2.1INVITE 响应重新传输时间间隔
计时器 H64*T117.2.1ACK 接收的等待时间
计时器 IT4(对于 UDP)17.2.1ACK 重新传输的等待时间
0 秒(对于 TCP 和 SCTP)
计时器 J64*T1(对于 UDP)17.2.2重新传输非 INVITE 请求的等待时间
0 秒(对于 TCP 和 SCTP)
计时器 KT4(对于 UDP)17.1.2.2响应重新传输的等待时间
0 秒(对于 TCP 和 SCTP)

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值