[AsteriskBrasil] Ações simultâneas no asterisk

Luan Freitas luan.lrf em gmail.com
Quinta Fevereiro 9 10:24:57 BRST 2017


Bom dia Gian, obrigado pela resposta.

Já havia testado com AGI, fiz o contexto e as AGIs da seguinte forma:

Contexto :

context anlz01 {
_X. => {
NoOp( Entrada de ligação no contexto anlz01);
NoOp( Disparando fluxos paralelos no contexto anlz01);
AGI(anlz02.php);
AGI(anlz03.php);
NoOp( Finalizando contexto anlz01);
}
}

AGI anlz02.php :

#!/usr/bin/php -q
<?php
require_once('phpagi.php');

$agi = new AGI();

$agi->exec('NoOp',"Entrada de ligacao no contexto anlz02");
$agi->exec('Playback',"gravacoes/21971192789-20170103-143043-P1C55-E1,
noanswer");
$agi->exec('NoOp',"Saida de ligacao do contexto anlz02");

exit();

?>

AGI anlz03.php :

#!/usr/bin/php -q
<?php
require_once('phpagi.php');

$agi = new AGI();

$agi->exec('NoOp',"Entrada de ligacao no contexto anlz03");
$agi->exec('NoOp',"Aguardado 3s em anlz03");
$agi->exec('Wait',"3");
$agi->exec('NoOp',"Enviando o progress em anlz03");
$agi->exec('Progress',"");
$agi->exec('NoOp',"Aguardando 5s em anlz03");
$agi->exec('Wait',"5");
$agi->exec('NoOp',"Solicitando desligamento em anlz03");
$agi->exec('Hangup',"");
$agi->exec('NoOp',"Saida de ligacao do contexto anlz03");

exit();


?>


o resultado é que quando faço a ligação para o contexto anlzer01 ele chama
a AGI anlz02.php e executa o playback que mandei, mas só executa a
AGI anlz03.php quando o playback é finalizado e não simultaneamente.


Em 8 de fevereiro de 2017 13:59, Gian Nicodemus <giannicodemus em gmail.com>
escreveu:

> Você pode criar 3 scripts para executar cada necessidade no Asterisk de
> modo separado!
>
> Apos isto você utiliza um AGI para chamar estes 3 scripts em bg
>
> Técnicamente eles executam praticamente juntos (sem ser sequencial).
>
> Abs
>
> *Gian Silva | **Consultor de Novos Negócios*
> *gian em evence.com.br <gian em evence.com.br>*
> (11) 9 8979-1849
>
>
>
> *Terminação VoIP | Pabx Virtual | Callcenter | **Fábrica de Software*
> *Soluções para Operadoras VoIP e Provedores de Internet*
> *Matriz - São Paulo: (11) 2908-0106 <(11)%202908-0106>*
> *Filial - Goiania: (62) 3142-0449 <(62)%203142-0449>*
> *www.evence.com.br <http://www.evence.com.br>*
>
> 2017-02-07 11:20 GMT-02:00 Wagner Mazuchi <wagner em sincronismotelecom.com>:
>
>> Olá Luan,
>>
>> Pode dar um exemplo mais real do que pretende fazer?
>> Existem varias formas de disparar contextos simultâneos em Dial  ou Queue:
>>
>> *F(context^exten^pri)*: When the caller hangs up, transfer the called
>> party to the specified context and extension and continue execution.
>> *G(context^exten^pri)*: If the call is answered, transfer both parties
>> to the specified context and extension. The calling party is transferred to
>> priority x, and the called party to priority x+1. This allows the dialplan
>> to distinguish between the calling and called legs of the call (new in
>> v1.2). You cannot use any options that would affect the post-answer state
>> if this option is used.
>> *M(**x**)*: Executes the macro (x) upon connect of the call (i.e. when
>> the called party answers). See also *U*. IMPORTANT - The CDR 'billsecs'
>> field is set to zero if the callee answers the call, but hangs up whilst
>> the macro is still running (if the callee answers and the macro finishes,
>> 'billsecs' contains the correct value). The macro can set
>> *${MACRO_RESULT}* to the following:
>>
>>    - *ABORT*: Hang up both legs
>>    - *CONGESTION*: Signal congestion to the caller
>>    - *BUSY*: Signal busy to the caller
>>    - *CONTINUE*: Hangup the called party but continue execution at the
>>    next priority in the dialplan for the caller
>>    - *GOTO*: Transfer the execution to *context^exten^pri*
>>
>>
>> Por exemplo:
>>
>> Dial(DAHDI/g1/${EXTEN},60,tTwWF(pesquisa^A${NUMERO}^Inicio));
>>
>>
>>
>>
>>
>>
>> Em 6 de fevereiro de 2017 15:11, Luan Freitas <luan.lrf em gmail.com>
>> escreveu:
>>
>>> Olá pessoal,
>>>
>>>
>>>
>>>         Gostaria de ajuda para configurar meu plano de discagem para
>>> executar mais de uma aplicação ao mesmo tempo. No exemplo abaixo criei 3
>>> contextos, onde a ligação efetuada pelo contexto anlz01 realiza uma
>>> discagem para o contexto anlz02 e faz uma subrotina para o contexto anlz03.
>>>
>>>
>>>
>>>         A minha necessidade é que enquanto o playback está sendo
>>> executado as outras aplicações do contexto anlz03 também sejam executadas.
>>> Como eu poderia alcançar este objetivo?
>>>
>>>
>>>
>>> Segue o contexto de exemplo:
>>>
>>>
>>>
>>> context anlz01 {
>>>
>>>         _X. => {
>>>
>>>                 Dial(local/200 em anlz03,30,CU(anlz02,s,1));
>>>
>>>         }
>>>
>>> }
>>>
>>>
>>>
>>> context anlz02 {
>>>
>>>         200 => {
>>>
>>>                 Playback(gravacoes/21971192789 <(21)%2097119-2789>-20170103-143043-P1C55-E1,
>>> noanswer);
>>>
>>>         }
>>>
>>> }
>>>
>>>
>>>
>>> context anlz03 {
>>>
>>>         s => {
>>>
>>>                 Wait(3);
>>>
>>>                 Progress();
>>>
>>>                 Wait(5);
>>>
>>>                 Hangup();
>>>
>>>         }
>>>
>>> }
>>>
>>> _______________________________________________
>>> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1
>>> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7
>>> Intercomunicador e acesso remoto via rede IP e telefones IP
>>> Conheça todo o portfólio em www.Khomp.com
>>> _______________________________________________
>>> Para remover seu email desta lista, basta enviar um email em branco para
>>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>>>
>>
>>
>> _______________________________________________
>> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1
>> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7
>> Intercomunicador e acesso remoto via rede IP e telefones IP
>> Conheça todo o portfólio em www.Khomp.com
>> _______________________________________________
>> Para remover seu email desta lista, basta enviar um email em branco para
>> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>>
>
>
> _______________________________________________
> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1
> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7
> Intercomunicador e acesso remoto via rede IP e telefones IP
> Conheça todo o portfólio em www.Khomp.com
> _______________________________________________
> 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://asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20170209/a467eba0/attachment-0001.html>


Mais detalhes sobre a lista de discussão AsteriskBrasil