Configuración: Operator.onh

De Vocalcom.latam Wiki
Saltar a: navegación, buscar

El archivo operator.onh es el encargado de formatear el numero de telefono de salida de una forma valida para ser discado sobre una o varias gateways de telefonia. En otras palabras, aqui se definen las reglas de discado.

Estructura basica

El objetivo de este archivo es retornar un telefono formateado para ser discado al script que lo incluye, es decir, s2.ons. No define ninguna funcion, solo un bloque de codigo definido por Operator: y finalizando con un RETURN.

El telefono que se solicita discar va a estar dentro de la variable $OperatorTel y es quien debemos modificar, pues su contenido va a ser devuelto en el Return final.

Ejemplo basico

#variable $OperatorTel
#variable $OperatorTempo
#variable $BlackList
 
GOTO(FinOperator);
Operator:
 
{
  $OperatorTel=STR_TRIM($AcdDataTel);
 
  if (STR_LEN($OperatorTel)<=0) RETURN(0);
  if (STR_STR($OperatorTel,"@")>0) RETURN($OperatorTel);
 
  $OperatorTel = $OperatorTel & "@192.168.1.31";
 
 
 RETURN($OperatorTel);
 
}
 
FinOperator:
Obtener nombre de campania
if (CAMP_VAR_LOAD_SP0($AcdDataCamp,CampName)==CIELO)
Dividir llamadas en N gateways

(donde cada gateway tiene la misma cantidad de recursos)

if (ME%2 == 0)
{$OperatorTel=$OperatorTel & "@Gateway1";} 
else 
{$OperatorTel = $OperatorTel & "@Gateway2";}
Cambiar ANI de la llamada

Solo en operator.onh puede cambiarse el ani de forma simple, antes de discar, simplemente modificando la variable $AcdDataAni. Tener en cuanta que algunos equipos de telefonia requieren que el formato del ani sea "ANI@IP_ACD"

Transferir llamadas a un numero de 4 digitos

Para esto, primero se debe modificar el archivo agent.ons para que derive a operator.onh las llamadas con numeracion mayor a 3 digitos.

entonces, dentro de agent.ons, buscar la sentencia:
 if ( (($TeleIdentifiant / 10000) == $CustomerId) && ( STR_LEN($AcdDataTel) <=
(por defecto el valor es 7) y modificar el largo minimo para que onnet considere una transferencia interna, en nuestro caso 4 es suficiente.

Luego, en operator.onh sera suficiente lo siguiente:

if (STR_LEN(($OperatorTel) == 4)
{$OperatorTel = $OperatorTel & "@ip_central";
 RETURN($OperatorTel);}

Para leer el Operador configurado en el administrador

En el administrador se define para una campaña el operador que va a utilizar en un momento dado. Para que esto funcione, el operator.onh debe contemplarlo. Para recuperar este valor, se debe ejecutar la siguiente funcion:
V5

$OperatorTempo =STR_TRIM(CAMP_VAR_LOAD($AcdDataCamp,BaseOperator));

V4

$OperatorTempo =STR_TOK(CAMP_VAR_LOAD($AcdDataCamp,BasePrefixNum),1,";");

Devolver un parametro

#function DecimeSiHaySi(Parametro)
{ #variable $resultado;
    if (STR_STR(Parametro,"si") > 0 )
    {$resultado = "si";}
    else
    {$resultado = "no";}
   
$resultado;
}

DISPLAY_EVT("resultado: " & DecimeSiHaySi("si si si");
///Devuelve "resultado: si"

DISPLAY_EVT("resultado: " & DecimeSiHaySi("la la la");
///Devuelve "resultado: no"