Asterisk кодеки (codecs)
Asterisk IP-PBX (IP-АТС) — свободное решение компьютерной телефонии IP PBX - это ПО, распространяемое по открытой лицензии, что делает невозможным включение в состав дистрибутива некоторых коммерческих технологий, таких как патентованные алгоритмы эхо-компенсации и преобразования кодеков G.729 и G.723.1. Однако, компания Digium предоставляет возможность всем желающим приобрести лицензию на использование кодека G729, которая позволяет использовать этот кодек для преобразования голосовых каналов (транскодирования).
Сервер Asterisk поддерживает работу с кодеками:
- Гибридные кодеки G.729, G.729 Annex А, G.729 Annex B (содержит VAD и генератор комфортного шума): Использование кодека Гибридные кодеки G.729 в продуктах требует лицензирования от: Sipro Lab Telecom или VoiceAge, если вы живете в США или некоторых других странах. Существует некоторое количество свободных некоммерческих экспериментальных реализаций кодека G.729: бинарные и др. Сервер Asterisk поддерживает работу кодека в режиме pass-thru (т.е. без транскодинга) или, если у Вас имеется лицензия? или у Вас есть голова и руки.
- G.723.1: Использование этого кодека в продуктах требует лицензии от Sipro Lab Telecom. Сервер Asterisk поддерживает работу с этим кодеком в режиме pass-thru.
- G.711: ulaw, alaw
- G.726: 32kbps в версии Asterisk 1.0.3, 16/24/32/40kbps в CVS HEAD версиях. Если G.711 использует полосу в 64 Kbps, то G.726 использует 32 Kbps, обеспечивая примерно такое же качество связи. Он, также, используется как стандартный кодек в системах с беспроводными DECT телефонами.
- GSM:
- iLBC: это VoIP кодек, разработанный Global IP Sound, и сделанный общедоступным (включая исходные коды) под свободной и довольно либеральной лицензией, которая включает в себя возможность модификации кода.
- LPC10: (не рекомендуется к использованию!)
- Speex: это голосовой кодек с открытым исходным кодом. Битрейт конфигурация: 4-48kbps, VBR, ABR, и т.д.
- Для использования в командах ограничения использования кодеков allow и disallow, ниже приведена таблица соответствия используемых аббревиатур и названий кодеков:
G.711 ulaw = ulaw G.711 alaw = alaw G.723.1 = g723.1 G.726 = g726 G.729 = g729 GSM = gsm iLBC = ilbc LPC10 = lpc10 Speex = speex ADPCM = adpcm
Типичный пример использования ограничения на кодеки:
disallow=all allow=alaw allow=ulaw
- Разбивка на пакеты данных:
Разные клиенты поддерживают различные интервалы разбивки аудиоданных на порции цифровых данных, передаваемых в дальнейшем по сети. Сервер Asterisk поддерживает только разбивку через каждые 20ms в протоколах, использующих RTP для передачи аудиоданных, типа SIP или MGCP, из этого следует, что Вам необходимо настроить Ваше клиентское оборудование в соответствии с этим требованием.
Установка кодеков
Бинарные файлы кодеков можно скачать отсюда asterisk.hosting.lv или G.729 и G.723.1 кодеки.
Скачиваем кодеки под нужную ОС (Ubuntu 9.10 Server 64-bit) и версию Asterisk IP-PBX (IP-АТС) — свободное решение компьютерной телефонии (1.6.2).
# uname -a Linux keep 2.6.31-16-server #53-Ubuntu SMP Tue Dec 8 05:08:02 UTC 2009 x86_64 GNU/Linux # asterisk -v Asterisk 1.6.2.0~rc2-0ubuntu1.1, Copyright (C) 1999 - 2009 Digium, Inc. and others. # wget http://asterisk.hosting.lv/bin162/codec_g723-ast16-icc-glibc-x86_64-core2-sse4.so # wget http://asterisk.hosting.lv/bin162/codec_g729-ast16-gcc4-glibc-x86_64-core2-sse4.so
Удаляем старые кодеки codec_g729/723*.so в директории /usr/lib/asterisk/modules . Копируем в туже директорию новые кодеки.
cp codec_g729-ast16-gcc4-glibc-x86_64-core2-sse4.so /usr/lib64/asterisk/modules cp codec_g723-ast16-gcc4-glibc-x86_64-core2-sse4.so /usr/lib64/asterisk/modules
Перезапускаем Asterisk или подгружаем кодек вручную
localhost*CLI> module load codec_g729-ast110-gcc4-glibc-x86_64-core2.so Loaded codec_g729-ast110-gcc4-glibc-x86_64-core2.so == Registered translator 'g729tolin' from format g729 to slin, table cost, 900000, computational cost 1000 == Registered translator 'lintog729' from format slin to g729, table cost, 600000, computational cost 4000 Loaded codec_g729-ast110-gcc4-glibc-x86_64-core2.so => (g729 Coder/Decoder, based on Intel IPP)
- Вывести информацию о возможных кодеках, которые может понимать asterisk
core show codecs
- Проверим подгрузились кодеки или нет, командой
module show like 729 (линия) кодек не установлен (цифра) означает сколько миллисекунд нужно для преобразования из кодека А в B core show translation core show translation recalc 10
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах