Asterisk 1.6.beta9 Realtime LDAP auth + Hylafax + IAXModem + Adhearsion + FlashOperator + CDR
16, September, 2008
Este guia pretende mostrar a configuração de um sistema de telefonia para empresas utilizando o Asterisk* equipado de extras básicos para um sistema de pequeno a medio porte. são eles:
– Peers realtime utilizando LDAP.
– Call Detail Record armazenado em MySQL e viewer básico em PHP
– Gateway AGI para execucao de dialplan via Adhearsion (Ruby)
(a execucao externa de dialplan é escolha pessoal e torna-se obrigatória dependendo da complexidade do plano de discagem)
– Servidor para envio e recebimento de fax (Hylafax)
– Flash Operator Panel
A primeira etapa compreende a configuração básica do sistema e todo o processo assume que se está logado como root.
Configuração básica do servidor
—————————————————————————-
Configuracao de sistema baseado em Debian, especificamente Ubuntu.
– habilitar ssh
# apt-get install openssh-server
# echo "AllowUsers root seuusername" >> /etc/ssh/sshd.conf
– update do server
# apt-get update && apt-get upgrade && reboot
– baixar os headers e compiladores e libs necessárias
# apt-get install linux-headers-`uname -r` build-essential libncurses-dev ldap-utils libldap2-dev libmysqlclient15
Instalacao e configuracao do Asterisk
—————————————————————————-
Uma placa Digium será configurada neste sistema e portanto algumas regras básicas devem ser respeitadas. Provavelmente estas regras se aplicam tambem a placas de outros fabricantes, e mesmo que não sejam necessárias, são boas práticas para um sistema em produção.
– Desativar opção de Plug and Play na bios
– Desabilitar saidas seriais, paralelas, som, usb (em alguns casos pode ser necessário manter usb para que o zaptel tenha uma boa fonte de clock).
– Desligar o drive de cd se houver. Desabilitar a controladora do respectivo drive.
– Certificar-se de que o hd está em modo DMA. “hdparm -i”
– Desabilitar ACPI no boot.
– Certificar-se de que a placa digium tem seu proprio IRQ. Verifique com um “cat /proc/interrupts” e caso esteja compartilhado, tente mudar a placa de slot.
– Em casos onde o Moh(music on hold) fica picotado ou metalico, desabilitar hyperthreading pode resolver. Em outros casos, desabilitar SMP tambem pode ajudar.
– baixar e descompactar sources do asterisk, libpri, addons e zaptel
# wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.6.0-beta9.tar.gz
# wget http://downloads.digium.com/pub/asterisk/asterisk-addons-1.6.0-beta4.tar.gz
# wget http://downloads.digium.com/pub/libpri/libpri-1.4.6.tar.gz
# wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.11.tar.gz
# tar -zxvf asterisk-1.6.0-beta9.tar.gz
# tar -zxvf asterisk-addons-1.6.0-beta4.tar.gz
# tar -zxvf libpri-1.4.6.tar.gz
# tar -zxvf zaptel-1.4.11.tar.gz
– compilar e instalar
(para habilitar bloqueio de chamada a cobrar aplique o patch disponivel 3 ou 4 posts atras. Ele é para uma versao mais antiga da libpri mas serve tbm para versoes mais novas)
# cd libpri-1.4.6/
# make && make install
# cd ../zaptel-1.4.11/
# ./configure && make && make install && make config
# cd ../asterisk-1.6.0-beta9/
(se estiver fazendo upgrade não esqueça de apagar os modulos em: /usr/lib/asterisk/modules e suprimir “make samples” pois vai sobreescrever os arquivos de configuração)
# ./configure && make && make install && make samples
# cd ../asterisk-addons-1.6.0-beta4/
inserir “CFLAGS+=-DMYSQL_LOGUNIQUEID” em cdr/Makefile
inserir “#define MYSQL_LOGUNIQUEID” em cdr/cdr_addon_mysql.c
(se estiver fazendo upgrade nao esqueça de suprimir “make samples” pois vai sobreescrever os arquivos de configuração)
# ./configure --with-mysqlclient=/usr/ && make && make install && make samples
# cd ..
– selecionar somente o modulo necessário para sua placa digium em:
/etc/defaults/zaptel
– configurar o hardware
conteudo de /etc/zaptel.conf
(consulte sua operadora para valores compatíveis)
span=1,1,0,ccs,hdb3,crc4
bchan=1-15
dchan=16
loadzone=br
defaultzone=br
Configurar Iaxmodem
—————————————————————————-
# wget http://ufpr.dl.sourceforge.net/sourceforge/iaxmodem/iaxmodem-1.1.1.tar.gz
# tar -zxvf iaxmodem-1.1.1.tar.gz
# cd iaxmodem-1.1.1
# ./build static
# cp iaxmodem /usr/bin/iaxmodem
# cd..
# mkdir /etc/iaxmodem
-conteudo do /etc/iaxmodem/ttyIAX
device /dev/ttyIAX
owner root:root
mode 660
port 45699
refresh 300
server 127.0.0.1
peername numerodoramaliax
secret senhaparaoramaliax
cidname IAX Modem 1
cidnumber numerodoramaliax
codec slinear
-servico de iax em /etc/event.d/iax
(em sistemas mais antigos utilizar o /etc/inittab)
start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5
stop on runlevel 0
stop on runlevel 1
stop on runlevel 5
stop on runlevel 6
respawn
exec /usr/bin/iaxmodem ttyIAX&> /var/log/iaxmodem-ttyIAX
-servico de fax em /etc/event.d/fax
(em versoes antigas utilizar o /etc/inittab)
start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5
stop on runlevel 0
stop on runlevel 1
stop on runlevel 5
stop on runlevel 6
respawn
exec /usr/local/sbin/faxgetty ttyIAX
– conteudo de /etc/asterisk/iax2.conf
[general]
bindaddr=127.0.0.1:4569
allow=all
disallow=g723.1
disallow=gsm
disallow=lpc10
allow=ulaw
allow=alaw
jitterbuffer=no
forcejitterbuffer=no
autokill=yes
codecpriority=host
tos_audio=0xB8
[888]
username=numerodoramaliax
type=friend
secret=senhaparaoramaliax
qualify=no
notransfer=yes
host=dynamic
context=local
callerid="Fax Corporativo"
allow=all
disallow=lpc10 ; Icky sound quality... Mr. Roboto.
disallow=gsm
allow=ulaw
allow=alaw
Configurar Exim e HylaFax
—————————————————————————-
– baixar e instalar exim4
# apt-get install exim4
– configure o exim para utilizar seu gateway de email como smarthost
# dpkg-reconfigure exim4-config
– baixar e instalar o Hylafax
# apt-get install libtiff-tools libtiff4 libtiff4-dev gs
# wget ftp://ftp.hylafax.org/source/hylafax-4.2.3.tar.gz
# tar -zxvf hylafax-4.3.1.tar.gz
# cd hylafax-4.3.1
# ./configure && make && make install
# faxsetup
(neste ponto o configurador do hylafax entra em acao e a maioria das configuracoes deve permanecer default)
-configurar OpenLDAP
-configurar asterisk para utilizar ldap
-etcetera, etcetera, etcetera
(este tutorial será atualizado e finalizado em breve)
Olá,
Bacana o artigo, tou ancioso pela continuidade do artigo, principalmente
pelo tópico autenticação com o ldap.
Abraço