Реализация дополнительных услуг на базе протокола SIP

      В этом параграфе рассматриваются примеры реализация дополнительных услуг на базе протокола SIP.
      Дополнительная услуга «Переключение связи» позволяет пользователю переключить установленное соединение к третьей стороне. На рисунке 12 приведен пример реализации этой услуги. Пользователь В устанавливает связь с пользователем А, который, переговорив с В, переключает эту связь к пользователю С, а сам отключается.

Дополнительная услуга
Рис. 12 Дополнительная услуга "Переключение связи"

      Дополнительная услуга «Переадресация вызова» позволяет пользователю назначить адрес, на который, при определенных условиях, следует направлять входящие к нему вызовы. Такими условиями могут быть занятость пользователя, отсутствие его ответа в течение заданного времени или и то, и другое; возможна также безусловная переадресация. Оборудование пользователя, заказавшего эту услугу, получив сообщение INVITE В, проверяет условия, в которых оно получено, и если условия требуют переадресации, передает сообщение INVITE с заголовком Also, указывая в нем адрес пользователя, к которому следует направить вызов. Терминал вызывающего пользователя, получив сообщение INVITE с таким заголовком, инициирует новый вызов по адресу, указанному в поле Also. В нашем случае пользователь А вызывает пользователя В, а терминал последнего переадресует вызов к пользователю С (Рисунок 13).
      Дополнительная услуга «Уведомление о вызове во время связи» позволяет пользователю, участвующему в телефонном разговоре, получить уведомление о том, что к нему поступил входящий вызов (Рисунок 14).

Дополнительная услуга
Рис. 13 Дополнительная услуга "Переадресация вызова"

Дополнительная услуга "Уведомление о вызове во время связи"
Рис. 14 Дополнительная услуга "Уведомление о вызове во время связи"

      Услуга реализуется с помощью заголовка Call-Disposition, в котором содержится инструкция по обслуживанию вызова. Вызывающий пользователь передает запрос INVITE с заголовком Call-Disposition: Queue, который интерпретируется следующим образом: вызывающий пользователь хочет, чтобы вызов был поставлен в очередь, если вызываемый пользователь будет занят. Вызываемая сторона подтверждает исполнение запроса ответом 182 Queued, который может передаваться неоднократно в течение периода ожидания. Вызываемый пользователь получает уведомление о входящем вызове, а когда он освобождается, вызывающей стороне передается финальный ответ 200 ОК.

<
Cодержание
>
Hosted by uCoz