+7 (812) 640-39-99 Пн-Пт с 10:00 до 18:00 info@trikspb.ru

Что такое SIP?

SIP - это протокол установления сеанса. В области IP и традиционной телефонии сетевые инженеры всегда проводили четкое различие между двумя различными фазами голосового вызова. Первый этап - «настройка вызова» и включает в себя все детали, необходимые для разговора двух телефонов. Как только вызов настроен, телефоны переходят в фазу «передачи данных» вызова, используя совершенно другое семейство протоколов для фактического перемещения голосовых пакетов между двумя телефонами. В мире VoIP SIP - это протокол настройки вызова, который работает на прикладном уровне. Возможно, вы также слышали о H.323, протоколе ITU с аналогичной функцией.

SIP - очень гибкий протокол с большой глубиной. Он был разработан как универсальный способ организации мультимедийных сеансов в реальном времени между группами участников. Например, в дополнение к простым телефонным вызовам SIP также можно использовать для настройки многоадресных видео- и аудиоконференций или обмена мгновенными сообщениями. В этом документе мы сосредоточимся на возможностях SIP для VoIP и на том, как он устанавливает вызовы, которые затем используют RTP (транспортный протокол реального времени) для фактической отправки голосовых данных между телефонами.

SIP имеет более широкое назначение, чем просто устанавливает вызов. Ниже показаны пять основных функций в SIP с точки зрения VoIP:
1. Местоположение пользователя и регистрация - Конечные точки (телефоны) уведомляют SIP-прокси о своем местонахождении. SIP определяет, какие конечные точки будут участвовать в вызове.
2. Доступность пользователя - SIP используется конечными точками для определения того, будут ли они «отвечать» на вызов.
3. Пользовательские возможности - SIP используется конечными точками для согласования мультимедийных возможностей, таких как согласование взаимно поддерживаемого голосового кодека.
4. Настройка сеанса - SIP сообщает конечной точке, что его телефон должен «звонить»; SIP используется для согласования атрибутов сеанса, используемых вызывающей и вызываемой стороной.
5. Управление сессиями - SIP используется для передачи вызовов, завершения вызовов и изменения параметров вызова в середине сеанса (например, добавление трехсторонней конференции).

SIP используется для передачи вызовов, завершения вызовов и изменения параметров вызова в середине сеанса (например, добавление трехсторонней конференции).

Одна из замечательных особенностей SIP заключается в том, что это текстовый протокол, смоделированный по модели «запрос/ответ», используемой в HTTP. Это облегчает отладку, потому что сообщения легко конструировать (если вы разработчик) и их легко увидеть (если вы администратор сети). В отличие от H.323, SIP является чрезвычайно простым протоколом. Тем не менее, он обладает достаточно мощными функциями для моделирования поведения очень сложной традиционной телефонной АТС.

SIP может работать через IPv4 и IPv6 и использовать TCP или UDP. Однако наиболее распространенные реализации используют IPv4 и UDP. Это минимизирует накладные расходы, тем самым повышая производительность.

Хотя два SIP-устройства могут напрямую общаться друг с другом, они обычно используют промежуточную систему, которая действует как SIP-прокси. Обратите внимание, что прокси-сервер SIP участвует только в сообщениях SIP, после установления вызова телефоны отправляют свой голосовой трафик непосредственно друг другу без участия прокси-сервера. SIP-прокси очень полезны для разгрузки задач и упрощения реализации телефонов конечных станций. Например, SIP-телефон может захотеть позвонить на другой телефон с добавочным номером 111. Возможно у телефона есть какой-то волшебный способ преобразования этого 111 в IP-адрес или местоположение, но, как правило, телефон просто отправляет запрос вызова на свой собственный SIP-прокси. Задача SIP-прокси - узнать, что на самом деле означает «111»: это телефон? Система автосекретаря? Может быть, несколько телефонов, которые будут звонить одновременно?

Мы обычно подразумеваем что в телефонии есть числовые адреса. В SIP конечная станция имеет URI SIP (форма URL), который идентифицирует ее и используется в протоколе SIP. Поскольку телефоны имеют цифровые клавиатуры, телефон отвечает за перевод набираемого вами номера (например, добавочного номера 111) в URL-адрес SIP (например, sip: 111@sip.local.net).

На диаграмме ниже показан диалог SIP, в котором участвуют две стороны (100 и 101) и их прокси-сервер SIP: sip.local.net. В этом случае сообщения SIP были сильно сокращены, чтобы показать поток трафика.

Хотя на диаграмме показано, что прокси-серверы не участвуют в протоколе SIP после того, как 100 получит подтверждение, что 101 поднял трубку, не каждый вызов будет работать таким образом. Прокси-сервер может выбрать «удержание» разговора даже после того, как вызов подключен, чтобы обеспечить некоторые функции промежуточного вызова, такие как услуги конференцсвязи. Обратите внимание, что даже если прокси-сервер находится на «удержании», мы все еще говорим только о SIP-части вызова - голосовой трафик обычно передается напрямую с одного телефона на другой после установления вызова.

Еще одна распространенная операция в SIP называется «Регистрация». В нашем примере, это может быть то, как прокси-сервер sip.local.net узнал, где находится 101. Возможность регистрации особенно полезна в среде, где телефоны не имеют статических IP-адресов (например, среда DHCP или когда телефон путешествует со своим владельцем). В SIP, сервер регистрации может быть расположен совместно с прокси-сервером или это могут быть разные системы.

Поскольку SIP используется для управления вызовами, такие функции, как голосовая почта и автосекретарь, не являются частью самого протокола SIP. Вместо этого они предоставляются конечными точками, которые отправляют и принимают вызовы сами. Это означает, что сеть VoIP на основе SIP не имеет реальной параллели с УАТС в традиционной телефонии. Вы можете услышать термин «SIP-сервер» или «SIP PBX», используемый для описания прокси-сервера SIP, но его функциональность совершенно иная. Однако, можно интегрировать некоторые традиционные функции УАТС, такие как конференц-связь, в прокси-сервер SIP. Например, прокси-сервер Asterisk SIP, включает как голосовую почту, так и автосекретаря. В других случаях, таких как сервер конференц-связи с высокими требованиями к обработке цифрового сигнала, может потребоваться отдельное выделенное устройство.

Чтобы дать вам представление о том, насколько прост SIP, мы включили здесь сообщение SIP, показывающее соединение абонента 100 с абонентом 101.

В этом сообщении часть INVITE протокола сеанса (RFC 2327) не показана; SDP - это место, где будут указываться характеристики голосового трафика, такие как выбор аудиокодека. Легко читаемый формат SIP сделал реализацию и отладку SIP проще, чем другие подобные протоколы, такие как H.323.

INVITE sip:101@sip.local.net SIP/2.0
Via: SIP/2.0/UDP sip.local.net;branch=z9hG4bK77ds
Max-Forwards: 70
To: Bob <sip:101@sip.local.net >
From: Alice <sip:100@sip.local.net >;tag=1928301774
Call-ID: 100@sip.local.net
CSeq: 314159 INVITE
Contact: <sip:100@sip.local.net >
Content-Type: application/sdp
Content-Length: 142