ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Проблемы и их решения Asterisk как такового

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

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

Сообщение gaspaarr » 25 дек 2014, 21:55

Внутренние телефоны поддерживают 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'ами кодек, вместо транскодинга в центре?
gaspaarr
 
Сообщений: 217
Зарегистрирован: 17 сен 2014, 21:20

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

Сообщение awsswa » 25 дек 2014, 22:24

а не проще всё в alaw сделать ? и запретить остальные кодаки ?
платный суппорт по мере возможностей
awsswa
 
Сообщений: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

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

Сообщение gosha » 25 дек 2014, 23:26

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

722 он совсем не прожорливый. А так почитать про SIP_CODEC_INBOUND & SIP_CODEC_OUTBOUND.
gosha
 
Сообщений: 371
Зарегистрирован: 06 сен 2010, 17:41

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

Сообщение ded » 25 дек 2014, 23:27

Оставьте для внутренних номеров приоритет
disallow=all
allow=g722
allow=ulaw
allow=alaw
а для транка в мир
allow=ulaw
allow=alaw
ded
 
Сообщений: 15820
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение gaspaarr » 26 дек 2014, 17:24

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

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

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

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

Сообщение ded » 26 дек 2014, 17:43

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
ded
 
Сообщений: 15820
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение gaspaarr » 26 дек 2014, 19:23

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

Current versions

Asterisk 1.4.26.2 patch
Asterisk Addons 1.4.6 patch
Asterisk 1.2.26.1 - 1.2.32 patch
gaspaarr
 
Сообщений: 217
Зарегистрирован: 17 сен 2014, 21:20

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

Сообщение ЯковС » 11 сен 2020, 10:21

* 11, при соединении между внутренними абонентами с g722 качество аудио не g722, как я понимаю за счет транскодинга. А как вам удалось избежать транскодинга между внутренними абонентами?
Код: выделить все
NativeFormats: alaw
   WriteFormat: g722
    ReadFormat: g722
WriteTranscode: Yes (g722)->(slin)->(alaw)
ReadTranscode: Yes (alaw)->(slin)->(g722)
ЯковС
 
Сообщений: 1
Зарегистрирован: 10 сен 2020, 20:35

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

Сообщение Zavr2008 » 15 сен 2020, 00:39

Ничего не мешает устанавливать правильно 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 УВР Телестор, Грифин и др..
Аватар пользователя
Zavr2008
 
Сообщений: 2169
Зарегистрирован: 27 янв 2011, 01:35


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH