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.<br>
<br>macro fila() {<br> Answer();<br> NoOp(${QUEUE_WAITING_COUNT(atendimento)});<br> if ( "${QUEUE_WAITING_COUNT(atendimento)}" < "30" )<br> {<br> Set(CDR(fluxo)=Entrada);<br>
Set(MONITOR_FILENAME=${UNIQUEID});<br> Wait(3);<br> PlayBack(obrigado);<br> Queue(atendimento,t,,,300,);<br> Hangup();<br> }<br> else<br>
{<br> Set(CDR(fluxo)=Transbordo);<br> Wait(3);<br> Playback(fila-cheia);<br> Hangup();<br> }<br>};<br><br><br><br>Obrigado,<br>Rodrigo Lang.<br><br>
<br><div class="gmail_quote">2009/11/30 Rodrigo Lang <span dir="ltr"><<a href="mailto:rodrigoferreiralang@gmail.com">rodrigoferreiralang@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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.<br>
<br><br>Obrigado,<br><font color="#888888">Rodrigo Lang.<br></font><div><div></div><div class="h5"><br><div class="gmail_quote">2009/11/30 Sylvio Carlos Jollenbeck <span dir="ltr"><<a href="mailto:sylvio.sdr@gmail.com" target="_blank">sylvio.sdr@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Rodrigo, olhando com carinho para seu conf, note um erro:<div><br><br>[macro-fila]<br>exten => s,1,Answer()<br>exten => s,2,NoOp(${QUEUE_WAITING_</div><div><div>COUNT(atendimento)})<br>exten => s,3<u style="color: rgb(255, 0, 0);"><i><b>,GotoIf($[ "${QUEUE_WAITING_COUNT(</b></i></u><u style="color: rgb(255, 0, 0);"><i><b>atendimento)}" < "30" ]?4:fila-ocupada,s,1)</b></i></u><br>
exten => s,n,Set(CDR(fluxo)=Entrada)<br><br></div>Referencia:<br><a href="http://www.voip-info.org/wiki/view/Asterisk+cmd+GotoIf" target="_blank">http://www.voip-info.org/wiki/view/Asterisk+cmd+GotoIf</a><br></div><br>
<h1>Description
</h1><span style="font-family: monospace;"> <span style="color: rgb(255, 0, 0);"> GotoIf(condition?label1[:label2])
</span></span><br>
<br>Go to <i style="color: rgb(255, 0, 0);">label1</i><span style="color: rgb(255, 0, 0);"> </span>if <i style="color: rgb(255, 0, 0);">condition</i><span style="color: rgb(255, 0, 0);"> </span>is <span style="color: rgb(255, 0, 0);">true </span>or to next step (or <i style="color: rgb(51, 102, 255);">label2</i><span style="color: rgb(51, 102, 255);"> </span>if defined) if <i style="color: rgb(51, 102, 255);">condition</i> is <span style="color: rgb(51, 102, 255);">false</span>, or
<br>
<span style="font-family: monospace;"></span><br><br>Logo:<div><br>[macro-fila]<br>
exten => s,1,Answer()<br></div>
exten => s,n,NoOp(${QUEUE_WAITING_COUNT(atendimento)});<br><div>exten => s,n<span style="color: rgb(0, 0, 0);">,GotoIf($[ "${QUEUE_WAITING_COUNT(</span><span style="color: rgb(0, 0, 0);">atendimento)}" <b style="color: rgb(255, 0, 0);"><=</b> "30" ]?<span style="color: rgb(255, 0, 0);">MENOR</span>:<span style="color: rgb(255, 0, 0);">MAIOR</span>);</span><br>
exten => s,n,Set(CDR(fluxo)=Entrada);<br>exten => s,n(MENOR),Queue(atendimento|tT);<br>exten => s,n,Hangup();<br>exten => s,n(MAIOR),Goto(fila-ocupada,s,1);<br><br>Acho que é isso ai....<div><br><br>
abs<br><br>Sylvio Carlos Jollenbeck Borin.<br>
</div></div><br><br><br><br><div class="gmail_quote">2009/11/30 Sylvio Carlos Jollenbeck <span dir="ltr"><<a href="mailto:sylvio.sdr@gmail.com" target="_blank">sylvio.sdr@gmail.com</a>></span><div><div></div><div>
<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Rodrigo,<br><br> Voce pode trabalhar com os dois ao mesmo tempo.....<br>exemplo:<br><br>no conf:<br><br>[default]<br>exten => _XXXX,1,Goto(mandaparaoAEL,s,1)<br><br>no AEL<br><br>context mandaparaoAEL {<br> s => {<br>
/* Faça algo */<br> Hangup();<br> }<br>}<br><br>qq coisa posta ai..... abs<br><br>Sylvio Carlos Jollenbeck Borin<br><br><br><br><div class="gmail_quote">
2009/11/29 Rodrigo Lang <span dir="ltr"><<a href="mailto:rodrigoferreiralang@gmail.com" target="_blank">rodrigoferreiralang@gmail.com</a>></span><div><div></div><div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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...<br>
<br><br>Obrigado,<br>Rodrigo Lang.<br><br><div class="gmail_quote">2009/11/28 Sylvio Carlos Jollenbeck <span dir="ltr"><<a href="mailto:sylvio.sdr@gmail.com" target="_blank">sylvio.sdr@gmail.com</a>></span><div><div>
</div><div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Rodrigo,<br><br> Tente o seguinte, mas em AEL (vamos para de usar o conf, morte ao conf (eheheh)):<br><br> Criar uma variavel com o tamanho da sua fila:<br> Set(QWC=${QUEUE_WAITING_COUNT(atendimento)});<br>
<br> Verificar o tamanho da variavel ${QWC}:<br> if ("${QWC}"<="30") {<br> Noop(O TAMANHO DA FILA EH MENOR DE 30);<br> /* Faca algo */<br>
Hangup();<br> }<br> else {<br> Noop(O TAMANHO DA FILA EH MAIOR DE 30);<br> /* Faca algo */<br> Hangup();<br>
} <br><br>Abs.<br><br>Sylvio Carlos Jollenbeck Borin<br><br><div class="gmail_quote">2009/11/28 Rodrigo Lang <span dir="ltr"><<a href="mailto:rodrigoferreiralang@gmail.com" target="_blank">rodrigoferreiralang@gmail.com</a>></span><div>
<div></div><div><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Boa noite Guilherme. também tentei da forma abaixo, porém não obtive sucesso.<br><br><br>Ats,<br>
Rodrigo Lang.<br><br><div class="gmail_quote">2009/11/27 Guilherme <span dir="ltr"><<a href="mailto:guilherme@avoicedata.com.br" target="_blank">guilherme@avoicedata.com.br</a>></span><div><div></div><div>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div bgcolor="#ffffff">
<div><font size="2" face="Arial">E se vc inverter a condição?</font></div>
<div><font size="2" face="Arial"></font> </div>
<div>exten => s,3,GotoIf($["30" <
"${QUEUE_WAITING_COUNT(atendimento)}" ]?fila-ocupada,s,1:macro-fila,s,4)</div>
<blockquote style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;"><div><div></div><div>
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">----- Original Message ----- </div>
<div style="background: rgb(228, 228, 228) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">
<b>From:</b>
<a title="rodrigoferreiralang@gmail.com" href="mailto:rodrigoferreiralang@gmail.com" target="_blank">Rodrigo Lang</a> </div>
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>To:</b> <a title="asteriskbrasil@listas.asteriskbrasil.org" href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a>
</div>
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Sent:</b> Friday, November 27, 2009 2:37
PM</div>
<div style="font-family: arial; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"><b>Subject:</b> Re: [AsteriskBrasil]Expressões
regulares com resultado estranho em GotoIf()</div>
<div><br></div>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.<br><br>Eu tentei mu dar
já colocando assim:<br>exten => s,3,GotoIf($[
"${QUEUE_WAITING_COUNT(atendimento)}" < "30"
]?macro-fila,s,4:fila-ocupada,s,1)<br><br>Porém continua se comportando da
mesma forma.<br><br><br>Obrigado,<br>Rodrigo Lang<br><br>
<div class="gmail_quote">2009/11/27 Eder Souza <span dir="ltr"><<a href="mailto:eder.souza@bsd.com.br" target="_blank">eder.souza@bsd.com.br</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>To achando q ele ta confundindo essa linha aqui olha</div>
<div>
<div> </div>
<div>exten => s,3,GotoIf($[ "${QUEUE_WAITING_COUNT(atendimento)}" <
"30" ]?4:fila-ocupada,s,1)</div>
<div> </div>
<div><br>"?4:fila-ocupada,s,1)"<br></div></div>
<div>essa prioridade "4" ele deve estar entendendo que é para comparar com
ela e nao com o 30 !!!</div>
<div> </div>
<div>Eng Eder de Souza</div>
<div> </div>
<div class="gmail_quote">2009/11/26 Rodrigo Lang <span dir="ltr"><<a href="mailto:rodrigoferreiralang@gmail.com" target="_blank">rodrigoferreiralang@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
<div>
<div></div>
<div>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><font color="#888888">--
<br>Rodrigo F. Lang<br>Amd. de Redes em Telecom<br></font><br></div></div>
<div>_______________________________________________<br>A Redfone
é líder no fornecimento de bridges TDMoE &lt;-> E1<br>- Valor
similar ao de placas E1 PCI;<br>- Não há problemas de compatibilidade com
barramento PCI;<br>- Possibilitam a construção de soluções de alta
disponibilidade(dois<br>servidores compartilham o mesmo E1)<br>Conheça
mais sobre este produto em <a href="http://www.red-fone.com/" target="_blank">www.red-fone.com</a><br>_______________________________________________<br>Lista
de discussões AsteriskBrasil.org<br><a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br>
</div></blockquote></div><br><br>_______________________________________________<br>A
Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>- Valor
similar ao de placas E1 PCI;<br>- Não há problemas de compatibilidade com
barramento PCI;<br>- Possibilitam a construção de soluções de alta
disponibilidade(dois<br>servidores compartilham o mesmo E1)<br>Conheça mais
sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>_______________________________________________<br>Lista
de discussões AsteriskBrasil.org<br><a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Rodrigo F. Lang<br>Amd. de Redes em Telecom<br>
</div></div><p>
</p><hr><div>
<p></p>_______________________________________________<br>A Redfone é líder no
fornecimento de bridges TDMoE &lt;-> E1<br>- Valor similar ao de placas
E1 PCI;<br>- Não há problemas de compatibilidade com barramento PCI;<br>-
Possibilitam a construção de soluções de alta disponibilidade(dois
<br>servidores compartilham o mesmo E1)<br>Conheça mais sobre este produto em
<a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>_______________________________________________<br>Lista
de discussões
AsteriskBrasil.org<br><a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a></div>
</blockquote></div>
<br>_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois<br>
servidores compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div></div></div><div><div></div><div>
<br><br clear="all"><br>-- <br>Rodrigo F. Lang<br>
Amd. de Redes em Telecom<br></div></div><a href="http://langtechnologies.blogspot.com/" target="_blank">http://langtechnologies.blogspot.com/</a><br>
<br>_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois<br>
servidores compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div></div></div><font color="#888888"><br>
<br clear="all"><br>-- <br>Sylvio Carlos Jollenbeck Borin<br>
</font><br>_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois<br>
servidores compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div></div></div><div><div></div><div>
<br><br clear="all"><br>-- <br>Rodrigo F. Lang<br>
Amd. de Redes em Telecom<br><a href="http://langtechnologies.blogspot.com/" target="_blank">http://langtechnologies.blogspot.com/</a><br>
</div></div><br>_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois<br>
servidores compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div></div></div><font color="#888888"><br>
<br clear="all"><br>-- <br>Sylvio Carlos Jollenbeck Borin<br>
</font></blockquote></div></div></div><font color="#888888"><br><br clear="all"><br>-- <br>Sylvio Carlos Jollenbeck Borin<br>
</font><br>_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois<br>
servidores compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <a href="http://www.red-fone.com" target="_blank">www.red-fone.com</a><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a href="mailto:AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br></blockquote></div><br><br clear="all"><br>-- <br>Rodrigo F. Lang<br>
Amd. de Redes em Telecom<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Rodrigo F. Lang<br>Amd. de Redes em Telecom<br>