Лекция 6

 

Сеть на базе протокола SIP

 

Второй подход к построению сетей IP-телефонии, предложенный рабочей группой MMUSIC комитета IETF в документе RFC 2543 [4], основан на использовании протокола SIP - Session Initiation Protocol.

   SIP представляет собой текст - ориентированный протокол, который является частью глобальной архитектуры мультимедиа, разработанной комитетом Internet Engineering Task Force (IETF). Эта архитектура также включает в себя:

      RFC 1889),

Однако функции протокола SIP не зависят от любого из этих протоколов.

   Сразу следует отметить, что хотя на сегодня наиболее широкое распространение получил протокол Н.323, всё большее количество производителей старается предусмотреть в своих новых продуктах поддержку протокола SIP. Пока это - единичные явления и серьезной конкуренции протоколу Н.323 они составить не могут. Однако, учитывая темпы роста популярности протокола SIP, весьма вероятно, что в ближайшем будущем решения на его базе займут значительную нишу рынка IP-телефонии.

   Подход SIP к построению сетей IP-телефонии намного проще в реализации, чем Н.323, но меньше подходит для организации взаимодействия с телефонными сетями. В основном это связано с тем, что протокол сигнализации SIP, базирующийся на протоколе HTTP, плохо согласуется с системами сигнализации, используемыми в ТфОП.

   Поэтому протокол SIP более подходит поставщикам услуг Интернет для предоставления услуги IP-телефонии, причем эта услуга будет являться всего лишь частью пакета услуг. Тем не менее, протокол SIP поддерживает услуги интеллектуальной сети (IN), такие как преобразование (мэппинг) имён, переадресация и маршрутизация [5], что существенно для использования SIP в качестве протокола сигнализации в сети общего пользования, где приоритетной задачей оператора является предоставление широкого спектра телефонных услуг.

   Другой важной особенностью протокола SIP является поддержка мобильности пользователя, т.е. его способности получать доступ к заказанным услугам в любом месте и с любого терминала, а также способности сети идентифицировать и аутентифицировать пользователя при его перемещении из одного места в другое. Это свойство SIP не уникально, и, например, протокол Н.323 тоже в значительной степени поддерживает такую возможность. Сейчас настал момент, когда эта возможность станет главной привлекательной чертой сетей IP-телефонии нового поколения. Данный режим работы потребует дистанционной регистрации пользователей на сервере идентификации и аутентификации. Перейдем непосредственно к архитектуре сетей, базирующихся

на протоколе SIP (рис. 6.1).

 

 

 

 

Рис. 6.1 Пример сети на базе протокола SIP

 

   Сеть SIP содержит основные элементы трех видов:

   Агенты пользователя (User Agent или SIP client) являются приложениями терминального оборудования и включают в себя две составляющие: агент пользователя - клиент (User Agent Client - UAC) и агент пользователя - сервер (User Agent Server - UAS), иначе известные как клиент и сервер соответственно.

   Клиент UAC инициирует SIP-запросы, т.е. выступает в качестве вызывающей стороны.    Сервер UAS принимает запросы и возвращает ответы, т.е. выступает в качестве вызываемой стороны. Кроме того, существует два типа сетевых серверов SIP:

   Серверы SIP могут работать как в режиме с сохранением состояний текущих

соединений (statefull), так и в режиме без сохранения состояний текущих соединений (stateless).

   Сервер SIP, функционирующий в режиме stateless, может обслужить сколь угодно большое количество пользователей, в отличие от привратника Н.323, который может одновременно работать с ограниченным количеством пользователей.

   Прокси-сервер (Proxy-server) действует « от имени других клиентов» и содержит функции клиента (UAC) и сервера (UAS). Этот сервер интерпретирует и может перезаписывать заголовки запросов перед отправкой их к другим серверам (рис. 6.2). Ответные сообщения следуют по тому же пути обратно к прокси-серверу, а не к клиенту.

 

 

 

Рис. 6.2 Сеть SIP с прокси-сервером

 

   Ниже представлен алгоритм установления соединения с помощью протокола SIP при участии прокси-сервера:

1. Прокси-сервер принимает запрос соединения INVITE от

оборудования вызывающего пользователя.

2. Прокси-сервер устанавливает местонахождение клиента с помощью сервера определения местоположения (location server).

3. Прокси-сервер передает запрос INVITE вызываемому

пользователю.

4. Оборудование вызываемого пользователя уведомляет

последнего о входящем вызове и возвращает прокси-серверу сообщение о том, что запрос INVITE обрабатывается (код 100). Прокси-сервер, в свою очередь, направляет эту информацию оборудованию вызывающего пользователя.

5. Когда вызываемый абонент принимает вызов, его оборудование извещает об этом прокси-сервер (код 200), который переправляет информацию о том, что вызов принят, к оборудованию вызывающего пользователя.

6. Вызывающая сторона подтверждает установление соединения передачей запроса АСК, которое прокси-сервер переправляет вызываемой стороне. Установление соединения закончено, абоненты могут обмениваться речевой информацией.

   Сервер переадресации (Redirect server) определяет текущее местоположение вызываемого абонента и сообщает его вызывающему пользователю (рис. 6.3). Для определения текущего местоположения вызываемого абонента сервер переадресации обращается к серверу определения местоположения, принципы работы которого в документе RFC 2543 не специфицированы.

 

 

 

 

Рис. 6.3 Сеть SIP с сервером переадресации

 

   Алгоритм установления соединения с использованием протокола SIP при участии сервера переадресации выглядит следующим образом:

1. Сервер переадресации принимает от вызывающей стороны

запрос соединения INVITE и связывается с сервером определения местонахождения, который выдает текущий адрес вызываемого клиента.

2. Сервер переадресации передает этот адрес вызывающей стороне. В отличие от прокси-сервера, запрос INVITE к оборудованию вызываемого пользователя сервер переадресации не передает.

3. Оборудование вызывающего пользователя подтверждает завершение транзакции с сервером переадресации запросом АСК.

4. Далее оборудование вызывающего пользователя передает запрос INVITE на адрес, полученный от сервера переадресации.

5. Оборудование вызываемого пользователя уведомляет последнего о входящем вызове и возвращает вызывающему оборудованию сообщение о том, что запрос INVITE обрабатывается (код 100).

6. Когда вызываемый абонент принимает вызов, об этом извещается оборудование вызывающего пользователя (код 200).

   Установление соединения закончено, абоненты могут обмениваться речевой информацией. Существует также и бессерверный вариант соединения, когда один терминал может передать запрос другому терминалу непосредственно. Дадим краткую характеристику самого протокола SIP. Следует заметить, что сообщения SIP могут переноситься как протоколом TCP, так и протоколом UDP.

   Протокол SIP предусматривает 6 запросов и ответов на них. Сигнализация SIP дает возможность пользовательским агентам и сетевым серверам определять местоположение, выдавать запросы и управлять соединениями.

   INVITE - запрос привлекает пользователя или услугу к участию в сеансе связи и содержит описание параметров этой связи. С помощью этого запроса пользователь может определить функциональные возможности терминала своего партнера по связи и начать сеанс связи, используя ограниченное число сообщений и подтверждений их приема.

   АСК - запрос подтверждает прием от вызываемой стороны ответа на команду INVITE и завершает транзакцию.

   OPTIONS - запрос позволяет получить информацию о функциональных возможностях пользовательских агентов и сетевых серверов. Однако этот запрос не используется для организации сеансов связи.

   BYE - запрос используется вызывающей и вызываемой сторонами для разрушения соединения. Перед тем как разрушить соединение, пользовательские агенты отправляют этот запрос к серверу, сообщая о намерении прекратить сеанс связи.

   CANCEL- запрос позволяет пользовательским агентам и сетевым серверам отменить любой ранее переданный запрос, если ответ на нее еще не был получен.

   REGISTER - запрос применяется клиентами для регистрации информации о местоположении с использованием серверов SIP.

Более подробная информация о протоколе SIP приведена в [1] глава 7.

 

Контрольные вопросы

 

  1. Дайте определение протокола SIP.
  2. Перечислите протоколы, которые включает в себя архитектура SIP.
  3. Какие услуги IN поддерживает протокол SIP.
  4. Изобразите структуру сети на базе протокола SIP.
  5. Перечислите и охарактеризуйте элементы сети на базе протокола SIP.
  6. Перечислите типы серверов сети на базе протокола SIP.
  7. Дайте характеристику режима statefull сервера SIP.
  8. Дайте характеристику режима stateless сервера SIP.
  9. Как работает прокси сервер SIP.
  10. Начертите диаграмму установления соединения в сети SIP с прокси-сервером.
  11. Что означает сигнал INVITE при установлении соединения в сети SIP.
  12. Что означает сигнал код 100, при установлении соединения в сети SIP.
  13. Что означает сигнал код 200, при установлении соединения в сети SIP.
  14. Что означает сигнал АСК, при установлении соединения в сети SIP.
  15. Начертите диаграмму установления соединения в сети SIP с сервером переадресации.
  16. Каким протоколом могут переноситься сообщения SIP.
  17. Что означает сигнал OPTIONS при установлении соединения в сети SIP.
  18. Что означает сигнал BYE при установлении соединения в сети SIP.
  19. Что означает сигнал CANCEL при установлении соединения в сети SIP.
  20. Что означает сигнал REGISTER при установлении соединения в сети SIP.

 

 

Библиография

 

1.      Гольдштейн Б.С. и др. IP-телефония.М., Радио и Связь, 336с.

2.      Росляков А. В., и др. IP-телефония.М., Эко-Трендз, 2003.

3.      Дэвидсон Д. и др. Основы передачи голосовых данных по сетям IP.,М., 2007.,391 с.

4.      RFC 2543. SIP: Session Initiation Protocol. M. Handley, H. Schuizrinne, E. Schooler, J. Rosenberg. March 1999.

5.      Гольдштейн Б.С., Ехриель И.М., Рерле Р.Д. Интеллектуальные сети. М.: Радио и связь, 2000.