内核中的 SIP 计时器
SIP Timer inside core
我有以下关于 SIP 核心在 SIP 通信中的行为的问题。
假设A方呼叫B方。B收到INVITE并生成'200 OK'。生成'200 OK'后,B到达终止状态(SIP状态机),因此B中没有状态机。
现在如果“200 OK”没有到达 A,B 应该重新发送“200 OK”,因为它没有收到 ACK。 RFC 3261 表示重新传输“200 OK”是 SIP 核心的责任。
那么B的SIP核心中触发重传的是什么?它是否维护任何计时器?还是依赖于实现?
此致,
苏丹苏
从 B 重传 2xx 在 13.3.1.4 The INVITE is Accepted
部分有解释
准确的文字是这个:
The 2xx response is passed to the transport with an
interval that starts at T1 seconds and doubles for each
retransmission until it reaches T2 seconds (T1 and T2 are defined in
Section 17). Response retransmissions cease when an ACK request for
the response is received.
重传结束解释如下:
If the server retransmits the 2xx response for 64*T1 seconds without
receiving an ACK, the dialog is confirmed, but the session SHOULD be
terminated. This is accomplished with a BYE, as described in Section
15.
这意味着应用层(即:不是事务层)
需要管理定时器。
定时器 T1 和 T2 在 table 4 中定义:A Table of Timer Values。
T1 500ms default Section 17.1.1.1 RTT Estimate
T2 4s Section 17.1.2.2 The maximum retransmit
interval for non-INVITE
requests and INVITE
responses
T4 5s Section 17.1.2.2 Maximum duration a
message will
remain in the network
是否允许修改T1、T2、T4值。但是,理论上,对于普通的互联网,它们不应该被改变。
例如,如果所有 ACK 都丢失,则将在这些间隔内进行重传:
500 毫秒
1秒
2秒
4s
4s
4s
4s
...
直到总计为 64*T1 = 32 秒
我有以下关于 SIP 核心在 SIP 通信中的行为的问题。
假设A方呼叫B方。B收到INVITE并生成'200 OK'。生成'200 OK'后,B到达终止状态(SIP状态机),因此B中没有状态机。
现在如果“200 OK”没有到达 A,B 应该重新发送“200 OK”,因为它没有收到 ACK。 RFC 3261 表示重新传输“200 OK”是 SIP 核心的责任。
那么B的SIP核心中触发重传的是什么?它是否维护任何计时器?还是依赖于实现?
此致, 苏丹苏
从 B 重传 2xx 在 13.3.1.4 The INVITE is Accepted
部分有解释准确的文字是这个:
The 2xx response is passed to the transport with an
interval that starts at T1 seconds and doubles for each
retransmission until it reaches T2 seconds (T1 and T2 are defined in
Section 17). Response retransmissions cease when an ACK request for
the response is received.
重传结束解释如下:
If the server retransmits the 2xx response for 64*T1 seconds without
receiving an ACK, the dialog is confirmed, but the session SHOULD be
terminated. This is accomplished with a BYE, as described in Section
15.
这意味着应用层(即:不是事务层) 需要管理定时器。
定时器 T1 和 T2 在 table 4 中定义:A Table of Timer Values。
T1 500ms default Section 17.1.1.1 RTT Estimate
T2 4s Section 17.1.2.2 The maximum retransmit
interval for non-INVITE
requests and INVITE
responses
T4 5s Section 17.1.2.2 Maximum duration a
message will
remain in the network
是否允许修改T1、T2、T4值。但是,理论上,对于普通的互联网,它们不应该被改变。
例如,如果所有 ACK 都丢失,则将在这些间隔内进行重传:
500 毫秒 1秒 2秒 4s 4s 4s 4s ...
直到总计为 64*T1 = 32 秒