Opa, modifiquei para o AEL. Agora só falta ter fluxo para testar... Achei
interessante o AEL, procurei a documentação dele e só achei uma básica no
voip-info! Você sabe me dizer onde acho alguma mais completa ou algum livro
para comprar? Por que, pelo que notei, ele possui bastantes detalhes! Segue
como ficou meu contexto em AEL.
macro fila() {
Answer();
NoOp(${QUEUE_WAITING_COUNT(atendimento)});
if ( "${QUEUE_WAITING_COUNT(atendimento)}" < "30" )
{
Set(CDR(fluxo)=Entrada);
Set(MONITOR_FILENAME=${UNIQUEID});
Wait(3);
PlayBack(obrigado);
Queue(atendimento,t,,,300,);
Hangup();
}
else
{
Set(CDR(fluxo)=Transbordo);
Wait(3);
Playback(fila-cheia);
Hangup();
}
};
Obrigado,
Rodrigo Lang.
2009/11/30 Rodrigo Lang <[email protected]>
> Opa Sylvio, o meu gotoif() está certo sim... Na condição dele não é
> necessário utilizar o "=" como no caso que você mostrou e a ordem das labels
> também estão certas. Foi a primeira coisa que eu conferi, além disso ele já
> estava funcionando e parou do nada. Mas obrigado do mesmo jeito. Vou jogar
> essa macro no ael para ver se funfa. Volto a postar com os resultados.
>
>
> Obrigado,
> Rodrigo Lang.
>
> 2009/11/30 Sylvio Carlos Jollenbeck <[email protected]>
>
>> Rodrigo, olhando com carinho para seu conf, note um erro:
>>
>>
>> [macro-fila]
>> exten => s,1,Answer()
>> exten => s,2,NoOp(${QUEUE_WAITING_
>> COUNT(atendimento)})
>> exten => s,3*,GotoIf($[ "${QUEUE_WAITING_COUNT(**atendimento)}" < "30"
>> ]?4:fila-ocupada,s,1)*
>> exten => s,n,Set(CDR(fluxo)=Entrada)
>>
>> Referencia:
>> http://www.voip-info.org/wiki/view/Asterisk+cmd+GotoIf
>>
>> Description GotoIf(condition?label1[:label2])
>>
>> Go to *label1* if *condition* is true or to next step (or *label2* if
>> defined) if *condition* is false, or
>>
>>
>> Logo:
>>
>> [macro-fila]
>> exten => s,1,Answer()
>> exten => s,n,NoOp(${QUEUE_WAITING_COUNT(atendimento)});
>> exten => s,n,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" *<=* "30" ]?
>> MENOR:MAIOR);
>> exten => s,n,Set(CDR(fluxo)=Entrada);
>> exten => s,n(MENOR),Queue(atendimento|tT);
>> exten => s,n,Hangup();
>> exten => s,n(MAIOR),Goto(fila-ocupada,s,1);
>>
>> Acho que é isso ai....
>>
>>
>> abs
>>
>> Sylvio Carlos Jollenbeck Borin.
>>
>>
>>
>>
>> 2009/11/30 Sylvio Carlos Jollenbeck <[email protected]>
>>
>> Rodrigo,
>>>
>>> Voce pode trabalhar com os dois ao mesmo tempo.....
>>> exemplo:
>>>
>>> no conf:
>>>
>>> [default]
>>> exten => _XXXX,1,Goto(mandaparaoAEL,s,1)
>>>
>>> no AEL
>>>
>>> context mandaparaoAEL {
>>> s => {
>>> /* Faça algo */
>>> Hangup();
>>> }
>>> }
>>>
>>> qq coisa posta ai..... abs
>>>
>>> Sylvio Carlos Jollenbeck Borin
>>>
>>>
>>>
>>> 2009/11/29 Rodrigo Lang <[email protected]>
>>>
>>> Sylvio, estava pensando nesta opção. Só me veio uma duvida agora, é
>>>> possível utilizar o conf comum junto com o ael, com os dois trabalhando em
>>>> paralelo? Pois se não, teria muito trabalho para modificar todo meu conf
>>>> para ael...
>>>>
>>>>
>>>> Obrigado,
>>>> Rodrigo Lang.
>>>>
>>>> 2009/11/28 Sylvio Carlos Jollenbeck <[email protected]>
>>>>
>>>> Rodrigo,
>>>>>
>>>>> Tente o seguinte, mas em AEL (vamos para de usar o conf,
>>>>> morte ao conf (eheheh)):
>>>>>
>>>>> Criar uma variavel com o tamanho da sua fila:
>>>>> Set(QWC=${QUEUE_WAITING_COUNT(atendimento)});
>>>>>
>>>>> Verificar o tamanho da variavel ${QWC}:
>>>>> if ("${QWC}"<="30") {
>>>>> Noop(O TAMANHO DA FILA EH MENOR DE 30);
>>>>> /* Faca algo */
>>>>> Hangup();
>>>>> }
>>>>> else {
>>>>> Noop(O TAMANHO DA FILA EH MAIOR DE 30);
>>>>> /* Faca algo */
>>>>> Hangup();
>>>>> }
>>>>>
>>>>> Abs.
>>>>>
>>>>> Sylvio Carlos Jollenbeck Borin
>>>>>
>>>>> 2009/11/28 Rodrigo Lang <[email protected]>
>>>>>
>>>>> Boa noite Guilherme. também tentei da forma abaixo, porém não obtive
>>>>>> sucesso.
>>>>>>
>>>>>>
>>>>>> Ats,
>>>>>> Rodrigo Lang.
>>>>>>
>>>>>> 2009/11/27 Guilherme <[email protected]>
>>>>>>
>>>>>> E se vc inverter a condição?
>>>>>>>
>>>>>>> exten => s,3,GotoIf($["30" < "${QUEUE_WAITING_COUNT(atendimento)}"
>>>>>>> ]?fila-ocupada,s,1:macro-fila,s,4)
>>>>>>>
>>>>>>> ----- Original Message -----
>>>>>>> *From:* Rodrigo Lang <[email protected]>
>>>>>>> *To:* [email protected]
>>>>>>> *Sent:* Friday, November 27, 2009 2:37 PM
>>>>>>> *Subject:* Re: [AsteriskBrasil]Expressões regulares com resultado
>>>>>>> estranho em GotoIf()
>>>>>>>
>>>>>>> Imaginei que pudesse ser isso, mas o estranho é que estava
>>>>>>> funcionando certo e da noite para o dia parou de funcionar. Mas
>>>>>>> teoricamente
>>>>>>> a expressão regular fica entre os colchetes (exemplo: $[
>>>>>>> "${QUEUE_WAITING_COUNT(atendimento)}" < "30" ]) e o ponto de
>>>>>>> interrogação
>>>>>>> serve para justamente separar as labels da condição.
>>>>>>>
>>>>>>> Eu tentei mu dar já colocando assim:
>>>>>>> exten => s,3,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" < "30"
>>>>>>> ]?macro-fila,s,4:fila-ocupada,s,1)
>>>>>>>
>>>>>>> Porém continua se comportando da mesma forma.
>>>>>>>
>>>>>>>
>>>>>>> Obrigado,
>>>>>>> Rodrigo Lang
>>>>>>>
>>>>>>> 2009/11/27 Eder Souza <[email protected]>
>>>>>>>
>>>>>>>> To achando q ele ta confundindo essa linha aqui olha
>>>>>>>>
>>>>>>>> exten => s,3,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" < "30"
>>>>>>>> ]?4:fila-ocupada,s,1)
>>>>>>>>
>>>>>>>>
>>>>>>>> "?4:fila-ocupada,s,1)"
>>>>>>>> essa prioridade "4" ele deve estar entendendo que é para comparar
>>>>>>>> com ela e nao com o 30 !!!
>>>>>>>>
>>>>>>>> Eng Eder de Souza
>>>>>>>>
>>>>>>>> 2009/11/26 Rodrigo Lang <[email protected]>
>>>>>>>>
>>>>>>>>> Bom dia pessoal, estou com um servidor que está com um problema
>>>>>>>>> no GotoIf(). O que acontece é que eu pego o valor que de
>>>>>>>>> ${QUEUE_WAITING_COUNT(atendimento)} e vejo se ele é menor que trinta.
>>>>>>>>> Até ai
>>>>>>>>> tudo bem, porém o Asterisk quando este valor chega em quatro ele
>>>>>>>>> simplesmente diz que 4 é maior que 30 e encaminha as ligações para o
>>>>>>>>> lugar
>>>>>>>>> errado. Alguém já passou por isso ou algo parecido? Eu imaginei que
>>>>>>>>> era erro
>>>>>>>>> de sintaxe da expressão regular, porém tenho certeza que não é, pois
>>>>>>>>> estava
>>>>>>>>> funcionando até um tempo atrás. Segue abaixo o contexto, uma ligação
>>>>>>>>> que
>>>>>>>>> funcionou normal e outra que funcionou errado.
>>>>>>>>>
>>>>>>>>> [macro-fila]
>>>>>>>>> exten => s,1,Answer()
>>>>>>>>> exten => s,2,NoOp(${QUEUE_WAITING_COUNT(atendimento)})
>>>>>>>>> exten => s,3,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" < "30"
>>>>>>>>> ]?4:fila-ocupada,s,1)
>>>>>>>>> exten => s,n,Set(CDR(fluxo)=Entrada)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Funcionando certo (com três chamadores em espera na fila):
>>>>>>>>>
>>>>>>>>> -- Executing [...@macro-fila:1] Answer("Khomp/B0C31-1", "") in
>>>>>>>>> new stack
>>>>>>>>> -- Executing [...@macro-fila:2] NoOp("Khomp/B0C31-1", "3") in
>>>>>>>>> new stack
>>>>>>>>> -- Executing [...@macro-fila:3] GotoIf("Khomp/B0C31-1",
>>>>>>>>> "1?4:fila-ocupada,s,1") in new stack
>>>>>>>>> -- Goto (macro-fila,s,4)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Funcionando errado (com quatro chamadores em espera na fila):
>>>>>>>>>
>>>>>>>>> -- Executing [...@macro-fila:1] Answer("Khomp/B0C1-1", "") in
>>>>>>>>> new stack
>>>>>>>>> -- Executing [...@macro-fila:2] NoOp("Khomp/B0C1-1", "4") in new
>>>>>>>>> stack
>>>>>>>>> -- Executing [...@macro-fila:3] GotoIf("Khomp/B0C1-1",
>>>>>>>>> "0?4:fila-ocupada,s,1") in new stack
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Agradeço desde já,
>>>>>>>>> --
>>>>>>>>> Rodrigo F. Lang
>>>>>>>>> Amd. de Redes em Telecom
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>>>>>>>>> - Valor similar ao de placas E1 PCI;
>>>>>>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>>>>>>> - Possibilitam a construção de soluções de alta
>>>>>>>>> disponibilidade(dois
>>>>>>>>> servidores compartilham o mesmo E1)
>>>>>>>>> Conheça mais sobre este produto em www.red-fone.com
>>>>>>>>> _______________________________________________
>>>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>>>> [email protected]
>>>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>>>>>>>> - Valor similar ao de placas E1 PCI;
>>>>>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>>>>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>>>>>>> servidores compartilham o mesmo E1)
>>>>>>>> Conheça mais sobre este produto em www.red-fone.com
>>>>>>>> _______________________________________________
>>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>>> [email protected]
>>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Rodrigo F. Lang
>>>>>>> Amd. de Redes em Telecom
>>>>>>>
>>>>>>> ------------------------------
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>>>>>>> - Valor similar ao de placas E1 PCI;
>>>>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>>>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>>>>>>
>>>>>>> servidores compartilham o mesmo E1)
>>>>>>> Conheça mais sobre este produto em www.red-fone.com
>>>>>>> _______________________________________________
>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>> [email protected]
>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>>>>>>> - Valor similar ao de placas E1 PCI;
>>>>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>>>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>>>>>> servidores compartilham o mesmo E1)
>>>>>>> Conheça mais sobre este produto em www.red-fone.com
>>>>>>> _______________________________________________
>>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>>> [email protected]
>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Rodrigo F. Lang
>>>>>> Amd. de Redes em Telecom
>>>>>> http://langtechnologies.blogspot.com/
>>>>>>
>>>>>> _______________________________________________
>>>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>>>>>> - Valor similar ao de placas E1 PCI;
>>>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>>>>> servidores compartilham o mesmo E1)
>>>>>> Conheça mais sobre este produto em www.red-fone.com
>>>>>> _______________________________________________
>>>>>> Lista de discussões AsteriskBrasil.org
>>>>>> [email protected]
>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Sylvio Carlos Jollenbeck Borin
>>>>>
>>>>> _______________________________________________
>>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>>>>> - Valor similar ao de placas E1 PCI;
>>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>>>> servidores compartilham o mesmo E1)
>>>>> Conheça mais sobre este produto em www.red-fone.com
>>>>> _______________________________________________
>>>>> Lista de discussões AsteriskBrasil.org
>>>>> [email protected]
>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Rodrigo F. Lang
>>>> Amd. de Redes em Telecom
>>>> http://langtechnologies.blogspot.com/
>>>>
>>>> _______________________________________________
>>>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>>>> - Valor similar ao de placas E1 PCI;
>>>> - Não há problemas de compatibilidade com barramento PCI;
>>>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>>>> servidores compartilham o mesmo E1)
>>>> Conheça mais sobre este produto em www.red-fone.com
>>>> _______________________________________________
>>>> Lista de discussões AsteriskBrasil.org
>>>> [email protected]
>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>
>>>
>>>
>>>
>>> --
>>> Sylvio Carlos Jollenbeck Borin
>>>
>>
>>
>>
>> --
>> Sylvio Carlos Jollenbeck Borin
>>
>> _______________________________________________
>> A Redfone é líder no fornecimento de bridges TDMoE <-> E1
>> - Valor similar ao de placas E1 PCI;
>> - Não há problemas de compatibilidade com barramento PCI;
>> - Possibilitam a construção de soluções de alta disponibilidade(dois
>> servidores compartilham o mesmo E1)
>> Conheça mais sobre este produto em www.red-fone.com
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> [email protected]
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
>
> --
> Rodrigo F. Lang
> Amd. de Redes em Telecom
>
--
Rodrigo F. Lang
Amd. de Redes em Telecom
_______________________________________________
A Redfone é líder no fornecimento de bridges TDMoE <-> E1
- Valor similar ao de placas E1 PCI;
- Não há problemas de compatibilidade com barramento PCI;
- Possibilitam a construção de soluções de alta disponibilidade(dois
servidores compartilham o mesmo E1)
Conheça mais sobre este produto em www.red-fone.com
_______________________________________________
Lista de discussões AsteriskBrasil.org
[email protected]
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil