Сип-телефония – что это такое? Простыми словами
SIP-телефония – это способ голосовой связи через интернет на основе протокола SIP. Благодаря ему устройства, используемые абонентами для звонков, «понимают» друг друга и корректно передают данные по принципу чередования запросов и ответов. Спектр применения данного протокола довольно широк: облачная телефония, аудио- и видеоконференции, онлайн-игры.
В данной статье расскажем, что такое сип-телефония, для чайников и не только.
Отличия SIP- и IP-протоколов
Современную IP-телефонию часто называют SIP-телефонией (и это в большом количестве случаев не является ошибкой). Но многие задаются вопросом: а есть ли вообще разница между этими понятиями? Дело в том, что SIP – хоть и самый популярный сегодня, но не единственный IP-протокол. Следовательно, сип-телефонией называется только тот способ связи, который основан именно на данном протоколе.
Многие недоумевают также, почему для обозначения одного и того явления используются сразу 3 термина – SIP-телефония, IP-телефония и VoIP. Разберем более подробно суть этих понятий.
Начнем с технологии в целом – связи по межсетевому протоколу (Internet Protocol – IP). Он и объединил все компьютерные сети в сеть, которую мы называем «интернет». Для обмена информацией у каждого устройства существует оригинальный IP-адрес.
Технология передачи голоса обозначается аббревиатурой VoIP (дословно – «голос по IP»). Она отвечает за обмен любыми аудиоданными, сюда относятся трансляция подкастов, вебинаров, звонки через интернет, просмотр записей с современных камер видеонаблюдения, передающих не только изображения, но и звук.
IP-телефонией называется технология телефонной связи через интернет, то есть это конкретная разновидность VoIP, к которой относится исключительно аудио- и видеообщение по интернету. Принцип связи основан на протоколе IP. В свою очередь, как мы уже сказали выше, звонки по SIP-протоколам (и, следовательно, сип-телефония) – это разновидность IP-телефонии. Кроме SIP, существует еще ряд других IP-протоколов: H.323, MGCP и др.
Условия для качественной связи через сип-телефонию UIS – скорость интернета не меньше 128 Кбит/сек.
Как работает SIP-телефония
Поговорим немного подробнее о принципе работы. Что происходит, когда пользователь совершает звонок с устройства с установленным SIP-клиентом в компанию, где работает IP-телефония.
Специальный кодек превращает человеческий голос в цифровой сигнал. К слову, уже здесь проявляется серьезное преимущество современной телефонии: такой способ передачи данных служит ускорению связи и снижению нагрузки на сеть.
Сигнал передается на устройство, с которым работает абонент «на том конце провода».
Устройство позвонившего и устройство принимающего вызов определяют друг друга по IP-адресу и начинают соединение через протокол SIP.
Сигнал расшифровывается, и взявший трубку абонент слышит человеческую речь.
Совершение и прием звонков
Когда пользователь набирает нужный номер, вызов через интернет поступает на сервер оператора облачной телефонии. Затем он автоматически маршрутизируется на номер абонента, которому звонит пользователь. Такой звонок может быть направлен не только на SIP-номер, но и на обычный, городской или мобильный, это зависит от способа организации связи на той стороне.
Принимать и совершать звонки через SIP можно, используя следующее оборудование:
современный VoIP-телефон (с проводной трубкой либо переносной радиотрубкой), напрямую подключенный к интернету;
аналоговый телефон, подключенный к IP-шлюзу, в свою очередь, подключенному к интернету;
ПК или ноутбук, если на нем установлено приложение для звонков (SIP-клиент) и работает интернет;
SIP-приложение на мобильном телефоне, если есть Wi-Fi или мобильный интернет.
У провайдера UIS есть обширный каталог передового оборудования для бизнес-телефонии, где можно выбрать в том числе VoIP-телефон и шлюз. При желании можно бесплатно скачать софтфон UIS для работы с компьютера/ноутбука либо мобильное приложение.
Переадресация
Трудно найти компанию, которая не нуждалась бы в разнообразии схем переадресации звонков. Этого требуют и особенности графика работы сотрудников, и устройство отдела, и распределение ответственности. IP-телефония позволит переадресовывать звонки в тех случаях, когда сотрудник, которому направлен звонок, занят или отсутствует на рабочем месте.
Например, если сотрудник уехал из офиса, звонок будет перенаправлен на его мобильный или домашний телефон. Если сотрудник не может ответить, вызов автоматически переадресуется коллеге. Когда клиент звонит в нерабочее время, его может встретить голосовое сообщение о том, что в настоящее время компания не работает. Есть еще много других ситуаций. Наличие разных вариантов обработки звонков позволит не терять входящие обращения и не допускать ухода потенциальных клиентов к конкурентам.
Также возможна настройка различных сценариев распределения звонков, в том числе через интерактивное голосовое меню. В последнем случае клиента в самом начале встретит виртуальный секретарь, благодаря чему звонок быстро дойдет именно до того специалиста, который нужен позвонившему. Возможно, привлекать сотрудника к общению не понадобится вовсе – клиент звонит узнать информацию, которая будет сообщена ему автоматически (например, статус заказа).
Интеграция с бизнес-сервисами
Сип-телефонию UIS можно интегрировать с любой сторонней IT-системой, будь то CRM-, ERP-система или др., что позволяет автоматизировать работу отдела продаж (и любого другого «телефонного» отдела). Большой популярностью пользуются однокнопочные интеграции с amoCRM, Битрикс24 и RetailCRM. Для amoCRM разработан специальный компактный виджет, который позволяет обрабатывать звонки, не закрывая окно CRM, и занимает совсем немного места на экране. Также интеграция дает возможность автоматизировать исходящий обзвон внутри amoCRM, удобно переводить звонки на коллег и многое др.
Помимо основных CRM, у UIS есть готовые интеграции с более чем 30 системами, в том числе отраслевыми. Их список можно посмотреть здесь. Если в вашей компании используется не универсальная CRM, а узкоспециализированная, обратите внимание на этот список – возможно, вы найдете в ней свою. Любая интеграция дает возможность пользоваться базовыми преимуществами решения:
хранение и прослушивание записей разговоров в CRM;
открытие карточки в CRM с информацией о клиенте при входящем звонке.
А если ваши сотрудники работают в уникальной, самописной CRM, благодаря открытому API вы и ее сможете интегрировать с телефонией UIS.
Недавно один клиент рассказал нам, как благодаря интеграции с мессенджером Telegram он просматривает на наручных часах уведомления обо всех звонках, которые приходят в его колл-центр. API UIS позволяет объединить телефонию с множеством всевозможных IT-сервисов, даже с системой «умный дом» (есть компании, в которых пригодится и такое).
IP-телефония и SIP-телефония: в чем разница?
Запутавшись в сложных терминах, он набрал мой номер и задал интересную тему для диалога:
— Скажи, а чем IP-телефония отличается от SIP-телефонии? Вроде бы одно и то же, но наверняка отличия есть.
— Ты прав, есть. Объясню тебе кратко и очень наглядно. Ответь мне, пожалуйста, в чем разница между айфоном и смартфоном?
— Вот и здесь аналогичная ситуация. Подобно тому, как айфон является конкретной моделью смартфона, связь на основе SIP-протоколов является всего лишь разновидностью IP-телефонии.
Знакомый ответом остался доволен, а я решил немного расширить ответ в статье.
IP-телефония основана на возможности сжатия голосового сигнала в пакет данных, который оперативно передается по соответствующим сетям. После завершения операции он декодируется и предстает перед адресатом в оригинальном виде. Надежность передачи данных обеспечена большим количеством вспомогательных протоколов. Традиционные телефонные сети IP-телефония вытесняет за счет быстроты и легкости развертывания, более дешевой стоимости звонка, простоты конфигурации, безопасности соединения и высокого качества связи.
Основой для классификации различных видов интернет-телефонии является модель протокола. Отметим три наиболее популярных:
H.323. Данный вид сетевого протокола был разработан в 1996 г. Его составляющими элементами являются терминал, шлюз, контроллеры зоны и управления многоточечной конференции (MCU). Данный протокол получил большую популярность при организации операторских сетей и межоператорского обмена. Схема подключения на основе H.323 выглядит следующим образом:
MGCP. Первая разработка данного протокола датируется 1999 г. Его главная идея заключена в том, что за управление сигнализацией отвечает ЦУП (центральное управляющее устройство), полностью отделенное от медиапотоков. Они обрабатываются абонентскими терминалами или ограниченными шлюзами, способными исполнять лишь узкий перечень команд, исходящих от управляемого устройства. MGCP-протокол ориентирован на организацию операторских узлов сопряжения IP-сетей с городскими телекоммуникациями и сетями SS7. Структурная схема подключения выглядит следующим образом:
SIP. Данный протокол появился в 1999 г. и продолжает активно развиваться в настоящий момент. Он разрабатывался на основе HTTP и SMTP и многое от них позаимствовал. Если не вдаваться в глубокие технические подробности, то его можно представить клиент-серверным протоколом, работа которого состоит из постоянного чередования вопросов и ответов. При этом заголовки SIP передает в формате ASCII-текста, что позволяет избежать трудностей с прочтением. Структурная схема подключения выглядит следующим образом:
Отметим, что связь по SIP-протоколу проходит шесть этапов:
Таким образом, технология SIP является одним из наиболее перспективных способов развития IP-телефонии. SIP-номер привязывается не к конкретному географическому месту, а к человеку. Он будет на связи везде, где есть Интернет со скоростью от 64 Кбит/с. При этом SIP-протокол поддерживает передачу не только голоса, но и видеопотока.
Зачем бизнесу SIP-телефония?
За сложными техническими терминами скрывается главный вопрос, который возникнет у любого руководителя: «Насколько это будет мне выгодно?» Выгода будет серьезная. Смотрите сами.
Снижение затрат на связь позволит достичь крайне высокого уровня оптимизации доходов и расходов. Оптимизация позволит компании объединить все ресурсы и средства в рамках одного контакт-центра. Даже если у вас огромная компания и несколько call-центров, то управлять коллективом операторов можно из одного места. Это существенно повышает эффективность использования ресурсов компании, усиливает возможности для эффективной поддержки клиентов, позволяет не закупать дорогостоящее оборудование. Интеллектуальное перенаправление голосовых вызовов повышает рост числа оперативно решенных проблем и увеличивает лояльность со стороны клиента. Вместе со всем этим растет и прибыль компании.
Плюсы и минусы IP-телефонии
Разговор о плюсах и минусах IP-телефонии можно начать со следующих преимуществ:
Элементарная масштабируемость телефонной сети.
Отсутствие необходимости находиться все время возле телефона на рабочем месте. Общаться с клиентами можно по мобильному, а также с компьютера/ноутбука из любого места.
Многоканальность – единовременная обработка многих вызовов.
Подключение функциональности Виртуальной АТС. Переадресация звонков, запись разговоров для контроля сотрудников, интеграция телефонии и CRM и других цифровых систем, а также многое другое.
Мобильность, доступ к возможностям Виртуальной АТС в любой точке мира, где есть интернет. Отсутствие привязки к географическому адресу или зоне покрытия мобильного оператора (кроме случаев использования услуг FMC и переадресации звонка на мобильный, когда необходимо наличие мобильной связи).
Высокое качество соединения вне зависимости от расстояния передачи сигнала.
По множеству параметров IP-телефония лучше аналоговой, но есть у данной технологии и свои минусы, например:
Зависимость от наличия стабильного интернета. Сегодня это не кажется серьезной проблемой, т.к. хороший интернет есть в большинстве офисных помещений. Что касается разъездных сотрудников, то здесь на помощь приходит услуга FMC, для звонков через которую нужна только мобильная связь.
Сложность настроек. У провайдера UIS эта проблема легко решается благодаря круглосуточной поддержке, которая очень быстро реагирует на обращения и может все настройки выполнить удаленно.
Какое оборудование нужно для IP-, VoIP- и SIP-телефонии
В вашей компании уже назревает переход на IP-телефонию? Тогда пора задуматься о выборе оборудования. Рассмотрим несколько разновидностей телефонов для IP-телефонии и два типа приложения.
VoIP-телефоны с проводной трубкой и проводным подключением к интернету. Они отличаются стабильной работой, не нуждаются в «костылях» для подключения к SIP (кроме маршрутизатора), заряжаются от электричества, хорошо выдерживают SIP-регистрацию и служат долго. Подключать и настраивать их довольно просто.
VoIP-телефоны с проводной трубкой, которые подключаются к сети посредством Wi-Fi. Такой тип оборудования отличается тем, что к каждому телефону не нужно протягивать провод, что уменьшает расходы.
IP-телефоны с радиотрубкой. Трубка привязана к базовому блоку, который, в свою очередь, подключен к интернету проводом (к 1 блоку можно быть привязано до 8 трубок). Такой телефон позволяет совершать звонки в отрыве от рабочего места, экономить пространство рабочего места.
Обычные аналоговые телефоны, подключенные к интернету посредством IP-шлюза. Такая схема организации связи освобождает от необходимости закупать новое оборудование.
Аналоговые телефоны с радиотрубкой, подключенные через IP-шлюз. Данный способ имеет те же самые особенности, что и в пункте 3, разве что такие телефоны подключены к сети не напрямую.
Приложение для звонков с компьютера/ноутбука (софтфон). Позволяет обрабатывать звонки с помощью компьютера и гарнитуры. В софтфоне UIS предусмотрена статистика для руководителя, а также система статусов занятости сотрудников, которая делает работу операторов прозрачной и позволяет правильно распределять звонки по отделу.
Приложение для звонков со смартфона. У UIS данную роль выполняет мобильное приложение CallGear – с его помощью можно использовать IP-телефонию в отрыве от рабочего места и без радиотрубки. Также приложение способно фиксировать вызов при сбоях интернет-соединения и в спящем режиме устройства.
Почему выбирают UIS
Простое сравнение IP-телефонии с традиционным способом коммуникации показывает превосходство первой, даже с точки зрения возможностей оборудования. Далее важной задачей для вас будет поиск провайдера. Какую IP-телефонию выбрать?
UIS является одновременно оператором телефонии и разработчиком облачной АТС. Вы можете выбрать любой из тарифов, и в каждый из них в одном комплекте представлены услуги связи и IT-решения. Также на одной платформе с услугами связи представлен комплекс инструментов для интернет-маркетинга: сервис аналитики рекламы (коллтрекинг), виджеты привлечения клиентов с сайта и др.
Большинство клиентов, у которых мы берем интервью для формирования кейсов, среди основных преимуществ выделяют безукоризненную работу поддержки. Показатель стабильности телефонной связи составляет 99.97%.
IP-телефония: от медных проводов до цифровой обработки сигнала
Если в один прекрасный день вам придется на скорую руку разобраться, что есть VoIP (voice over IP) и что значат все эти дикие аббревиатуры, надеюсь, эта методичка поможет. Сразу замечу, что вопросы конфигурирования дополнительных видов обслуживания телефонии (такие как перевод вызова, голосовая почта, конференц-связь и т.п.) здесь не рассматриваются.
1. Базовые понятия телефонии
В общем виде схема подключения локального абонента к телефонному провайдеру по обычной телефонной линии выглядит следующим образом:
На стороне провайдера (АТС) установлен телефонный модуль с портом FXS (Foreign eXchange Subscriber). Дома или в офисе установлен телефон или факс с портом FXO (Foreign eXchange Office) и модуль номеронабирателя.
По внешнему виду порты FXS и FXO никак не отличаются, это обычные 6-выводные RJ11-разъемы. Но с помощью вольтметра отличить их очень просто — на FXS-порте всегда будет какое-то напряжение: 48/60 В, когда трубка положена, или 6–15 В во время разговора. На FXO, если он не подключен к линии, напряжение всегда 0.
Для передачи данных по телефонной линии на стороне провайдера нужна дополнительная логика, которую можно реализовать на модуле SLIC (subscriber line interface circuit), а на стороне абонента — с помощью модуля DAA (Direct Access Arrangement).
Сейчас довольно популярны беспроводные DECT-телефоны (Digital European Cordless Telecommunications). По устройству они аналогичны обычным телефонным аппаратам: в них тоже есть FXO-порт и модуль номеронабирателя, но еще добавлен модуль беспроводной связи станции и трубки на частоте 1,9 ГГц.
Абоненты подключаются к PSTN-сети (Public Switched Telephone Network) — телефонной сети общего пользования, она же ТСОП, ТфОП. PSTN-сеть может быть организована с использованием разных технологий: ISDN, оптики, POTS, Ethernet. Частный случай PSTN, когда используется обычная аналоговая/медная линия — POTS (Plain Old Telephone Service) — простая старая телефонная система.
С развитием Интернета телефонная связь перешла на новый уровень. Стационарные телефонные аппараты все реже используются, в основном по служебным нуждам. DECT-телефоны немного удобнее, но ограничены периметром дома. GSM-телефоны еще удобнее, но ограничены пределами страны (роуминг — дело дорогое). А вот для IP-телефонов, они же cофтфоны (SoftPhone), никаких ограничений, кроме доступа к интернету, нет.
Skype — самый известный пример софтфона. Он может много чего, но имеет два важных недостатка: закрытая архитектура и прослушка известно какими органами. Из-за первого нет возможности создать свою телефонную микросеть. А из-за второго — не очень приятно, когда за вами подсматривают, особенно при личных и коммерческих разговорах.
К счастью есть открытые протоколы для создания своих коммуникационных сетей с плюшками — это SIP и H.323. Софтфонов на SIP-протоколе несколько больше чем на H.323, что можно объяснить его сравнительной простотой и гибкостью. Но иногда эта гибкость может вставлять большие палки в колёса. Оба протокола SIP и H.323 используют RTP-протокол для передачи медиаданных.
Рассмотрим базовые принципы протокола SIP, чтобы разобраться, как происходит соединения двух абонентов.
2. Описание связки SIP/SDP/RTP-протоколов
SIP (Session Initiation Protocol) — протокол установления сессии (не только телефонной) — это текстовый протокол поверх UDP. Также есть возможность использовать SIP поверх TCP, но это редкие случаи.
SDP (Session Description Protocol) — протокол согласования типа передаваемых данных (для звука и видео это кодеки и их форматы, для факсов — скорость передачи и коррекция ошибок) и адреса их назначения (IP и порт). Это также текстовый протокол. Параметры SDP передаются в теле SIP-пакетов.
RTP (Real-time Transport Protocol) — протокол передачи аудио/видеоданных. Это бинарный протокол поверх UDP.
Общая структура SIP-пакетов:
Вот пример двух SIP-пакетов для одной частой процедуры — установления вызова:
Слева изображено содержимое пакета SIP INVITE, справа — ответ на него — SIP 200 OK.
Основные поля выделены рамками:
SDP-сообщение состоит из строк, содержащих пары ПОЛЕ=ЗНАЧЕНИЕ. Из основных полей можно отметить:
RTP-пакеты содержат аудио/видеоданные, закодированные в определенном формате. Данный формат указывается в поле PT (payload type). Таблица соответствия значения данного поля конкретному формату приведена в https://en.wikipedia.org/wiki/RTP_audio_video_profile.
Также в RTP-пакетах указывается уникальный SSRC-идентификатор (определяет источник RTP-потока) и метка времени (timestamp, используется для равномерного проигрывания звука или видео).
Пример взаимодействия двух SIP-абонентов через SIP-сервер (Asterisk):
Как только запускается SIP-телефон, первым делом он регистрируется на удаленном сервере (SIP Registar), отправляет ему сообщение SIP REGISTER.
При вызове абонента отправляется сообщение SIP INVITE, в теле которого вложено SDP-сообщение, в котором указываются параметры передачи звука/видео (какие кодеки поддерживаются, на какой IP и порт отправлять звук и др.).
Когда удаленный абонент поднимает трубку, нам приходит сообщение SIP 200 OK также с параметрами SDP, только удаленного абонента. Используя отправленные и полученные SDP-параметры можно устанавливать RTP-сессию передачи звука/видео или T.38-сессию передачи факсов.
Если полученные параметры SDP нас не устроили, или промежуточный SIP-сервер решил не пропускать через себя RTP-трафик, то выполняется процедура повторного согласования SDP, так называемый REINVITE. Кстати, именно из-за этой процедуры у бесплатных SIP-прокси-серверов есть один недостаток — если оба абонента находятся в одной локальной сети, а прокси-сервер находится за NAT’ом, то после перенаправления RTP-трафика ни один из абонентов не будет слышать другого.
После окончания разговора, абонент положивший трубку, отправляет сообщение SIP BYE.
3. Передача информации о нажатых кнопках
Иногда после установления сессии, во время разговора, требуется доступ к дополнительным видам обслуживания (ДВО) — удержание вызова, перевод, голосовая почта и т.п. — которые реагируют на определенные сочетания нажатых кнопок.
Так, в обычной телефонной линии есть два способа набора номера:
Во время разговора импульсный способ неудобен для передачи нажатой кнопки. Так, на передачу «0» требуется приблизительно 1 секунда (10 импульсов по 100 мс: 60 мс — разрыв линии, 40 мс — замыкание линии) плюс 200 мс на паузу между цифрами. К тому же во время импульсного набора будут часто слышны характерные щелчки. Поэтому в обычной телефонии используется только тоновый режим доступа к ДВО.
В VoIP-телефонии информация о нажатых кнопках может передаваться тремя способами:
Передача DTMF внутри аудиоданных(Inband) имеет несколько недостатков — это накладные ресурсы при генерации/встраивании тонов и при их детектировании, ограничения некоторых кодеков, которые могут исказить DTMF-коды, и слабая надежность при передаче (если потеряется часть пакетов, то может произойти детектирование двойного нажатия одной и той же клавиши).
Главное различие между DTMF RFC2833 и SIP INFO: если на SIP-прокси-сервере включена возможность передачи RTP непосредственно между абонентами минуя сам сервер (например, canreinvite=yes в asterisk), то сервер не заметит RFC2833-пакеты, вследствие чего становятся недоступными сервисы ДВО. Передача SIP-пакетов всегда осуществляется через SIP-прокси-серверы, поэтому ДВО всегда будут работать.
4. Передача голоса и факсов
Как уже упоминалось, для передачи медиаданных используются RTP-протокол. В RTP-пакетах всегда указывается формат передаваемых данных (кодек).
Для передачи голоса существует много разнообразных кодеков, с разными соотношениями битрейт/качество/сложность, есть открытые и закрытые. В любом софтфоне обязательно есть поддержка G.711 alaw/ulaw-кодеков, их реализация очень простая, качество звука неплохое, но они требуют пропускной способности в 64 кбит/с. Например, G.729-кодек требует только 8 кбит/с, но очень сильно загружает процессор, к тому же он не бесплатный.
Для передачи факсов обычно используется либо G.711-кодек, либо T.38-протокол. Передача факсов по G.711-кодеку соответствует передаче факса по T.30-протоколу, как будто факс передается по обычной телефонной линии, но при этом аналоговый сигнал с линии оцифровывается по alaw/ulaw-закону. Это также называется передачей факса Inband T.30.
Факсы по T.30-протоколу выполняют согласование своих параметров: скорости передачи, размера дейтаграмм, тип коррекции ошибок. T.38-протокол базируется на протоколе T.30, но в отличие от Inband-передачи, происходит анализ генерируемых и принятых T.30-команд. Таким образом передаются не сырые данные, а распознанные команды управления факсом.
Для передачи команд T.38 используется UDPTL-протокол, это протокол на базе UDP, он используется только для T.38. Для передачи комманд T.38 можно ещё использовать протоколы TCP и RTP, но они используются гораздо реже.
Основные достоинства T.38 — снижение нагрузки на сеть и большая надежность по сравнению с Inband-передачей факса.
Процедура передачи факса в режиме T.38 выглядит следующим образом:
Передавать факсы по интернету желательно в T.38. Если же факс нужно передать внутри офиса или между объектами, имеющими стабильное соединение, то можно использовать передачу факса Inband T.30. При этом перед передачей факса обязательно должна быть отключена процедура эхоподавления, чтобы не вносить дополнительные искажения.
Очень подробно про передачу факсов написано в книге «Fax, Modem, and Text for IP Telephony», авторы — David Hanes и Gonzalo Salgueiro.
5. Цифровая обработка сигналов (ЦОС). Обеспечение качества звука в IP-телефонии, примеры тестирования
С протоколами установления сеанса разговора (SIP/SDP) и методе передачи звука по RTP-каналу мы разобрались. Остался один немаловажный вопрос — качество звука. С одной стороны, качество звука определяется выбранным кодеком. Но с другой, необходимы еще дополнительные процедуры DSP (ЦОС — цифровой обработки сигналов). Данные процедуры учитывают особенности работы VoIP-телефонии: не всегда используется качественная гарнитура, в интернете бывают пропадания пакетов, иногда пакеты приходят неравномерно, пропускная способность сети тоже не резиновая.
Основные процедуры, улучшающие качество звука:
VAD (Voice activity detector) — процедура определения фреймов, которые содержат голос (активный голосовой фрейм) или тишину (неактивный голосовой фрейм). Такое разделение позволяет заметно снизить загрузку сети, поскольку передача информации о тишине требует гораздо меньше данных (достаточно лишь передать уровень шума или вообще ничего не передавать).
Некоторые кодеки уже содержат внутри себя процедуры VAD (GSM, G.729), для других же (G.711, G.722, G.726) нужно их реализовывать.
Если VAD настроен на передачу информации об уровне шума, то передаются специальные SID-пакеты (Silence Insertion Descriptor) в 13м RTP-формате CN (Comfort Noise).
Стоит заметить, что SID-пакеты могут быть отброшены SIP-прокси-серверами, поэтому для проверки желательно настраивать передачу RTP-трафика мимо SIP-серверов.
CNG (сomfort noise generation) — процедура генерации комфортного шума на базе сведений из SID-пакетов. Таким образом, VAD и CNG работают в связке, но CNG-процедура гораздо менее востребована, поскольку заметить работу CNG-можно не всегда, особенно при малой громкости.
PLC (packet loss concealment) — процедура восстановления звукового потока при потере пакетов. Даже при 50% потере пакетов хороший алгоритм PLC позволяет добиться приемлемого качества речи. Искажения, конечно, будут, но слова разобрать можно.
Простейший способ эмуляции потери пакетов (в Linux) — воспользоваться утилитой tc из пакета iproute с модулем netem. Она выполняет шейпинг только исходящего трафика.
Пример запуска эмуляции сети с потерей 50% пакетов:
Jitter buffer — процедура избавления от jitter-эффекта, когда интервал между принятыми пакетами очень сильно меняется, и что в худшем случае ведет к неверному порядку принимаемых пакетов. Также данный эффект приводит к прерываниям речи. Для устранения jitter-эффекта необходимо на принимаемой стороне реализовать буфер пакетов с размером, достаточным для восстановления исходного порядка отправления пакетов с заданным интервалом.
Эмулировать jitter-эффект также можно с помощью утилиты tc (интервал между ожидаемым моментом прихода пакета и фактическим может достигать 500 мс):
LEC (Line Echo Canceller) — процедура устранения локального эха, когда удаленный абонент начинает слышать собственный голос. Ее суть заключается в том, чтобы вычесть из передаваемого сигнала принимаемый сигнал с некоторым коэффициентом.
Эхо может возникать по нескольким причинам:
Выяснить причину (акустическое или электрическое эхо) несложно: абоненту, на чьей стороне создается эхо, необходимо отключить микрофон. Если эхо все равно возникает — значит оно электрическое.
Более подробно о VoIP и процедурах ЦОС написано в книге VoIP Voice and Fax Signal Processing. Предпросмотр доступен на Google Books.
На этом поверхностный теоретический обзор VoIP завершен. Если интересно, то пример практической реализации мини-АТС на реальной аппаратной платформе можно будет рассмотреть в следующей статье.
[!?] Вопросы и комментарии приветствуются. На них будет отвечать автор статьи Дмитрий Валенто, инженер-программист дизайн-центра электроники Promwad.