de últimas, he necesitado usar una estrategia como "linear", pero no tenía
intenciones (aún) de pasarme a la rama 1.6 de asterisk, por lo que he
realizado un pequeño "backport" para dar esta estrategia a asterisk 1.4.
Comparto el patch con todos, por si queréis usarlo.
La aplicación es, desde el directorio:
patch -p1 < linear.app_queue.c.diff
Un saludo.
--
Manuel A. Rubio "Bombadil"
Usuario de GNU/Linux #323628 acorde a http://counter.li.org/
Técnico en Admin. Sistemas Informáticos
Creo que no, en la 1.6 desaparece la roundrobin,pero rrmemory se queda, no?
Muy buena Manuel! Lo has comentado en la lista de delopers de
Asterisk? Igual podrian dejar el parche por ahi, como el de devstate y
tal... ;)
--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/
Pero el RRmemory no se 'acordaba' cuando un agente no coge y salta al siguiente?
El Tuesday 02 December 2008 09:15:50 escribió:
> Cierto, cierto... fue escribir ayer en la lista y darme cuenta del cambio,
> aunque aún no llego a entender la diferencia entre Linear y roundrobin
>
> RoundRobin: A -> B -> C -> D -> A -> B -> C -> D -> ...
> Linear: ???
según el código, RoundRobin se aplica indiferentemente de la llamada entrante.
Por ejemplo, si mezclamos las llamadas de una campaña, las llamadas entrantes
las ponemos como 1, 2 y 3, y los agentes como "a", "b" y "c".
RoundRobin:
1-a
1-b
2-c
2-a
2-b
3-c
Como puedes ver, RoundRobin balancea la salida a los agentes, da igual la
entrada. En cambio:
Linear:
1-a
1-b
2-a
2-b
2-c
3-a
Este se comporta de forma que siempre, siempre, comienza por el miembro 1,
después el 2, el 3... Es lo mismo que se consigue usando el penalty y
cualquier otra estrategia, de modo que solo salta a los demás agentes (b y c)
en caso de que "a" no pueda cogerlo.
El Tuesday 02 December 2008 07:25:59 escribió:
> 2008/12/1 Elio Rojano <hel...@gmail.com>:
> > Igual me equivoco, pero la estrategia "linear" en 1.6 no es la conocida
> > como "rrmemory" en 1.4?
>
> Creo que no, en la 1.6 desaparece la roundrobin,pero rrmemory se queda, no?
>
> Muy buena Manuel! Lo has comentado en la lista de delopers de
> Asterisk? Igual podrian dejar el parche por ahi, como el de devstate y
> tal... ;)
Puf!, la verdad es que estuve en esa lista, pero me daba pereza leer tanto
mensaje en inglés, al igual que tener que escribirlos, nunca sé si me estoy
expresando correctamente... tengo mi inglés algo oxidado :-P
El Tuesday 02 December 2008 13:45:51 escribió:
> Por el comentario de Manuel Rubio, el rrmemory ha pasado a llamarse
> roundrobin y el linear es el antiguo roundrobin.
>
> ¿No?
no exactamente. El roundrobin (sin memoria) balancea la llamada, en cambio el
linear no... si el roundrobin sin memoria fuese igual al linear... el patch
sería una tontería :-P ... casi sería mejor haber hecho el patch quitando el
nombre de roundrobin por el de linear :-D
Echando un vistazo a tu parche. Manuel, parece incompleto: has creado
parámetros adicionales que luego no se han utilizado...
Yo en su día necesité la estrategia linear, pero como no tenía mucha
idea del tema hice el cambio en la línea del container (poner 1 en
lugar de 37, que me comentaron en la lista de developers) y la cosa
funcionó. El tema es que ese cambio (poner ese 1 siendo la estatégia
RRMemory) lo que provoca es que el orden de los agentes sea
secuencial, es decir, que si primero entra el agente 1, luego agente2
y luego agente3 el orden sea agente1->agente2->agente3.
Buscando este parche en google me he encontrado con el backport de
digium (http://bugs.digium.com/file_download.php?file_id=16039&type=bug)
en el bug de la inclusión de linear
(http://bugs.digium.com/view.php?id=7279) y veo que tiene bastantes
más cosas.
Viendo las diferencias entre ambos, parece que el que subiste le falta
un trozo. ¿Es así? ¿Qué opinas del que hay en el bugtracker de digium?
Thanks!