Принципы работы IP-телефонии: от аналогового сигнала до пакетной передачи

Традиционная телефонная связь, основанная на выделенных физических линиях, постепенно уступает место более гибким и экономичным решениям. Вместо того чтобы занимать отдельный канал на всё время разговора, современные технологии разбивают голос на небольшие фрагменты и передают их в общем цифровом потоке вместе с данными миллионов других пользователей. Это позволяет использовать существующую интернет-инфраструктуру для звонков, радикально снижая затраты, особенно на междугородние и международные вызовы. Кроме того, IP-телефония открывает возможности для видеосвязи, конференций и интеграции с другими бизнес-сервисами.
Принцип преобразования звука в данные
Чтобы понять, как работает IP-телефония, нужно проследить путь голоса от микрофона до динамика собеседника. Этот процесс включает три основных этапа: оцифровку, пакетизацию и обратное преобразование.
Оцифровка и сжатие
Когда вы говорите в микрофон, звуковая волна преобразуется в цифровой поток с помощью аналого-цифрового преобразователя. Частота измерений составляет обычно 8000 раз в секунду, что достаточно для передачи речевого диапазона. Полученный поток сжимается специальным кодеком, который удаляет избыточную информацию, неразличимую для человеческого уха. Современные кодеки позволяют уменьшить исходный поток с 64 до 8 килобит в секунду и даже ниже, сохраняя при этом приемлемое качество речи.
Формирование и передача пакетов
После сжатия голосовой поток разбивается на небольшие порции — пакеты, каждый из которых содержит обычно 10–30 миллисекунд разговора. К полезным данным добавляется служебный заголовок с адресом получателя, порядковым номером и временной меткой. Затем пакеты независимо друг от друга отправляются в сеть, где могут следовать разными маршрутами в зависимости от текущей загрузки узлов. На стороне получателя пакеты собираются в правильном порядке по номерам, распаковываются кодеком и преобразуются обратно в звук.
Сетевые протоколы и их функции
Для передачи голоса используется стек протоколов, каждый из которых отвечает за свою часть работы. Это похоже на работу почтовой системы: один протокол доставляет содержимое, другой управляет установлением соединения.
Транспортный протокол RTP
Основным протоколом для передачи голосовых данных является RTP (Real-time Transport Protocol), работающий поверх UDP. Протокол UDP выбран потому, что он не тратит время на подтверждение доставки каждого пакета — в голосовой связи потеря одного пакета из ста менее критична, чем задержка, вызванная повторной отправкой. Заголовок RTP содержит временные метки для восстановления естественного темпа речи и номера последовательности для правильной сортировки пакетов.
Протокол управления вызовами SIP
Для установления соединения, передачи сигнала о занятости и завершения разговора применяется протокол SIP (Session Initiation Protocol). Когда вы набираете номер, ваш телефон отправляет приглашение INVITE на сервер провайдера. Сервер находит получателя и пересылает ему вызов. В ответ приходит сообщение о том, что абонент свободен и его телефон звонит, либо о том, что он занят. После того как трубка поднята, голосовые пакеты RTP начинают идти напрямую между устройствами. Для завершения разговора отправляется прощальное сообщение BYE.
Взаимодействие с традиционными телефонными сетями
Миллионы абонентов по-прежнему пользуются обычными аналоговыми телефонами, поэтому возможность соединения IP-сети с традиционной телефонной сетью критически важна. Для этого используются специальные устройства — VoIP-шлюзы. Шлюз принимает вызов из IP-сети, преобразует пакеты RTP в аналоговый звук и передает его в телефонную линию, а также выполняет обратное преобразование. Благодаря шлюзам вы можете позвонить с IP-телефона на любой стационарный аппарат в мире, причем тарификация такого звонка часто значительно ниже прямого международного вызова.
Факторы качества связи
Качество разговора в IP-телефонии зависит от нескольких параметров сети. Главные из них — это задержка, джиттер и потери пакетов.
Задержка (латентность) — это время прохождения пакета от отправителя до получателя. Рекомендуемая задержка не должна превышать 150 миллисекунд в одну сторону, иначе возникает эффект «перебивания», когда собеседники начинают говорить одновременно. Джиттер — это разброс времени прибытия пакетов. Если пакеты приходят с разными интервалами, звук начинает «плавать». Для борьбы с джиттером применяется джиттер-буфер, который накапливает несколько первых пакетов и затем выдает их равномерно. Потеря пакетов даже на уровне одного процента заметна на слух как щелчки и выпадения звуков. Для смягчения этой проблемы используются специальные механизмы, которые интерполируют потерянный фрагмент на основе соседних пакетов.
Организация качества обслуживания
В сети голосовой трафик конкурирует с веб-серфингом, видео и другими приложениями. Для приоритизации голоса применяется механизм QoS (Quality of Service). Голосовые пакеты помечаются специальными метками, и маршрутизатор обрабатывает их в первую очередь, даже если в других очередях есть данные. Это гарантирует, что ваш разговор не прервется из-за того, что кто-то в офисе начал скачивать большой файл.