Новое Горячие клиенты через 15 минут. Подробнее

К основному содержанию
ZVONTI
Меню

SIP

Session Initiation Protocol · СИП-протокол

SIP — протокол установления голосовой связи через интернет, на котором работает практически вся современная IP-телефония.

SIP (Session Initiation Protocol) — это протокол, который договаривается об установлении, изменении и завершении голосового или видеосеанса через интернет. Сам голос по SIP не передаётся — SIP только «настраивает» звонок, а разговор идёт отдельным потоком.

Именно на SIP строится вся современная IP-телефония: устройства из разных экосистем — SIP-телефоны, софтфоны, облачные АТС — созваниваются друг с другом, не зная, что физически звонок идёт через интернет, а не по телефонным проводам.

Как устанавливается звонок

Соединение SIP — это обмен текстовыми сообщениями, похожими на HTTP-запросы. Упрощённо это выглядит так:

  1. INVITE — приглашение к сеансу с описанием, какие кодеки поддерживает звонящий (это описание называется SDP).
  2. 180 Ringing — на другой стороне звонит.
  3. 200 OK — вызов принят, отправитель подтверждает приём командой ACK.
  4. Голос пошёл — но уже не по SIP, а по протоколу RTP, на адреса и порты, согласованные на шаге INVITE.
  5. BYE — любая сторона завершает сеанс.

Отдельная команда — REGISTER: ей SIP-телефон или приложение сообщает серверу, что оно онлайн и готово принимать вызовы на определённый номер.

SIP — протокол, SIP-транк — услуга подключения

Это разные вещи, хотя их постоянно путают. SIP — открытый стандарт: на нём говорят SIP-телефоны, софтфоны, облачные АТС и оборудование разных производителей, и это не покупается — это язык, на котором устройства договариваются между собой.

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

Транспорт и порты

SIP обычно передаётся по UDP на порт 5060, реже — по TCP; для шифрования сигнализации используют TLS на порту 5061 (такую защищённую версию иногда называют SIPS). Голос при этом идёт отдельно — по RTP, на динамических UDP-портах, которые устройства согласовывают через SDP при установлении звонка.

Разделение сигнализации и голоса — источник частой путаницы при диагностике: если звонок устанавливается (сигнализация работает), а звука нет, проблема почти всегда в RTP-потоке, а не в самом SIP. Для медиапотока обычно выделяют диапазон динамических портов, например UDP 10000–20000, — конкретные значения провайдер и АТС согласовывают через SDP при каждом звонке заново, а не фиксируют один порт навсегда.

Кстати, несмотря на название, SIP придуман не только под голос: тот же протокол устанавливает видеосеансы и другие виды сеансов реального времени. Просто в телефонии его используют почти исключительно для голоса, поэтому SIP и ассоциируется прежде всего со звонками.

Типичная проблема: NAT и SIP ALG

Голос без звука на одной или обеих сторонах — самая частая жалоба при настройке SIP за роутером. Причина обычно в NAT: устройство внутри локальной сети сообщает во внешний мир свой внутренний адрес, а не публичный, и ответный RTP-поток летит не туда.

Часть роутеров пытается «чинить» это автоматически — функция называется SIP ALG (Application Layer Gateway), — но на практике чаще ломает пакеты сильнее, чем помогает. Первое, что проверяют при проблемах со звуком за роутером, — отключить SIP ALG; для более сложных сценариев используют STUN, TURN или пограничный контроллер сессий (SBC).

Из-за этой чувствительности к сети облачные АТС стараются свести настройку SIP на стороне клиента к минимуму — вплоть до того, что голос идёт прямо через браузер, без установки отдельного SIP-клиента на компьютер.

Нужен такой обзвон у себя?

Посчитаем стоимость под ваше число операторов и базу. Оставьте телефон — перезвоним в рабочее время.

Ни к чему не обязывает.

Или сразу смотреть тарифы и калькулятор