[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