Прием запроса INVITE |
|
Ядро UAS формирует ответ класса 2хх, который устанавливает диалог. Ответ класса 2хх на запрос INVITE, как правило, содержит заголовки Allow и Supported и, возможно, заголовок Accept. Содержимое этих заголовков позволяет UAC определить типы запросов и расширения, поддерживаемые UAS на протяжении сеанса, без дополнительных проб. Если запрос INVITE содержит offer, и UAS еще не передал answer, ответ класса 2хх должен включать в себя answer. Если в запросе INVITE нет offer, ответ класса 2хх должен содержать offer в случае, если UAS еще не передал offer. Как только ответ сформирован, он передается серверной INVITE-транзакции. Заметим, что серверная INVITE-транзакция будет разрушена, как только она получит окончательный ответ и передаст его на транспортный уровень SIR Следовательно, необходимо периодически передавать ответы непосредственно на транспортный уровень SIP, пока не придет подтверждение АСК. Ответ класса 2хх передается на транспортный уровень SIP с интервалом, начинающимся сТ1 и удваивающимся после каждой повторной передачи, пока не достигнет Т2 (величины Т1 и Т2. Повторения передачи ответа прекращаются, как только приходит подтверждение АСК, не зависимо оттого, какие транспортные протоколы используются для доставки ответов. Повторная передача ответа класса 2хх является «сквозной», в тоже время, не исключается возможность наличия в сети звеньев, использующих для передачи ответов протокол UDP. Чтобы гарантировать надежную доставку на этих участках, повторная передача ответа класса 2хх производится даже при использовании UAS надежного транспортного протокола, такого как TCP. Если за время повторной передачи ответа класса 2хх, равное 64 Т1, подтверждение АСК не приходит, диалог устанавливается, но сеанс должен быть разрушен. Это происходит путем передачи сообщения BYE. |

