Cola linear

72 views
Skip to first unread message

David Calvache

unread,
Jun 10, 2009, 4:57:00 AM6/10/09
to asterisk-es


Tengo un caso que no se me habia planteado hasta ahora...

queria implementar una cola donde hubieran 4 operadores A,B,C y D
donde las llamadas sonaran siempre en A despues en B despues C y por
ultimo D.

Creo que la estrategia idonea es la linear, pero.... despues de
probarla no sigue este orden logico.

Llamo a la cola. A no se encuentra en su sitio y no puede coger la
llamada la llamada salta a C. (esto no deberia ser asi)

os pongo el resultado de queue show

queue show informatica
informatica has 0 calls (max unlimited) in 'linear' strategy (11s
holdtime), W:0, C:2, A:0, SL:0.0% within 0s
Members:
Local/478@agentes (Not in use) has taken no calls yet
Local/473@agentes (Not in use) has taken 2 calls (last was 107
secs ago)
Local/471@agentes (Not in use) has taken no calls yet
No Callers

en el queue.log

1244623635|1244623622.2224|informatica|NONE|ENTERQUEUE||950XXXXXX
1244623651|1244623622.2224|informatica|Local/478@agentes|RINGNOANSWER|
15000
1244623661|1244623622.2224|informatica|Local/473@agentes|CONNECT|26|
1244623656.2228
1244623701|1244623622.2224|informatica|Local/473@agentes|COMPLETEAGENT|
26|40|1


el queues.conf esta asi:

[informatica]
timeout=15
retry=5
joinempty=yes
ringinuse=no
strategy=linear

member => Local/478@agentes,0,,SIP/478
member => Local/471@agentes,0,,SIP/471
member => Local/473@agentes,0,,SIP/473


En otra prueba que he hecho en otra cola definida igual el
comportamiento es el siguiente.

A(no coge) -> C (no coge) -->A (no coge)--> timeout de cola

A ver si alguien puede arrojarme algo de luz al tema.

Jon Bonilla

unread,
Jun 10, 2009, 5:16:17 AM6/10/09
to aster...@googlegroups.com
El Wed, 10 Jun 2009 01:57:00 -0700 (PDT)
David Calvache <come...@ethersur.com> escribió:

>
>
>
> Tengo un caso que no se me habia planteado hasta ahora...
>
> queria implementar una cola donde hubieran 4 operadores A,B,C y D
> donde las llamadas sonaran siempre en A despues en B despues C y por
> ultimo D.
>
> Creo que la estrategia idonea es la linear, pero.... despues de
> probarla no sigue este orden logico.
>
> Llamo a la cola. A no se encuentra en su sitio y no puede coger la
> llamada la llamada salta a C. (esto no deberia ser asi)
>
>

Asterisk 1.6 o 1.4 con estrategia backporteada?

Los agentes en qué orden han entrado en la cola?

--
First they ignore you.
Then they laugh at you.
Then they fight you.
**Then you win.**

DaHjaj jaj QaQ Daghajjaj :)

David Calvache

unread,
Jun 10, 2009, 6:51:05 AM6/10/09
to asterisk-es

>
> Asterisk 1.6 o 1.4 con estrategia backporteada?

1.4 backporteada

>
> Los agentes en qué orden han entrado en la cola?


Son colas estaticas

Saúl Ibarra

unread,
Jun 10, 2009, 7:03:40 AM6/10/09
to aster...@googlegroups.com
Qué backport? RSP? Había un backport a medias por ahí...

--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/

David Calvache

unread,
Jun 10, 2009, 7:20:12 AM6/10/09
to asterisk-es
si RSP

David Calvache

unread,
Jun 10, 2009, 7:21:39 AM6/10/09
to asterisk-es
pero solo he aplicado patch de app.queue.c (es decir es una 1.4.24
normal)
puede ser por esto?

Saúl Ibarra

unread,
Jun 10, 2009, 7:33:42 AM6/10/09
to aster...@googlegroups.com

Jon Bonilla

unread,
Jun 10, 2009, 7:47:29 AM6/10/09
to aster...@googlegroups.com
El Wed, 10 Jun 2009 04:21:39 -0700 (PDT)
David Calvache <come...@ethersur.com> escribió:

>

> pero solo he aplicado patch de app.queue.c (es decir es una 1.4.24
> normal)
> puede ser por esto?
>


No he probado miembros estáticos en una estrategia linear. Lo que sucede con
los dinámicos es que coge un orden a medida que los agentes entran en la cola y
después lo sigue a rajatabla. Prueba a registrar las extensiones en un orden,
ver en qué orden se reparten las llamadas y si ese orden es siempre estricto.

Julian J. M.

unread,
Jun 10, 2009, 8:45:35 AM6/10/09
to aster...@googlegroups.com
Hmm, creo que el problema es otro...

Si os fijáis, queue show muestra un orden distinto de los agentes al
que tiene en queues.conf.

Suponemos que A=478 B=471 y C=473.
En queues.conf: ABC
En show queues: ACB (que es el orden que parece que se está aplicando).

No estoy seguro, pero si asterisk está utilizando una tabla hash en
lugar de una lista para almacenar los agentes, no se puede garantizar
que el orden de los mismos coincida con el orden en que se han añadido
a dicha tabla.

Julian J. M.

2009/6/10 Jon Bonilla <ma...@aholab.ehu.es>:
--
http://www.julianmenendez.es

David Calvache

unread,
Jun 10, 2009, 8:46:31 AM6/10/09
to asterisk-es


On 10 jun, 13:33, Saúl Ibarra <sag...@gmail.com> wrote:
> Solo has aplicado este?

>
> http://asterisk-rsp.irontec.com/filedetails.php?repname=Asterisk-es-r...
>

si

Jon Bonilla

unread,
Jun 10, 2009, 9:38:33 AM6/10/09
to aster...@googlegroups.com
El Wed, 10 Jun 2009 13:45:35 +0100
"Julian J. M." <juli...@gmail.com> escribió:

>
> Hmm, creo que el problema es otro...
>
> Si os fijáis, queue show muestra un orden distinto de los agentes al
> que tiene en queues.conf.
>
> Suponemos que A=478 B=471 y C=473.
> En queues.conf: ABC
> En show queues: ACB (que es el orden que parece que se está aplicando).
>
> No estoy seguro, pero si asterisk está utilizando una tabla hash en
> lugar de una lista para almacenar los agentes, no se puede garantizar
> que el orden de los mismos coincida con el orden en que se han añadido
> a dicha tabla.
>
>

Esto ya me pasó en su día. Pero una vez establecido el orden, éste era siempre
el mismo. Por eso le preguntaba que comparase el orden de entrada con el orden
de llamadas y comprobase que siempre era el mismo.

Había una forma de solucionarlo pero creo que ya estaba incluido en el patch.

David Calvache

unread,
Jun 11, 2009, 5:03:29 AM6/11/09
to asterisk-es

> No estoy seguro, pero si asterisk está utilizando una tabla hash en
> lugar de una lista para almacenar los agentes, no se puede garantizar
> que el orden de los mismos coincida con el orden en que se han añadido
> a dicha tabla.



Bien esto ha resultado ser clave para que funcione, el tema es que si
se producen modificaciones en la cola, aunque se haga un reload del
app_queue, el hash generado anteriormente se mantiene, conclusion hay
que reiniciar asterisk para que tome los cambios en la cola.

Gracias a todos por vuestras aportaciones.
Reply all
Reply to author
Forward
0 new messages