Пользуясь IP-телефонией, мы не задумываемся о процессах, происходящих при установлении соединения. Но технически продвинутые люди желают знать подробности. Поэтому тема нашей статьи – SIP-протокол для чайников, где мы разберёмся, как он работает.
SIP-протокол – что это такое
SIP-протокол представляет собой протокол инициирования сеанса связи, активно используемый в IP-телефонии. Он отличается гибкостью и возможностью масштабирования. Он обеспечивает создание, модификацию и завершение сеансов между двумя и более участниками. По своей структуре он похож на протокол HTTP, так как пересылаемые в его рамках сообщения состоят из заголовков и тел. Этими сообщениями обмениваются серверы, прокси-серверы и абонентские терминалы, используемые в телефонии.
Использование SIP-протокола в IP-телефонии обеспечивает:
- Полную мобильность пользователей – они могут находиться в любой точке мира.
- Возможность масштабирования сети – используя соответствующие технические мощности, можно значительно увеличить количество абонентов без дополнительных сложностей и расходов.
- Расширяемость – с помощью SIP-протокола организуются сеансы передачи мультимедийной информации. Также он позволяет передавать файлы, проводить видеоконференции и видеосеансы между двумя пользователями, обеспечивает взаимодействие с бизнес-софтом.
Также он взаимодействует с другими протоколами, используемыми в системах связи.
Этот же протокол используется для установления сеансов связи в онлайн-играх, устанавливая соединение между игроками.
История разработки
Данный протокол появился на свет в середине 90-х годов, причём в 2000 году он был принят в качестве основного сигнального протокола в мобильной связи. Ещё через два года появляется его вторая версия (SIP 2.0). С той поры он активно используется в IP-телефонии. Тем самым он почти полностью похоронил устаревший протокол H.323, используемый для организации телефонии и сеансов видеосвязи. Долгое время тот был безусловным лидером, но впоследствии его заменил SIP. Что касается H.323, то он используется и сегодня, но вытесняется всё больше и больше.
Аббревиатура SIP расшифровывается как Session Initiation Protocol. Он обеспечивает инициализацию и установление сеансов связи, отличаясь от H.323 своей гибкостью. Но если в H.323 была заложена экономия трафика, то для SIP это не характерно – существующие сегодня каналы связи характеризуются высокой производительностью, что позволяет не экономить трафик. SIP получился более перспективным, он активно используется в IP-телефонии, на его основе работают офисные облачные АТС.
Описание и операции
Основу протокола составляют шесть типов запросов. Первый – INVITE, он является инициирующим, вызывая другой терминал. В описании запроса содержится список сервисов, необходимых для данного сеанса связи. Установка связи подтверждается запросом ACK, в то время как для завершения текущего сеанса используется запрос BYE. Неактуальные в данный момент запросы отменяются запросом Cancel.
Что касается Register, то он определяет местоположение вызываемого терминала. А запрос OPTIONS является предшествующим запросам INVITE и ACK. Он запрашивает функциональные возможности терминала вызываемого пользователя.
SIP-протокол, наряду с абонентскими терминалами, подразумевает использование промежуточных серверов:
- Прокси-сервера – обеспечивает приём и обработку вышеуказанных запросов.
- Сервера местоположений – обеспечивает мобильность пользователей IP-телефонии.
- Сервера переадресации – хранит записи о прокси-серверах и абонентских терминалах.
Все эти устройства взаимодействуют с помощью запросов, приведённых выше. На каждый запрос высылается тот или иной ответ:
- 1xx – класс информационных ответов, не являющихся завершающими;
- 2xx – ответы об успешном завершении того или иного запроса;
- 3xx – абонент изменил местоположение;
- 4хх – категория сообщений о каких-либо ошибках;
- 5хх – категория серверных ошибок;
- 6хх – ответы, связанные с невозможностью вызова абонента.
Иными словами, каждый сеанс установления связи – это обмен запросами с отправкой ответов. Причём SIP-протокол работает поверх транспортных протоколов (чаще всего это TCP и UDP с портами 5060 и 5061).
Для чего используется
Данный протокол активно используется в IP-телефонии, в том числе для работы виртуальных АТС. Пользователи могут вызывать друг друга, обмениваться файлами и мультимедийной информацией, привлекать к установленному сеансу других участников, управлять переводом звонков. Также он используется при проведении сеансов видеосвязи и видеоконференций. Нельзя не отметить и его применение в онлайн-играх, где нужно соединить двух и более игроков. Благодаря гибкости он нашёл своё место в бизнес-процессах, обеспечивая взаимодействие телефонии и бизнес-приложений.
Как работает SIP-протокол
Процедура установления связи проста – один терминал отправляет запрос INVITE, в котором указаны необходимые сервисы (например, только голосовая связь). Он попадает на сервер переадресации, который отправляет запрос определения местоположения. После получения ответа он отправляет вызывающему терминалу свой ответ о том, что вызываемый абонент находится по тому или иному адресу.
На следующем этапе вызывающий терминал отправляет запрос INVITE непосредственно на вызываемый терминал – тот отвечает сообщением Trying, подтверждая обработку поступившего запроса. После завершения обработки вызываемый терминал подаёт сигнал вызова, оповещая об этом вызывающую сторону. Как только абонент примет вызов, вызывающий абонент получит ответ 200 ОК – начнётся разговор. По завершении разговора вызывающей стороне направляется запрос BYE, который подтверждается ответом 200 ОК.
Для установления связи могут использоваться и другие сценарии, когда абоненты связываются только через прокси (так работают офисные АТС). Ещё один сценарий, более сложный, подразумевает использование серверов регистрации пользователей.
В сетях IP-телефонии чаще всего используются два последних сценария, обеспечивающие простоту и гибкость соединения абонентов, независимо от их местоположения. Обратите внимание, что SIP может взаимодействовать с сетями традиционной телефонии.
Куда можно звонить
IP-телефония с использованием SIP-протокола позволяет совершать вызовы в любых направлениях:
- Внутри сети между двумя и более абонентами.
- Между сетями, с использованием полного адреса.
- На стационарные и мобильные номера по всему миру.
Также можно позвонить непосредственно SIP-абоненту, используя для этого городские шлюзы – звоним на номер провайдера, далее набираем внутренний номер абонента. Кстати, самим номером является SIP ID – это внутренний идентификатор абонента. Полный номер выглядит как имя@домен. Например, [email protected] – это полный идентификатор абонента у VoIP-провайдера Zadarma.
VoIP-оператор Zadarma обеспечивает и качественную передачу голоса, даря абонентам денежный бонус для тестирования качества связи.
Плюсы и минусы
Положительные черты SIP-протокола:
- Лёгкость в расширении – при необходимости сюда можно внедрить новые сервисы.
- Быстрая установка соединений между абонентами.
- Лёгкость в освоении – описание спецификаций занимает 150 листов против 700 листов у протокола H.323;
- Отсутствие привязки абонентов к определённому местоположению – абонент с терминалом может перемещаться по всему миру, оставаясь на связи по прежнему адресу.
- Применение SIP-протокола позволяет с лёгкостью расширять сети на тысячи и десятки тысяч абонентов.
Недостатков у него почти нет, а наблюдаемые сбои при установлении соединения чаще всего связаны с некорректной работой интернет-каналов. Кроме того, некоторые провайдеры используют излишне сильное сжатие голосовых данных, экономя трафик – это приводит к ухудшению качества передачи голоса. Но сам протокол здесь совершенно ни при чём – он выполняет всего лишь сигнальную функцию, устанавливая соединение поверх транспортных протоколов с применением определённых кодеков.
За SIP-протоколом будущее – это стало известно ещё в середине 90-х годов, когда многочисленные эксперименты показали его превосходство над H.323. Сегодня он используется почти всеми VoIP-провайдерами, обеспечивая абонентов качественной связью и почти мгновенным соединением. Не является исключением и вышеупомянутый провайдер Zadarma – лёгкий в подключении, с качественной связью и низкими тарифами.