Работая с астериском с первых версий, уже стало привычкой в определенных задачах учитывать необходимость наличия в системе таймера (аппаратного либо программного). Программный таймер при высоких значениях  load average может показывать плохие результаты, а PCI плату ставить специально для обеспечения работы таймера не имеет смысла.

В таком случае на помощь может прийти решение от компании Sangoma, которое представляет из себя USB брелок, имеющий 2 варианта подключения: к разъему USB или для установки на материнскую плату. С минимальной затратой времени на установку это устройство обеспечивает Asterisk аппаратным таймером.

В моем случае требовалось настроить сервер, обслуживающий телеконференции с гарантией, что при увеличении нагрузки не будет происходить ухудшение качества звука в конференциях. Приложение MeetMe является одним из приложений, зависимых от таймера, поэтому и было установлено устройство VoiceTime.

Для начала посмотрим каковы показатели программного таймера dahdi_dummy:

[root@localhost wanpipe-voicetime-1.0.9]# dahdi_test
Opened pseudo dahdi interface, measuring accuracy...
99.918% 99.950% 99.980% 99.945% 99.965% 99.975% 99.945% 99.973%
99.940% 99.963% 99.975% 99.946% 99.969% 99.964% 99.955% 99.985%
99.926% 99.947% 99.979% 99.950% 99.967% 99.977% 99.948% 99.974%
99.947% 99.967% 99.935% 99.946% 99.972% 99.956% 99.633% 99.925%
— Results after 32 passes —
Best: 99.985 — Worst: 99.633 — Average: 99.946836, Difference: 99.991971
Процесс установки полностью описан на wiki для различных дистрибутивов, как с DAHDI, так и Zaptel. В нестандартных ситуациях могут возникнуть проблемы (как в моем случае), но следует отдать должное тех.поддержке Sangoma — новая версия драйвера была выпущена молниеносно после предоставления доступа к проблемной системе (проблема была в новом ядре — 2.6.35). На данный момент самая свежая версия драйвера VoiceTime — 1.0.11

В кратце процесс установки состоит из следуюших частей:
  1. Загружаете исходные коды DAHDI/Zaptel используемого в вашей системе
  2. Собираете драйвер voicetime, используя команду make DAHDI_DIR=/usr/src/dahdi (или ZAPTEL_DIR)
  3. Устанавливаете драйвер make install (учтите, что при этом модифицируется init скрипт DADHI)
  4. Командой make boot настраивается загрузка модуля

Перезагружаем компьютер, теперь в качестве таймера используется VoiceTime:

[root@localhost init.d]# cat /proc/dahdi/1

Span 1: WANVTIME/1 «WANVTIME/1 (source: wanpipe_voicetime) 1» (MASTER)

Показатели dahdi_test значительно выросли и останутся стабильными при высокой нагрузке системы:

[root@localhost ~]# dahdi_test
Opened pseudo dahdi interface, measuring accuracy...
99.999% 99.994% 99.999% 99.999% 99.999% 99.999% 100.000% 100.000%
100.000% 99.998% 99.999% 100.000% 100.000% 100.000% 99.999% 100.000%
99.999% 99.999% 99.999% 100.000% 99.998% 99.999% 99.999% 100.000%
100.000% 99.999% 99.999% 99.999% 100.000% 100.000% 99.999% 99.999%
— Results after 32 passes —
Best: 100.000 — Worst: 99.994 — Average: 99.999081, Difference: 99.999288

Плюсы:

  • Экономичное решение аппаратного таймера (стоимость приблизительно 2500р.)
  • Возможность установки внутри сервера (UT51)
  • Отличная техническая поддержка

Минусы:

  • Сложно найти в наличии на складе
  • Необходимость модифицировать установленные файлы DAHDI/Zaptel

Необходимость в использовании устройства VoiceTime может возникнуть редко, но знание о его существовании может оказаться полезным, а так же полезно знать что Sangoma производит отличное оборудование.

Выражаю благодарность компании Halokwadrat за предоставление оборудование.

Похожие сообщения:

автор igorg \\ теги: , , , ,