что такое поток в телефонии
Интерфейс цифровой передачи данных E1
E1 является одним из группы стандартов для ц ифровой передачи множества одновременных телефонных звонков с мультиплексированием с разделением по времени (TDM). Данный стандарт был разработан в те времена, когда для нужд телефонии еще не использовались сети с пакетной передачей данных и Ethernet. E1 стал продолжением идей, заложенных в стандарт передачи данных Т1 еще в 1961 […]
E1 является одним из группы стандартов для ц ифровой передачи множества одновременных телефонных звонков с мультиплексированием с разделением по времени (TDM). Данный стандарт был разработан в те времена, когда для нужд телефонии еще не использовались сети с пакетной передачей данных и Ethernet. E1 стал продолжением идей, заложенных в стандарт передачи данных Т1 еще в 1961 году. При разработке данного стандарта основное внимание уделялось обеспечению высокой пропускной способности канала и снижения стоимости телефонной инфраструктуры.
Описание протокола
Линии E1 используются для подключения между АТС, а также для их соединения с маршрутизаторами и коммутаторами. Они предлагаются телефонными компаниями / поставщиками услуг в качестве выделенных двухточечных коммутируемых линий для таких услуг, как:
Линии E1 могут соединять оборудование в сети общего пользования, в частной сети клиента или соединять оборудование общего пользования и клиента.
Интерфейс E1 принадлежат физическому уровню (уровню 1) в эталонной модели OSI, таким образом, технологии более высокого уровня, такие как ISDN, ATM, Frame Relay, TCP / IP и VoIP, могут переноситься по E1.
Интерфейс E1 содержит 32 канала для обмена данными из которых 0 и 16 каналы используются для сигнализации, остальные 30 для передачи непосредственно голоса. Скорость передачи данных по каждому каналу может достигать 64 Кбит/с, таким образом суммарная пропускная способность интерфейса достигает 2048 Кбит/с. В качестве носителя для данных по интерфейсу E1 может быть использовано оптическое волокно, витая пара или коаксиальный кабель. Несколько каналов E1 могут быть мультиплексированы в потоки с более высокой скоростью. Например, четыре потока E1 2048 Кбит/с могут быть мультиплексированы в один поток 8448 Кбит/с (E2) посредством мультиплексирования второго порядка. Этот метод может быть повторен для получения сигнала третьего порядка 34368 Кбит/с (E3), сигнала четвертого порядка (139264 кбит/с) и так далее.
Мультиплексы более высокого порядка должны быть в состоянии учесть небольшие расхождения по частоте между их входными потоками (притоками). Они делают это, работая немного быстрее, чем необходимо, и добавляя дополнительные биты (вставку битов), чтобы учесть различия во входных притоках. Эта структура, подобная пирамиде, называется Plesiochronous Digital Hierarchy (PDH). Термин «плезиохронный» означает «почти синхронный». Высокоскоростные сети SONET (синхронная оптическая сеть) и SDH (синхронная цифровая иерархия) предоставляют сигналы и средства для синхронизации отдельных сетевых узлов и оконечное оборудование, в отличие от асинхронной структуры PDH.
Также структуры SONET и SDH устраняют необходимость многоэтапного мультиплексирования / демультиплексирования и добавляют служебные данные служебной информации, необходимые для надежной связи с высокими скоростями. SONET и SDH похожи и тесно связаны. Стандарты SONET публикуются ANSI (Американский национальный институт стандартов). SDH — это международная версия стандартов, которая публикуется МСЭ (Международным союзом электросвязи).
Структура кадров потока E1
Для правильного считывания битового потока цифровое оборудование должно быть способно синхронизировать свою схему приемника с каждым входящим битом. Синхронизирующий сигнал используется для ускорения приема и передачи битов данных. Такты приема могут быть получены из формы импульса входящих битов. Такое извлечение тактовых импульсов возможно, потому что импульсы занимают около 50% рабочего цикла, то есть пиковая амплитуда передается в течение 50% времени. Правильная амплитуда и временные характеристики формы импульса передатчика важны для способности приемника правильно извлекать такты приемы.
Вместо того, чтобы извлекать тактовые импульсы из данных, тактовый сигнал может быть непосредственно предоставлен из сети на отдельной линии. Поскольку это решение требует отдельной линии, оно дороже и редко используется в системах E1. Синхронизация передачи может быть сгенерирована внутренне (режим внутренних тактовых импульсов), получена из принятых данных (также известных как восстановленный тактовый режим, тактовая петля или сетевая синхронизация) или получена из внешнего источника тактовых импульсов (внешний тактовый режим).
В идеале данные и тактовые импульсы должны поступать через правильные интервалы времени и с точной номинальной частотой. На практике встречаются частотные и временные отклонения. Такие отклонения могут вызвать проблемы синхронизации тактов и привести к ошибкам, особенно когда потоки E1 мультиплексируются в более высокие скорости. Таким образом, эти отклонения должны быть ограничены на выходе оборудования. С другой стороны, оборудование должно иметь возможность принимать данные и правильно работать при наличии частоты сигнала и временных отклонений, которые могут существовать в сети.
Максимальное отклонение частоты, установленное стандартами, составляет 50 ppm (частей на миллион) для E1 и 32 ppm для T1. Синхронизация или фазовое отклонение сигнала называется джиттером. Очень медленный джиттер с частотой ниже 10 Гц называется блужданием. Джиттер может быть вызван импульсными помехами, перекрестными помехами, искажениями, дрейфом осциллятора из-за теплового шума, флуктуациями задержки, разностью тактовых импульсов и модуляцией из-за мультиплексирования и отображения.
Амплитуда джиттера выражается в единичных интервалах (UI), где 1 UI соответствует отклонению фазы на один бит. Стандарты устанавливают максимальные пределы для выходного джиттера для всех возможных источников тактового сигнала в диапазоне входного джиттера и сигналов смещения частоты. Также оборудование должно иметь возможность принимать данные без ошибок и аварийных сигналов, в то время как джиттер применяется к его входу.
Линейные сигналы
Биты данных передаются на линию в виде импульсов, представляющих «1», и пробелов (без импульсов), представляющих «0».
Номинальное импульсное (маркировочное) напряжение «1» составляет 2,37 В и сопротивление 75 Ом.
Если бы импульсы имели только одну полярность — это привело бы к появлению постоянного тока в линии. Сигнал, имеющий компонент постоянного тока, не может быть передан, потому что повторители, расположенные вдоль линии для повторной передачи сигнала, имеют подачу питания постоянного тока, подаваемую по той же линии. Чтобы преодолеть эту проблему, полярность каждого импульса инвертируется относительно предыдущего импульса. Эта инверсия полярности называется кодированием сигнала (или линии) AMI (инверсия альтернативной метки). Такая биполярная картина также вдвое уменьшает основную частоту сигнала, что приводит к меньшему затуханию и групповой задержке. Однако кодирование сигнала AMI не решает другую проблему. Когда имеется длинная последовательность нулей, оборудование на другом конце линии не может синхронизироваться и считает, что связь потеряна.
Для решения этой проблемы импульсы вставляются в каждую последовательность из 4 непрерывных нулей. Такой «искусственный» импульс имеет полярность, противоположную той, которая требуется правилом AMI.
Это приводит к строковому коду с максимум тремя последовательными нулями, за которыми следует импульс биполярного нарушения. Такой линейный код называется HDB3 (биполярный с высокой плотностью) и используется в E1.
Стандарты ограничивают форму импульса с помощью маски, которая состоит из максимального и минимального напряжения в зависимости от временных ограничений. Для интерфейса E1 соотношение амплитуд и ширин между положительными и отрицательными импульсами ограничено от 0,95 до 1,05, пространственное пиковое напряжение ограничено +/- 0,3 В для 120 и +/- 0,237 для 75 Ом.
Импульсы ослабляются и распространяются во временной области, когда они движутся по линии.
Мультикадровая структура
В дополнение к описанной выше структуре кадра, структура мультикадра CRC-4 рекомендуется в качестве опции МСЭ-T G.704 и является обязательной для оконечного (пользовательского) оборудования в соответствии с европейскими стандартами TBR 13, TBR 4 и австралийскими стандартами TS016.
Каждый мультикадр (MF) состоит из 16 последовательных кадров, разделенных на два 8-кадровых субкадра (SMF1 и SMF2). Когда используется CRC, битовый шаблон выравнивания мультикадра «001011» (называемый MFAS — Сигнал выравнивания мультикадра) передается в первом бите временного интервала 0 в нечетных кадрах 1-11. Этот шаблон используется приемником для синхронизации в мультикадре структура.
CRC-4 (циклическая проверка избыточности) — это алгоритм, используемый для проверки ошибок. Передатчик выполняет вычисление определенного бита для каждой отправляемой им SMF-информации и помещает результат этого вычисления во временной интервал 0 следующей SMF-функции. Результат CRC-4 — это 4 бита, которые вставляются в первый бит TS0 4-х четных кадров SMF. Приемник выполняет те же вычисления CRC-4 и сравнивает результат с четырьмя битами CRC, которые он получил во временном интервале 0. Если биты не совпадают, приемник устанавливает сигнализацию E-bit (первый бит в TS0 в кадрах 13 и 15). установлено на 0) уведомление передатчика о возникновении ошибки.
Сигнализация
В системах E1 PCM и ISDN PRI временной интервал 16 кадров обычно используется для передачи информации сигнализации, такой как состояние линии и оповещение о вызове (вызов начат, вызов завершен, запрос на обслуживание), адресация (пункт назначения и маршрутизация), идентификация вызывающей стороны.
Существует два разных режима сигнализации в отношении использования структуры данных — CAS и CCS.
В режиме CAS (Channel Associated Signaling) мультикадр (MF) состоит из 16 последовательных кадров. Первый кадр MF идентифицируется шаблоном «0000» в первых четырех битах временного интервала 16. Шестой бит временного интервала 16 в первом кадре используется для индикации тревоги (тревога дальнего мультикадра). Этот бит устанавливается в 1, если приемник не обнаруживает правильную структуру мультикадра CAS. В каждом из оставшихся 15 кадров MF временной интервал 16 делится на два 4-битных слова (называемых битами abcd или битами CAS). Данные сигнализации, связанные с 30 каналами полезной нагрузки, передаются в этих битах, называемых словами abcd. Канал 1 и связанная с каналом 2 сигнализация передаются в первом и втором abcd словах второго кадра, канал 3 и канал 4 сигнализации передаются в третьем кадре и так далее.
В прошлом биты CAS использовались для передачи набранного номера. Этот метод привел к медленному установлению соединения.
Сегодня набранный номер (и другая информация о вызове) отправляется с использованием сигналов DTMF или MF, закодированных в вызывающем канале полезной нагрузки (внутриполосная сигнализация). Обычно используемая сигнализация E1 CAS — это MFC-R2 (Multi-Frequency Compelled R2), использующий биты ABCD для контрольной информации (при подключении / снятии трубки) и MF для сигнализации адресации регистра (номер вызываемой / вызывающей стороны, тип вызова и т. д.).
Что такое поток Е1?
Канал Е1 как средство высокоскоростной передачи данных в несколько потоков
В IP-телефонии для передачи сигнала используется поток Е1 – поток цифрового канала данных, общая пропускная способность которого достигает 2048 кбит/секунду. Любой поток Е1 можно передать по оптической или меддной линии с помощью оптического мультиплексора или модема. При этом используется стандартное качество речевого сигнала 64 кбит/секунду, так что общий поток может разделяться на 30 таких каналов. Кроме того, Е1 имеет два канала для сигнализации, один из которых используется для синхронизации оборудования. Для работы потока применяется двухполярная высокоплотная схема кодирования HDB3. Сверхцикловая структура работы и каналы сигнализации можно назвать одним из главных преимуществ E1-потока по сравнению с обычными схемами передачи данных.
Передача сигнала осуществляется по отдельной линии, в качестве которой можно использовать как симметричную витую пару, так и коаксиальный кабель. Это оборудование является необходимым для любого интернет-подключения, поэтому все пользователи компьютеров с выходом в сеть могут пользоваться услугами IP-телефонии через этот канал. Корпоративные и городские системы связи также можно организовать подобным образом, для чего используются специально сконструированные для работы с цифровыми данными коммутаторы потоков. Это снижает затраты, например, на организацию корпоративной внутренней сети, данные по которой распространяются с большей скоростью, а работа может идти сразу в несколько потоков. При этом позволяется даже использование внутренней нумерации: каждый IP локальной сети или Интернет, подключенный к такому коммутатору, привязывается к определенному номеру в рамках группы.
По сравнению с потоками данных обычной телефонии E1 имеет большую пропускную способность, но качество при этом сильно зависит от нагрузки на сети. Протоколы шифрования и кодирования речевого сигнала в цифровой устроены таким образом, чтобы передавать большие объемы данных порционно либо использовать восстановление информации в процессе передачи. Для каждого отдельного потока Е1 можно назначить свой протокол сигнализации, защищая связь от потерь, вторжения либо утечки данных по подключенным каналам. Разделение на 30 потоков также позволяет осуществлять связь одновременно с несколькими абонентами, что дает широкие возможности для организации конференций с использованием IP-сетей либо поддерживать разные линии внутренней связи. По структуре канал E1 организован гораздо удобней стандартных европейских сетей, так как он поддерживает сверхцикличность против обычной цикличности.
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.