Nos topamos con una necesidad de crear un usuario el cual se encargue de auditar las llamadas de todos las demás extensiones y no solo la que el posea o se le haya asignado.
Elastix tiene por defecto 3 grupos de usuarios, Administrador, operador y extensión, cada uno de estos grupos posee unos permisos necesarios para dicha gestión.
Actualmente si queremos escuchar o descargar grabaciones de nuestro servidor, existen dos formas, una siendo el administrador de la PBX (que por cuestiones de seguridad no es viable), la segunda es crear un grupo y un usuario. Pero ¿cual es la falencia de esto?, al crear el usuario debemos asignare una extensión de la PBX, y al grupo los permisos para Reportes, Monitoreo, entre otros. Pero al ingresar nos encontraremos que la PBX SOLO nos permite visualizar las grabaciones de la extensión asignada.
Ejemplo:
Primero debemos crear el grupo
Y lo editamos, solo debemos seleccionar, Monitoring y CDR Reports
Luego debemos Crear un nuevo usuario y asignarlo al grupo que creamos.
Iniciamos con el nuevo usuario.
y no observamos nada.
Vamos asignarle una extensión al usuario que hemos creado, escogeremos la 1005
Ingresaremos nuevamente y veremos que solo nos permite visualizar la extensión asignada al usuario.
Ahora explicaremos que se debe hacer para que un usuario de un grupo pueda visualizar todas las grabaciones (Auditor de calidad).
Lo primero que debemos hacer es determinar el nombre del grupo, en este caso, el grupo lo hemos llamado grabaciones, seguido a esto, debemos identificar al usuario y quitar la extensión asignada, es decir, al usuario operaciones lo editamos y en la sección extensión lo dejamos en sin extensión, después de ello realizaremos los siguientes pasos desde la consola de la PBX.
- Ingresamos a la ruta cd /var/www/html/libs
- Realizamos un Backup del archivo paloSantoACL.class.php
- Editamos dicho archivo con su editor de texto preferido, nano, gedit, vi, vim.
En la sección:
function isUserAdministratorGroup($username)
{
$is=false;
$idUser = $this->getIdUser($username);
if($idUser){
$arrGroup = $this->getMembership($idUser);
//$is = array_key_exists(‘administrator’,$arrGroup);
$is = array_search(‘1’, $arrGroup);}
return $is;
}
Editamos y debe quedar de la siguiente manera, recordando que en mi ejemplo esta como nombre al grupo: grabaciones
function isUserAdministratorGroup($username)
{
$is=false;
$idUser = $this->getIdUser($username);
if($idUser){
$arrGroup = $this->getMembership($idUser);
//$is = array_key_exists(‘administrator’,$arrGroup);
$is = array_search(‘1’, $arrGroup);if(isset($arrGroup[‘grabaciones’]))
$is=true;
}
return $is;
}
Además, ustedes pueden añadir mas permisos si así lo consideran, que permisos recomendamos:
- Flash operator Panel (permite visualizar el estado de los asesores en linea)
- Operator panel (otra forma de visualizar a los asesores)
- Todos los reportes (Gráficos, estados, agentes si es un callcenter)
- y los que ustedes consideren necesarios.