Amigos, qual a necessidade de utilizar o função callback ?
Acho que posso ajudar a vocês mas preciso saber qual a idéia que você tem
sobre callback.
Abs,
André Luiz
De: asteriskbrasil-boun...@listas.asteriskbrasil.org
[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Rodrigo
Vian
Enviada em: terça-feira, 15 de setembro de 2009 11:22
Para: asteriskbrasil@listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] RES: Callback retornando rapido.
Uma sugestão...
Tenta colocar o sleep dentro do seu script AGI para ver o resultado...
Talvez vc possa ganhar um pouco no processamento...
?php
sleep(8);
$cf =
fopen(/var/spool/asterisk/outgoing/cb.$agi[callerid],w+);
fputs($cf,Channel: canal.$agi[callerid].\n);
fputs($cf,Context: contextocel\n);
fputs($cf,Extension: extensao\n);
fputs($cf,SetVar: CALLERIDNUM=.$agi[extension].\n);
fputs($cf,MaxRetries: 1\n);
fputs($cf,RetryTime: 10\n);
fclose($cf);
fclose($in);
fclose($err);
?
[callcb1]
exten = 1,1,NoOp(${CALLERID(num)})
exten = 1,n,Wait(2)
exten = 1,n,Background(vm-goodbye)
exten = 1,n,Busy
exten = 1,n,Hangup
exten = h,2,DeadAGI(callback1.agi)
Abs
Jeferson Oliveira escreveu:
Pessoal,
Gostaria de agradecer aos colegas por todas as dicas dadas para resolver
esse problema.
Estou enviando a solução final desse caso.
http://www.voip-info.org/wiki/view/Asterisk+cmd+Wait
[callcb1]
exten = 1,1,NoOp(${CALLERID(num)})
exten = 1,n,Wait(2)
exten = 1,n,Background(vm-goodbye)
exten = 1,n,Busy
exten = 1,n,Hangup
exten = h,1,System(/bin/sleep 8)
exten = h,2,DeadAGI(callback1.agi)
Uma problema que notei é que quando o sleep é iniciado, o asterisk
frita a cpu do micro em 95%, ficando fixo nesse percentual em todo o tempo
de execução do sleep.
Percebi esse problema na maquina virtual de testes e no proprio micro
que estou usando como servidor dessa aplicação, os dois com processadores
simples, Celeron M e Athlon XP 2200+ respectivamente.
Não sei como se comportaria a cpu de um servidor com processador duplo
tipo Xeon ou Opteron, ou processadores com Hyper Threading tipo Core2, AMD
64 X2 e etc.
Se alguem dispor de um hardware desses e postar o resultado do teste
ficarei grato.
Mais uma vez obrigado a todos.
Jeferson Oliveira.
_
De: asteriskbrasil-boun...@listas.asteriskbrasil.org
[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Kim
Delevati
Enviada em: segunda-feira, 14 de setembro de 2009 11:34
Para: asteriskbrasil@listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] RES: Callback retornando rapido.
É, o Waittime é o tempo que ele fica chamando.
Acho que o seu problema tá no dialplan, ele chama o AGI antes mesmo de
desligar, então quando ele desligar, já vai ter a chamada em cima mesmo.
Acho que eu faria ele desligar a ligação primeiro, esperar alguns segundos
(com o comando Wait) e depois rodar o Agi com o comando Deadagi.
2009/9/13 Jeferson Oliveira zuberi3...@yahoo.com.br
Entao Renato,
Testei o WaitTime tambem, eu acho que esse comando, (pelo que li e testei),
gerencia o tempo de ring da chamada que o asterisk realiza para o tel de
origem do callback.
Se esse comando for suprimido, o padrao é 45s. Da uma olhada nesse link
http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out.
Onde será que estou errando?
Obrigado.
Jeferson Oliveira.
_
De: asteriskbrasil-boun...@listas.asteriskbrasil.org
[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Shazaum
Enviada em: sexta-feira, 11 de setembro de 2009 15:30
Para: asteriskbrasil@listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] Callback retornando rapido.
fiz um sisteminha aqui de callback pra ver qual é...
use por exemplo WaitTime: 10 para 10 segundos
:)
abraços
2009/9/11 Kim Delevati kim.delev...@gmail.com
Acho que dá para colocar tanto no arquivo AGI quanto no dialplan um Wait(3)
por exemplo, sem grandes dificuldades.
2009/9/11 Rodrigo Vian lis...@porttaltecnologia.com.br
Como está o seu contexto do callback? e o dialplan?
Jeferson Oliveira escreveu:
Boa tarde colegas da lista.
Implementei recentemente um servidor Asterisk com uma placa gsm Khomp 4
chips e utilizando o arquivo callback.agi.
Tudo funcionando perfeito, porem a chamada de retorno esta vindo muito
rapido, mal da tempo de desligar o celular e ja retorna a chamada.
Como posso setar algum tipo de Wait N segundos para o callback ser
iniciado?
Asterisk versao 1.4.22.1
Trecho do AGI:
$cf =
fopen(/var/spool/asterisk/outgoing/cb.$agi[callerid],w+);
fputs($cf,Channel: canal.$agi[callerid].\n);
fputs($cf,Context: contextocel\n);
fputs($cf,Extension: extensao\n);
fputs($cf,SetVar: CALLERIDNUM=.$agi[extension].\n);
fputs($cf,MaxRetries: 1\n);
fputs($cf,RetryTime: 10\n);
fclose($cf);
fclose($in);
fclose($err);
?
Desde ja obrigado
Jeferson Oliveira.
_
___
Participe do IV Encontro