Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Проблема конвертации кодеков

Проблема конвертации кодеков

chan_sip sip_write: Asked to transmit frame type 256, while native formats is 0x4 (ulaw)(4) read/write = 0x100 (g729)(256)/0x100 (g729)(256)
Сообщений: 17

Проблема конвертации кодеков

Добрый день! Прошу пояснить, поскольку Интернет "молчит"..
> asterisk -r
[Sep 24 02:24:12] WARNING[35780]: chan_sip.c:3625 sip_write: Asked to transmit frame type 4, while native formats is 0x100 (g729)(256) read/write = 0x100 (g729)(256)/0x100 (g729)(256)
[Sep 24 02:24:12] WARNING[35780]: chan_sip.c:3625 sip_write: Asked to transmit frame type 256, while native formats is 0x4 (ulaw)(4) read/write = 0x100 (g729)(256)/0x100 (g729)(256)
...много-много-много таких сообщений на консоле Asterisk...
Сабж. выдается при попытке образовать конференцию.
При этом трансфер на Цискофонах "прокатывает"! Хоть обычный, хоть "слепой"!
Как вообще заставить Asterisk транскодировать из одного кодека в другой?

Обстоятельства дела:
- два Cisco CP7940, у обоих выбран Preferred Codec: g729a;
- Asterisk 1.4.11 + Cisco 5350 с потоковой платой;
- sip.conf:
...
disallow=all
allow=g729
allow=ulaw
allow=alaw
allow=gsm
allow=g723
allow=g726
...
[80.251.128.71]
type=friend
context=pstn-incoming
host=80.251.128.71
dtmfmode=rfc2833
insecure=port,invite
disallow=all
allow=g729

[eyatsko]
type=friend
host=dynamic
username=eyatsko
regexten=148
nat=no
;canreinvite=no
context=office
callerid="e.yatsko" <148>
disallow=all
allow=g729
allow=ulaw
allow=alaw
allow=gsm
allow=g723
allow=g726
callgroup=1
pickupgroup=1

[nlagohin]
type=friend
host=dynamic
username=nlagohin
regexten=115
nat=no
;canreinvite=no
context=office
callerid="n.lagohin" <115>
disallow=all
allow=g729
allow=ulaw
allow=alaw
allow=gsm
allow=g723
allow=g726
callgroup=1
pickupgroup=1
...

- extensions.conf:
[pstn-incoming]
exten => 6662823,1,Dial(SIP/eyatsko,3,tT)
exten => 6662823,2,Dial(SIP/eyatsko&SIP/nlagohin,20,tT)
exten => 6662823,3,Hungup
exten => 6662824,1,Dial(SIP/nlagohin,20,tT)
exten => 6662824,2,Hungup
include => ip-phones

[office]
include => ip-phones

[ip-phones]
exten => 148,1,Dial(SIP/eyatsko,20,tT)
exten => 148,2,Hungup
exten => 115,1,Dial(SIP/nlagohin,20,tT)
exten => 115,2,Hungup
exten => nlagohin, 1, Goto(115|1)
exten => 164,1,Dial(SIP/sdolin,20,tT)
exten => 164,2,Hungup
exten => sdolin, 1, Goto(164|1)

- Cisco 5350:
...
voice class codec 1
codec preference 1 g729r8
codec preference 2 g711ulaw
codec preference 3 g711alaw
codec preference 4 g723r63
...
controller E1 2/1
framing NO-CRC4
pri-group timeslots 1-31
...
interface Serial2/1:15
description *** Test Asterisk 80.251.128.148 ***
no ip address
encapsulation hdlc
isdn switch-type primary-net5
isdn incoming-voice data
isdn negotiate-bchan resend-setup cause-code 18
no cdp enable
...
voice-port 2/1:D
...
dial-peer voice 1 pots
description *** Test Asterisk 80.251.128.148 ***
destination-pattern 90.+
direct-inward-dial
port 2/1:D
forward-digits all
!
dial-peer voice 2 voip
description *** Test Asterisk 80.251.128.148 ***
huntstop
preference 1
destination-pattern 666282[3-5]
progress_ind setup enable 1
voice-class codec 1
session protocol sipv2
session target ipv4:80.251.128.148

- codecs.conf
...
; enable preprocessor [true / false]
; allows dsp functionality below but incurs CPU overhead
preprocess => true ; как оказалось, не влияет!
...
ПОМОГИТЕ, ПОЖАЛУЙСТА!
2008-09-24 15:34

Сообщений: 6521

Re: Проблема конвертации кодеков

Чтобы заставить Asterisk транскодировать из одного кодека в другой, кодеки должны присутствовать в самом Астериске. Это можно увидеть
CLI>show translations

в таблице будут цифры в миллисекундах, которые потребуются при транскодинге из одного в другой.
Если стоят прочерки ------ значит нет такого кодека в Астериске. Тогда следующий шаг: фразу "Как мне установить / где мне взять.." в строку поиска, и моментальные ответы.
2008-09-24 18:19

Сообщений: 17

Re: Проблема конвертации кодеков

Хорошо. Точно той команды нет, но есть другая:

it-sysadm01-freebsd*CLI> show translations
No such command 'show translations' (type 'help' for help)
it-sysadm01-freebsd*CLI> core show codecs
Disclaimer: this command is for informational purposes only.
It does not indicate anything about your configuration.
INT BINARY HEX TYPE NAME DESC
--------------------------------------------------------------------------------
1 (1 << 0) (0x1) audio g723 (G.723.1)
2 (1 << 1) (0x2) audio gsm (GSM)
4 (1 << 2) (0x4) audio ulaw (G.711 u-law)
8 (1 << 3) (0x8) audio alaw (G.711 A-law)
16 (1 << 4) (0x10) audio g726aal2 (G.726 AAL2)
32 (1 << 5) (0x20) audio adpcm (ADPCM)
64 (1 << 6) (0x40) audio slin (16 bit Signed Linear PCM)
128 (1 << 7) (0x80) audio lpc10 (LPC10)
256 (1 << 8) (0x100) audio g729 (G.729A)
512 (1 << 9) (0x200) audio speex (SpeeX)
1024 (1 << 10) (0x400) audio ilbc (iLBC)
2048 (1 << 11) (0x800) audio g726 (G.726 RFC3551)
4096 (1 << 12) (0x1000) audio g722 (G722)
65536 (1 << 16) (0x10000) image jpeg (JPEG image)
131072 (1 << 17) (0x20000) image png (PNG image)
262144 (1 << 18) (0x40000) video h261 (H.261 Video)
524288 (1 << 19) (0x80000) video h263 (H.263 Video)
1048576 (1 << 20) (0x100000) video h263p (H.263+ Video)
2097152 (1 << 21) (0x200000) video h264 (H.264 Video)
it-sysadm01-freebsd*CLI>

Какой следующий шаг :-)?
2008-09-24 20:11

Сообщений: 17

Re: Проблема конвертации кодеков

Прошу прощения, вы правы! Я немного уже переутомился сегодня..
Но проблема не в том, как мне кажется, что его нет, а в том, что конверсия не работает/отсутствует?
Я отчетливо видел в "sip set debug", что когда с двух сторон этот кодек - все "схлапывается" замечательно. А вот когда какой-то другой кодек с удаленной стороны - проблема. Что делать?

it-sysadm01-freebsd*CLI> core show translation
Translation times between formats (in milliseconds) for one second of d ata
Source Format (Rows) Destination Format (Columns)

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722
g723 - - - - - - - - - - - - -
gsm - - 2 2 2 2 1 2 - 10 8 2 -
ulaw - 2 - 1 2 2 1 2 - 10 8 2 -
alaw - 2 1 - 2 2 1 2 - 10 8 2 -
g726aal2 - 2 2 2 - 2 1 2 - 10 8 1 -
adpcm - 2 2 2 2 - 1 2 - 10 8 2 -
slin - 1 1 1 1 1 - 1 - 9 7 1 -
lpc10 - 2 2 2 2 2 1 - - 10 8 2 -
g729 - - - - - - - - - - - - -
speex - 2 2 2 2 2 1 2 - - 8 2 -
ilbc - 2 2 2 2 2 1 2 - 10 - 2 -
g726 - 2 2 2 1 2 1 2 - 10 8 - -
g722 - - - - - - - - - - - - -
2008-09-24 20:17

Сообщений: 17

Re: Проблема конвертации кодеков

В таблице все плохо видно, в столбце g729 действительно все прочерки - в него и из него (строка) не пережимается.
2008-09-24 20:18

Сообщений: 6521

Re: Проблема конвертации кодеков

eyatsko@ngs.ru, тема много раз пережёвано - невкусно и скучно.
Когда два устройства (условно - шлюз и ИП 7940) устанавливают соединение, то они замкнуться по одному кодеку, если таковой присутствует на обоих устройствах. Тогда прозрачный бриджинг, и Астериску всё равно, особенно если canreinvite=yes
Если нет совпадения по кодекам, то медиа будет проксироваться через *, будет попытка транскодинга на Астериске, для этого нужно присутвие g729 и/или g723 на нём.
Пожалуйста, используйте поиск по теме.
2008-09-24 20:34

Сообщений: 17

Re: Проблема конвертации кодеков

Спасибо! Ваш ответ (первый) на самом деле очень помог, я уже исправил ситуацию.
Вот полезные ссылки для таких как я:

1) codec_g723-ast14-gcc4-glibc-pentium4.so
codec_g729-ast14-gcc4-glibc-pentium4.so
Взяты с http://asterisk.hosting.lv/ - G.729 встал без проблем, а вот G.723 -
не пошел. Сайт, вроде как, официальный по кодекам.


2) codec_g723_pentium4.so
codec_g729_pentium4.so
Взяты с ftp://itserv.biz/asterisk14-fbsd/ - оба работают нормально, на stats,
похоже, тоже они стоят (судя по названиям файлов). Сайт - чье-то личное
хранилище, и неизвестно, будет ли работать дальше.

Кодеки скачиваются и просто копируются в папку /usr/local/lib/asterisk/modules. Подчеркну еще раз: они для *1.4.х.
2008-09-26 16:08

Сообщений: 1530

Re: Проблема конвертации кодеков

Взяты с http://asterisk.hosting.lv/ - G.729 встал без проблем, а вот G.723 -
не пошел. Сайт, вроде как, официальный по кодекам.
Никакой он официальный, хотя спасибо его создателям.
Данные кодеки являются платными и использование их с сайта разрешено только в ознакомительных целях. ;)
http://www.telecomtechnology.net - premium терминация
2008-09-26 16:49

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru