El 13/06/12 10:59, Jorge Ricardo G�ngora escribi�:
> Hola a todos,
> Estoy terminando un dialplan que permite a los agentes de mi callcenter hacer login, logout y cambiar el c�digo de acceso de su usuario en la cola, todo esto interactuando con una BD en postgres, pero ahora tengo el siguiente inconveniente, necesito validar que el agente no est� ya conectado a la cola (se que esto no es un problema pero sucede que estoy usando agentes de tipo local y el problema lo requiere), investigando veo que * trae esta funci�n: QUEUE_MEMBER_LIST(nombre_de_la_cola) que devuelve un string con los nombres de los agentes separados por comas, algo as�: (agente1,agente2,agente3) necesito poder procesar desde el dialplan esta salida de forma tal que me permita comparar cada uno de los agentes con el agente que est� tratando de hacer login en la cola y si existe enviarle un mensaje de error sino entonces le permito hacer el login.
> Gracias de antemano por sus respuestas.
>
>
> Saludos,
>
> Jorge
>
Yo hacia lo siguiente, cuando el usuario hace login a la cola guardaba
en la base de datos de asterisk,
y cuando hace logout lo borraba, pero realmente es una bobada, ahora lo
que hago simplemente es que cuando un usuario intenta hacer un login y
justo despues de introducir la contrase�a hago un logout luego el login
y listo, si un agente se le olvida que esta conectado o cree q no lo
esta y hace login no le interesa escuchar mensajes de error, solo que le
informen que ya esta conectado.
Con esto me ahorre un mundo de problemas, de todos modos si quieres
implementarlo yo lo hacia mas o menos asi:
Login
exten => *8XXX,n,Set(AGENTE=${EXTEN:2})
exten => *8XXX,n,Set(COLA=una_cola_cualquiera)
; buscamos a ver si ya esta registrado...
exten => *8XXX,n,Set(existe=${DB($COLA/${AGENTE})})
exten => *8XXX,n,GotoIf($[${existe} = 0]?error:conectar)
.....
;una vez logueado guardamos en la DB que ya esta logueado con un 1
exten => **8XXX,n,Set(DB($COLA/${AGENTE})=1)
Logout
exten => **8XXX,n,Set(AGENTE=${EXTEN:3})
exten => **8XXX,n,Set(COLA=una_cola_cualquiera)
; lo dejamos vacio en 0
exten => **8XXX,n,Set(DB($COLA/${AGENTE})=0)
exitos y prueba a ver si te sirve...
--
---------------
Juan Enrique Escobar Robles.
Bucaramanga - Colombia.