Пример приводится для 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/