- Edited
@asternic , @hgmnetwork, @dariohimo. He revisado los cambios que se han hecho al script "page.queues.php". Prácticamente tenía los mismos cambios jaja así que me ganaron. Solo he agregado la cadena ",no" cuando se escribe el agente a la cola, esta opción en Asterisk 13 no se toma por defecto de la configuración de la cola y es necesario agregarla a cada agente. Esto es lo propuesto en la línea 120 del script mencionado (ya hice el cambio en git, espero que se acepte):
$members[$key] = "Local/$this_member@agents,$penalty_val,Agent/$this_member,Agent:$this_member";
$members[$key] = "Local/$this_member@agents,$penalty_val,Agent/$this_member,Agent:$this_member,no";
Las otras modificaciones que he realizado son referentes a la creación, edición y borrado de agentes en el módulo de callcenter. Éstas modificaciones solo son válidas para asterisk 13 por lo cual se debería trabajar estos scripts como un parche o algo parecido. Paso a explicarlo:
El en directorio modules/agents/ está la clase "libs/Agentes.class.php" Esta clase permite crear, borrar o modificar un agente. Sin embargo a mi parecer es demasiado código y muy complicado para una función muy simple: leer el agente desde la base de datos y escribirlo al archivo de asterisk "agents.conf". Por ello añadí una función llamada writeAgentFile (presente en la línea 298 del archivo Agentes.class.php). Esta es la única función que se encargaría de realizar la lectura de agentes desde la BD y escribir al archivo agents.conf. Se ha reemplazado esta función en todos los sitios donde se require dentro de Agentes.class.php.
Adicionalmente dentro del mismo directorio se encuentra el archivo index.php. Aquí he comentado una línea para evitar errores al identificar los agentes en la GUI.
Envío los archivos para que los puedan revisar y comentar si hay posibilidad de mejorarlos:
https://drive.google.com/open?id=1AamcAzyAGmaZcWUhmK0ohgAHg9a5a81m
Saludos!