Este script AGI foi desenvolvido para que você possa dar a capacidade do seu Asterisk falar com o seu usuário/cliente.
Este script utiliza a plataforma do Google Translate para reinderizar (converter) um texto para audio, e posteriormente tocar este audio no Asterisk. Como este script utiliza a plataforma do Google Translate, você pode realizar este processo em diversas linguagens, para maiores informações verifique a documentação do Google.
Dependências
- PHP5: PHP 5 para processamento dos scripts
- cURL: Biblioteca de acesso web
- Perc: Biblioteca para acesso web através do PHP
- sox : Sound eXchange, aplicativo para conversão/processamento de audio
- mpg123 : MPEG Audio Player and decoder, aplicativo para conversão de MP3
- Acesso a internet para conectar a plataforma do Google e efetuar o download do audio
Instalando as dependências
[sourcecode language="shell"]apt-get install -y php-http php5-dev libcurl3 libpcre3-dev libcurl4-openssl-dev mpg123 sox
pecl install pecl_http-1.7.6
[/sourcecode]
Edite o arquivo /etc/php5/cli/php.ini adicionando a linha abaixo
[sourcecode language="shell"]extension=http.so
[/sourcecode]
Instalando o script AGI
Antes de instalar o script AGI verifique o diretório agi-bin do seu Asterisk, geralmente o padrão é /var/lib/asterisk/agi-bin/, essa informação pode ser encontrada em /etc/asterisk/asterisk.conf. Considerando que este é o diretório padrão execute os comandos abaixo:
[sourcecode language="shell"]wget /assets/2015/08/googletts.tgz
tar -xzvf googletts.tgz -C /var/lib/asterisk/agi-bin/
chmod 777 /var/lib/asterisk/agi-bin/googletts.php
[/sourcecode]
Utilização
agi(googletts.php,texto,[linguagem]): Este comando irá executar o script googletts.php que utilizar-a o Google Translate para converter texto para áudio e tocar esse áudio para o cliente. O Parâmetro linguagem é opcional, caso não definido o script utilizará a linguagem deste canal no Asterisk.
Exemplos de utilização no plano de discagem (dialplan) do Asterisk:
[sourcecode language="shell"]exten => 1234,1,Answer()
;;Toca a mensagem usando a linguagem padrão deste canal:
exten => 1234,n,agi(googletts.php,"Este é um exemplo simples.")
;;Toca a mensagem em Portugês:
exten => 1234,n,agi(googletts.php,"Este é um exemplo simples usando Google TTS em português.",pt-BR)
;;Toca a mensagem em inglês:
exten => 1234,n,agi(googletts.php,"This is a simple google text to speech test in english.",en)
[/sourcecode]