Протокол SIP. Гольдштейн Б.С - 19 стр.

UptoLike

Рубрика: 

19
информации от отвечающей стороны. Другой UA отвечает своим описани-
ем сеанса, указывающим, какие средства общения приняты, параметры,
применяемые к ним, и адреса для получения медиа-информации от ини-
циатора запроса. Обмен offer/answer происходит в контексте диалога, по-
этому когда посылка запроса INVITE приводит к созданию нескольких
диалогов, обмен происходит отдельно для каждого.
Как правило, определяют два вида обмена для агентов пользователя:
Offer в запросе INVITE, answer в ответе 2хх (и, возможно, в ответе 1хх с
тем же значением).
Offer в ответе 2хх, answer в подтверждении ACK.
После создания запроса INVITE UAC отправляет его, следуя процеду-
рам, определённым для отправки запросов вне диалога. Это приводит к
формированию клиентской транзакции, которая, в конечном счёте, отправ-
ляет запрос и доставляет ответы для клиента.
До получения окончательного ответа может прийти любое число
предварительных ответов класса 1хх.
Ответы класса 3хх могут содержать в поле заголовка Contact одно и
больше значений, указывающих адреса, по которым вызываемый пользова-
тель может быть доступен.
На запрос INVITE могут быть получены окончательные ответы класса,
отличного от 2хх. Ответы класса 4xx, 5xx и 6xx могут содержать в поле за-
головка Contact значение, указывающее местонахождение дополнительной
информации об ошибке. При получении окончательного ответа класса, от-
личного от 2хх, все диалоги, находящиеся на «ранней стадии», разрушают-
ся.
Получение любого окончательного ответа на запрос INVITE необхо-
димо подтвердить отправкой запроса ACK.
Модификации сессии
Успешный запрос INVITE устанавливает диалог между двумя агента-
ми пользователя и сессию, используя модель offer/answer. Модификация
сессии может затрагивать изменение адресов или портов, добавление или
удаление медиапотока и т.д. Это выполняется путём отправки запроса
INVITE в том же диалоге, который установил сеанс связи. Запрос INVITE,
отправленный в существующем диалоге, называется re-INVITE. Одно со-
общение re-INVITE может одновременно модифицировать и диалог, и па-
раметры сессии. Модифицировать сессию способен как вызывающий, так и
вызываемый пользователь. Одним из вариантов применения этого запроса
является постановка абонента на удержание. Для этого используется запрос
re-INVITE, содержащий в SDP-описании сессии параметр sendonly, для
снятия с удержания также отправляется запрос re-INVITE, содержащий в
теле сообщения параметр sendrecv.