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

Sylvio Carlos Jollenbeck sylvio.sdr em gmail.com
Sábado Novembro 28 23:46:33 BRST 2009


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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091128/4440ce99/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil