IP-телефония (VoIP): что это такое и как она работает

Материал по ключевым аспектам IP-телефонии на простом человеческом языке

Люди самых разных должностей и уровней технической подготовки так или иначе сталкиваются с задачами внедрения и/или поддержки офисной АТС, IP-телефонии и облачных решений. Если вы читаете этот текст, вероятнее всего, вам уже пришлось решать вопросы организации телефонной связи в офисе, приёма входящих звонков от клиентов или автоматического обзвона. Asterisk — это открытая программная реализация АТС без лицензионных ограничений, которая закрывает с помощью которой можно закрыть все перечисленные задачи.

Мы более 20 лет занимаемся разработкой и внедрением решений на базе Asterisk и отмечаем существенный разброс в представлениях пользователей и заказчиков об открытом ПО и Asterisk, недооценку рисков, связанных с использованием облачных сервисов, и трудности взаимодействия конечных заказчиков и операторов связи.

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

IP-телефония, SIP-телефония, VoIP

IP-телефония — термин, устоявщийся на территории стран постсоветского пространства, VoIP (Voice over Internet Protocol) — во всем мире — подразумевает под собой использование соответствующего оборудования и технологий, обеспечивающих работу телефонной связи через сети передачи данных (локальные вычислительные сети и/или Интернет) по сетевым протоколам IPv4/IPv6.

Данные каждого уровня инкапсулируются в протокол нижележащего уровня. За преобразование аналогового звука и/или видео в цифровой поток отвечают кодеки. За передачу медиапотока в реальном времени и управление им отвечает протокол RTP (Real-time Transport Protocol), иногда защищённый SRTP. За установку, управление и завершение сеанса связи отвечают протоколы прикладного уровня (SIP, IAX2, H.323 и др.). Данные прикладного уровня (сигнализация и медиапоток RTP/SRTP) инкапсулируются в транспортные пакеты — чаще всего в UDP-датаграммы, реже в TCP-сегменты. Транспортные данные доставляются между устройствами с помощью протоколов сетевого уровня (IPv4 и/или IPv6). После маршрутизации пакеты сетевого уровня передаются внутри физической сети по протоколам канального уровня (Ethernet, Wi-Fi, PPP и др.). На физическом уровне данные канального уровня преобразуются в биты и передаются по физической среде передачи (оптическое волокно, медный кабель, радиоволны).

SIP

SIP-телефония — термин, конкретизирующий использование прикладного протокола установления сеанса (Session Initiation Protocol) для оборудования и программного обеспечения для VoIP. Это гибкий и расширяемый протокол. SIP‑T — набор правил и практик по добавлению дополнительных заголовков, разработанный для обеспечения прозрачного взаимодействия между традиционной телефонной сетью с сигнализацией SS7 (ОКС-7) ISUP и IP-сетями на базе SIP, сделали его по факту межоператорским стандартом. Этот протокол также используется при предоставлении услуг VoLTE и Wi-Fi Calling операторами мобильной связи.

Для новых проектов мы рекомендуем рассматривать исключительно SIP-протокол.

H.323

H.323 — набор стандартов для передачи мультимедиа-данных по сетям с пакетной передачей негарантированной пропускной способностью. Из-за отсутствия расширяемости, масштабируемости и сложности отладки в настоящее время на сетях операторах связи практически не используется, заменён SIP-протоколом. Встречается в устаревших системах видеоконференцсвязи, оборудовании Cisco и Polycom.

IAX2

IAX2 (Inter-Asterisk eXchange protocol ver. 2) — протокол, отвечающий за установку, управление, завершение сеанса связи, а также передачу медиапотока в реальном времени и управление им между двумя Asterisk-экземплярами. Протокол бинарный и нерасширяемый, имеет нативную поддержку AES-128 шифрования, считается наиболее приспособлен к трансляции сетевых адресов NAT за счет использования одного UDP-порта 4569. Мы не рекомендуем применять этот протокол на сетях связи с негарантированной пропускной способностью. Тем не менее, активно используем его для тестирования и отладки — это единственный протокол, позволяющий динамический выбор контекста (плана нумерации) вызывающей стороной.

Какие задачи решает миграция на VoIP?

Экономические

  • Значительная экономия денежных средств за счёт раздельной оплаты за абонентские номера и разрешенное число одновременно установленных соединений.
  • Экономия на входящих звонках на номер 800 (вы можете запросить у оператора специальные тарифы на приземление трафика на SIP-устройство).
  • Экономия на услугах междугородней и международной связи. У Билайна, Мегафона и Ростелекома существуют специальные тарифы на услуги связи, если подключение абонента осуществляется через SIP-устройство.
  • Существенная экономия при разворачивании телекоммуникационной инфраструктуры в географически удалённой точке с минимальным количеством рабочих мест.
  • Сокращение эксплуатационных расходов на поддержку коммутационных линий связи и программировании аналоговой АТС.

Технические

  • Решается вопрос с подключением номеров других регионов и стран.
  • Решается вопрос с поддержкой устаревшей инфраструктуры и программированием аналоговой АТС.
  • Появляется возможность виртуализации и размещения АТС в дата-цетре с зарезервированными линиями энергоснабжения и связи. Как правило, одного экземпляра достаточно для всех географически-распределенных точек.
  • Появляется возможность резервирования линий связи путем применения динамических протоколов маршрутизации трафика (BGP, OSPF, MPLS). В случае аварии, время переключения на резервную сеть передачи данных происходит за несколько секунд.
  • Администрирование и управление (provisioning) всей телекоммуникационной инфраструктурой предприятия из единого места.
  • Реализуется единый корпоративный план нумерации для всех филиалов и подразделений.
  • Решается проблема «перезвона» (маршрутизации обратного звонка) после пропущенного вызова, когда звонок попадает на общий номер АТС.
  • Распределение входящих звонков станет возможным между сотрудниками, находящихся в географически распределенных структурных подразделениях или на удаленной работе.
  • Запись и контроль всех телефонных разговоров осуществляется в одной точке.
  • Для супервайзеров колл-центров реализуется возможность прослушивания и подсказок.
  • Анализ телефонных разговоров становится возможен средствами искусственного интеллекта.
  • Становится возможен автоматический обзвон клиентов по списку.
  • Появляется возможность маршрутизации исходящих звонков по критерию наименьшей стоимости (LCR) и гибкого ограничения исходящих вызовов для отдельных категорий/групп абонентов по направлениям: международные вызовы, телеголосование, вызовы за дополнительную оплату, спутниковая связь и других специальных направлений.

Вопросы безопасности

  • Голосовой трафик между сотрудниками, находящимися в различных географически-распределенных точках, защищён и остается в контролируемом периметре предприятия.
  • Единая система мониторинга телефонной инфраструктуры обеспечивает мониторинг всех активных соединений в реальном времени с доступом к автоматической транскрипции (speech-to-text) телефонных переговоров.
  • Упрощается выявление аномалий, признаков социальной инженерии (vishing), попыток несанкционированного доступа и утечек конфиденциальной информации посредством автоматического анализа транскрипций и метаданных звонков.

Переход от традиционной телефонной связи на VoIP — это лишь вопрос времени.

Открытое ПО, FreePBX и добавочная стоимость

Asterisk распространяется на условиях лицензии GNU GPL как свободный софт. Любой человек, даже с минимальными техническими навыками, может потратить время, разобраться, установить и настроить Asterisk и это решение будет выполнять функции классической офисной АТС. Кроме того, существует специальный проект — FreePBX — веб-менеджер и платформа для платных расширений (Call Recording Reports, Queue Reports, Scribe AI Transcription Services), которая существенно упрощает эту задачу. Мы не используем FreePBX в своих проектах из-за низкой производительности, UI/UX-качества интерфейса, устаревших технологии для разработки, зависимости от обновлений и вопросов с безопасностью.

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

Для решения бизнес-задач (веб-мониторинга, отчётов, динамической маршрутизации, транскрипции разговоров, выявление аномалий) требуется дополнительное программное обеспечение, которое взаимодействует с сервером Asterisk, но не является его частью. Разработкой такого софта, как правило, занимаются Full Stack-разработчики Интегратора. При настройке сервера Asterisk и телекоммуникационной инфраструктуры Заказчика специалисты Интегратора учитывают не только возможность работы ПО собственной разработки, но и все сценарии и опыт, с которым им пришлось столкнуться ранее. Именно так достигается стабильная работа телефонной связи и создаётся добавочная стоимость к свободному программному обеспечению.

Взаимодействие с операторами связи

Ситуация, когда Заказчик заказывает услуги внедрения VoIP у Интегратора и при этом взаимодействует с Оператором связи напрямую является не самой лучшей практикой. Составленный Заказчиком бриф очень часто выдаётся за техническое задание сначала для Оператора связи, а затем и для Интегратора. Такой подход чреват не только пересогласованием технических условий и потерей времени, но и несёт в себе экономические риски.

Другой пример — заключение договора на услуги междугородней и международной связи с небольшим местным оператором, ориентированным преимущественно на корпоративный сегмент. На практике такие операторы не имеют лицензий на оказание соответствующих услуг и редко соблюдают требования Приказа Минцифры РФ от 31.01.2022 № 75 в части пропуска трафика на сети операторов — держателей лицензий (в России их всего 10, см. приказ). В результате заказчик сталкивается с завышенными тарифами и отсутствием гарантий корректной доставки идентификатора вызывающего абонента.

Главная проблема взаимодействия с Операторами связи состоит в том, что их представители, продающие услуги, не являются техническими специалистами и не всегда знают все свои продукты. За редким исключением.

Мы рекомендуем единой точкой ответственности за весь проект считать Интегратора. Именно он должен формировать корректное техническое задание на основании брифа Заказчика, взаимодействовать с Операторами связи и защищать интересы своего клиента.

Локальная сеть и маршрутизация трафика

Работа IP-телефонии напрямую зависит от сети передачи данных на базе которой она работает. При внутренних звонках трафик проходит по локальной сети (Абонент А — ЛВС/LAN — [VPN/VLAN] — сервер Asterisk — [VPN/VLAN] — ЛВС/LAN — Абонент Б), а при внешних — часть трафика может выходить за периметр предприятия (Абонент А — ЛВС/LAN — [VPN/VLAN] — сервер Asterisk — Интернет/VLAN — сервер Оператора — ...).

Всё, что связано с физическим подключением устройств в локальной сети — за это отвечают сетевые коммутаторы, при этом за направление прохождения трафика (в другой филиал, дата-центр, Интернет) отвечают маршрутизаторы. Коммутаторы подключаются к маршрутизаторам при помощи медных (RJ-45) или оптических патч-кордов и SFP/SFP+/QSFP модулей. Коммутаторы объединяют устройства внутри одной локальной сети на основе MAC-идентификаторов, а маршрутизаторы — различные (локальные) сети на основе IPv4/IPv6-адресации. В случае если количество устройств в локальной сети менее 5-8, то функции коммутатора и маршрутизатора выполняет, как правило, одно устройство (маршрутизатор с встроенным коммутатором).

Коммутация устройств и их питание (PoE)

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

PoE

Большинство IP-телефонов поддерживают PoE af/at — технологию передачи электрической энергии по витой паре вместе с данными.

Cisco, Yealink, Grandstream и другие производители моделей, ориентированых на PoE-питание часто не комплектуют блоки питания. Например, у Cisco это отдельная позиция для поставки — PA100-EU.

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

В своих проектах мы обычно используем управляемые PoE-коммутаторы MikroTik CRS354-48P-4S+2Q+RM, TP-Link TL-SG1428PE, TL-SG108PE, TL-SG105PE и Cudy FS1006P.

Отдельно следует отметить, что стандарты PoE IEEE 802.3af-2003 и IEEE 802.3at-2009 не совместимы с нестандартизированным Passive PoE, поддержка PoE-out которого часто заявлена в оборудовании MikroTik.

SW/PC (про два порта)

Некоторые модели IP-телефонов имеют по два сетевых порта: один для подключения к локальной сети (SW), а другой — компьютера (PC). При таком подключении наличие доступа к локальной сети на компьютере будет зависеть от состояния телефона, а скорость доступа на компьютере лимитироваться, в том числе, пропускной способностью сетевого порта на IP-телефоне. При обновлении программного обеспечения на телефоне и его последующей перезагрузки доступ к локальной сети на компьютере будет пропадать.

Видеонаблюдение

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

Маршрутизаторы и NAT

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

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

...
c=IN IP4 203.0.113.10
...
m=audio 16432 RTP/AVP 0 8 101
a=rtcp:16433 IN IP4 203.0.113.10
...

Механизмы NAT подменяют IP-адреса и порты на уровне IP-пакетов, но не анализируют и не модифицируют их содержимое, т.е. содержание сигнальных сообщений, в результате обратные запросы (INVITE, BYE, re-INVITE) или RTP-поток направляются на внутренний адрес, маршрута до которого не существует.

Наиболее надёжная и предсказуемая работа SIP возможна только при наличии прямой адресации между SIP-клиентом и SIP-сервером (Asterisk), а также между SIP-сервером Заказчика и SIP-оборудованием Оператора связи.

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

SIP ALG и PJSIP драйвер при определенных настройках позволяют обходить NAT, но не рекомендуем этим пользоваться при подключении к операторам связи и не используем эту возможность в своих промышленных решениях.

Если вы планируете подключение более чем к одному оператору телефонной связи, или если оператор телефонной связи у вас один, а интернет от другого — мы рекомендуем сразу же обратиться к оператору интернет-услуг и заказать у него публичный PA IPv4/29 блок на 8 IP-адресов с маршрутизацией через стыковочный адрес, а также приобрести один из маршрутизаторов корпоративного уровня, например MikroTik hEX S, hAP ac² или RB5009UG+S+IN.

В остальных случаях SIP-подключение к Оператору связи должно производиться посредством выделения VLAN или построения IPSec-туннеля. В обоих случаях должна использоваться адресация RFC1918, с предпочтением блока из 10.0.0.0/8 и размерностью не более 29 бит.

Географически-распределенные филиалы

Задача обеспечения телефонной связью географически-распределенных филиалов значительно упрощается, если телефонная сеть построена на VoIP. Одного SIP-сервера (Asterisk) достаточно, чтобы обслуживать до ~600 подписчиков вне зависимости от их местоположения.

Условие наличия прямой адресации между SIP-телефонами в филиалах и корпоративным SIP-сервером (Asterisk) в центральном офисе или дата-центре достигается за счёт маршрутизаторов корпоративного уровня с поддержкой VPN и протоколов динамической маршрутизации трафика (BGP, OSPF). На каждую точку необходимо по одному маршрутизатору.

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

IP-телефоны

При реализации проектов в 2010 году мы использовали телефоны Cisco SPA504G, с тех пор прошло больше 15 лет, а эти телефоны до сих пор эксплуатируются нашими клиентами. Это очень показательный пример, отражающий реальные сроки эксплуатации устройств подобного типа. Об этом необходимо помнить при принятии решения о выборе вендора и модели.

Мы считаем, что ключевым фактором при выборе IP-телефона является эргономика устройства.

Также следует обращать внимание на историю вендора, наличие PoE, поддержку централизованной инсталляции и автоконфигурации (Provisioning services), уровень документации и наличие технической поддержки.

Оборудование, которое мы использовали в своих проектах:

Мы со скепсисом относимся к оборудованию иного производства, включая D-Link и Grandstream, тем более при наличии вторичного рынка. Тем не менее в декабре 2020 года Panasonic закрыло подразделение отвечавшее за производство и продажи SIP-телефонов и другой телефонной продукции. Наиболее подходящей в этом плане выглядит продукция Yealink.

Программные телефоны (софтфоны)

При реализации проекта нередко можно столкнуться с ситуацией, когда представитель Заказчика знает о существовании программных телефонов и при организации рабочих мест хочет использовать именно их. Связано это, в первую очередь, с очевидной для него возможностью сэкономить.

Существует несколько причин по которым выбирают аппаратные решения или мигрируют на них в кратчайшие сроки:

  • звуковая подсистема ПК не оптимизируется под телефонию и реальное время, качество звука является неприемлемым для бизнеса и влечёт репутационные издержки;
  • из-за исключительной привязки к компьютеру и использования гарнитур у сотрудников наблюдается значительное снижение производительности труда;
  • стоимость годовой подписки на работающий софтфон сопоставима со стоимостью IP-телефона на вторичном рынке.

Программный телефон может быть доступен здесь и сейчас, но по качеству обработки аудио он объективно не может полноценно заменить аппаратные IP-телефоны корпоративного класса из-за архитектурного превосходства и наличия в последних:

  • выделенных DSP-процессоров для обработки речи и эхоподавления (AEC), которые распространяются исключительно по модели IP core licensing;
  • отдельных цепей АЦП/ЦАП с фиксированными характеристиками;
  • детерминированных буферов, джиттер-буферов и таймингов, которые не зависят от планировщика ОС, фоновых процессов и драйверов.

Единственным допустимым исключением может служить пример использования софтфонов на мобильных телефонах командированными сотрудниками. Для такого сценария мы рекомендуем использовать Bria Mobile: VoIP Softphone компании CounterPath Corp совместно с IPSec IKEv2 VPN.

Мы рекомендуем изначально не рассматривать софтфоны как основное рабочее решение.