[AsteriskBrasil] Prioridades em Fila

Guilherme Rezende asterisk em guilherme.eti.br
Quinta Fevereiro 6 23:39:03 BRST 2014


Pessoal, vejam o caso e se é possível:

Tenho um call-center c/ 3 queues(BV_ABERTURAS, BV_CONSULTE, BV_SI) onde 
as ligações são encaminhadas p/ uma das 3 através de seleção em URA.

Tenho uma queue principal onde tem mais agentes p/ atender as chamadas, 
que é a BV_ABERTURAS.
Porém quando uma chamada é encaminhada via URA p/ filas BV_SI ou 
BV_CONSULTE, dou um timeout de 60 segundos e caso nenhum agente atenda 
essa ligação ou de não existir agente logado nessas filas, transbordo a 
chamada para a fila BV_ABERTURAS.

O cliente me solicita o seguinte:
Quando a ligação é encaminha via URA p/ a fila BV_ABERTURAS, essa 
ligação tem que ter prioridade máxima.
Se uma ligação for transbordada da fila BV_SI ou BV_CONSULTE p/ a fila 
BV_ABERTURAS, essa deverá ter baixa prioridade e so serem atendidas caso 
realmente tiver agente disponível.

Algum parâmetro de dialplan que defina alta/baixa prioridade quando uma 
chamada entra na aplicação Queue ?
Veja meu contexto de URA:

context URA{
     s => {
       Wait(1);
       Set(CHANNEL(language)=pt_BR);
       Set(TIMEOUT(digit)=2);
       Set(TIMEOUT(response)=6);
       BackGround(atendimento02);
       WaitExten();
     }

     //Fila Consulte
     1 => {
         Answer;
         
Set(__MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID});
         Set(__MONITOR_EXEC=/usr/local/parselog/update_mix_mixmonitor.pl 
^{UNIQUEID} ^{MIXMONITOR_FILENAME});
         Queue(BV_CONSULTE,htTkwW,,,);
         Queue(BV_ABERTURAS,htTkwW,,,);
         Hangup;
     }

     //Fila SI
     2 => {
         Answer;
         
Set(__MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID});
         Set(__MONITOR_EXEC=/usr/local/parselog/update_mix_mixmonitor.pl 
^{UNIQUEID} ^{MIXMONITOR_FILENAME});
         Queue(BV_SI,htTkwW,,,);
         Queue(BV_ABERTURAS,htTkwW,,,);
         Hangup;
     }

     //Fila Abertura
     3 => {
         Answer;
         
Set(__MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID});
         Set(__MONITOR_EXEC=/usr/local/parselog/update_mix_mixmonitor.pl 
^{UNIQUEID} ^{MIXMONITOR_FILENAME});
         Queue(BV_ABERTURAS,htTkwW,,,);
         Hangup;
     }

     i => {
       Playback(invalid);
       Goto(URA,s,1);
     }

     t => {
       Playback(invalid);
       Goto(URA,s,1);
     }

}





Mais detalhes sobre a lista de discussão AsteriskBrasil