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

искажение звука в Elastix

Asterisk GUI 9 сообщений -
#1

искажение звука в Elastix


Добрый день. достаточно продолжительное время сталкиваюсь с плавающей проблемой - выпаданием части слов/звуков при разговорах. т.к. удаленных офисов и пользователей достаточно много и все они подключаются к АТС через интернет, сваливал проблему на качество интернет связи. При более подробном анализе выяснилось, что в интернете действительно иногда теряются пакеты, но в основном проблемы с самой АТС, также исключил проблему с локальными коммутаторами.

тех. параметры АТС:

Физический сервер

Сборка Elastix 2.4.0

Asterisk 11.5.0

Linux version 2.6.18-348.12.1.el5

никаких dahdi железок не используется,

рабочий протокол SIP (g711a)

Сервер HP DL120, 4ГБ RAM, 2x1ТБ, сетевая плата брендовая HP (чипсед от broadcom).

используется 2 сетевых порта, первый, с 1xVlan для локальной сети, другой c 3xVlan для публикации в интернет и 2х SIP транков до VoIP провайдеров.

Загрузка сервера минимальна.

для проверки VoIP трафика установил сниффер от voipmonitor.org, настроил port mirroring на коммутаторе, чтобы со всех интерфейсов АТС трафик дублировался на порт со сниффером (АТC и сниффер подключены в один коммутатор).

для примера можно разобрать простой случай: 2 внутренних абонента звонят друг другу по SIP с одним и тем же кодеком G711u, после разбора звонка wireshark'ом выяснилось, что пакеты от IP телефона до IP АТС доходят без потерь, а с IP АТС до IP телефона - часть пакетов теряется (с установленным джиттером в 30 мс). т.к. сниффер подключен в тот же коммутатор, что и IP АТС, трафик от IP АТС даже не доходя до ЛВС приходит битый.... ставил сниффер и на саму АТС, аналогичная ситуация - от телефона до АТС -Ok, от АТС в сторону телефона - с потерями и соответственно заиканиями... В случае с установленным сниффером на саму АТС, исключается и сетевая карта (хотя ее тоже меняли)...

разбирался с таймерами:
internal_timing = yes включен.
в ОС модуль загружен:
find | grep dahdi | more
./modules/2.6.18-238.12.1.el5/extra/dahdi.ko

в Астериске тоже и используется:
asterisk -rx "module show" | grep dah
app_dahdibarge.so Barge in on DAHDI channel application 0
app_dahdiras.so DAHDI ISDN Remote Access Server 0
chan_dahdi.so DAHDI Telephony Driver w/PRI & SS7 & MFC 0
codec_dahdi.so Generic DAHDI Transcoder Codec Translato 0
res_timing_dahdi.so DAHDI Timing Interface 13

подскажите куда еще посмотреть? заранее спасибо!
#2

вроде все должно быть ок, осталось только флюкой провода проверить. у меня такая же конфигурация (и железо и софт) - проблем нет... я надеюсь внутренние абоненты в один свич воткнуты или физически разнесены в разные здания? если последний случай, то тут много вариантов, обычно VPN такие проблемы решает
#3

Спасибо за ответ. дело в том, что получается не в сети дело, т.к. сниффер, который слушает трафик от астериска воткнут в соседний порт на коммутаторе, куда и воткнут астериск. т.е. битый трафик от астериска приходит в сниффер даже не попадая в ЛВС. Коммутатор менял, даже сниффер ставил на сам астериск - практически аналогичная ситуация, в последнем случае исключаются точки отказа в виде драйверов сетевой платы да и самой карты. а со стороны абонентов, которые подключаются через интернет все супер, не всегда конечно, но большинство проблем с самой АТС...
#4

порты на коммутаторе тоже могут быть битыми... транскодинг еще доставляет безусловно, может попробовать использовать 711а и на клиентах и на атс? я бы еще попробовал несколько вещей:
1. унести атс и телефоны в отдельную подсеть - посмотреть
2. посмотреть настройки ртп, может есть смысл р2р отключить, или включить наоборот?
3. попробовать пообщаться по IAX
#6

а Вы пробовали wireshark'ом информацию от сниффера анализировать? на мой взгляд, очень крутая штука ,собирает/делит все RTP пакетики на 2 канала, можно декодировать с разным джет буффером, сразу видеть сколько пакетов потерялось, а сколько просто не успело прийти. по крайней мере удобней всяких дебагов Астериска.
проблема осталась, сегодня вернулся на триксбокс, проанализирую трафик от него.
а вообще, есть люди, которые специально проводили сетевое тестирование Elastix? половил пакеты у другого клиента - практически такая же ситуация, но там сотрудников 50 чел, прерывания практически не заметны, но они есть! может быть так у всех Elastix'сов?
на рис. ниже пакеты, которые не уложились jbuffer и выдает их Астериск! почему, хотя к нему они пришли все без потерь. в данном случае сниффер запущен на самой АТС, проблемы с сетевым оборудованием исключаются.



[/img]
#7

Вопрос можно закрывать.
проблема была в использовании ОС таймера jiffies, а нужен hpet.
Большое спасибо Ded'у!
#8

а как проверить-то? Smile
вот так наверно
$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
http://labs.creativecommons.org/2012/04/ ... ce-issues/
#9

nano /etc/asterisk/modules.conf

Код:
; for dahdi_dummy
noload => codec_dahdi.so
;
noload => res_timing_pthread.so
load => res_timing_timerfd.so
noload => res_timing_dahdi.so