Asterisk на Linux. Моя версия ))

Пример приводится для 64-битных процессоров. Использовал дешевую E1-карту Digium TE110P. Asterisk собирался из исходников.

Установка и настройка ОС

Устанавливаем и обновляем систему.

Ставим пакеты:

Установка и настройка 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/