Расчет полосы пропускания для VoIP с первого взгляда может показаться сложной задачей, но есть понимать ряд принципов, то все значительно упрощается.
VoIP звонок состоит из 2 частей. Часть отвечающая за управление определяет как именно идет вызов. Она определяет события такие как: начало звонка, сам вызов и разъединение, а также другие стадии общения между 2-мя абонентами. Вторая часть это аудио потоки походящие по RTP. Так как полоса пропускания занимаемая SIP сигнализацией не значительная мы сфокусируемся на полосе пропускания для аудио потоков.
Исходный голосовой поток займет довольно много полосы пропускания, поэтому перед передачей по сети его нужно закодировать. Это делается при помощи кодека. Различные кодеки обеспечивают разное качество звука, требуют различную полосу пропускания и дают разную нагрузку на CPU. При выборе кодека эти параметры необходимо учесть.
Прежде чем углубиться в изучение особенностей кодеков давайте введен один принцип который позволит точнее рассчитать пропускную способность. При отправке данных через сеть, их необходимо разбить на пакеты. Пакеты содержат информацию которая позволяет данным достичь точки назначения и корректно объединить. Такая "упаковка"не проходит бесследно, а добавляет некоторую нагрузку на полосу пропускания.
Существуют различные уровни упаковки данных (согласно 7 уровневой модели OSI). Закодированное аудио упаковывается в RTP-пакеты. В свою очереди RTP упаковывается в UDP пакеты, которые упаковываются в IP пакеты. Ethernet - наиболее распространенный тип сети, также требует свою "обертку".
Это дополнительные расходы полосы пропускания. Они не зависят от используемого кодека, количество служебной информации для всех пакетов фиксировано. Ниже приведена детализация для всех протоколов:
- RTP – 4.8 kbps
- UDP – 3.2 kbps
- IP – 8 kbps
- Ethernet (без использования QOS) – 15.2 kbps
Кодеки
|
Обратите внимание что данные приведены в килобитах в секунду. Нужно разделить на 8 чтобы получить килобайты в секунду. Используя данные из Таблицы 1, получим следующее:
|
- Данные представлены для одного аудио потока. VoIP вызовы используют один поток для каждого из направлений. Поэтому разговор между 2 абонентами требует двойную полосу пропускания
- G729 обеспечивает небольшую полосу пропускания и относительно неплохое качество. Однако, нужно учитывать 2 недостатка:
- Эффективность имеет цену в виде загрузки CPU. Чем интенсивнее используется процессор тем больше можно сжать голос при сохранении качества речи.
- G729 "закрытый"кодек. Поэтому количество вызовов с G729 не превышает половины линий 3CX Phone System simultaneous call license.
- Поэтому, G729 нужно использовать только в случаях когда он реально нужен, для внешних вызовов через VoIP Providers, звонки через Туннели, или для удаленных абонентов (как правило все вызовы через Интернет). Вы можете настроить GSM как резервный кодек, если нельзя сделать вызов по G729.
- Хотя G711 и G722 используют вдвое большую полосу чем любой другой кодек, большинство локальных сетей способны выдержать такую нагрузку. Из таблицы видно, что 1 час разговоров с кодеком G711эквивалентен передаче файла размером 41.8 MB. Если это может вызвать проблемы, необходимо поставить вопрос о модернизации сети.