Asterisk и IP-телефония

Asterisk+N900+FXO « DemonX's Home Page

Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.

DemonX's Home Page
Записки об IT и не только
Home
Без рубрики
Asterisk+N900+FXO
« Newer
Asterisk+N900+FXO
17.09.2010
3 Comments »
После приобретения Nokia
N900
, как обычно стали возникать идеи как использовать нового электронного помошника с максимальным КПД, одна из них – получить доступ к АТС на работе, чтобы иметь самый дешевый вид связи как с миром так и с коллегами на время командировок и отсуствия на рабочем месте. Самым оптимальным будет реализовать связку
N900-Asterisk-FXO-АТС
АТС у нас в офисе старенькая – гибридная Panasonic KX-TD 1232. Внутренние номера разделены – есть цифровые и есть аналоговые. Мой номер аналоговый, поэтому чтобы астериск работал с ним нужна плата
FXO
. Самый дешевый вариант приобрести X100P или её клон. К сожалению в России это затруднительно, поэтому пришлось потратить 20$ на eBay и подождать месяц пока плата не приедет из сингапура. Найдя в почтовом ящике квитанцию, несемся на почту а от туда в офис поднимать сервер.
В качестве сервера использовалась машинка со стажем, Duron 1100/396 Mb RAM/20 Gb HDD. Чтобы не было искажений звука или других проблем, надо установить плату в такой слот чтобы она не делила свое прерывание ни с кем другим, это можно потом проверить в линуксе:
[root@
asterisk
~]$ cat /proc/interrupts
CPU0
0: 879069739 XT-PIC-XT timer
1: 2 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
3: 877914025 XT-PIC-XT wcfxo
4: 17541 XT-PIC-XT serial
8: 0 XT-PIC-XT rtc0
10: 138 XT-PIC-XT uhci_hcd:usb1, uhci_hcd:usb2
11: 4066464 XT-PIC-XT eth0
12: 4 XT-PIC-XT i8042
14: 269771 XT-PIC-XT pata_via
15: 111 XT-PIC-XT pata_via
NMI: 0 Non-maskable interrupts
LOC: 0 Local timer interrupts
SPU: 0 Spurious interrupts
PMI: 0 Performance monitoring interrupts
PND: 0 Performance pending work
RES: 0 Rescheduling interrupts
CAL: 0 Function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
THR: 0 Threshold APIC interrupts
MCE: 0 Machine check exceptions
MCP: 2931 Machine check polls
ERR: 0
MIS: 0
Скачиваем Fedora 13 для сетевой установки:
http://mirror.yandex.ru/fedora/linux/releases/13/Fedora/i386/iso/Fedora-13-i386-netinst.iso
Прожигаем на болванку и засовываем в привод. В процессе установки ничего особенного выбирать не нужно, практически все время нажимаем Next. Единственное если установка происходит в графическом режиме на этапе выбора пакетов программ можно выбрать минимальную конфигурацию, в текстовом режиме минимальная конфигурация ставится по умолчанию. Система установлена. Можно ставить
Asterisk
. В репозиториях Fedora он уже есть, хотя и отстает на пару релизов от официальной. Если установить из репозитория, то мы не найдем поддержки iLBC кодека, его можно собрать из исходных текстов сервера именно этой же версии сервера, но почему то в репозитории исходных текстов она отсутствует. Не будем печалиться и скачаем с
asterisk
.org.
Обновляем систему:
[root@
asterisk
~]# yum install yum-presto yum-plugin-fastestmirror ;для скорейшего апдейта
[root@
asterisk
~]# yum update ;обновляем систему
[root@
asterisk
~]# yum install wget ;устанавливаем загрузчик файлов
[root@
asterisk
~]# yum install make gcc gcc-c++ perl kernel-devel ncurses-devel ;дополнительные пакеты для сборки, возможно у вас что то уже стоит, а что то еще надо доставить
Устанавливать Астериск надо в определенной последовательности — LibPRI (хотя в описании и не говорится об
FXO
модемах, тем ни менее он нужен), DAHDI, DAHDI Tools и сам Астериск. Если сделать наоборот, то при компиляции не будет собран модуль chan_dahdi.so.
Качаем исходники сервера и драйверов:
[root@
asterisk
~]# cd /usr/src
[root@
asterisk
src]# wget http://downloads.
asterisk
.org/pub/telephony/libpri/releases/libpri-1.4.11.3.tar.gz
[root@
asterisk
src]# wget http://downloads.
asterisk
.org/pub/telephony/dahdilinux/releases/dahdi-linux-2.3.0.1.tar.gz
[root@
asterisk
src]# wget http://downloads.
asterisk
.org/pub/telephony/dahditools/releases/dahdi-tools-2.3.0.tar.gz
[root@
asterisk
src]# wget http://www.
asterisk
.org/downloads/
asterisk
/releases/
asterisk
-1.6.2.10.tar.gz
Установим библиотеку:
[root@
asterisk
src]# tar xvf libpri-1.4.11.3.tar.gz
[root@
asterisk
src]# cd libpri-1.4.11.3
[root@
asterisk
libpri-1.4.11.3]# make
[root@
asterisk
libpri-1.4.11.3]# make install
Установим драйвера:
[root@
asterisk
libpri-1.4.11.3]# cd ..
[root@
asterisk
src]# tar xvf dahdi-linux-2.3.0.1.tar.gz
[root@
asterisk
src]# cd dahdi-linux-2.3.0.1
Позвонить +7 (343) 382-33-16