VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Запрет транскодинга между g.722 и ulaw-alaw

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
gaspaarr
Сообщения: 217
Зарегистрирован: 17 сен 2014, 21:20

Запрет транскодинга между g.722 и ulaw-alaw

Сообщение gaspaarr »

Внутренние телефоны поддерживают 722 кодек (и он у них в приоритетах):

m=audio 16082 RTP/AVP 9 8 2 18 0 101
a=rtpmap:9 G722/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:18 G729/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000

Если в * ставлю такой приоритет:

disallow=all
allow=ulaw
allow=alaw
allow=g722

Соединения между внутренними ext происходят в ulaw, наружу уходят тоже в ulaw (внешние транки поддерживают только aulaw и g729), т.о. 722 никогда не используется.

Если меняю приоритет на
disallow=all
allow=g722
allow=ulaw
allow=alaw

Соединения между внутренними ext происходят в 722, но так же начинается транскодинг между g722 и ulaw, в т.ч. при звонках на feature codes и на внешние транки. Незнаю с чем связано, но при включении громкой связи на телефонах (panasonic TPA50) качество звука падает, как будто динамик не справляется, при обычной (не громкой) связи все нормально, видимо издержки транскодинга. Плюс возрастает загрузка процессора.

Reinvite запрещен, т.к. * пишет звонки.

Можно ли как-то штатными средствами разрулить эту ситуацию? Т.е. чтобы g722 использовался только тогда, когда обе стороны его поддерживают? Или если звонок начался в g722, а поток проходит через * и второй peer не поддерживает g722, первый peer переходил на поддерживаемый обоими peer'ами кодек, вместо транскодинга в центре?
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение awsswa »

а не проще всё в alaw сделать ? и запретить остальные кодаки ?
платный суппорт по мере возможностей
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение gosha »

> Плюс возрастает загрузка процессора.

722 он совсем не прожорливый. А так почитать про SIP_CODEC_INBOUND & SIP_CODEC_OUTBOUND.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение ded »

Оставьте для внутренних номеров приоритет
disallow=all
allow=g722
allow=ulaw
allow=alaw
а для транка в мир
allow=ulaw
allow=alaw
gaspaarr
Сообщения: 217
Зарегистрирован: 17 сен 2014, 21:20

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение gaspaarr »

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

От 722 не хотелось бы отказываться, при внутренних звонках качество очень хорошее.

На транке в мир и так стоит disallow=all, allow=alaw,ulaw но при этом все равно транскодинг происходит.
Притом при входящих на оба плеча alaw, а при исходящих 722<->alaw получаю...
Не особо силен в sip сигнализации, но ведь при факсах железки могут договориться и перейти на T38, с голосом так нельзя поступить? Т.е. что-то типа реинвайта, но не напрямую между железками, а так же через * но с изменением кодека?
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение ded »

Unfortanly asterisk will select codec on first device (device A)
Reason: codec choosed on invite from device A, after that it check dialplan and call device B.
There is patch for asterisk which solve this issue(do change of codec when get B call), but that patch is not in default asterisk tree
http://www.b2bua.org/wiki/AsteriskCodecNegotiationPatch
http://stackoverflow.com/questions/2382 ... preference
gaspaarr
Сообщения: 217
Зарегистрирован: 17 сен 2014, 21:20

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение gaspaarr »

Жаль для 13 версии нет...

Current versions

Asterisk 1.4.26.2 patch
Asterisk Addons 1.4.6 patch
Asterisk 1.2.26.1 - 1.2.32 patch
ЯковС
Сообщения: 1
Зарегистрирован: 10 сен 2020, 19:35

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение ЯковС »

* 11, при соединении между внутренними абонентами с g722 качество аудио не g722, как я понимаю за счет транскодинга. А как вам удалось избежать транскодинга между внутренними абонентами?

Код: Выделить всё

 NativeFormats: alaw
   WriteFormat: g722
    ReadFormat: g722
WriteTranscode: Yes (g722)->(slin)->(alaw)
 ReadTranscode: Yes (alaw)->(slin)->(g722)
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Запрет транскодинга между g.722 и ulaw-alaw

Сообщение Zavr2008 »

Ничего не мешает устанавливать правильно SIP_CODEC_OUTBOUND в явном виде в зависимости от нужного маршрута.

Например :

Код: Выделить всё

exten => _XXX.,1,Noop()
  same=>n,Set(SIP_CODEC_OUTBOUND=g722)
  same=>n,Dial(SIP/${EXTEN})

exten => _X.,1,Noop()
  same=>n,Set(SIP_CODEC_OUTBOUND=alaw)
  same=>n,Dial(SIP/${EXTEN}@some-provider)

Стоит включить отладку и посмотреть что в обоих SDP в инвайте и в ответе на него.

При этом я бы лично у ВСЕХ оставил бы

Код: Выделить всё

disallow=all
allow=g722
allow=ulaw
allow=alaw
Ну и версия 11 уже аут давно, возможно настало время обновиться - уже в 13-й версии совсем иначе потроха бриджей внутри.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH