Introdução
Este documento descreve uma série de procedimentos detalhados, utilizados para efetuar a configuração do recebimento de Fax com encaminhamento por e-mail em um servidor
Asterisk.
Vale ressaltar que este artigo faz parte de uma série sobre o Asterisk e, por isso, todo o material foi dividido em etapas. Logo, é extremamente recomendável que o leitor verifique se possui em mãos a versão atual do mesmo.
Premissas
Este documento considera que o leitor possui uma instalação nova e funcional do sistema operacional Debian ou Ubuntu.
Este documento considera que o leitor possui uma instalação nova e funcional do Asterisk, baseada no artigo
PABX IP Asterisk - Instalação no Debian/Ubuntu.
Este documento considera que o leitor possui conhecimento sobre as configurações básicas de ramais SIP apresentadas no artigo
Asterisk configurações de ramais SIP.
Este documento considera que o leitor seguiu os passos do vídeo abaixo e acertou a hora corretamente através de NTP em seu servidor
Linux:
Faça o backup de seus arquivos de configuração antes de dar início às alterações descritas neste artigo.
Instalação
Etapa 01: Instalação e Configuração do SendEmail
Execute o comando abaixo para efetuar a instalação do programa SendEmail, responsável por enviar o Fax recebido por e-mail:
# apt-get install sendemail libio-socket-ssl-perl libnet-ssleay-perl
Tente enviar uma mensagem de e-mail de teste através do GMail, utilizando o comando abaixo:
# /usr/bin/sendemail -s smtp.gmail.com -f vegeta@gmail.com -t kakaroto@gmail.com -u 'Maldito Kakaroto' -m 'Destruirei o planeta terra e todos aqueles q vc ama' -xu vegetaUser -xp VegetaPassword -o tls=yes -v
* Lembre de alterar o comando acima para refletir sua conta no Gmail.
Caso seu teste tenha tido sucesso, pule para a próxima etapa.
Caso seu teste apresente a seguinte menagem de erro:
"invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332"
Edite o arquivo "sendemail" localizado no diretório
/usr/bin através do comando abaixo.
# vi /usr/bin/sendemail
Localize a linha abaixo:
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {
Altere a mesma e remova o
TLSv1.
Segue abaixo a linha após a alteração:
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3')) {
Teste novamente enviar uma mensagem de teste através do GMail, utilizando o comando abaixo:
# /usr/bin/sendemail -s smtp.gmail.com -f vegeta@gmail.com -t kakaroto@gmail.com -u 'Maldito Kakaroto' -m 'Destruirei o planeta terra e todos aqueles q vc ama' -xu vegetaUser -xp VegetaPassword -o tls=yes -v
* Lembre de alterar o comando acima para refletir sua conta no gmail.
Caso seu teste tenha tido sucesso, pule para a próxima etapa.
Etapa 02: Configuração do Asterisk
Apague o conteúdo atual do arquivo "sip.conf" através do comando abaixo:
# echo > /etc/asterisk/sip.conf
Edite o arquivo de configuração "sip.conf", que se encontra no diretório
/etc/asterisk:
# vi /etc/asterisk/sip.conf
Segue abaixo um arquivo "sip.conf" totalmente funcional:
[general]
allowguest=no
srvlookup=no
udpbindaddr=0.0.0.0
tcpenable=no
canreinvite = no
dtmfmode=auto
t38pt_udptl = yes ;PARTE IMPORTANTE
[ramal-voip](!)
type=friend
context=INTERNO
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=g729
[100](ramal-voip)
secret=senha100
callerid="Vegeta" <100>
[200](ramal-voip)
secret=senha200
callerid="Kakaroto" <200>
Note que foram criados 2 ramais para testes que são, respectivamente, os ramais 100 e 200.
Apague o conteúdo atual do arquivo "extensions.conf", através do comando abaixo:
# echo > /etc/asterisk/extensions.conf
Edite o arquivo de configuração "extensions.conf" que se encontra no diretório
/etc/asterisk:
# vi /etc/asterisk/extensions.conf
Segue abaixo um arquivo "extensions.conf" totalmente funcional:
[general]
[INTERNO]
;
; RAMAL 100 (FOR TEST ONLY)
;
exten => 100,1,Dial(SIP/100)
;
; RAMAL 200 (FOR TEST ONLY)
;
exten => 200,1,Dial(SIP/200)
;
; RECEBIMENTO DE FAX
;
exten => 999,1,Verbose(3,Incoming fax)
same => n,Set(FAXDEST=/tmp)
same => n,Set(tempfax=${STRFTIME(,,%C%y%m%d%H%M)})
same => n,ReceiveFax(${FAXDEST}/${tempfax}.tif,d)
same => n,Verbose(3,- Fax receipt completed with status: ${FAXSTATUS})
same => n,System(/usr/bin/sendemail -s smtp.gmail.com -f vegeta@gmail.com -t kakaroto@gmail.com -u 'Novo FAX' -m 'Fax de ${EXTEN}' -xu vegetaUser -xp vegetaPassword -o tls=yes -v -a ${FAXDEST}/${tempfax}.tif)
Note que, além dos 2 ramais SIP configurados, também foi adicionado um terceiro ramal 999, que será responsável por receber o Fax, armazenar o mesmo como arquivo tiff dentro do diretório
/tmp e enviar o mesmo como anexo para o endereço de e-mail "kakaroto@gmail.com".
Reinicie o serviço Asterisk através do comando abaixo:
# /etc/init.d/asterisk restart
O sistema de PABX VoIP Asterisk foi configurado com sucesso.
Etapa 03: Teste de Recebimento de Fax
Após configurar corretamente seu Asterisk para recebimento de Fax, tente enviar um Fax de um aparelho convencional para seu Asterisk.
Pode ser interessante executar o Asterisk em modo debug para verificar o andamento do recebimento do Fax e seu envio por email.
# asterisk -vvvvvr
Você deve ver algo como o log abaixo durante o recebimento de um Fax:
== Using SIP RTP CoS mark 5
-- Executing [999@LocalSets:1] Verbose("SIP/trunkteste-000000a2", "3,Incoming fax") in new stack
-- Incoming fax
-- Executing [999@LocalSets:2] Set("SIP/trunkteste-000000a2", "FAXDEST=/tmp") in new stack
-- Executing [999@LocalSets:3] Set("SIP/trunkteste-000000a2", "tempfax=201502021432") in new stack
-- Executing [999@LocalSets:4] ReceiveFAX("SIP/trunkteste-000000a2", "/tmp/201502021432.tif,d") in new stack
-- Channel 'SIP/trunkteste-000000a2' receiving FAX '/tmp/201502021432.tif'
== Using UDPTL CoS mark 5
-- Executing [999@LocalSets:5] Verbose("SIP/trunkteste-000000a2", "3,- Fax receipt completed with status: SUCCESS") in new stack
-- - Fax receipt completed with status: SUCCESS
-- Executing [999@LocalSets:6] Verbose("SIP/trunkteste-000000a2", "3,- Fax receipt completed with status: SUCCESS") in new stack
-- - Fax receipt completed with status: SUCCESS
-- Executing [999@LocalSets:7] System("SIP/trunkteste-000000a2", "/usr/bin/sendemail -s smtp.gmail.com -f vegeta@gmail.com -t kakaroto@gmail.com -u 'Novo FAX' -m 'Fax de 999' -xu vegetaUser -xp vegetaPassword -o tls=yes -v -a /tmp/201502021432.tif") in new stack
Apesar de não ser obrigatório, é uma boa prática reiniciar o sistema e verificar se todos os serviços serão realmente iniciados automaticamente.
Conclusão
Este artigo se empenhou em apresentar o processo de configuração de recebimento de Fax e encaminhamento do mesmo por e-mail em um servidor Asterisk de maneira simples e eficiente.
Durante os próximos artigos, serão apresentados outros modelos de configuração do serviço.
Veja o vídeo da instalação apresentada em:
Caso tenha gostado do vídeo, sinta-se convidado a se inscrever no canal
FuckingIT.
Curta a nossa
página no Facebook.
Até o próximo artigo, onde continuaremos a nos aprofundar na solução Asterisk.