[AsteriskBrasil] RES: call back asterisk

Neulo Alves neulo em uol.com.br
Segunda Outubro 17 10:20:22 BRT 2011


Joao  pelo que entendi o   Guilherme está sugerindo uma solução já existente
no ata, quando vc liga o ramal está ocupado vc digita um código e ele
retorna,  agora se você quer utilizar um callback para chamadas externas
pode usar a solução do Ricardo Landim, mas que não está com asterisk 1.2 ou
1.4 ai  pode usar o sistema de criacao de arquivos .call.

 

Segue exemplo passo a passo:

 

Para teste você pode tirar toda essa parte de banco e identificação.

 

1-      Recebimento da chamada, (no meu caso eu so permito callback dos
números cadastrados e descarto o resto.)

[khomp-01-03]

 

;;;Atende Celular Vivo 9153XXXX

     

     exten => s,1,Set(ip_banco=127.0.0.1)

     exten => s,n,Set(usuario=asteriskuser)

     exten => s,n,Set(senha=senha) 

     exten => s,n,Set(banco=asteriskcdrdb)

     exten => s,n,NoOp(${CALLERID(name)})

     exten => s,n,Set(consulta= select\ callback\, x.telefone\  from\ agenda
a\, agendaux x\ where\ a.codigo =\ x.codage\ and\ a.callback=\ 1\ and\
x.telefone like \'%\${CALLERID(num):2}\'\)

     exten => s,n(consulta),MYSQL(Connect connid ${ip_banco} ${usuario}
${senha} ${banco})

     exten => s,n,MYSQL(Query resultid ${connid} ${consulta})

     exten => s,n,MYSQL(Fetch fetchid ${resultid} callback\ nrtelefone)

 

     exten => s,n,NoOp(Status da busca ${callback})

     exten => s,n,GotoIf($["${callback}" = "1"]?40:51)

 

     exten => s,40,NoOp(Realizando callback para ${CALLERID(num)})

     exten => s,41,system(cp /etc/callback/callback.call
/etc/callback/callback.tmp.call)

     exten => s,42,agi(identifica.php|${nrtelefone})

     exten => s,43,system(echo 'Channel: khomp/G${retorno}/${nrtelefone:2}'
>> /etc/callback/callback.tmp.call) ******  aqui você coloco o tronco de
saída)

     exten => s,44,system(echo 'CallerID: ${nrtelefone:2}
"<"${nrtelefone}">"' >> /etc/callback/callback.tmp.call) ****** idetificacao
do telefone destino

     exten => s,45,system(echo 'Extension: ${nrtelefone}' >>
/etc/callback/callback.tmp.call)  ***** telefone destino

     exten => s,46,system(mv /etc/callback/callback.tmp.call
/etc/asterisk/${nrtelefone}.call)    ***** move o arquivo para pasta
callback

     exten => s,47,System(bash /etc/asterisk/callback.sh ${nrtelefone})
***** muda data de criação e move para pasta outgoing do asterisk

     exten => s,48,MYSQL(Clear ${resultid})

     exten => s,49,MYSQL(Disconnect ${connid})

     exten => s,50,Hangup()

 

     exten => s,51,NoOp(Desligando chamada)   ***** senão esta cadastrado
rejeita.

     exten => s,52,MYSQL(Clear ${resultid})

     exten => s,53,MYSQL(Disconnect ${connid})

     ;exten => s,n,Dial(IAX2/SAP2-TRUNK/8000,90,Tt)

     exten => s,n,Hangup()

 

2-      Context Callback

 

[callback]

  exten => s,1,Answer

  exten => s,n,BackGround(OpCallBack)    ***** URA

  exten => s,n,hangup()

 

  exten => 1,1,Dial(destino 1)

  exten => 2,1,Dial(destino 2)

  exten => 3,1,Dial(destino 3)

  exten => 4,1,Dial(destino 4)

  exten => 5,1,Dial(destino 5)

  exten => 6,1,Dial(destino 6)

  exten => *,1,DISA(no-password|diretoria)    * para efetuar ligações
utilizando callback

 

 

3 – Arquivo .call utilizado no extensions.

 

Context: callback

MaxRetries: 2

RetryTime:15

WaitTime:20

Priority: 1

Account: Callback

 

4 – Arquivo callback.sh (serve para atrasar em alguns segundos a chamada do
callback, senão o asterisk retorna antes da pessoa desligar.

 

#!/bin/sh

DESTINO=$1

 

 

# Altera a Data do arquivo para faze a ligação depois de 10s.

NOW=`date +%s`

let "NOW=$NOW+10"

TOUCH_TMSP=`date -d "1970-01-01 $NOW sec GMT" +%Y%m%d%H%M.%S`

touch -t $TOUCH_TMSP /etc/asterisk/"$DESTINO".call

 

mv /etc/asterisk/"$DESTINO".call /var/spool/asterisk/outgoing/

chmod 777 /var/spool/asterisk/outgoing/"$DESTINO".call

 

#Fim do Script

 

 

 

De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de
joao em oxman.com.br
Enviada em: sexta-feira, 14 de outubro de 2011 15:32
Para: asteriskbrasil em listas.asteriskbrasil.org;
asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] call back asterisk

 

Como fazer este call bACK?

ME AJUDEM POR FAVOR

 

  _____  

De: "Ricardo Landim" <pangole em bol.com.br>
Enviado: sexta-feira, 14 de outubro de 2011 15:22
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] call back asterisk

App callback (fontes)

 Callback para Asterisk 1.2
 http://ricardo.pksolutions.com.br/asterisk/1.2/app_callback.c



 Callback para Asterisk 1.4
  <http://ricardo.pksolutions.com.br/asterisk/1.4/app_callback.c>
http://ricardo.pksolutions.com.br/asterisk/1.4/app_callback.c


 

 

Em 14 de outubro de 2011 15:02, joao em oxman.com.br <joao em oxman.com.br>
escreveu:

Ola amigos,
> 
> alguem sabe como implentar um call back no servidor asterisk
> 
> ?
> 
> ? 
_______________________________________________
KHOMP: qualidade em placas de E1, GSM, FXS e FXO para Asterisk.
- Hardware com alta disponibilidade de recursos e qualidade KHOMP
- Suporte técnico local qualificado e gratuito
Conheça a linha completa de produtos KHOMP em www.khomp.com.br
_______________________________________________
DIGIVOICE: Lider no mercado de placas para Asterisk
Único fabricante com Centro de Treinamento especializado.
LANÇAMENTO: Channel Bank TDMoE, até 64 canais FXS / FXO.
www.digivoice.com.br ou (11)3016-5200 <tel:%2811%293016-5200> .
________
GATEWAY GSM-SIP, gateway Lyric VoIP com 2,4 e 6 canais GSM vía tronco SIP
Escalável até 240 canáis, Portabilidade Numérica,  Balanceamento de Carga,
Bilhetagem
Confira em http://www.yx.cl/landing/brasil/lyric_voip_asterisk.org
Shop Voip, representante exclusivo: www.shopvoip.com.br ou 0800-6021244
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para
asteriskbrasil-unsubscribe em listas.asteriskbrasil.org

 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20111017/65dfd347/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil