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

Организуем факс-сервер по IAX2 / Песочница / Хабрахабр

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

TM Feed
Хабрахабр
Мегамозг
Geektimes
Тостер
Brainstorage
Фрилансим
Разделы
Публикации
Хабы
Компании
Пользователи
Q&A
Песочница
Спецпроекты
Shared Hosting
MAXIFY MB5040
Деньги на образование
Ожидают инвайт
Получили инвайт
29 июля 2012 в 05:02
Организуем факс-сервер по IAX2
Чулан
Рано или поздно возникает задача организовать факс-сервер в компании. Столкнулся с подобной задачей около года назад.
Что мы имеем
Сервер с asterisk;
железо для факс-сервера: P4 1.7, mem 256M, hd 40GB. Установлена ОС Centos.
Приступаем
Так как есть сервер с asterisk, то разумно воспользоваться протоколом iax2, поэтому будем делать связку: iaxmodem + hylafax + avantfax
Для начала добавим несколько репозиториев:
-atomic.repo-
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
на всякий случай добавляем сюда исключение для php 5.3 в секцию [atomic]
vim /etc/yum.repos.d/atomic.repo
exclude = php*5.3*
-RPMForge.repo-
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -i rpmforge-release-0.5.2-2.el5.rf.i386.rpm
Установим следующие пакеты:
yum -y install gcc gcc-c++ libtiff libtiff-devel hylafax mysql-server httpd mysql-devel php-cli phpmyadmin php
Cкачиваем avantfax и iaxmodem:
wget http://it-technics.narod.ru/fax/avantfax-3.3.3.tgz
wget http://it-technics.narod.ru/fax/iaxmodem-1.2.0.tar.gz
Установка iaxmodem
Распаковываем архив iaxmodem-1.2.tar.gz, переходим в директорию и выполняем команды для компоновки и компиляции:
tar xzvf iaxmodem-1.2.0.tar.gz
cd iaxmodem-1.2.0/
./configure
make
Копируем, полученный в результате компиляции файл iaxmodem:
cp iaxmodem /usr/bin/
Создаем папку iaxmodem:
mkdir /etc/iaxmodem
Создаем файл ttyIAX0:
touch /etc/iaxmodem/ttyIAX0
Редактируем конфигурационный файл ttyIAX0:
vim /etc/iaxmodem/ttyIAX0
Добавляем туда следующее содержимое:
device /dev/ttyIAX0
owner uucp:uucp
mode 660
port 4570
refresh 50
server 192.168.0.20
<< — наш сервер с asterisk
peername 5020
secret 5020
codec alaw
Следующим шагом будет создание iaxpeer на сервере asterisk.
Подключаемся на сервер asterisk, редактируем конфигурационный файл iax.conf:
vim /etc/asterisk/iax.conf
и добавляем нашего пира, у меня получился следующий конфиг:
[general]
bindport = 4569
bindaddr =0.0.0.0
calltokenoptional = 192.168.0.28/255.255.255.255
maxcallnumbers = 16382
maxregexpire=10000
[5020]
port=4570
type=friend
username=5020
context=fax2out
secret=5020
host=dynamic
qualify=yes
disallow=all
allow=alaw
trunk=no
requirecalltoken=no
Необходимо применить конфигурацию iax2, подключаемся к cli asterisk:
asterisk -r
*CLI> iax2 reload
== Parsing '/etc/asterisk/iax.conf': == Found
== Parsing '/etc/asterisk/users.conf': == Found
выходим из cli и подключаемся обратно на наш факс-сервер.
Редактируем файл inittab для загрузки нашего модема:
vim /etc/inittab
вносим следующее в конец файла:
iax1:2345:respawn:/usr/bin/iaxmodem ttyIAX0 > /dev/null
vmo1:2345:respawn:/usr/sbin/faxgetty ttyIAX0
так же создадим папку для логов iaxmodem:
mkdir /var/log/iaxmodem
touch /var/log/iaxmodem/iaxmodem
Hylafax
Проверим устновился ли hylafax:
yum list | grep hylafax
Добавим hylafax в загрузку при старте системы:
chkconfig hylafax on
Сконфигурируем и запуcтим hylafax:
faxsetup
Отвечаем на все вопросы, но когда спросит добавить ли модем говорим, что нет.
Запускаем наш модем:
/usr/bin/iaxmodem /dev/ttyIAX0 &
/usr/sbin/faxgetty /dev/ttyIAX0 &
После запуска можно посмотреть регистрацию пира на asterisk, есл ивсе нормально сконфигурированно регистрация будет.
Добавляем наш модем:
faxaddmodem
Позвонить +7 (343) 382-33-16