artem
24.12.2012
12046

Настройка карты OpenVox A1200p для работы с Asterisk

Этапы настройки:

Загрузка драйвера с официального сайта

Загрузка сборки DAHDI

Подготовка ОС

Компилирование драйверов

Правка asterisk/indications.conf

Правка chan_dahdi.conf

Правка dahdi_channels.conf

Появилась необходимость подружить Asterisk с платой OpenVox a1200. Данная плата позволяет комплектование FXO/FXS модулями в различных комбинациях общим количеством до 12 модулей на плату.
DAHDI в Asterisk не поддерживает платы OpenVox что называется из коробки. Поэтому необходимо самостоятельно установить драйвер.

Для начала нужно скачать собственно сам драйвер с официального сайта производителя, он представлен одним файлом с именем opvxa1200.c. Также понадобиться пакет dahdi-linux-complete-XX, желательно последней версии (в данном случае использовалась версия 2.6.1). Его можно найти собственно как и драйвер на офф сайте производителя карты. Берется именно с данного сайта потому, что там уже есть преднастройки для драйвера карточки openvox.
Приступим:
Проверяем наличие карты в системе:
# lspci –vvvvv

в консоли набираем:
# cd /usr/src
# wget http://downloads.openvox.cn/pub/drivers/dahdi-patches/a800p_a1200p/opvxa1200.c //качаем драйвер
# wget http://downloads.openvox.cn/pub/drivers/dahdi-linux-complete/releases/1.3.5/openvox_dahdi-linux-complete-2.6.1+2.6.1.tar.gz // качаем сборку dahdi-linux-compliete
Перед установкой желательно обновить kernel source:
# yum install kernel-devel
Доустанавливаем необходимые пакеты:
# yum install bison bison-devel ncurses ncurses-devel zlib zlib-devel openssl openssl-devel gnutls-devel gcc gcc-c++

# tar -xvf openvox_dahdi-linux-complete-2.6.1+2.6.1.tar.gz // разархивируем dahdi
# cp opvxa1200.c dahdi-linux-complete-2.6.1+2.6.1/linux/drivers/dahdi/ //копируем драйвер в папку со сборкой dahdi

Открываем файл Kbuild в любом текстовом редакторе. Файл находится /usr/src/dahdi-linux-complete-2.6.1+2.6.1/linux/drivers/dahdi/
И проверяем наличие строчки obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTDM) += opvxa1200.o, если нет ее то вписываем после строчки obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTDM) += wctdm.o.
Часть файла Kbuild:

obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCT4XXP) += wct4xxp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTC4XXP) += wctc4xxp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTDM24XXP) += wctdm24xxp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTE12XP) += wcte12xp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTDM) += wctdm.o
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTDM) += opvxa1200.o

Если же в вашем случае файл выглядит следующим образом:

ifdef CONFIG_PCI
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCT4XXP)      += wct4xxp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTC4XXP)      += wctc4xxp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTDM24XXP)   += wctdm24xxp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_OPVXD115)         += opvxd115/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_OPVXA1200)      += opvxa1200/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_OPVXA24XX)        += opvxa24xx/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_ZAPHFC)           += zaphfc/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTE12XP)      += wcte12xp/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCTDM)      += wctdm.o
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_VOICEBUS)      += voicebus/
obj-$ (DAHDI_BUILD_ALL)$ (CONFIG_DAHDI_WCB4XXP)      += wcb4xxp/

то ничего добавлять не нужно.

Затем переходим в директорию /usr/src/dahdi-linux-complete-2.6.1+2.6.1 и в ней выполняем
#make
#make install
#make config
После добавляем модуль opvxa1200.ko в файл modules.conf:
# echo ”load ≥ opvxa1200.ko”>>/etc/asterisk/modules.conf
Генерируем файлы /etc/dahdi/system.conf и /etc/asterisk/dahdi-channels.conf командой:
#dahdi_genconf
Убеждаемся, что файл dahdi-channels.conf включен в /etc/asterisk/chan_dahdi.conf
Если нет, то добавляем:
#echo» #include dahdi-channels.conf» >> /etc/asterisk/chan_dahdi.conf
Файл system.conf должен выглядеть наподобие:
# Span 1: OPVXA1200/0 «OpenVox A1200P Board 1» (MASTER)
fxsks=1
echocanceller=mg2,1-4
fxsks=2
echocanceller=mg2,1-4
fxoks=3
echocanceller=mg2,1-4
fxoks=4
echocanceller=mg2,1-4
# channel 5, WCTDM, no module.
# channel 6, WCTDM, no module.
# channel 7, WCTDM, no module.
# channel 8, WCTDM, no module.
# channel 9, WCTDM, no module.
# channel 10, WCTDM, no module.
# channel 11, WCTDM, no module.
# channel 12, WCTDM, no module.
# Global data
loadzone       = ru
defaultzone    = ru

Правим asterisk/indications.conf:

затем chan_dahdi.conf:

и наконец dahdi-channels.conf:

Выполним:
modprobe dahdi ; подгружает драйвер DAHDI
modprobe opvxa1200 opermode=ru; подгружаем драйвер a1200/a800 с указанием страны
dahdi_cfg –vvvv; стартуем канал
Запускаем Asterisk, проверяем dahdi show channels

для проверки завернем inbound routs на put caller on hold forever позвоним на Asterisk и насладимся музыкой))))

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices