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.<br>
<br clear="all">[macro-fila]<br>exten => s,1,Answer()<br>exten => s,2,NoOp(${QUEUE_WAITING_COUNT(atendimento)})<br>exten => s,3,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" < "30" ]?4:fila-ocupada,s,1)<br>
exten => s,n,Set(CDR(fluxo)=Entrada)<br><br><br>Funcionando certo (com três chamadores em espera na fila):<br><br> -- Executing [s@macro-fila:1] Answer("Khomp/B0C31-1", "") in new stack<br> -- Executing [s@macro-fila:2] NoOp("Khomp/B0C31-1", "3") in new stack<br>
-- Executing [s@macro-fila:3] GotoIf("Khomp/B0C31-1", "1?4:fila-ocupada,s,1") in new stack<br> -- Goto (macro-fila,s,4)<br><br><br>Funcionando errado (com quatro chamadores em espera na fila):<br>
<br> -- Executing [s@macro-fila:1] Answer("Khomp/B0C1-1", "") in new stack<br>
-- Executing [s@macro-fila:2] NoOp("Khomp/B0C1-1", "4") in new stack<br>
-- Executing [s@macro-fila:3] GotoIf("Khomp/B0C1-1", "0?4:fila-ocupada,s,1") in new stack<br><br><br><br>Agradeço desde já,<br>-- <br>Rodrigo F. Lang<br>Amd. de Redes em Telecom<br>