Instalando o IAXmodem
O IAXmodem simula um aparelho de faxmodem e faz ele disponível para o Asterisk via IAX2. Todos os passos nesse capitulo precisam ser executados como usuário root.
Para instalar o IAXmodem, precisamos de alguns pacotes adicionais do Debian, que podem ser instalados com o comando apt-get -y install g++ libtiff-tools libtiff4 libtiff4-dev.
debian:~# apt-get -y install g++ libtiff-tools libtiff4 libtiff4-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
g++ libjpeg62 libjpeg62-dev libtiffxx0 zlib1g-dev
[...]
Richte zlib1g-dev ein (1.2.2-4.sarge.2) ...
Richte libtiff4-dev ein (3.7.2-7) ...
debian:~#
Nós entramos no diretório apropriado com o comando cd /usr/src para instalar código fonte do IAXmodem:
debian:~# cd /usr/src
debian:/usr/src#
Os fontes do IAXmodem podem ser baixados com qualquer browser web típico a partir de http://iaxmodem.sourceforge.net (a versão usada neste exemplo é a 0.3.0). Depois de baixar o arquivo compactado, copie-o para /usr/src
e descompacte-o com o comando tar -xvzf iaxmodem-0.3.0.tar.gz.
debian:/usr/src# tar -xvzf iaxmodem-0.3.0.tar.gz
iaxmodem-0.3.0/
iaxmodem-0.3.0/iaxmodem.c
iaxmodem-0.3.0/iaxmodem.init.debian
iaxmodem-0.3.0/Makefile.in
iaxmodem-0.3.0/CHANGES
iaxmodem-0.3.0/lib/
iaxmodem-0.3.0/lib/spandsp/
iaxmodem-0.3.0/lib/spandsp/Makefile.am
[...]
iaxmodem-0.3.0/TODO
iaxmodem-0.3.0/FAQ
iaxmodem-0.3.0/build
iaxmodem-0.3.0/iaxmodem.init.fedora
debian:/usr/src#
Entre no diretório dos fontes descompactados com o comando cd iaxmodem-0.3.0:
debian:/usr/src# cd iaxmodem-0.3.0
debian:/usr/src/iaxmodem-0.3.0#
Agora compile os fontes com o comando ./configure && make:
debian:/usr/src/iaxmodem-0.3.0# ./configure && make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
[...]
cc -DMODEMVER=\"0.3.0\" -DDSPVER=\"spandsp-0.0.3-snapshot-20070223+\" -D
IAXVER=\"libiax2-0.2.3-CVS-20060222+\" -Wall -g -DSTATICLIBS -DUSE_UNIX9
8_PTY -std=c99 -Ilib/libiax2/src -Ilib/spandsp/src -c iaxmodem.c
cc -DMODEMVER=\"0.3.0\" -DDSPVER=\"spandsp-0.0.3-snapshot-20070223+\" -D
IAXVER=\"libiax2-0.2.3-CVS-20060222+\" -Wall -g -DSTATICLIBS -DUSE_UNIX9
8_PTY -std=c99 -Ilib/libiax2/src -Ilib/spandsp/src iaxmodem.o lib/spand
sp/src/.libs/libspandsp.a lib/libiax2/src/.libs/libiax.a -o iaxmodem -lm
-lutil -ltiff
[...]
debian:/usr/src/iaxmodem-0.3.0#
Copie o binário resultante para o diretório /usr/bin
com o comando cp iaxmodem /usr/bin/:
debian:/usr/src/iaxmodem-0.3.0# cp iaxmodem /usr/bin/
debian:/usr/src/iaxmodem-0.3.0#
Agora podemos configurar o modem. O IAXmodem espera encontrar os arquivos de configuração em /etc/iaxmodem
. Crie-o com o comando mkdir /etc/iaxmodem:
debian:/usr/src/iaxmodem-0.3.0# mkdir /etc/iaxmodem
debian:/usr/src/iaxmodem-0.3.0#
Crie o arquivo de configuração com o comando touch /etc/iaxmodem/ttyIAX0:
debian:/usr/src/iaxmodem-0.3.0# touch /etc/iaxmodem/ttyIAX0
debian:/usr/src/iaxmodem-0.3.0#
Esse arquivo precisa conter os seguintes parâmetros:
device
O nó do dispositivo a ser criado em /dev
. Esse é o dispositivo que o Hylafax usa para se conectar ao IAXmodem. Você pode escolher qualquer nome que você desejar, mas nós preferimos aderir à convenção e assim escolher um nome de dispositivo apropriado para uma interface serial, ttyIAX0.
owner
Esse é o dono do dispositivo (na forma user
:group
). É melhor usar o mesmo user e group sob o qual o Hylafax roda.
port
A porta sobre a qual o IAXmodem escuta. O Asterisk usa a 4569 para escutar por conexões do IAX2, assim você precisa escolher algo diferente, por exemplo 4570.
refresh
Esse define quanto tempo o IAXmodem vai esperar entre as requisições de registros com o Asterisk. Se esse número é 0, o modem não se registra de forma alguma.
server
O endereço IP do servidor executando o Asterisk. Se esse está na mesma máquina que o IAXmodem, use o endereço do localhost 127.0.0.1.
peername
O nome sob o qual o IAXmodem se registra com o Asterisk.
secret
A senha usada para requisição de registro ao Asterisk.
codec
Oe codec usado pelo IAXmodem. Os Codec´s permitidos são alaw
, ulaw
e slinear
. Codec´s comprimidos não são adequados para faxing; transmissões de fax são por si só comprimidas e não toleram mais compressão; e mais ainda, muitos codecs comprimidos são lossy e uma transmissão de fax não vai tolerar perdas. Isso é uma das maiores razões porque faxing sobre VoIP ainda é problemático.
Usando um editor apropriado (por. ex. vi), escrevemos a seguinte configuração no arquivo /etc/iaxmodem/ttyIAX0
:
device /dev/ttyIAX0
owner uucp:uucp
mode 660
port 4570
refresh 50
server 127.0.0.1
peername iaxmodem
secret password
codec alaw
O IAXmodem está agora configurado e pode ser iniciado. A melhor forma de fazer isso é com init. Adicione uma linha para iniciar o IAXmodem em /etc/inittab
com o comando echo "IA00:23:respawn:/usr/bin/iaxmodem ttyIAX0" >> /etc/inittab:
debian:/usr/src/iaxmodem-0.3.0# echo "IA00:23:respawn:/usr/bin/iaxmodem ttyIAX0" >> /etc/inittab
debian:/usr/src/iaxmodem-0.3.0#
O nome do dispositivo ttyIAX0
é o mesmo nome de dispositivo que foi especificado no arquivo /etc/iaxmodem
.
Para receber fax, nós precisamos de um getty que escute por conexões no IAXmodem. Isso é conseguido através de uma entrada adicional no arquivo /etc/inittab
. Adicione-a com o comando echo "mo00:23:respawn:/usr/sbin/faxgetty ttyIAX0" >> /etc/inittab.
mo00:23:respawn:/usr/local/sbin/faxgetty ttyIAX0
Crie um diretório de log para o IAXmodem com o comando mkdir /var/log/iaxmodem/ e os arquivos de log com o comando touch /var/log/iaxmodem/ttyIAX0 e touch /var/log/iaxmodem/iaxmodem.
debian:/usr/src/iaxmodem-0.3.0# mkdir /var/log/iaxmodem/
debian:/usr/src/iaxmodem-0.3.0# touch /var/log/iaxmodem/ttyIAX0
debian:/usr/src/iaxmodem-0.3.0# touch /var/log/iaxmodem/iaxmodem
debian:/usr/src/iaxmodem-0.3.0#
Para fazer-se seguro de que tudo vai iniciar como esperado no momento de boot, faça um reboot do sistema com o comando shutdown -r now.
debian:/usr/src/iaxmodem-0.3.0# shutdown -r now
Broadcast message from root@debian (pts/1) (Sat May 5 00:15:49 2007):
The system is going down for reboot NOW!
debian:/usr/src/iaxmodem-0.3.0#
Nenhum comentário:
Postar um comentário