[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