Esta contribuição está participando do sorteio da Mochila Targus Matrix. Envie seu texto e participe você também, você contribui com outros usuários e ainda pode faturar uma mochila novinha em folha para o seu laptop. Saiba mais sobre como participar.
Sobre o Autor:
Luis Fernando Kieça
luis_fk@yahoo.com
Hardware necessário:
- Computador com fax-modem instalado.
Software necessário:
- Linux instalado no equipamento (esta dica foi testada num Red Hat 7.2, mas é apenas um Pentium 233 – eu sei que é antigo). Faz-se necessário sendmail, postfix, qmail ou qualquer MTA executando na máquina.
- pacote mpack (http://rpmfind.net)
- Apache+ PHP + Webmail (opcional)
1. Instalação e configuração do mgetty
- Após a instalação e configuração do MTA (favor consultar a documentação do MTA a respeito de como instalá-lo), baixe a última versão do mpack (pacote que facilita o envio de e-mails com anexos). Para instalá-lo, execute o comando rpm -ivh .
- Baixe e/ou atualize os pacotes mgetty-1.1.28-3, mgetty-viewfax-1.1.28-3, mgetty-voice-1.1.28-3 e mgetty-sendfax-1.1.28-3 (sendo o mgetty e mgetty-voice são os pacotes realmente necessários). Para instalá-los, execute o comando rpm -ivh mgetty-*. Para atualizar uma versão já existente do mgetty, utilize o comando rpm -Uvh mgetty-*.
- Agora, entre no diretório /etc/mgetty+sendfax. Utilizando o seu editor preferido, edite o arquivo voice.conf. Procure pela linha message_list e informe o nome do arquivo que conterá as mensagens a serem utilizadas quando o telefone for atendido. Este arquivo deverá estar no diretório message_dir (normalmente em /var/spool/voice/messages). Na linha backup_message, deverá ser colocado o nome do arquivo (também presente no diretório message_dir) que será utilizado como mensagem padrão nos casos onde o mgetty não conseguir localizar o arquivo de mensagem em questão.
- A próxima linha a ser alterada é o port_speed, o qual deverá conter a velocidade suportada pelo modem. Um pequeno detalhe: nesta linha o valor colocado DEVE ser o mesmo do que o encontrado na linha speed do arquivo mgetty.config.
- Na linha rings, deve ser especificado o número de toques a esperar para atender o telefone. Como eu não utilizo o telefone para receber fax, eu modifiquei a linha answer_mode para voice.
- Na linha message_program, deve-se indicar nome do programa a ser utilizado para processar os arquivos recebidos pelo mgetty. É necessário indicar ao mgetty, qual será o dispositivo de voz que ele deverá utilizar (ttyS0, ttyS1, ttyS2 ou ttyS3). Talvez seja necessário revisar o arquivo inteiro e procurar por configurações envolvendo a mesma ttySx do modem ou até mesmo do mouse.
- Grave o arquivo e saia.
- Com o seu editor de textos preferido, edite o arquivo /etc/inittab e inclua a seguinte linha:
S3:345:respawn:/sbin/vgetty ttyS3
- Salve as configurações e saia do arquivo.Execute um
kill -1 1
- O init irá reler o arquivo de configuração e ativar o vgetty.
- Com um:
ps -ax | grep vgetty
você deverá ver o processo lá. Caso não apareça o processo listado, reveja suas configurações.
- Agora, o próximo passo é gravar a mensagem. Utilizando-se do seu programa preferido, grave a(s) mensagem(ns) de saudação da secretária em formato wav.
- Agora, converta o arquivo wav para o formato pvf (formato intermediário) utilizando o wavtopvf.
- O próximo passo é converter o arquivo no formato pvf para o formato compreendido pelo modem. Isto é feito através do utilitário pvftormd. Utilize o comando pvftormd -L para listar os formatos suportados pela sua marca de modem.
- Após a conversão basta colocar arquivo da mensagem no diretório especificado em message_dir e a secretária já está pronta para operar.
2. Criação do script para enviar o arquivo recebido para o e-mail
Abaixo, segue o script que eu utilizo para enviar-me a mensagem via e-mail.
—8<--- #!/bin/bash # Voicemail.sh # # Converte o arquivo gravado do modem em voc e envia por e-mail. ARQUIVO=`echo $1 | cut -d “.” -f 1` DATA=`date +%d/%m/%Y` HORA=`date +%H:%M` EMAILADDRESS=”luis@localhost”
# Converte o arquivo para voc
rmdtopvf “${ARQUIVO}.rmd” |
pvfcut -T 34.0 |
pvfspeed -s 32000 |
pvftovoc > “${ARQUIVO}.voc”
# Cria o arquivo txt
echo “Voice mail recebido” >> ${ARQUIVO}.txt
echo ” ” >> ${ARQUIVO}.txt
echo ” Voce recebeu um voice mail as ${HORA} do dia ${DATA}.” >> ${ARQUIVO}.txt
echo ” ” >> ${ARQUIVO}.txt
echo ” Para acessa-lo, abra o arquivo anexo a este e-mail.” >> ${ARQUIVO}.txt
echo ” ” >> ${ARQUIVO}.txt
echo “VoiceMail Server.” >> ${ARQUIVO}.txt
# Envia o e-mail
mpack -s “Voicemail!!!” -d “${ARQUIVO}.txt” “${ARQUIVO}.voc” “${EMAILADDRESS}”
# Remove os arquivos temporarios
for i in voc rmd txt; do
rm -f ${ARQUIVO}.${i}
done
—>8—
Foi utilizado o formato voc, por ser o mais enxuto e o que obtive melhor qualidade. Este formato pode ser executado no winamp (windows) ou xmms (linux). Caso prefira outro formato, mp3 por exemplo, você precisará converter o arquivo no formato pvf para o mp3. Consulte a documentação do programa que você irá utilizar para convertê-lo.
3. Apache + PHP + Webmail + dyndns
Este passo é opcional. Utilizei-o para poder ver meus recados a partir de qualquer equipamento fora de casa/escritório. A título de sugestão, pode-se utilizar o apache + php + squirrel (ou outro webmail qualquer), para que a visualização das mensagens possa ser feita através de qualquer computador com acesso à internet. Uma vez que você já utiliza o adsl em sua máquina, basta agora configurar para que você possa acessar seus e-mails de qualquer lugar (não esqueça é claro da segurança).
Como não é o escopo deste artigo, consulte a documentação de como fazê-lo em sua distribuição. Em alguns casos, as operadoras telefônicas bloqueiam acesso a portas baixas (abaixo de 1024). Pode-se configurar o apache para utilizar uma porta alta ao invés da porta padrão(80). Ou ainda, pode-se habilitar o https e utilizá-la para acessar seu servidor web.
Utilizo o dyndns (http://www.dyndns.org) para publicar o endereço do meu adsl para que eu não tenha que “adivinhar” qual ip preciso acessar para ver meus recados. Outra opção é usar o no-ip (http://www.no-ip.com). Em ambos os casos, há um cliente para linux, que pode ser configurado tranqüilamente.