Звонки посредством IP-телефонии, аудио- и видеоконференции, а также другие коммуникации/активности, подразумевающие обмен и рассылку мультимедиа (речь, видео, файлы и пр.) по IP-сетям (Интернет, локальные и так далее) происходят по определенным правилам. Именно для определения этих правил и используется SIP protocol. Это — один из наиболее популярных протоколов для IP-телефонии (но, конечно, он далеко не единственный).
Давайте разберемся, как используется протокол SIP в IP телефонии, за что отвечает, как работает, и почему именно он пользуется такой популярностью.
За что отвечает SIP protocol
Для него можно выделить 3 основные функции:
-
Создание сеансов связи.
-
Их модификация (можно сказать, подстройка под ситуацию).
-
Завершение сеансов.
Важно понимать, что сам по себе протокол SIP в IP телефонии (и не только в ней, а вообще в принципе) не выступает в качестве транспортного. Т.е. мультимедиа-данные он не передает. Функции передачи данных возлагаются на другие (транспортные) протоколы. Это, например, может быть TCP, UDP или какой-то иной вариант.
С помощью СИП чаще всего решается одна из ключевых задач при организации сеансов связи — обмен данными о функциональных возможностях участников сеанса между ими самими. Такие сведения, в свою очередь, передаются с помощью отдельных протоколов описания сеансов связи SDP: сообщения протокола SDP передаются в теле сообщений SIP.
Принципы, на которых основан СИП-протокол
В ходе разработки SIP было уделено внимание соблюдению следующего набора принципов:
-
Интеграция в стек существующих протоколов IETF, которые используются при работе Интернета. Основной упор был сделан на совместимость с SDP, RTSP, RTP, RSVP.
-
Возможность взаимодействия с другими протоколами сигнализации. Это, в частности, H.323 (его часто приводят в качестве примера основного конкурента СИП), MEGACO/ H.248, DSS1, MGCP, ОКС7.
-
Обеспечение мобильности пользователей и отсутствие привязки к конкретному месту нахождения. Это при применении протокола SIP в IP телефонии обеспечивается за счет использования уникальных идентификаторов пользователей. Они позволяют пользователям без проблем менять местоположение, что не сказывается на процессах их подключения к сети и участия в общении.
-
Возможности масштабирования сети и расширяемости самого протокола. При использовании СИП-протокола обеспечивается возможность увеличения количества узлов сети. Расширяемость подразумевает возможность добавления поддержки новых функций для адаптации с разными приложениями.
Описание работы протокола SIP в IP телефонии
Принцип работы SIP в IP-телефонии можно описать с помощью набора следующих шагов:
1. Устройство, которому необходимо установить соединение, отправляет запрос INVITE (подробнее о типах запросов — ниже) на SIP-сервер. Он в свою очередь направляет этот запрос на устройство-адресат, которое указано в адресе назначения.
2. SIP-сервер находит адрес запрашиваемого устройства (для этого используется его уникальный идентификатор) и отправляет на него запрос INVITE.
3. Устройство назначения получает запрос INVITE, и в случае готовности, подтверждает это сообщением 200 OK.
4. При получении сообщения о готовности участия в сеансе связи, устройство, которое его инициировало, отправляет сообщение ACK, которое подтверждает получение сообщения 200 OK от устройства-адресата.
5. Устройства начинают передачу данных (голоса, видео и т.д.) между собой. Для этого используется транспортный протокол.
6. После окончании разговора любое из устройств, участвующих в сеансе, отправляет запрос BYE для завершения соединения. Затем SIP-сервер отправляет сообщение 200 OK для завершения сеанса связи на устройство-инициатор.
Кроме того, в процессе общения параметры сеанса могут меняться. Это также делается при помощи запросов определенного типа.
Запросы и сообщения, используемые SIP protocol
Таким образом, видно, что работа СИП-протокола основывается на использовании запросов в текстовом виде. Запросы используются для приглашения пользователей к участию в сеансе, модификации параметров сеансов, завершения и других действий.
Изначально их было 6. Но затем этот перечень был расширен. На данный момент протокол SIP в IP телефонии (и не только) использует следующие запросы:
-
INVITE. Отправляется вызываемому абоненту с целью пригласить его к участию в сеансе. Он содержит сведения о виде информации, которой будет происходить обмен в ходе сеанса, а также параметры сеанса. Если для подключения абонента к SIP-сервису требуется аутентификация, необходимые для этого данные передаются в INVITE.
-
ACK. Сообщение, которое инициатор сеанса отправляет после получения ответа от приглашенного участника на отправленный ранее запрос INVITE. Т.е. отдельно, само по себе такое сообщение не может отправляться, а только после того, как приглашенный абонент ответит на INVITE. Здесь также может содержаться конечное описание инициируемого сеанса связи.
-
CANCEL. Сообщение используется для отмены ранее отправленных запросов (сообщений) с определенными идентификаторами. Может использоваться, например, когда INVITE был отправлен по нескольким направлениям, и нужный абонент нашелся по одному из них.
-
BYE. Сообщение используется для оповещения о завершении соединения. Его отправляют вызываемые (приглашенные в сеанс) абоненты. При получении такого сообщения инициатор сессии должен прекратить передачу мультимедиа в сторону отправившего его абонента. В ответ на получение BYE инициатор также отправляет 200 OK.
-
OPTIONS. Используется для запроса у вызываемого абонента сведений о возможностях используемого им оборудования (ПО).
-
REGISTER. Это сообщение используется участниками сеанса для передачи своего текущего местоположения.
-
INFO. С помощью этого запроса организуется обмен информацией прикладного уровня. Она может быть использована, например, для обеспечения более эффективной работы приложений.
-
PRACK. Используется для реализации работы механизма обеспечения надежности передачи сообщения/запросов: т.е. чтобы ответы абонентов передавались надежно (с получением подтверждения их получения).
-
UPDATE. Используется для обновления информации об инициируемом сеансе связи до момента получения от вызываемого абонента ответа на INVITE.
-
SUBSCRIBE. Используется для создания для абонента подписки на получение информации о состоянии определенного ресурса.
-
NOTIFY. Как и предыдущий запрос, используется при работе механизма подписки. Он передается подписанному абоненту, когда происходит событие, на которое была создана подписка с помощью SUBSCRIBE.
-
REFER. Сообщение, которое позволяет организовать, например, переадресацию вызовов. В нем отправитель указывает параметры, по которым получателю нужно связаться с третьим абонентом.
-
MESSAGE. Запрос, с помощью которого обеспечивается передача мгновенных текстовых сообщений пользователю средствами SIP.
Прокси-серверы в SIP
При использовании протокола SIP в IP телефонии, помимо вызывающего и вызываемых абонентов, в качестве логических элементов сети также выступают прокси-серверы. Они отвечают за маршрутизацию SIP-запросов (сообщений).
В СИП прокси-серверы могут:
-
принимать решения о дальнейшей маршрутизации,
-
вносить изменения в запросы, перед тем как отправлять их на следующий элемент сети SIP,
-
работать с сохранением состояний (Stateful) или без сохранения состояний (Stateless).
IP-телефония и «традиционные» телефонные сети
IP-телефония сегодня не существует отдельно, сама по себе. Практически любая современная IP-АТС может взаимодействовать с «традиционной» телефонией: т.е. средствами SIP-телефонии можно совершать вызовы на номера фиксированной телефонной сети и наоборот — абоненты «традиционной» телефонии могут звонить виртуальные номера, которые закреплены за абонентами, использующими IP-телефонию.
Это обеспечивается за счет использования модификации SIP protocol, которая получила название SIP-T. В сетях фиксированной телефонной связи для установления соединений и управления каналами используется сигнализация ISUP. SIP-T обеспечивает взаимодействие IP-телефонии с «традиционной» за счет следующих факторов:
-
Обеспечение «прозрачности» СИП-сетей для сигнализации ISUP.
-
Маршрутизация SIP-запросов.от абонентов на основе информации, которая содержится в запросах и сообщениях ISUP.
-
Передача в ходе сеанса связи сигнальной информации, которая транслируется посредством ISUP.
SIP-T обеспечивает взаимодействие не только с фиксированными сетями телефонной связи, в которых используется ISUP. Он также работает и с «традиционными» сетями, в которых применяются другие протоколы сигнализации.
Взаимодействие IP-телефонии с обычной посредством SIP-T обеспечивает возможность не только совершать звонки из/в традиционных сетей в IP. Оно также позволяет использовать SIP-сеть в качестве транзитной для связывания двух фиксированных.
Таким образом, видно, что протокол SIP в IP телефонии (а также в других случаях, когда нужно организовать обмен речью и мультимедиа через IP-сети) не передает непосредственно речь или мультимедиа данные. Он задействуется в процессах установления сеансов связи, управления ими и завершения. Также с его помощью (а точнее с помощью модификации SIP-T) обеспечивается совместимость IP-телефонии и обычной фиксированной телефонной связи. Т.е. можно сказать, что СИП-протокол стирает границы между виртуальной и обычной телефонией.
Сторонники его использования отмечают простоту, по сравнению с другими протоколами сигнализации. Кроме того, говоря о преимуществах СИП часто оперируют его понятностью и пригодностью для чтения человеком. Также, за счет того, что здесь не используется хранение состояний, обеспечивается относительно простое и быстрое восстановление сеанса в случае возникновения отказов.
Ирина
- 17 апреля 2024, 11:27 0 ↓