Столкнулся с проблемой.
Исходные данные:
1. FreeSWITCH-mod_sofia/1.0.trunk-16135:16328M
2. банк аналоговых портов FXS с компандированием A-Law
3. dahdi + openzap
4. SIP провайдер с поддержкой кодеков G711 / G729 / G723 / G726 /
iLBC / GSM
5. профиль кодеков:
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=iLBC@30i,G729,GSM"/>
<X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=iLBC@30i,G729,GSM"/
>
в файле конфигурации провайдера так-же указано:
<param name="codec-prefs" value="iLBC@30i,G729,GSM"/>
6. модуль mod_g729 собран из svn(в последних версиях есть заготовка
для работы не только в прозрачном режиме) + библиотека libg729
при исходящем вызове к провайдеру имею сообщения в консоли:
[DEBUG] sofia.c:3905 Channel sofia/external/xxxxx entering state
[ready][200]
[DEBUG] sofia_glue.c:3344 Audio Codec Compare [PCMA:8:8000:20]/[PCMA:
8:8000:20]
[DEBUG] sofia_glue.c:2171 Set Codec sofia/external/xxxxx PCMA/8000 20
ms 160 samples
Из всех файлов конфигурации за исключением естественно dahdi A-Law
убрано
Транскодирование при вызове от аналоговых портов к софтфону в локалке
работает нормально.
Пробовал подставлять строку {absolute_codec_string=КОДЕК} в этом
случае вызов завершается ошибкой INCOMPATIBLE_DESTINATION
Вопрос: как заставить работать транскодирование от аналоговых портов к
SIP провайдеру?
Заранее благодарен за ответ!
При внимательном прочтении моего вопроса всплывает очевидное:
"Транскодирование при вызове от аналоговых портов к софтфону в локалке
работает нормально."
Проблема видимо состоит в том что у провайдера указан порядок кодеков
G711 / G729 / G723 / G726 /
iLBC / GSM а у меня iLBC@30i,G729,GSM причём G711 ОТСУТСТВУЕТ совсем.
Тогда вопрос поставлю несколько иначе - как запретить провайдеру
использовать PCMA (G711)?
--
Вы получили это сообщение, поскольку подписаны на группу freeswitch-ru.
Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу freesw...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу freeswitch-r...@googlegroups.com.
О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/freeswitch-ru?hl=ru.
сообщения в консоли при исходящем вызове к провайдеру SIP:
[DEBUG] sofia_glue.c:3344 Audio Codec Compare [PCMA:8:8000:20]/[iLBC:
97:8000:30]
[DEBUG] sofia_glue.c:3344 Audio Codec Compare [PCMA:8:8000:20]/[PCMA:
8:8000:30]
[DEBUG] sofia_glue.c:3392 Substituting codec PCMA@20i@8000h
[DEBUG] sofia_glue.c:2171 Set Codec sofia/external/7916хххх PCMA/8000
20 ms 160 samples
т.е. нашлось два кодека iLBC и PCMA. PCMA является "родным" для
аналогового банка и он выбирается как кодек с более высоким
приоритетом.
Если из строки absolute_codec_string убрать PCMA то соединение не
устанавливается с сообщениями:
[NOTICE] sofia.c:4547 Hangup sofia/external/7916ххх [CS_CONSUME_MEDIA]
[INCOMPATIBLE_DESTINATION]
[DEBUG] switch_ivr_originate.c:3140 Originate Resulted in Error Cause:
88 [INCOMPATIBLE_DESTINATION]
[INFO] mod_dptools.c:2353 Originate Failed. Cause:
INCOMPATIBLE_DESTINATION
[NOTICE] mod_dptools.c:2416 Hangup OpenZAP/1:1/7916ххх [CS_EXECUTE]
[INCOMPATIBLE_DESTINATION]
При звонке с аналогового банка в локалку на софтфон в котором включены
только iLBC и speex транскодинг работает нормально.
При звонке с софтфона напрямую SIP провайдеру минуя FS при
установленных кодекак в софтфоне iLBC и PCMA выбирается iLBC...
Т.е. проблемы именно с настройками для external. Со строками кодеков
уже "поигрался" прежде чем писать сюда...
Что-то похоже я не понимаю но что именно понять не могу :-(
Если у кого есть готовая конфигурация которая работает хотя-бы на
сипнете киньте пожалуйста! И именно аналоговые порты с
компандированием A-Law... А то с PCMA я сожру всю полосу подключения к
инету...