Lo he logrado, parcialmente, existen 2 soluciones, la corta y la larga. Con ambas se logra que cada X segundos se revise la campaña y por lo tanto las llamadas se ejecuten en un intervalo definido. Por defecto el dialer tiene seteado 3 segundos para realizar nuevas llamadas. A continuación describo las 2 formas:
Forma corta
Editar el fichero /opt/issabel/dialer/CampaignProcess.class.php, en el mismo, identificar la línea:
define('INTERVALO_REVISION_CAMPANIAS', 3);
Cambiar los 3 segundos, por el tiempo que sea conveniente según su escenario de uso.
Forma larga
Con éstas modificaciones, se parametriza el tiempo para ejecución de nuevas llamadas en las opciones del dialer. Me he basado en un post de hgmnetwork para la sobrecolocación de llamadas en agentes. Hay que realizar lo siguiente:
1) Editar el fichero /var/www/html/modules/callcenter_config/themes/default/form.tpl y localizar el bloque:
<tr class="letra12"><td>{$dialer_debug.INPUT} {$dialer_debug.LABEL}</td></tr>
<tr class="letra12"><td>{$dialer_allevents.INPUT} {$dialer_allevents.LABEL}</td></tr>
<tr class="letra12"><td>{$dialer_overcommit.INPUT} {$dialer_overcommit.LABEL}</td></tr>
<tr class="letra12"><td>{$dialer_predictivo.INPUT} {$dialer_predictivo.LABEL}</td></tr>
Colocar después:
<tr class="letra12"><td>{$dialer_entretiempo.LABEL}:</td></tr>
<tr class="letra12"><td>{$dialer_entretiempo.INPUT}</td></tr>
2) Editar el fichero /var/www/html/modules/callcenter_config/index.php y localizar el bloque:
$valoresForm = array(
'asterisk_asthost' => '127.0.0.1',
'asterisk_astuser' => '',
'asterisk_astpass_1' => '',
'asterisk_astpass_2' => '',
'asterisk_duracion_sesion' => '0',
'dialer_llamada_corta' => '10',
'dialer_tiempo_contestar' => '8',
'dialer_debug' => 'off',
'dialer_allevents' => 'off',
'dialer_overcommit' => 'off',
'dialer_qos' => '0.97',
'dialer_predictivo' => 'on',
'dialer_timeout_originate' => '0',
'dialer_timeout_inactivity' => '15',
'dialer_forzar_sobrecolocar' => '0',
Colocar después:
'dialer_entretiempo' => '0',
3) Editar el fichero /var/www/html/modules/callcenter_config/index.php y localizar el bloque:
'dialer_forzar_sobrecolocar'=> array(
'LABEL' => _tr('Force more calls per agent'),
'REQUIRED' => 'yes',
'INPUT_TYPE' => 'TEXT',
'VALIDATION_TYPE' => 'ereg',
'INPUT_EXTRA_PARAM' => '',
'VALIDATION_EXTRA_PARAM' => '[[:digit:]]+$',
),
Colocar después:
'dialer_entretiempo' => array(
'LABEL' => _tr('Time between calls'),
'REQUIRED' => 'yes',
'INPUT_TYPE' => 'TEXT',
'VALIDATION_TYPE' => 'ereg',
'INPUT_EXTRA_PARAM' => '',
'VALIDATION_EXTRA_PARAM' => '[[:digit:]]+$',
),
4) Editar /var/www/html/modules/callcenter_config/lang/eng.lang y /var/www/html/modules/callcenter_config/lang/es.lang , localizar la línea 'Force more calls per agent' => 'Force more calls per agent', y colocar:
Para inglés:
'Time between calls' => 'Time between calls',
Para español:
'Time between calls' => 'Tiempo entre llamadas',
5) Editar el fichero /opt/issabel/dialer/ConfigDB.class.php y localizar el bloque:
'forzar_sobrecolocar' => array(
'descripcion' => 'Forzar Más llamadas por agente',
'regex' => '\d+$',
'valor_omision' => 0,
'valor_viejo' => NULL,
'valor_actual' => NULL,
'mostrar_valor' => TRUE,
'cast' => 'int',
),
Colocar después:
'entretiempo' => array(
'descripcion' => 'Tiempo de espera entre llamadas',
'regex' => '\d+$',
'valor_omision' => 5,
'valor_viejo' => NULL,
'valor_actual' => NULL,
'mostrar_valor' => TRUE,
'cast' => 'int',
),
6) Finalmente editar el fichero /opt/issabel/dialer/CampaignProcess.class.php
Comentar la línea: define('MIN_MUESTRAS', 10);
Localizar y comentar la línea: if ($iTimestamp - $this->_iTimestampUltimaRevisionCampanias >= INTERVALO_REVISION_CAMPANIAS) {
Y colocar antes de la línea comentada:
// Definir el tiempo de ejecución de la campaña
if (empty($INTERVALO_REVISION_CAMPANIAS)) {
$INTERVALO_REVISION_CAMPANIAS = $this->configDB->dialer_entretiempo;
}
if ($iTimestamp - $this->iTimestampUltimaRevisionCampanias >= $INTERVALO_REVISION_CAMPANIAS) {
Con ese código el parámetro para tiempo entre llamadas se trae desde la BD. Trataré también de subir a git, al proyecto issabel, espero lo aprueben quienes sean los encargados.