Составители:
Рубрика:
20
Разрушение сессии
Когда сессия инициируется сообщением INVITE, каждый ответ 1хх
или 2хх отдельного UAS создаёт диалог, и если ответ завершает обмен
offer/answer, создаёт сессию. В итоге, каждая сессия связывается с одним
диалогом. Если на начальный запрос INVITE придёт окончательный ответ
не 2хх, он разрушит все сессии и диалоги (если они существовали), создан-
ные посредством ответов на запрос. Завершая транзакцию, окончательный
ответ не 2хх предотвращает также создание сессий как результата отправки
запроса INVITE.
Для намеренного завершения сессий используется запрос BYE. Когда
участнику диалога приходит сообщение BYE, все сессии, связанные с дан-
ным диалогом, должны быть разрушены. UA вызывавшего пользователя
может послать BYE как в установленном диалоге, так и в диалогах, нахо-
дящихся на «ранней стадии», а UA вызванного пользователя может отпра-
вить BYE только в установленном диалоге. UA вызванного пользователя не
должен отправлять BYE до тех пор, пока не получит подтверждения ACK
получения своего ответа класса 2хх.
Отмена запроса
Запрос CANCEL, согласно его названию, служит для отмены пред-
шествующего запроса, отправленного клиентом. Точнее, он запрашивает
UAS прекратить обработку запроса и создать ответ на него с определённым
кодом. Запрос CANCEL не оказывает воздействия на запрос, на который
UAS уже дал окончательный ответ. Поэтому отмена запросов представляет
наибольшую важность для запросов, формирование ответов на которые
требует больших затрат серверного времени. По этой причине CANCEL
лучше всего подходит для отмены запросов INVITE, которые требуют
большого времени для генерации ответа.
1.6. Базовый вызов
Диаграмма (рис. 1.9) представляет типичный пример обмена SIP-
сообщениями между двумя пользователями User A и User B. В этом приме-
ре User A использует SIP-приложение на своём ПК (называемое англоя-
зычным термином «softphone») для вызова User B через сеть Интернет; при
этом User B принимает вызов на свой SIP-телефон. Два прокси-сервера SIP,
изображённых на рисунке, действуют от имени пользователей, выполняя
функции посредника при установлении сессии.
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »
