[AsteriskBrasil] RES: Callback retornando rapido.

Jeferson Oliveira zuberi3000 em yahoo.com.br
Terça Setembro 15 10:53:36 BRT 2009


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-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Kim
Delevati
Enviada em: segunda-feira, 14 de setembro de 2009 11:34
Para: asteriskbrasil em 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 <zuberi3000 em 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-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Shazaum
Enviada em: sexta-feira, 11 de setembro de 2009 15:30 

Para: asteriskbrasil em 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.delevati em 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 <listas em 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.

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


Mais detalhes sobre a lista de discussão AsteriskBrasil