транскодирование при исходящем вызове к SIP провайдеру.

589 views
Skip to first unread message

AndrewKo

unread,
Jan 16, 2010, 5:02:53 AM1/16/10
to freeswitch-ru
Добрый день!

Столкнулся с проблемой.
Исходные данные:
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 провайдеру?

Заранее благодарен за ответ!

Boris

unread,
Jan 16, 2010, 5:48:39 AM1/16/10
to freeswitch-ru
попробуй сделать как описано тут
http://freeswitch.ru/wiki/fs-g729

у меня транскодинг работает

AndrewKo

unread,
Jan 16, 2010, 6:01:59 AM1/16/10
to freeswitch-ru
Спасибо за совет!

При внимательном прочтении моего вопроса всплывает очевидное:


"Транскодирование при вызове от аналоговых портов к софтфону в локалке
работает нормально."

Проблема видимо состоит в том что у провайдера указан порядок кодеков


G711 / G729 / G723 / G726 /

iLBC / GSM а у меня iLBC@30i,G729,GSM причём G711 ОТСУТСТВУЕТ совсем.
Тогда вопрос поставлю несколько иначе - как запретить провайдеру
использовать PCMA (G711)?

Михаил Кривушин

unread,
Jan 16, 2010, 12:31:09 PM1/16/10
to freesw...@googlegroups.com
По идее надо прописать кодеки и поставить inbound-codec-negotiation в greedy.

http://wiki.freeswitch.org/wiki/Codec_negotiation
http://wiki.freeswitch.org/wiki/Sofia.conf.xml#inbound-codec-negotiation
http://wiki.freeswitch.org/wiki/Sofia#Transcoding_Issues

16 января 2010 г. 17:01 пользователь AndrewKo <kornev...@gmail.com> написал:
--
Вы получили это сообщение, поскольку подписаны на группу freeswitch-ru.

Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу freesw...@googlegroups.com.
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу freeswitch-r...@googlegroups.com.
О дополнительных функциях можно узнать в группе по адресу http://groups.google.com/group/freeswitch-ru?hl=ru.




AndrewKo

unread,
Jan 16, 2010, 1:44:17 PM1/16/10
to freeswitch-ru
Получается вот что:
строка кодеков:
absolute_codec_string='iLBC@30i,speex@8000h@20i,G729,GSM,PCMA'

сообщения в консоли при исходящем вызове к провайдеру 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 я сожру всю полосу подключения к
инету...

Reply all
Reply to author
Forward
0 new messages