[AsteriskBrasil] RES: Callback

Neulo Alves neulo em uol.com.br
Sábado Janeiro 22 10:11:09 BRST 2011


Rubem, o que eu uso  acho que serve pra voce, o colaborador liga, a central
identifica o numero, recusa a ligação,  retorna a ligação e cai na URA, no
seu caso a pode usar o contexto a partir da linha 40 pios a parte de
identificação do numero não é importante para você.

 

O Ricardo Landim criou uma aplicação para isso, é bem simples de usar mas
depende da versão Asterisk, até 1.4.22 eu consegui compilar.

fonte do código..

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

 

Outra opção seria criar um arquivo .call, essa solução no extensions.conf
usando BD para controlar os números fica assim:

 

[khomp-01-03]

 

;;;Atende Celular Vivo 

     exten => s,1,Answer()     

     exten => s,n,Wait(2)

     exten => s,n,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\ from\ agenda a\, agendaux
x\ where\ a.codigo =\ x.codage\ and\ a.callback=\ 1\ and\ x.telefone =\
${CALLERID(num)}\)

     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)

 

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

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

 

     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,system(echo 'Channel: khomp/B1C2-3/${CALLERID(num)}' >>
/etc/callback/callback.tmp.call)

     exten => s,43,system(echo 'CallerID: BORD-${CALLERID(num):3}
"<"${CALLERID(num)}">"' >> /etc/callback/callback.tmp.call)

     exten => s,44,system(echo 'Extension: ${CALLERID(num)}' >>
/etc/callback/callback.tmp.call)

     exten => s,45,system(mv /etc/callback/callback.tmp.call
/var/spool/asterisk/outgoing)

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

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

     exten => s,48,Hangup()

 

     exten => s,50,NoOp(Desligando chamada)

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

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

     exten => s,53,Hangup()

 

[callback]

  exten => _043.,1,Answer

  exten => _043.,n,BackGround(OpCallBack)

  exten => _043.,n,waitExten(5)

  exten => _043.,n,BackGround(OpCallBack)

  exten => _043.,n,waitExten(5)

  exten => _043.,n,BackGround(OpCallBack)

  exten => _043.,n,hangup()

  

  exten => 1,1,Dial(IAX2/QTG-TRUNK/1000,90,tT)

  exten => 2,1,Dial(IAX2/QTG-TRUNK/2000,90,tT)

  exten => 3,1,Dial(IAX2/SAP2-TRUNK/3000,90,tT)

 

  exten => 4,1,Dial(IAX2/QTG-TRUNK/18041,90,tT)

  exten => 4,2,Dial(IAX2/QTG-TRUNK/18040,90,tT)

  exten => 4,3,hangup()

 

  exten => 5,1,Dial(IAX2/QTG-TRUNK/7001,90,tT)  

  exten => 6,1,Dial(IAX2/QTG-TRUNK/6000,90,tT)

  exten => 7,1,Dial(IAX2/QTG-TRUNK/7000,90,tT)

  exten => 8,1,DISA(no-password|diretoria)

  exten => 9,1,goto(callback,0439,1)

 

 tenho um arquivo padrão .call e adiciono somente o que está faltando pra
completar a chamada. Segue estrutura do arquivo padrão:

 

Context: callback

MaxRetries: 2

RetryTime:15

WaitTime:20

Priority: 1

Account: Callback

 

Depois de alterado:

 

Channel: Khomp/B1C3/91212121

Context: callback

CallerID: Neulo<4391212121>

Extension: s

MaxRetries: 1

RetryTime: 30

WaitTime:30

Priority: 1

 

Ai é mover para /var/spool/asterisk/outgoing/callback.call, mais isso o
extension já faz.

 

 

http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out pesquisa
esse artigo.

 

 

 

Neulo Alves

 

 

De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de
Plastsul Asses.e Repr. Ltda
Enviada em: sexta-feira, 21 de janeiro de 2011 18:59
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] Callback
Prioridade: Alta

 

Estamos precisando que todas as chamadas recebidas em um
0800 fizesse um callback, ou seja, o Asterisk recebe a ligação,
captura a origem e destino, conclui a chamada e refaz a ligação entre
a origem e destino por outra rota, Voip ou Pstn, conforme menor custo.
Tentei algumas coisas mas não deu certo, incluindo um script para
gerar esta ligação. Alguém já fez algo parecido com isso?

 

 

Atenciosamente

 

Rubem Junior
Plastsull Assessoria e Representações Ltda

Fone: +55 0 xx 77 3083-2219
Celular: +55 0 xx 77 9968 4670
Celular: +55 0 xx 77 8815 4670
e-mail: plastsul em uol.com.br

Hipervoip : 10

 

 
<http://200.155.21.162/programas/webcallback/wcbnosite.php?web_origem=rubem1
0> http://www.hiperphone.com.br/images/clique_aqui_para_falar_comigo.gif

 



__________ Information from ESET NOD32 Antivirus, version of virus signature
database 5572 (20101028) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20110122/b9387d05/attachment-0001.htm 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : não disponível
Tipo  : image/gif
Tam   : 3199 bytes
Descr.: não disponível
Url   : http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20110122/b9387d05/attachment-0001.gif 


Mais detalhes sobre a lista de discussão AsteriskBrasil