Call Center no Linux

Autor: Andrei

Introdução

Há algum tempo estava à procura de alguma solução Linux para
utilizar como secretária eletrônica, foi então que encontrei o
VOCP. Na verdade ele pode ser utilizado para uma variedade
muito grande de aplicações que vão além de uma mera secretária para mensagens.

Funcionamento geral

No caso proposto pelo artigo, ao receber uma chamada telefônica, após
cinco toques o Linux atende o telefone e dá uma mensagem do tipo:

"Você ligou para Fulano, no momento não podemos atender sua chamada. Se
desejar deixar uma mensagem, tecle 5, para enviar fax, tecle 8".

Pré-requisitos

  1. Voice-modem: de preferência um hard-modem, aqueles com jumpers
    para selecionar a porta. No meu caso estou usando um U.S. Robotics
    Sportster 33600 Voice ISA. Também testei com com um Winmodem HSP 56
    AMR, até funcionou, mas não muito bem;

  2. mgetty-sendfax;
  3. mgetty-voice (vgetty);
  4. Versão atual do perl;
  5. Apache Web Server (somente se você for usar o VOCPWeb para ouvir suas mensagens via browser).

Para os itens 2, 3, 4 e 5, praticamente em todas as
distribuições Linux existem pacotes para os mesmos, então não entrarei
em detalhes para instalação.

Download e instalação do VOCP

Agora vamos baixar e instalar o VOCP:

# cd /tmp
# wget
http://easynews.dl.sourceforge.net/sourceforge/vocp/VOCP-0.9.3.tar.gz
# tar -xzvf VOCP-0.9.3.tar.gz
# cd vocp-0.9.3
# ./install_vocp.pl

Este script fará algumas perguntas, responda com atenção. Também serão verificadas as dependências de módulos Perl:

  • Modem::Vgetty (requerido);
  • XML::Mini (requerido);
  • Audio::DSP (VOCP modo gráfico);
  • Tk CallCenter (VOCP modo gráfico);
  • Tk::JPEG CallCenter (VOCP modo gráfico);
  • Crypt::CBC (VOCPweb);
  • Crypt::Blowfish (VOCPweb);
  • MIME::Parser (Email to VoiceMail converter).

O instalador vai tentar resolver automaticamente as dependências,
se você preferir instalar manualmente, pode fazer assim:

# perl -MCPAN -e ‘install Modem::Vgetty’

Configuração

1. Arquivo /etc/mgetty+sendfax/voice.conf

Localize a linha voice_devices e coloque:

voice_devices ttySX

Onde o ttySX corresponde a porta na qual seu modem está conectado.

Localize a linha voice_shell e coloque:

voice_shell /usr/bin/perl

Confira o local correto onde está o executável do Perl:

# which perl

Localize a linha call_program e coloque:

call_program /usr/local/vocp/bin/vocp.pl

Localize a linha answer_mode e altere, se necessário, para que fique assim:

answer_mode voice:fax:data

Localize a linha rings e coloque o número de toques do telefone até
que o computador atenda o telefone. Exemplo:

rings 5 # para 5 toques

Outras opções você pode alterar conforme sua necessidade.

2. Arquivo /etc/vocp/vocp.conf

Verifique neste arquivo os seguintes itens:

boxconfig     /etc/vocp/boxes.conf
rmdformat US_Robotics
Para ver as opções disponíveis de acordo com seu modem, use o comando:

# pvftormd -L

pvftooldir      /usr/bin

As opções acima já devem estar corretas se você respondeu corretamente as perguntas do script "install_vocp.pl".

Outras configurações:

# Se for 1, então você receberá por email a mensagem de voz anexada
email_attach_message    1

# Formato da mensagem anexada
message_in_email_format   wav

# Sendmail
programs        email           /usr/sbin/sendmail

email_subject   "Mensagem de Voz"
email_from_address      callcenter@dominio.com.br

3. Criação do arquivo /etc/vocp/boxes.conf

Para o exemplo deste artigo, vamos criar este arquivo com o seguinte conteúdo:

* Remova os comentários!!!

<?xml version="1.0" ?>
<VOCPBoxConfig>
  <boxList>
   <box number="001">
    <message>
     root.rmd # Mensagem Inicial
    </message>
    <branch>
     0=998,5=500,8=800 # Define as teclas: tecla 5 vai para seção 500
    </branch>
   </box>
   <box number="500">
    <type>
     mail
    </type>
    <owner>
     nobody
    </owner>
    <email>
     root  # coloque aqui o endereço de email para o envio da mensagem de voz
    </email>
    <password>
      666  # Senha de acesso as mensagens via telefone ou web
    </password>
   </box>
   <box number="800">
    <type>
      receivefax
    </type>
   </box>
   <box number="998">
    <message>
     system/goodbye.rmd # Mensagem de Despedida
    </message>
    <type>
     exit
    </type>
   </box>
  </boxList>
</VOCPBoxConfig>

4. Arquivo /etc/inittab

Adicione no final do arquivo:

S3:2345:respawn:/sbin/vgetty /dev/ttySX

Onde /dev/ttySX é o dispositivo do seu modem, poderia ser /dev/ttyS2 ou /dev/modem por exemplo.

Após este procedimento, faça o init reler o arquivo com o comando:

# init q
ou
# telinit q

Verifique se o vgetty está rodando:

# ps ax | grep vgetty
5550 ?        Ss     0:00 /sbin/vgetty /dev/ttyS2

Personalizando as mensagens de voz

Em /var/spool/voice/messages estão os arquivos de áudio com as mensagens.

Para o exemplo descrito no artigo, vamos alterar os arquivos:

  • root.rmd (mensagem principal. Ex: você ligou para fulano, tecle 5 para mensagem, 8 para fax);
  • goodbye.rmd (mensagem de despedida);
  • system/error.rmd (mensagem de erro. Ex: opção incorreta!);

Grave em seu editor preferido os arquivos, salve-os em wav 8KHz, 8 bits, Mono e depois utilize os comandos:

# wavtopvf root.wav root.pvf
# pvftormd US_Robotics 1 root.pvf root.rmd

Lembre-se de modificar (US_Robotics 1) conforme o seu modem: "pvftormd -L" para listar os tipos suportados.

Se você quiser traduzir mais mensagens, fique à vontade.

Em /var/spool/voice/messages/system estão as mensagens referentes às opções para quando você acessar as mensagens recebidas pelo telefone.

Instalando o VOCP Web

1. Copie o conteúdo da pasta /tmp/vocp-0.9.3/vocpweb para um local acessível pelo seu Web Server.

Ex: /usr/local/apache/htdocs/vocpweb/

2. Mova o arquivo vocpweb.cgi para um local no seu Web Server que tenha permissão para executar scripts/cgi.

Ex: /usr/local/apache/cgi-bin/

Se você preferir, pode deixar na mesma pasta e ativar a execução para o mesmo nas configurações do Web Server.

3. Edite o arquivo vocpweb.cgi e altere os locais conforme seu caso:

# subdirs for templates and images
my $Tpldir = ‘../vocp/tpl’;
my $Imgdir = ‘../vocp/img’;
my $WebSounddir = ‘../vocp/sounds’;

A pasta $WebSounddir deve ter permissão de escrita para o usuário com que o Web Server está operando.

Testes de funcionamento

1. Ligue para o telefone na qual está
conectado seu modem, após o número de toques definidos, você deve ouvir
a mensagem gravada.

Tecle 5 e após ouvir o beep, deixe uma mensagem.

Desligue o telefone, ligue novamente e após ouvir a mensagem
tecle no seu telefone *999#. Vai ser solicitado a senha definida na
seção <password> do arquivo boxes.conf, digite a senha + # e siga as instruções faladas para acessar a(s) mensagens.

2. Para ouvir via browser acesse:

http://seuip_ou_dominio/vocp

Clique em "Log onto", vai abrir uma janela solicitando um username e uma senha:

  • Username = 500 (número do box com as mensagens);
  • Senha = 666 (mesma do teste anterior).

OBS: Se você não conseguir acessar suas mensagens via browser,
verifique nas permissões dos arquivos em /var/spool/voice/incoming/ que
devem ser acessíveis pelo user do Web Server. Caso necessário, edite o
arquivo /etc/boxes.conf e altere a seção:

    <owner>
     nobody
    </owner>

3. Acesse o email definido nas configurações do boxes.conf e verifique se existe algum email com as mensagens recebidas.

4. Teste também o recebimento de fax.

Se você tiver problemas nos testes acima, verifique os arquivos de log do vgetty.

Ex: /var/log/messages/vgetty.ttyS2

e também os do VOCP:

/var/log/messages/vocp.log
/var/log/messages/voicelog

Utilitários

Na pasta /usr/local/vocp/bin/ você encontra vários utilitários do VOCP, entre eles:

  • boxconf: auxiliar gráfico na criação e configuração do boxes.conf

  • callcenter: monitor gráfico para chamadas, exibe o número do
    telefone de quem está chamando (bina). Claro que a identificação de
    chamadas somente vai funcionar se você possuir um conversor DTMF para
    FSK ou se você estiver fora do Brasil.

  • vocphax: visualizador de FAX.


Comentário final

Bem caros amigos, minha intenção com este artigo foi mostrar um pouco das capacidades do VOCP,
espero que o mesmo não tenha ficado muito confuso. Se ficaram dúvidas,
leiam a documentação do VOCP que está bem detalhada e lembrem-se que o
VOCP é muito mais que uma secretária eletrônica, você pode implementar
muitas coisas interessantes como:

  • Acessar seus emails pelo telefone usando o Text-To-Speech com o Festival;
  • Executar comandos a distância pelo telefone;
  • Monitorar serviços em seu computador;
  • E o que mais a sua criatividade mandar!

Mas isso já é assunto para outros artigos!

Grande abraço!


http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4151

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s