Пример приводится для 64-битных процессоров. Использовал дешевую E1-карту Digium TE110P. Asterisk собирался из исходников.
Установка и настройка ОС
Устанавливаем и обновляем систему.
Ставим пакеты:
make gcc cpp g++ linux-headers-2.6.26-2-amd64 bison ncurses-dev mysql-client libmysqlclient-dev libnewt-dev php-gd mpg123 sox
Установка и настройка ISDN-карты
Устанавливаем карту.
Качаем драйверы:
http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.11.tar.gz
http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.3.0.1.tar.gz
http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-2.3.0.tar.gz
Очень желательно соблюдать очередность установки драйверов и самого Asterisk’а.
Установка драйверов:
LibPRI
make make install
DAHDI
make make install
DAHDI Tools
./configure make menuselect make make install
Установка и настройка Asterisk
Качаем:
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.4.32-rc1.tar.gz
http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.4.11.tar.gz
Устанавливаем:
*Asterisk
./configure make menuselect make make install
*Asterisk Addons
./configure make menuselect make make install
Перезагружаемся.
Проверяем работу драйвера и ISDN-карты
У нас используется карта [[Digium TE110P]].
Настройки драйвера:
»’cat /etc/dahdi/system.conf»’
span=1,1,0,ccs,hdb3 bchan=1-15,17-31 dchan=16 echocanceller=mg2,1-15,17-31 loadzone=ru defaultzone=ru
»’cat /etc/asterisk/chan_dahdi.conf»’
[trunkgroups] [channels] context=from-fwd switchtype=euroisdn signalling=pri_cpe usecallerid=yes callwaiting=yes usecallingpres=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes canpark=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes group=1 callgroup=1 pickupgroup=1 channel => 1-15 channel => 17-31
Проверяем, загрузился ли модуль:
»’lsmod | sort»’
Module Size Used by ... crc_ccitt 6528 2 dahdi,hisax dahdi 204368 74 dahdi_echocan_mg2,wcte11xp dahdi_echocan_mg2 10248 31 isdn 127584 1 hisax slhc 10240 1 isdn wcte11xp 28960 31 ....
Проверяем, видит ли DAHDI нашу карту ([[Digium TE110P]]):
»’dahdi_cfg -vvvvvvvv»’
DAHDI Tools Version - 2.3.0 DAHDI Version: 2.3.0.1 Echo Canceller(s): MG2 Configuration ====================== SPAN 1: CCS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1) Channel map: Channel 01: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 01) Channel 02: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 02) ... Channel 14: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 14) Channel 15: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 15) Channel 16: D-channel (Default) (Echo Canceler: none) (Slaves: 16) Channel 17: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 17) ... Channel 30: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 30) Channel 31: Clear channel (Default) (Echo Canceler: mg2) (Slaves: 31) 31 channels to configure. Setting echocan for channel 1 to mg2 Setting echocan for channel 2 to mg2 ... Setting echocan for channel 14 to mg2 Setting echocan for channel 15 to mg2 Setting echocan for channel 16 to none Setting echocan for channel 17 to mg2 ... Setting echocan for channel 30 to mg2 Setting echocan for channel 31 to mg2
Проверяем настройки DAHDI:
»’dahdi_scan»’
[1] active=yes alarms=OK description=Digium Wildcard TE110P T1/E1 Card 0 name=WCT1/0 manufacturer=Digium devicetype=Digium Wildcard TE110P T1/E1 location=PCI Bus 03 Slot 02 basechan=1 totchans=31 irq=19 type=digital-E1 syncsrc=0 lbo=0 db (CSU)/0-133 feet (DSX-1) coding_opts=HDB3 framing_opts=CCS,CRC4 coding=HDB3 framing=CCS '''dahdi_tool''' ...
Конфигурация Asterisk
Копируем из бэкапа сервера телефонии содержимое папки /etc/asterisk/.
Автозагрузка Asterisk
Обычно Asterisk ставит init-скрипт для загрузки самостоятельно.
Можно использовать для этого стандартный вызов из файла /etc/init.d/rc.local:
/usr/sbin/asterisk -f -vvvg -c
Или лучше:
Скопировать из исходников Asterisk /usr/src/install_asterisk/asterisk-1.4.19/contrib/init.d/rc.debian.asterisk в /etc/init.d/asterisk
chmod 755 /etc/init.d/asterisk
cd /etc/init.d # для удаления из автозагрузки update-rc.d -f asterisk remove # для установки в автозагрузку update-rc.d asterisk defaults
Доступ к консоли Asterisk
"asterisk -Rvvv"
-r — Подключение к Asterisk на текущей системе
-R — Тоже самое, что и ключ -r, но при разсоединения происходит переподключение
-v — Больше подробностей при выводе (чем больше «v», тем больше подробностей)
Дополнительные пояснения искать тут:
http://itinfusion.ca/2007/05/06/howto-installing-asterisk-on-debian-etch/