Процедуры UAC. Создание начального запроса INVITE |
|
Формирование первоначального запроса INVITE происходит вне диалога с использованием соответствующих стандартных процедур. Дополнительная обработка требуется лишь в особых случаях. Как правило, INVITE содержит заголовок Allow. Он указывает, какие типы запросов могут быть использованы вызывающей стороной в процессе диалога. Скорее всего, в запросе будет также присутствовать заголовок Supported. Он перечисляет все расширения, поддерживаемые клиентом агента пользователя. Возможно присутствие заголовка Accept, который указывает поддерживаемые данным УАтипы тел сообщения из предложенных в принятом ответе или запросе в ходе диалога. Заголовок Accept особенно важен для индикации поддержки различных форматов описания сеансов. UAC можеттакже добавить заголовок Expires, чтобы ограничить время действия приглашения к установлению соединения. Если время, указанное в Expires, истечет до получения окончательного ответа на INVITE, UAC передает сообщение CANCEL. Кроме этого, UAC может посчитать нужным добавить заголовки Subject, Organization и User-Agent; все они содержат информацию, относящуюся к запросу INVITE. UAC может добавить в запрос INVITE тело сообщения. Существуют отдельные правила для тел, содержащих описание сеанса связи, - их заголовок Content-Disposition имеет значение session. Протокол SIP использует модель типа «запрос/ответ» (offer/answer), где один UA посылает предложение - запрос с описанием сеанса. Запрос предлагает желаемые средства общения (аудио, видео), их параметры (такие как типы кодека) и адреса для получения медиа-информации от отвечающей стороны. Другой UA отвечает своим описанием сеанса, указывающим, какие средства общения приняты, параметры, применяемые к ним, и адреса для получения медиа-информации от инициатора запроса. Обмен offer/ answer происходит в контексте диалога, поэтому когда передача запроса INVITE приводит к созданию нескольких диалогов, обмен происходит отдельно для каждого. Имеются следующие правила использования модели offer/answer для начальной INVITE-транзакции:
|

