[AsteriskBrasil] Envio de mensagens de audio por telefone!

Fabiano (BiGu) bigu em grupoheringer.com.br
Sexta Novembro 16 17:49:27 BRST 2007


Guilherme escreveu:
>
> Boa tarde  a todos,
>
>  
>
> Estou com uma duvida que não estou conseguindo resolver, se por acaso 
> alguém conseguir ajudar fico muito grato.
>
> Acontece que estou querendo fazer um sistema que mande mensagens 
> gravadas para outros telefones, mas estou com dificuldades.
>
> Eu consegui fazer o seguinte , a pessoa liga e o ouve uma mensagem 
> para digitar o numero de destino, então a pessoa digita e o asterisk 
> liga.. mas o que eu queria q ao invés de fazer uma ligação normal, o 
> asterisk só liga,toca a mensagem e desliga.. sendo que a ligação de 
> quem ligou já fosse derrubada..
>
>  
>
> Alguem tem alguma idéia de como fazer isso?!
>
>  
>
> Obrigado,
>
>
> Guilherme Scaldelai
>
>  
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Compre uma camiseta da AsteriskBrasil.org!
>             http://www.voipmania.com.br
>                 == VoIPMania.com.br ==
>
> _______________________________________________
> LIsta de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
Opa, voce pode utilizar um estilo callback pra fazer isso:

faca assim:

exten => _X.,1,Set(ARQUIVO=nome_qualquer.gsm)
exten => _X.,2,Record($ARQUIVO)
exten => _X.,3,TrySystem(/usr/local/sbin/envia_audio.sh ${EXTEN} $ARQUIVO)
exten => _X.,4,Playback(mensagem_enviada)
exten => _X.,5,Hangup()


crie um shell script com o seguinte conteudo:

#!/bin/sh

CALL=$(cat <<-EOF1
Channel: SIP/canal_que_vai_efetuar_a_ligacao/$1
CallerID: Um caller ID qualquer
MaxRetries: 1
RetryTime: 10
WaitTime: 60
Application: Playback
Data: $2
EOF1)

        echo "$CALL" >> /var/spool/asterisk/outgoing/teste.call



####

EXPLICANDO:

Ele vai gravar um arquivo de audio (o cara vai falar no aparelho) e vai 
armazenar na variavel $ARQUIVO, logo depois ele vai executar o script 
envia_audio.sh que está no /usr/local/sbin (voce define como quiser) com 
os parametros ${EXTEN} (que eh o numero que o asterisk vai discar) e 
$ARQUIVO que o nome do arquivo (eh necessario definir qual o path que 
vai ficar o arquivo), depois vai dar um play numa mensagem qualquer 
informando que a ligacao sera feita por exemplo...Nesse momento o 
asterisk ja esta fazendo a ligacao automaticamente, onde no arquivo 
existe a aplicacao PlayBack enviando o audio que foi passado por 
parametro para o script...Note o $1 e $2 no script que sao 
respectivamente os parametros passados pelo dialplan, onde $1 eh o 
numero a ser discado e $2 o nome do arquivo de audio...

Bom, espero que seja isso que voce quer, se existir algo mais simples os 
gurus da lista avisem heheheh

Abracos...

Fabiano Heringer


Mais detalhes sobre a lista de discussão AsteriskBrasil