SIP — как основной протокол IP-телефонии

Наиболее известным и широко используемым протоколом IP-телефонии является протокол инициации сеанса SIP (Session Initiation Protocol). Однако, в IP-телефонии задействовано много других протоколов, которые работают вместе с SIP.

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

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

SIP сам по себе не передает сам голос или видео. Он работает совместно с другими протоколами, которые передают медиа-данные сеанса.

Протоколы, обеспечивающие работу SIP

На рисунке ниже показаны протоколы, которые используются совместно с SIP. На рисунке показано, какое место они занимают в модели OSI. Часть из них относятся к уровню транспорта, а часть – лежит между уровнем транспорта и уровнем сессий. Это лишний раз показывает, что разработанная много лет назад достаточно умозрительно модель OSI часто неспособна адекватно вписываться в реальность.

SIP независим от протоколов, используемых на нижних уровнях, поэтому он может работать с любым протоколом транспортного уровня. Обычно используется UDP, хотя, если обмен сообщениями SIP защищен с помощью TLS (Transport Layer Security), то для сигнализации SIP используется TCP.

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

Протокол транспорта в реальном времени RTP (Realtime Transport Protocol) — RTP переносит фактические потоки мультимедиа, будь то голос, видео или и то, и другое вместе. В то время как SIP устанавливает соединения по сети, RTP переносит сам медиапоток (голос, видео…) через предоставленные соединения. В отличие от SDP, который является полезной нагрузкой SIP, сеансы RTP работают независимо и параллельно с сеансами SIP и управляются через эти SIP и SDP. RTP обычно работает поверх UDP и всегда функционирует совместно с RTCP.

Протокол управления RTP – RTCP (RTP Control Protocol) — RTCP собирает внеполосную статистику и информацию управления для сеансов RTP. Внеполосная (out-of-band) означает, что обмен этой информацией происходит в отдельном параллельном сеансе, а не в потоке мультимедийном потоке RTP. RTCP предоставляет обратную связь по качеству обслуживания QoS (Quality of Service), включая статистику, такую ​​как количество пакетов, потеря пакетов, джиттер и время задержки приема-передачи. Эта информация передается между конечными точками, которые могут реагировать на эти изменения, ограничивая потоки пакетов или переключаясь на другой доступный кодек. Некоторые модели IP-телефонов могут отображать сетевую статистику либо во встроенном веб-браузере на самом телефоне, либо на ЖК-экране телефона. Можно отслеживать такую ​​информацию, как используемый кодек, джиттер, полученные пакеты и потерянные пакеты. Все эти данные собираются с помощью протокола RTCP. Как и большинство других протоколов IP-телефонии, RTCP также работает с протоколом транспортного уровня UDP.

Протокол управления передачей/Протокол пользовательских датаграмм TCP/UDP (Transmission Control Protocol/User Datagram Protocol) — по умолчанию, все эти сопутствующие протоколы используют UDP в качестве базового протокола транспортного уровня. UDP имеет гораздо меньшие накладные расходы, чем TCP, поскольку у него нет никаких механизмов управления потоком, проверки ошибок или упорядочивания пакетов, и поэтому он больше подходит для транспортировки мультимедиа. Постоянный поток данных гораздо важнее правильного порядка пакетов или идеального прибытия пакетов, поскольку голос и видео достаточно некритичны к таким отклонениям до их определенного уровня. Половина потерянного слога или неправильный пиксель в одном кадре не имеют значения для разговора или просмотра видео.

Схема потока SIP-RTP-RTCP показана на рисунке ниже

В отличие от других протоколов телефонии, SIP имеет корни в интернет-сообществе, а не в отрасли телекоммуникаций. SIP был стандартизирован IETF, тогда как другие голосовые протоколы, такие как H.323 и ISDN, традиционно ассоциировались с Международным союзом электросвязи (МСЭ).

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

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

Интересным аспектом SIP (как и IP-телефонии в целом) является то, что голосовой и видео-трафик передается непосредственно от терминала к терминалу без необходимости прохождения через управляющий сервер (IP PBX). Голосовые пакеты передаются по инфраструктуре IP от конечной точки IP к конечной точке IP напрямую. Только некоторые сигналы SIP обязательно передаются через IP PBX для предоставления расширенных функций. Это касается связи между двумя IP-телефонами, которые находятся в одной системе IP PBX. В случаях, когда IP-телефон взаимодействует с традиционной телефонной сетью PSTN через медиашлюз, передача голосовых пакетов происходит между IP-телефоном и локальным шлюзом.

На следующей схеме показана внутренняя IP-сеть организации с двумя IP-телефонами, IP PBX и подключением к PSTN через SIP-транк. На схеме показаны различные типы потоков связи, которые имеют место для вызова.

Аватар Неизвестно

About Алексей Шалагинов

Независимый эксперт
Запись опубликована в рубрике Сетевые технологии, Технологии с метками , , , , . Добавьте в закладки постоянную ссылку.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.