2016-05-23 3 views
0

У меня есть вопрос о поведении SIP-ядра в SIP-связи.SIP Таймер внутри ядра

Предположим, что сторона, вызывающая сторона B. B получает INVITE и генерирует «200 OK». После генерации «200 OK» B достигает конечного состояния (SIP State Machine), и, следовательно, в B. состоянии нет конечного автомата.

Теперь, если «200 OK» не достигает A, B допускает повторную передачу ' 200 OK ', так как он не получил ACK. В RFC 3261 говорится, что основная ответственность SIP заключается в повторной передаче «200 OK».

Итак, что такое триггер в ядре S S B, чтобы отправить эту повторную передачу? Поддерживает ли он какие-либо таймеры? Или это зависит от реализации?

Привет, Sudhansu

ответ

1

restransmission из 2xx от B объясняется в разделе 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. 

Thi s означает, что прикладной уровень (то есть: не уровень транзакции) должен управлять таймерами.

таймеры T1 и T2 определены в таблице 4 : Д Таблица значений таймера.

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мс 1s 2s 4s 4s 4s 4s ...

до полной не 64 * T1 = 32 секунды

+0

Ожидаемый ответ от вас. Спасибо, очищает мои сомнения. – Sudhansu