[AsteriskBrasil] Expressões regulares com resultado estranho em GotoIf()

Rodrigo Lang rodrigoferreiralang em gmail.com
Segunda Novembro 30 08:37:33 BRST 2009


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 <sylvio.sdr em gmail.com>

> 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 <sylvio.sdr em gmail.com>
>
> 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 <rodrigoferreiralang em gmail.com>
>>
>> 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 <sylvio.sdr em gmail.com>
>>>
>>> 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 <rodrigoferreiralang em gmail.com>
>>>>
>>>> Boa noite Guilherme. também tentei da forma abaixo, porém não obtive
>>>>> sucesso.
>>>>>
>>>>>
>>>>> Ats,
>>>>> Rodrigo Lang.
>>>>>
>>>>> 2009/11/27 Guilherme <guilherme em avoicedata.com.br>
>>>>>
>>>>>  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 <rodrigoferreiralang em gmail.com>
>>>>>> *To:* asteriskbrasil em listas.asteriskbrasil.org
>>>>>> *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 <eder.souza em bsd.com.br>
>>>>>>
>>>>>>> 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 <rodrigoferreiralang em gmail.com>
>>>>>>>
>>>>>>>>  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 [s em macro-fila:1] Answer("Khomp/B0C31-1", "") in
>>>>>>>> new stack
>>>>>>>>     -- Executing [s em macro-fila:2] NoOp("Khomp/B0C31-1", "3") in new
>>>>>>>> stack
>>>>>>>>         -- Executing [s em 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 [s em macro-fila:1] Answer("Khomp/B0C1-1", "") in new
>>>>>>>> stack
>>>>>>>>     -- Executing [s em macro-fila:2] NoOp("Khomp/B0C1-1", "4") in new
>>>>>>>> stack
>>>>>>>>     -- Executing [s em 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 &lt;-> 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
>>>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> 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
>>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Rodrigo F. Lang
>>>>>> Amd. de Redes em Telecom
>>>>>>
>>>>>> ------------------------------
>>>>>>
>>>>>> _______________________________________________
>>>>>> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> 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
>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> 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
>>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>>> 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 &lt;-> 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
>>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sylvio Carlos Jollenbeck Borin
>>>>
>>>> _______________________________________________
>>>> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> 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
>>>> AsteriskBrasil em listas.asteriskbrasil.org
>>>> 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 &lt;-> 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
>>> AsteriskBrasil em listas.asteriskbrasil.org
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>
>>
>>
>>
>> --
>> Sylvio Carlos Jollenbeck Borin
>>
>
>
>
> --
> Sylvio Carlos Jollenbeck Borin
>
> _______________________________________________
> A Redfone é líder no fornecimento de bridges TDMoE &lt;-> 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
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>



-- 
Rodrigo F. Lang
Amd. de Redes em Telecom
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091130/49cac878/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil