AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

заикается голос

Asterisk IP PBX 23 сообщений -
#1

дано несколько магазинов объеденённых по wi-max, в каждом из них стоит по астериску, соедены по iax2
потерь в канале нету, задержки 60-100ms ,канал 2 мегабита, занят процентов на 20-30,
некоторое время назад начались проблеммы с голосом (между всеми магазинами), заикается.
не могу понять причину, iperf показывает что потерь нету, разве что jiter подскакивает до 30.
iax2 show netstats так же показывает что всё ок.
дебаг grandstream показывает
RTPStat on port 0/0: sent 1076, loss 37? jitter 126

jitter выставлен на шлюзе (gxw-4008) максимальный и фиксированный

откуда берутся потери и почему их не видно в iax2 канале??

записанный tcpdump разговор и разобранный в wireshark так же не показал ни каких анамалий, везде статус ОК
#2

загрузка самих тачек? dahdi_dummy подгружен?
#3

Я так думаю, что это не постоянно происходит? Запись разговров ведётся?
#4

запись не ведётся, машины почти не загружены (2-3%)
единственное уточнение, в центре asterisk 1.6.1.4 в магазинах 1.4.24
dahdi_dummy загружен

не могу понять причину

начал было грешить на 1.6.1, но через инет 4 филиала нормально работают прекрасно с тем же оборудованием, правда там задержки намного меньше и jitter 0.001
#5

если dahdi_dummy загружен, то остается только проверить правильные ли права на файлах устройств DAHDI /dev/dahdi/*
и включен ли internal_timing в asterisk.conf
#6

а как влияет internal_timing на качество голоса??

установил в yes вроде помогло, но может кто-нить объяснит почему при большом jitter это влияет?? ведь с остальными серверами работало без проблемм (где jitter был практически нулевой)
#7

internal_timing как раз и говорит астериску брать тайминг с "внутреннего" dummy таймера. ну насколько я это понимаю сам. иначе - с "внешних" карт хардверных (если они есть). по умолчанию как раз и предполагается их наличае.
#8

это я понимаю, но я думал тайменги нужны только для воспроизведения звуковых файлов и конференций, но какое он имеет отношение к голосу по сип и iax???
#9

iax как раз сильно завязан на таймер
#10

завязан то понятно, он ругается когда dummy не загружен и когда транковое соединение, но у меня был загружен и он не ругался (trunk=yes). Может быть кто-то может доходчиво объяснить?
#11

внимательно и вдумчиво перечитайте что я написал выше. помоему я там всё достаточно логично и доходчиво обьяснил. или нет?
ps: пробелы знаний, если таковые есть, нужно восполнять чтением документации (в разделе библиотека ее тут полно). я не могу заранее знать какие именно темные пятна есть у вас чтобы их заполнить чтобы мозайка в вашей голове собралась в единую и понятную картину. это можете знать только вы сами (хотя бы интуитивно), прочтение хотябы только этого и даже бегло по диагонали но 3-4 раза уже снимает целый ряд вопросов в будущем автоматически.
#12

to anest:
то что Вы написали выше как и то что написано в книге ни как не объясняет проблемы с голосом
Везде в форумах писалось что тайменги влияют только на воспроизведение файлов.

из книжки:
internal_timing = yes | no ; Активировать поддержку
; внутренней синхронизации (-I)
; Эти опции не имеют
; эквивалентных ключей
; командной строки

как я уже писал проблемы с голосом были как с sip так и с iax. Если iax2 ещё как-то можно понять, то транзитный сип без транскодинга мне не понятен

ладно тема закрыта. Помогло и ладно.

xelas: спасибо за подсказку, в эту сторону я не думал , к тому же на этом астере стояла плата сангома pri и с ней я не мог подумать что проблемма в нём.
#13

http://asteriskpbx.ru/wiki/asterisk-internal-timing
"До недавнего времени для синхронизации исходящего потока использовался тайминг входящего аудио-потока."
и на SIP конечно тоже влияло.
#14

vad выл отключён, но эта статья хоть немного объяснила, спасибо
#15

уже почти все варианты перепробовал ничего пока не получается. Shocked

Ситуация следущая если позвонить с внешнего телефона на voicemail все проговаривается нормально, с внутреннего когда нормально а когда начинает заикаться и пропадает целая фраза. модуль dahdi_dummy загружен , dadhi_test показывает стабильные результаты около 99.98% , источник linux 26, опция internal_timing никак не влият на звук. телефоны подключены через sip (адаптер lynksys) (asterisk 1.6.2)

неужели у остальных работает?
#16

попробуйте настроить QoS на роутере.
#17

andreyals писал(а):
уже почти все варианты перепробовал ничего пока не получается. Shocked

Ситуация следущая если позвонить с внешнего телефона на voicemail все проговаривается нормально, с внутреннего когда нормально а когда начинает заикаться и пропадает целая фраза. модуль dahdi_dummy загружен , dadhi_test показывает стабильные результаты около 99.98% , источник linux 26, опция internal_timing никак не влият на звук. телефоны подключены через sip (адаптер lynksys) (asterisk 1.6.2)

неужели у остальных работает?


Поскольку сам задал вопрос сам и отвечу Smile
Звук прерывался в основном при первом чтении с винта голосовых сообщение, дальше когда они кешировались в памяти произношение было нормальным. (в hdparm все что нужно было включено , тесты трансфера нормальные)

Из трех модулей тайминга в астериксе 1.6.2 самым стабильным оказался dahdi_dummi , за ним timerfd и совсем плохой pthread.
Помогли мне включение в файле sip.conf jbenable=yes, jbforce=yes , а в устройстве linksys - jiter bufffer =medium , автоподстройка up-down.
Ядро linux могу посоветовать 2.6.25 по сравнению с 2.6.22 явно быстрее и лучше работает , многозадачность улучшили. частота ядра -1000hz, говорят 2.6.29 еще лучше ,но под ним могут некоторые модули типа vmware или acronis не собираться.
в этой конфигурации мне так и не удалось прервать звук из voicemail никакими нагрузками на сервер (запускал 4 winrar, несколько копирований , винду нагружал под vmware.
#18

andreyals писал(а):
в этой конфигурации мне так и не удалось прервать звук из voicemail никакими нагрузками на сервер (запускал 4 winrar, несколько копирований , винду нагружал под vmware.


месье знает толк в извращениях Smile

А раскройте пожалуйста мысль про "надежность" таймеров - что dahdi лучший, дальше timerfd и т.д.
насколько велика разница? и как он различима конечным пользователем?
#19

Разница таймеров прекрасно слышна по заиканиям голоса при малом буфере адаптера если звонить без синхронизирущего потока т.е. с локального телефона на asterisk.
#20

понятно.

то есть миф что астериск наконец-то нормально может работать без DAHDI остается мифом? хоть dummy но нужно....

кстати, я не думаю что jbforce каким-то образом помогает в вашей схеме. Насколько я понимаю он включает джиттер-буффер для забридженных звонков. Другими словами для звонков которые проходят "сквозь" астериск а не терминируются на нем. Когда вы звоните на voicemail астериск является оконечным устройством и джиттер-буффер и так используется (если включен через jbenable). А вот когда у вас два IP телефона разговаривают а трафик идет через астериск транзитом (астериск бриджит два канала) - тут по умолчанию jitterbuffer не юзается и именно тут его включает jbforce.

Но считается что это некошерно делать деджиттеринг транзитного трафика. Деджиттер должно делать оконечное устройство - т.е. IP телефон.
#21

А вообще, теоретически, вот не могу понять, неужели нужен еше один таймер именно для астериска для корректной работы конференций и всего похожего?
Ну, да, есть _еще один_ железный таймер (прерывания с которого по идее тоже могут маскироваться), но а дальше-то что, надо получить теперь [вовремя] эвент в юзерленде, а это на не RTOS [гарантированно] как-то нереально. Поэтому, если честно, не могу понять чем таймер от карты лучше чем указание HZ=1000 в конфигурации соотв. OS и использование соотв. механизмов OS для пробуждения [примерно, привет, шедулер] в нужное время
#22

Цитата:
самым стабильным оказался dahdi_dummi , за ним timerfd и совсем плохой pthread.


andreyals, Так вы отключили все таймеры, кроме dahdi?
#23

andreyals писал(а):
Из трех модулей тайминга в астериксе 1.6.2 самым стабильным оказался dahdi_dummi , за ним timerfd и совсем плохой pthread.
Помогли мне включение в файле sip.conf jbenable=yes, jbforce=yes , а в устройстве linksys - jiter bufffer =medium , автоподстройка up-down.
выделил жирным то, что считаю существенным.
остальное - танцы с бубном, не имеющие отношения к проблеме.

Added after 2 minutes:

dimas писал(а):
то есть миф что астериск наконец-то нормально может работать без DAHDI остается мифом? хоть dummy но нужно....
не могу согласиться.
собрал тестовый astrisk с chan_datacard - всё нормально работает без dahdi (используется timerfd)