LINUX.ORG.RU
решено ФорумAdmin

asterisk + DECT g726 хрипит. Кто может подсказать?

 ,


0

2

Друзья, имею следующий трабл:

Gigaset N720 + elastix 4.

g726 32kb/sec.

  • DECT - DECT: good.
  • Wired - Wired: good.
  • Wired - DECT: хрипит звук при разговоре. Все что говоришь, приобретает хрип на концах слов.

Куда вообще можно копать в таком случае? В логах asterisk, ничего не обычного...

Пробовал на DECT g726, на wired: g711. - Всё тоже самое.

P.S. на DECT если ставить g711 - то всё норм. Но там у меня трубки DECT, не все совместимы с g711. По сему повсеместное g711, не рассматривается.

★★★★★

Последнее исправление: DALDON (всего исправлений: 4)

У тебя везде 726 или только на дектах? Перекодирования нигде нету? Можешь джиттер потыкать

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

О! Спасибище тебе огромное, что заглянул в мой пост! Очень, очень тебя ждал.

Я в этом деле не особо силён. Посмотрю. Поток, думаю, у меня идёт через станцию, ибо asterisk показывает разговоры. Но не уверен. Буду крайне рад, любой помощи.

Directmedia и прочие отключены?

Не очень пока знаю что это. Посмотрю. Расскажу. :)

У тебя везде 726 или только на дектах?

Делал так:

На дектах ставил только 726.

Через web морду проводного yealink (T21), ставил или 726 или 711.

В asterisk, в качестве первого разрешенного кодека, ставил 726

В asterisk - во время беседы мне показывал 726, или 711.

В общем, смотри:

  • Если на DECT, ставлю 726, на проводной трубке - 726. - Хрипит.
  • Если на DECT, ставлю 726, на проводной трубке - 711. - Точно так же хрипит.
  • Если на DECT, ставлю 711, на проводной трубке - 711. - Качество связи на 4ре балла (пошипливает, но в целом адекватно). Но у меня на 711 кодеке, бОльшая часть трубок DECT gigaset E49, начинает при молчании почти полностью тушить микрофон (насколько я понял VAD может быть вступает в свои права на 711 кодеке, как отключить - не нашёл... В gigaset. Может в elastix надо что-то отключить). Так-как я работаю на заводе, у нас очень шумно, и из-за этого, в ухе то очень сильно шумит, то не шумит - короче, разговаривать не возможно. В общем это хрень тоже какая-то.

В общем, В ИДЕАЛЕ, хочу поднять на DECT, 726 кодек. На трубках 711. Чтобы на лету, в asterisk шла переконвертация. Но может я и не прав. Могу везде сделать 726. Ну или 711, только, тогда не знаю как gigaset заставить работать...

Буду крайне рад, любой помощи. Ближе к Понедельнику, начну активнее отписываться в тред. Сейчас отдыхаю от всего этого кошмара...

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Ну есть вот такой вариант - жёстко выставляешь кодеки типа на дектах только 726, на проводных только 711, на астере вырубаешь directmedia, реинвайт и прочие чтоб точно через станцию шли, ставишь только 2 кодека в allow.

Далее цепляешь сниффер и смотришь на то что приходит и уходит на астере, Wireshark умеет даже звук выцеплять из дампа

upcFrost ★★★★★
()

Поставь на одном проводном телефоне только 726, на другом - только 711, да проверь. Скорее всего все будет в порядке и Астериск тут не при чем.

Я бы смотрел в сторону гигасетов, ибо они те еще какашки. Поиграйся с настройками (я гигасеты давно уже в руках не держал), отключи всякие VAD'ы и прочие «улучшайзеры».

Переставь гигасетовскую базу в другое место.

kernelpanic ★★★★★
()
Ответ на: комментарий от kernelpanic

отключи всякие VAD'ы и прочие «улучшайзеры».

Тоже кстати плюсую. Часто от них связь только хуже. Особенно на дешевом железе

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от kernelpanic

Поставь на одном проводном телефоне только 726, на другом - только 711, да проверь.

Да я делал так. - См. первый пост, и последующий... Результат совершенно одинаков... Я в шоке. 729кодек, работает, кстати, отлично. Но с ним лицензионные мороки с gigasetом.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 2)
Ответ на: комментарий от kernelpanic

отключи всякие VAD'ы и прочие «улучшайзеры».

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

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

729кодек, работает, кстати, отлично. Но с ним лицензионные мороки с gigasetом.

Хм... попробуй в принудительном порядке пустить поток через станцию даже между двумя дектами и сниффер включить

Все что говоришь, приобретает хрип на концах слов.

Это очень похоже на кривой echo cancellation или кривой VAD, которые накладываются на перекодирование или фиговую совместимость двух имплементаций кодека. Проверь на самой станции они отключены или нет? Она может их применять даже тупо при проксировании. Ну и буфер для джиттера может давать иногда такой эффект.

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

Вопрос тоже интересный.
А что снифером ловить, в чем бывают траблы?
Пропажа пакетов или корявый кодинг ?
Может ссыль есть как такое дебажить ?

Vasily22
()
Ответ на: комментарий от kernelpanic

Ок! Идея не плохая. Но вообще говоря, когда делаю: DECT 726, провод 726 - та же фигня. Провод-провод 726 - ок. DECT - DECT 726 - ОК! Проблема только в DECT - провод.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от Vasily22

Ну там как я написал - Wireshark умеет выцеплять и анализировать телефонный разговор из дампа (снимать обычным tcpdump), включая и сигнализацию, и голос. Можно скажем извернуться и разбить весь процесс на 2 участка - А-станция и станция-Б. Дальше тупо ухом прослушать поток и сравнить есть ли разница после прохождения через станцию.

Ну это все разумеется если есть проксирование

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

В общем... Мужики. Всё получилось!

Мать его! Его величество gigaset, наркоманы. Они заюзали g726aal2, но как-то «случайно», так забыли об этом упомянуть, и везде пишут: g726. В общем, поставил софтофон, путём проб и ошибок, всё получилось!

В итоге поставили:

  • На asterisk, в разрешенных: g726aal2 + g711alaw.
  • На gigaset DECT: g726
  • Hа проводных yealink: g711alaw. g726aal2, настолько наркоманский, что yealink его не умеют.

Asterisk умеет конвертировать на лету из g726aal2 в g711 и обратно...

Наслаждаемся, качественной работой DECT как старых трубок gigaset, так и новых.

Всем не равнодушным, респект: kernelpanic Vasily22 handbrake

to: handbrake - pcma = 711 кодек.

P.S. directmedia был отключен.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Кстати, если тебе не лень - проверь sip debug астера. Если там на этапе согласования кодека в тоже кривое название передаётся - отпишись плз в саппорт гигасета, пусть чинят свою фирмварь. Да и в любом случае отпишись, даже если в гуе только ошибка.

Если лень - скажи, могу я отписать им, правда у меня девайса для теста нет.

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

Ок! Посмотрю, скину выхлоп сюда. А вот писать, или не писать - надо посмотреть change log, на прошивки к ихним DECT контроллерам. Там собственно обновления есть... Но в последнем релизе написано, что если обновитесь, у вас отвалятся старые модели телефонов. Так что, если вы их имеете - не обновляйтесь, из-за бага в последней прошивке. В общем то, мой парк сплошь и рядом старые модели - которые там перечислены. Так что, надо глядеть change log сперва. :) Ну и выхлоп.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Если на DECT, ставлю 726, на проводной трубке - 726. - Хрипит.

Похоже проблема чисто в DECT, так как если на обоих концах одинаковый кодек то астериск не должен ничего транскодировать, при этом если у тебя оба пира в одной сетке (не за натом) то он вообще медию через себя не должен пропускать а просто должен на реинвайтах протащить порты для RTP медии и на этом успокоится. Попробуй позвонить DECT-DECT (на 726) и проверить хрипит или нет + на астериске продебаж как и кудой пошла медия.

zaz ★★★★
()
Ответ на: комментарий от zaz

Как я уже писал DECT - DECT - ок. Проблема полностью решена. Так-как yealink, не умеют в экзотический 726 кодек, я кодируюсь из 711 в 726. Сейчас у меня связь, как на старых, так и на новых аппаратах - отличная! Всё супер стало.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

Но в последнем релизе написано, что если обновитесь, у вас отвалятся старые модели телефонов.

заднее чутье подсказывает что они как раз кодек подправили, иначе с чего бы аппаратам отваливаться

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

Не... Там написано примерно такое: know issues: на старой модели, при использовании этой прошивке будет reboot, при попытке получить список контактов с сервера. - И написано так витьевато, что не совсем ясно - ребут чего? Трубки, или вообще всей системы)) И написано прямо: если у вас данная модель аппарата, не обновляйтесь, чтобы не было ребутов...

Вот как раз таки, моё, заднее чувство, мне подсказывает, что трубка вообще ни о каких кодеках не знает и сто лет. Она в DECT приходит, а он уже сам там своими мозгами шуршит и передаёт в SIP... Если хочешь, я тебе в двух словах расскажу, как сделали интересно ребята из GIGASET свои контроллеры, в плане архитектуры)

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Если хочешь, я тебе в двух словах расскажу, как сделали интересно ребята из GIGASET свои контроллеры, в плане архитектуры)

давай :)

я просто не совсем понял по поводу «не работает со старыми моделями телефонов». «Телефоны» - это БС или трубки? Если трубки то да, там сипа нема

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Неее. Речь, конечно же о трубках. У гигасета, забавно сделано. Центральный контроллер, по сути нифига не делает. Отдаёт только настройки для БС. А вот БС, уже транслируют DECT в SIP. При том, они его не посылают на центральный контроллер, а напрямую фигачат в asterisk. Всё бы это не плохо. Но... Надо всем БС, объяснять как жить, строить из них сеть, чтобы они друг-друга видели, и знали с какой на какую БС, можно перекидывать абонента. При этом, они должны быть в радиусе действия друг-друга.

Когда болтаешь по DECT и передвигаешься, на asteriske порождаются и умирают SIP сессии с разных ip БС.

DALDON ★★★★★
() автор топика
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

Когда болтаешь по DECT и передвигаешься, на asteriske порождаются и умирают SIP сессии с разных ip БС.

ну вообще да, handover это как раз удел контроллера, БС тут чисто исполнитель. он же не просто конфиг-сервер все-таки. хотя я если честно слегка хз есть ли понятие handover в дектах. Ретрансляторы есть, а вот именно хэндовер другой БС - не факт, возможно это костыль из-за замшелости стандарта. Ведь для хэндовера сам девайс должен понимать что с ним происходит и уметь видеть две БС (ну и обе БС должны его видеть). А обычно дект-трубки тупы как валенки.

То что БС шлют поток на АТС это норм, иначе можно было бы словить веселую прогулку через центральный офис с контроллером если подключить БС в филиале к АТС в том же филиале. Такая хрень кстати у HP с их вафлеконтроллером - он типа хотспот умеет, но для этого надо _весь_ трафик гнать через контроллер, даже если точка стоит вообще в другом филиале.

золотая середина короче. это если цензурно, а по факту - костыль на костыле

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 4)
Ответ на: комментарий от upcFrost

Вот вывод:

Audio is at 11208
Adding codec 100005 (g726aal2) to SDP
Adding codec 100004 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (no NAT) to 10.10.10.3:5395:
INVITE sip:247@10.10.10.3:5395 SIP/2.0
Via: SIP/2.0/UDP 10.10.10.2:5060;branch=z9hG4bK186d8096
Max-Forwards: 70
From: "User User" <sip:200@10.10.10.2>;tag=as2a4f6025
To: <sip:247@10.10.10.3:5395>
Contact: <sip:200@10.10.10.2:5060>
Call-ID: 6c49a8011575f05951f477fc66f098c5@10.10.10.2:5060
CSeq: 102 INVITE
User-Agent: FPBX-2.11.0(11.20.0)
Date: Wed, 22 Jun 2016 06:27:48 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 263

v=0
o=root 641655157 641655157 IN IP4 10.10.10.2
s=Asterisk PBX 11.20.0
c=IN IP4 10.10.10.2
t=0 0
m=audio 11208 RTP/AVP 112 8 101
a=rtpmap:112 G726-32/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

Audio is at 12384
Adding codec 100005 (g726aal2) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

<--- Reliably Transmitting (no NAT) to 10.10.10.3:5395 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.10.10.3:5395;branch=z9hG4bK722f6d7a8d3f08da7ea287b21aad066a;received=10.10.10.3;rport=5395
From: "User User" <sip:200@10.10.10.2>;tag=554918277
To: <sip:247@10.10.10.2;user=phone>;tag=as3e0e76c6
Call-ID: 481852885@192_168_5_3
CSeq: 3 INVITE
Server: FPBX-2.11.0(11.20.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Contact: <sip:247@10.10.10.2:5060>
Content-Type: application/sdp
Content-Length: 235

v=0
o=root 220930999 220930999 IN IP4 10.10.10.2
s=Asterisk PBX 11.20.0
c=IN IP4 10.10.10.2
t=0 0
m=audio 12384 RTP/AVP 2 101
a=rtpmap:2 G726-32/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv

Судя по всему:

Adding codec 100005 (g726aal2) to SDP

От DECT

Adding codec 100004 (alaw) to SDP

От провода

Только не знаю, что вот это такое:

a=rtpmap:2 G726-32/8000

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

a=rtpmap:2 G726-32/8000

по сути это аналогично

Adding codec 100005 (g726aal2) to SDP

вернее это то, как оно выглядит в самом сипе, без логики астера. судя по дампу оба девайса передают g726aal2. Если в гуе написано что это просто G726 - то это крайне неприятный косяк гуя и документации. Все равно что в g711 написать alaw, а гнать ulaw

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

Если в гуе написано что это просто G726 - то это крайне неприятный косяк гуя

Вот ссылка на скрин: http://imgur.com/FBxKrxT

косяк документации. Все равно что в g711 написать alaw, а гнать ulaw

Ещё раз посмотрю в документацию, может чего и проглядел. Там у них несколько доков. Посмотрю, отпишусь.

DALDON ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.