/
e. Marcadores

e. Marcadores

Marcadores

Los marcadores permiten generar campañas de marcación directa bajo diferentes tipos de canales y de diferentes formas, dentro de las cuales tenemos:

  • SMS
  • Voz
  • Email

SMS

En lo referente a SMS tenemos un tipo de marcador único que simplemente tendrá un horario asociado así como un dispositivo de marcado.

Para todas las campañas ira asociado un rango horario de ejecución que dictara el horario y días en los cuales se correrán con el fin de no realizar acciones en horarios indebidos.


Parámetros

Nombre : Nombre del marcador que tenemos.

Proveedores SMS: En este Dropbox se selecciona uno de los proveedores de SMS creados, esto nos permite asociar un proveedor diferente para cada marcador.

Agenda : Programo un horario en el cual se desea que el marcador funcione. Ejemplo: se puede poner el marcador para que trabaje de Lunes a Viernes de 13 hrs a 18 hrs.

Nota : Es importante saber que para poner en marcha un marcador tiene que estar previamente habilitado.

Habilitado: Indica el estado del marcador, si esta activo o no.

DNCR : Permite habilitar la revisión del registro de las Blacklists, para los números de teléfono que no se debe llamar o mandar mensaje.

Cadena de marcado : En base a la api que envía SMS, se puede configurar de la siguiente manera:

  • Dinstar - DinstarWeb : Ingreso el rango de canales, ejemplo : (0.3) esto significa que el mensaje se enviará a 4 canales recursivamente (0-1-2-3-0...).
  • Qualirt : No necesita cadena de marcado.
  • Twillio : No necesita cadena de marcado.

Tiempo entre mensajes : Permite indicar el tiempo que tomará el sistema entre que envía un mensaje y otro en milisegundos. 


Básicamente trabaja de forma similar al resto de los marcadores que tenemos, se ponen en memoria 50 mensajes de state 1 de la tabla sms_spool  ordenado por la posición de ingreso de los mismos, se fija si esta en la black_list, si esta no lo envía y lo pone en estado 3.


Estados

STATE: 0 NONE
STATE: 1 TO PROCESS
STATE: 3 BLOCKED

Example

campañadestinomensajedeviceidmdata
prueba1098344484este es mi smsDinstarautonumericodatos extra

Base.csv

campañadestinomensajeprioridad
prueba1098344484este es mi sms9999
Ejemplo:
Base.csv
prueba1;098344484;Hola Mundo!;9999


WebService

Envio SMS
POST 
http://INTEGRASERVER/Integra/resources/SMS/SendSMS
 
params:
@FormParam("destination"), @FormParam("message"), @FormParam("campaign"), @FormParam("agent") 

Scheduler

El scheduler de marcadores de SMS es para poder Agendar SMS y que el marcador las realice en el momento adecuado, para esto existe un WebService de Tipo REST que permite agendar las mismas. y es posible hacerlo desde Forms, Workflows o desde sistemas externos.


Básicamente el proceso es que existe una tabla donde estan las llamadas que estan agendadas con toda su información pertinente.

sms_scheduler


calldate
campaña
teléfono destino
data
fecha y hora de cuando tiene que ejectuarprueba1098344484
 El mensaje

El scheduler estar ubicando en el sms_spool con prioridad 1 a los mensajes que tienen que ejecutar en ese minuto, lo cual va a hacer que los marcadores lo tomen lo antes posible para enviar el mensaje, queda con nombre de base Schedule y Fecha para poder ver cuales son los sms que se agendaron y cuando debían realizarse para poder comparar con el dateprocessed del sms_repo.


Schedule SMS
POST
http://<IP-INTEGRASERVER>/Integra/resources/SMS/ScheduleDialerSMS
 
param: @FormParam("sms") 
 
(json con formato sms_scheduler)
 
{
  "calldate" : "2015-10-11 15:00:00",
  "campaign" : "Ventas->",
  "destination" : "098344484",
  "data" :  "Mensaje"
}


Voz

Nota: Los marcadores de voz siempre tiene que tener líneas digitales con señalización propia (para indicar comienzo y final de llamada).

Parámetros

Tipo de Marcador:  PowerDialer, VoiceBroadCast, Progressive (con asignación por Agente),Preview (Progressive sin asignación de Agente), Predictive (mínimo 50 agentes).
Para cualquier marcador de Telefonía son necesarios puntos tales como cadena de marcado (que usualmente es el dispositivo de sacada de llamadas), y contexto específico para indicar el comportamiento del marcador. También es importante definir cantidades de canales coherentes con la disponibilidad física del equipamiento.

Nombre: Es el nombre del Marcador. Al ingresar un nombre automáticamente se crea una campaña de voz en el sistema con el nombre ingresado y según el tipo de Marcador la campaña será entrante o saliente. Para PowerDialer y Predictive se crea una Campaña Entrante, para Progressive y Preview una Campaña saliente y para VoiceBroadCast no se crea una campaña, puede utilizar cualquier nombre.

Habilitado: Si esta activado. Es importante saber que para que comience a discar el marcador debe estar habilitado previamente.

Agenda: Se agenda una fecha en el cual se desea que el marcador funcione. Por ejemplo, se puede especificar que el marcador funcione de Lunes a Viernes, y que comience su discado a las 13 hs, finalizando a las 18 hs.

Cadena de Marcado:  Es lo que se utiliza para hacer la llamada Ejemplo: DAHDI/G1/ o SIP/CARRIER/, existe la opcion de crear un troncal sobre si mismo (ej que se llame DIALER), y que este mismo salga por el contexto dialer (contexto creado por defecto en la instalación, quedando la cadena de marcado como SIP/DIALER/). Esto se puede usar en casos que se requiera hacer una marcación mas compleja con selección de DID aleatorios o manejo de múltiples proveedores en base a la numeración del destino a marcar.  En el caso de querer usar un DID aleatorio se puede poner de la siguiente forma ZZZZZZZZXX-YY  siendo marcado el DID como ZZZZZZZZNN  (donde NN es un número aleatorio entre XX y YY

Contexto: Contexto que el marcador va a utilizar. que va a entrar el marcador. Para VoiceBroadCast, PowerDialer, Predictive es el Contexto que entra una llamada conectada con un cliente y matchea un workflow, en Progressive es el Contexto por donde se realiza la llamada al cliente una vez conectado con el Agente. (Ya existen Contexto prearmados cada uno con el nombre del Marcador).

Canales Máximo: Cantidad máxima de llamadas simultáneas. En Predictivos, este campo pasa a ser Máximo de Canales por Agente.

Sobrediscado: Se selecciona el porcentaje de sobrediscado que tendrá el marcador. Los valores posibles son MIN, 0%, 5%, 10%, 15%, 20%, 25%..., 100%, MAX, donde MIN y MAX es el menor y mayor valor posible. La idea es que cuando por ejemplo tomo 100 canales para marcar y el servidor no puede manejar tantas solicitudes al mismo tiempo, es posible bajar el porcentaje de sobrediscado (ya que esto enlentece al marcador). Si se pone en MAX en PowerDialer, ejecuta sobremarcado para tener mas agentes ocupados via fórmula estadística.
En Predictivo, este campo pasa a ser Ratio Máximo Abanadonado y se despliega un combo con valores porcentuales. 

Tiempo Máximo: Tiempo máximo de espera al llamar a una destino o en Progressive para contactar un agente.

Reintento: Cantidad maxima de llamadas para un numero en la base en Progressive para intentar conectar con el Agente.

Audios: Audio o concatenación de audios (con &) que se le pasan al Workflow, util para VoiceBroadCast.

Caller ID: Número con que salen las llamadas.

Para marcadores Preview y Progressive es posible definir un rango de DID a marcar aleatoriamente (ej:  si ponemos un DID   1234567-89  va a marcar un el numero 12345XX siendo XX un numero aleatorio entre 67 y 89)

Tiempo Entre Llamadas: Configuración del tiempo que existe cuando finaliza una llamada y disca el siguiente numero en la lista, para los agentes.

 Aleatorio: Cuando este botón se encuentra activado, Caller ID debe estar detallado. Se debe especificar el rango hasta donde irá el número random.
Ejemplo, si el comienzo del número telefónico de la empresa comienza con 2709-XXXX, los caracteres XXXX son los que pasarán a llenarse con el número aleatorio. Un ejemplo de el rango sería, 0004-5555. El número siempre debe tener el mismo largo, por lo que se le deben agregar ceros al principio si el número no es de cuatro cifras, en este caso.

CallerPres: Para ISDN si muestra o no el CallerID donde el proveedor lo admita.

AMD: Si esta activado la detección de Answering Machine, esta variable llega ${am} en 1 o 0 y es posible en el flujo utilizarlo para usar la actividad AMD para cortar las llamadas de Correos de Voz.

DNCR: Do Not Call Registry, permite verificar si se bloquea el registro por BlackLists.

Early Media: La llamada se atenderá apenas conecte.

Variables: Todo lo que se quiera pasar al Worklfow a nivel global de marcador.

Una vez Guardado el Marcador de Voz, aparecerá en la lista donde se podrá hacer click y ver los detalles de la misma en el cuadro descrito arriba. Aparte de ello, se hará visible el siguiente logo donde se podrá configurar los Horarios de Marcador:

Debajo de cada franja horaria se puede configurar el orden en el cual se llamará al contacto dependiendo de los tres números de teléfono registrados en el sistema. Las iniciales representan:

  • M - Mobile (Número de teléfono celular del contacto)
  • W - Work (Numero de teléfono del trabajo del contacto)
  • H - Home (Número de teléfono del hogar del contacto)

Para ello se deberá escribir en el orden que se prefiera las iniciales anteriores, o dejar el órden que se encuentra por defecto MWH, y presionar el botón verde "Guardar" para aplicar los cambios.


IMPORTANTE: Los números de teléfono extra se especificarán en la columna de Números Alternativos del archivo .csv subido para el Marcador específicado. Aparte de los tres tipos de teléfonos MWH, en el archivo .csv se pueden especificar los tipos P, representando Prioridad, y U, representando Unknown (Desconocido). Los números P serán los primeros en llamarse y los U, los últimos.
La estructura seria, inicialTipoNúmero=número para el número principal, y para teléfonos alternativos inicialTipoNúmero=reintentos=número separando cada uno de los mismos con dos puntos ":".

Ejemplo:
CampañaTeléfonoDataTeléfonos AlternativosPrioridad
CampanaDialer<-M=098344484
var1=val1:var2=val2
H=0=099124484:M=0=099111111
9999


Archivo .csv:

Base.csv
CampanaDialer<-;M=098344484;var1=val1:var2=val2;H=0=099124484:M=0=099111111;9999

En el caso de los alternativos existe un parámetro más que indica la cantidad de reintentos que se han realizado para ese contacto con ese número, esto se debe a que como el orden de marcado cambia según la hora del día puede ser que se use un número alternativo como número principal y comience a marcar utilizando ese formato; pero al que estaba como número principal le quedaran reintentos para realizar, por lo cual se guarda la cantidad de los mismos así se cumplen las reglas establecidas.

Lo anterior nos trae un gran beneficio, sea en el caso que queramos que para distintos tipos de números se marquen menos reintentos en comparación a otros, simplemente se necesita aumentar el numero de intentos inicial.


Por Ejemplo: Si quiero que a el número telefónico de Casa (H) se reintente 2 veces y el máximo de reintentos para ese marcador es 3 entonces la base podría ser:

CampañaTeléfonoDataTeléfonos AlternativosPrioridad
CampanaDialer<-M=098344484
var1=val1:var2=val2
H=1=099124484:M=0=099111111
9999

Esto significa que cuando sea el turno de marcar el número telefónico de Casa (H) ya va a estar como si hubiera tenido un reintento por lo cual se va a marcar con 2 intentos en vez de 3.

Combinar ambas opciones también es posible si no se sabe el tipo de teléfono al cual el marcador debe llamar.

  • Número principal no se sabe el tipo:

    CampañaTeléfonoDataTeléfonos AlternativosPrioridad
    CampanaDialer<-098344484
    var1=val1:var2=val2
    H=1=099124484:M=0=099111111
    9999
  • Números Alternativos no se saben los tipos:

    CampañaTeléfonoDataTeléfonos AlternativosPrioridad
    CampanaDialer<-M=098344484
    var1=val1:var2=val2
    099124484:099111111
    9999

Cuando esto sucede, el Marcador siempre va a intentar utilizar el tipo que corresponda a la hora en cuestión, sino el mejor de acuerdo al orden de marcado.
Cuando no se sabe el tipo de teléfono registrado, el mismo queda como U (Unknown) y pasa al final de la lista,  si los otros tipos de teléfono si se conocen.

Los registros son siempre marcados no importa que tipos tengan, lo que se hace es reordenarlos según la hora en la cual el agente tenga mayor chance de que el cliente atienda la llamada, de acuerdo al orden establecido. Esto significa que si nuestro orden es MHW  y nuestro contacto tiene solo H y W entonces comenzará a marcar por el número con mayor chance que en este caso es H ya que es el segundo en orden de proceso.
Esto hace que el marcador siempre marque y no se detenga por reglas que puedan pararlo, pero siempre respetara el orden de marcado según la hora del día y de los teléfonos que disponga cada contacto.

Reciclaje Automatico

Mediante este botón podremos acceder al modal de reciclaje automático de listas para marcadores.

Mediante la botonera se podrá crear ciclos nuevos, quitar ciclos y navegar entre ellos para configurarlos.

Ciclos: Cada ciclo representa un reciclaje, es decir, cada vez que una lista perteneciente a la campaña termine se ejecutará un ciclo de reciclaje para la misma, por lo tanto si configuramos 3 ciclos cada lista que termine para esa campaña se reciclará hasta 3 veces.

Activar lista al reciclar permite que cuando se recicle una lista finalizada la nueva se agregue activa a la campaña, esto hará que cuando termine una lista y su porcentaje de prioridad se distribuya, la lista reciclada tomará parte del porcentaje.

Minutos permite configurar cuánto tardará la lista en ser reciclada luego de que finalice, estos minutos son para dar tiempo a los agentes de tipificar las últimas llamadas y que las mismas sean recicladas si corresponden.

Importante Recordar:

  • La activación automática de la nueva lista es opcional.
  • Los ciclos son configurados con los mismos parámetros que el reciclaje manual.
  • Cada ciclo de reciclaje puede tener diferentes parámetros de reciclado
  • Es recomendable no saturar mss de 3 veces ya que es muy probable que lo que va quedando no sea contactable.
  • No se le asigna Prioridad a las listas recicladas automáticamente ya que de ser así cambiaríamos el comportamiento definido por lo cual inicialmente queda en 0%.
  • Toda lista reciclada ya sea manual o automáticamente la vamos a poder ver en el dashboard de manejo de listas del marcador.


Cada vez que se realice un reciclaje automático, se guarda un registro en BD en la tabla recycle_log_repo indicando:

  • id: autogenerado para cada reciclaje realizado.
  • time: Fecha y hora en la cual se realizó el reciclaje.
  • name: Nombre de la lista previo al reciclaje.
  • newname: Nombre de la lista luego de realizado el reciclaje.
  • parameter: parámetros definidos para el reciclaje (Orden, Telefonía, Gestion).
  • cant: cantidad de contactos que fueron reciclados.
  • username: usuario que realizó el reciclaje, cuando se recicla automáticamente el usuario será 'ciclo_automatico'.


Importante!! cuando se crea un reciclaje automático o un ciclo de reciclaje o una copia, no se guarda un log del mismo.


Copiar reciclaje

Esta opción permite realizar un copiado de configuraciones de Reciclaje Automático entre Marcadores, para ello debemos seleccionar un Marcador, dirigirnos a Reciclaje Automático y en el modal veremos un botón de Copiar Reciclaje.

Al hacer click en el botón se nos abrirá un nuevo modal de copiado.

Aquí tendremos que seleccionar el Marcador desde el cual queremos copiar la configuración, luego manteniendo la tecla Alt presionada seleccionaremos los Marcadores hacia los cuales se le copiaran nuestras configuraciones.

Una vez seleccionados los marcadores hacemos click en Copiar, se realizará el copiado y se redireccionará al usuario a la pantalla de creación de Marcadores sin ningún marcador seleccionado.

En caso de NO querer realizar la copia presionamos Cancelar o cerramos mediante la cruz y volveremos al modal de Configuración de Reciclaje Automático.

VoiceBroadCast

Introducción

El sistema de VoiceBroadCast es para realizar campañas de marcado automático, se sube una base de datos de teléfonos y estos son dirigidos hacia un flujo IVR el cual puede ser para reproducir avisos, audios, de forma dinámica o estática, también puede lograr realizar encuestas automáticas estáticas o dinámicas, así también como permitir que de acuerdo a una opción el cliente sea redirigido a una Campaña.

En este caso, lo importante es fijar la cantidad de canales ya que el VoiceBroadCast utiliza todos los posibles la mayor parte del tiempo.

Pasos

  1. El marcador obtiene la cantidad de llamadas a realizar, si es 0 espera y vuelve a preguntar, sino obtiene de acuerdo a:
    1. Cantidad de canales disponibles (Maximo - Usados).
  2. El marcador obtiene los contactos en base a la cantidad y las siguientes reglas:
    1. Pide los contactos Agendados en Primer Lugar .
    2. Pide los contactos de listas activas ordenados por prioridad y reintentos ascendente (según el porcentaje que le corresponda a cada una).
  3. Si DNCR (do not call registry) se encuentra activo solo deja hacer la llamada si no se encuentra en lista negra.
  4. Se pasan todas las variables a los Workflows ya sean de campaña o de contacto.
  5. Se pasa el registro del contacto de marcador con el reintento +1 a la lógica de negocio, esto va a permitir crear Logica de Respooling (volver a ingresar el contactoal Marcador).
  6. Si Supera la cantidad de intentos para ese número entonces si existen alternativos obtiene el primero lo deja como principal y deja el resto como alternativos y comienza el proceso nuevamente.
  7. Se realiza la llamada.
  8. Si no es atendida o da algun error al llamar entonces se incrementa los reintentos y pasa al fondo ese contacto para marcar luego.
  9. Si es atendida y se ejecuta el Workflow asociado y los pasos del mismo al finalizar es borrada de la lista, si existió un Respooling se va a seguir marcando.

Estático

Base.csv

CampañaTeléfonoDataTeléfonos AlternativosPrioridad
prueba1098344484
NOMBRE=Sebastian Gutierrez:Monto=200
099124484:099111111
9999

Ejemplo:

Base.csv
prueba1;098344484;NOMBRE=Sebastian Gutierrez:Monto=200;099124484:099111111;9999


Variables que llegan al flujo: ${sound}, ${am},${FORM}, ${VBQUEUE} todas las variables configuradas para esa campaña.


Dinámico

Si al momento de crear un Marcador en el portal no se especifica un audio a vocalizar, es posible, en vez de hacer un simple Flujo de VoiceBroadCast, diseñar IVRs donde se generen dinámicamente marcadores automáticos.
Para lograr lo anterior el archivo .csv debe seguir un orden específico de campos de los cuales en VoiceBroadCast Dinámico resaltamos la tercer columna, la cual contiene parámetros. Cada uno de estos últimos tienen su inicial identificadora, seguido de su valor como lo explica a continuación:  

  • Monto(M): M_nombreParámetro=monto
  • Fecha(F): F_nombreParámetro=día-mes-año
  • Dígitos(D): D_nombreParámetro=dígito
  • Audio(A): A_nombreParámetro=nombreAudio
  • TTS(T): T_nombreParámetro=texto a vocalizar
  • PressOne(P): P_nombreParámetro=nombreAudio del menú

Los parámetros se separan con dos puntos ":" y cada campo con punto y coma ";". El usuario puede agregar tantos como guste según lo que desea crea.
Según el orden en que se detalle cada parámetro, será el orden en el cual el marcador los reproducirá. Hay que tener en cuenta que los audios fijos deben estar previamente cargados al sistema con esos mismos nombres.

Base .csv

CampañaTeléfonoParámetrosTeléfonos AlternativosPrioridad
prueba1098344484
F_fecha=2016-01-12:A_audio1=Desestime-BG:M_monto1=258.54
099124484:099111111
9999

Ejemplo:

Base.csv
CampVoiceBroadCast;4441222;F_fecha=2016-01-12:A_audio1=Desestime-BG:M_monto1=258.54;099111111;9999


En este caso el marcador, cuando la llamada sea contestada, reproducirá la fecha 02-02-2016, luego vocalizará el audio Desestime-BG y por último el monto 258.54.

Marcadores Progresivos y Preview

Introducción

En este caso es un escalón mas abajo respecto a PowerDialer o Predictivo a la máxima automatización, pero nos mantenemos en sistemas de llamadas puramente automatizados. Los Marcadores progresivos se basan en la disponibilidad de los Agentes.

Los marcadores progresivos, suelen ser muy apropiados para los Centros con un volumen bajo o moderado de llamadas, donde no serían capaces de recabar suficiente información para alcanzar estadísticas fiables.

Basicamente llama al agente y cuando este atiende ejecuta la llamada, esto hace que muchos intentos puedan ser ocupado, número equivocado, etc usando tiempo de agente. El workflow que se utiliza es el de salida por esto usamos en Progresivos Campañas salientes y no entrantes (no existe manejo de colas pero si concepto de wrapup). 

Los contactos tienen propiedad de Agentes, o sea cada contacto se asocia a un telefono de un agente que es el que va a disponer de ese contacto. En Progresivo, En Preview todos los contactos son para todos

Pasos

  1. El marcador obtiene la cantidad de llamadas a realizar, si es 0 espera y vuelve a preguntar, sino obtiene de acuerdo a:
    1. Cantidad de Agentes disponibles que no estén en wrapup.
  2. El marcador obtiene los contactos en base a la cantidad y las siguientes reglas:
    1. Pide Agendados para cada Agente disponible.
    2. Pide para esa campaña para las listas activas un contacto para cada Agente que este disponible ordenados por Prioridad y Cantidad de reintentos ascendente (según el porcentaje que le corresponda a cada una).
  3. Si DNCR (do not call registry) se encuentra activo solo deja hacer la llamada si no se encuentra en lista negra.
  4. Para estos dos tipos de marcadores el campo Auto-respuesta se encontrara activo por defecto, para este caso la llamada entrante se contestará automáticamente.
  5. Se pasan todas las variables a los Workflows ya sean de campaña o de contacto.
  6. Se pasa el registro del contacto de marcador con el reintento +1 a la lógica de negocio, esto va a permitir crear Logica de Respooling (volver a ingresar el contacto por no ser realmente efectivo).
  7. Si Supera la cantidad de intentos para ese número entonces si existen alternativos obtiene el primero lo deja como principal y deja el resto como alternativos y comienza el proceso nuevamente.
  8. Se realiza la llamada al agente, si por alguna razon no puede atender, se va a reintentar sin afectar la cantidad de reintentos una vez el agente vuelva a estar disponible.
  9. Si no es atendida o da algún error al llamar entonces se incrementa los reintentos y pasa al fondo ese contacto para marcar luego.
  10. Al Agente se le pasa el registro de contacto para que se pueda tomar acciones basados en lógica de negocio y así poder realizar el Respooling del contacto según se requiera (teniendo todos los datos del mismo). También le llegan datos para el CTI (poder abrir el form con los datos del cliente a llamar).


Base.csv

campañateléfonodatateléfonos alternativosprioridadteléfono de agente
prueba1098344484
NOMBRE=Sebastian Gutierrez:Monto=200
099124484:099111111
9999
1001
Ejemplo:
Base.csv
prueba1;098344484;NOMBRE=Sebastian Gutierrez:Monto=200;099124484:099111111;9999;1001

Marcadores Power Dialer

Introducción 

A diferencia del marcador Progresivo, Power Dialer no llama primero al agente y luego realiza la llamada sino es un discador Predictivo pero con un cálculo de sobremarcado distinto basado en Tiempo Real y no estadístico. 

Lo primero que realiza el sistema es marcar mientras existan agentes disponibles para atender llamadas en la campaña, ejemplo si hay 2 agentes disponibles va a realizar 2 llamadas simultáneamente y así hasta que contacte a alguno, una vez contactado un cliente se envía a la campaña, en el 99% de los casos debería tener agente libre para atender al instante. Esto nos evita tener que entregarle al agente llamadas de números ocupados o inexistentes y entregarle llamadas solamente que fueron atendidas. La forma de trabajar es exactamente la misma en los marcadores VoiceBroadCast, PowerDialer,Predictive lo único que cambia es la cantidad de llamadas que se ejecutan, el caso base es sin sobremarcado, si es activado entonces vamos a tener una tasa de abandono pero los agentes estarán mas tiempo ocupados y cambiara a un comportamiento Predictivo, es basicamente un Marcador Predictivo que admite menos agentes y respeta cantidad maxima de canales. 

El PowerDialer intenta tener a todos los agentes con llamada con su sobremarcado.

Pasos

  1. El marcador obtiene la cantidad de llamadas a realizar, si es 0 espera y vuelve a preguntar, sino obtiene de acuerdo a:
    1. Modo Normal (SobreMarcado 0%): Cantidad de Agentes disponibles que no esten en wrapup sin pasar la máxima cantidad de canales para la campaña.
    2. Modo Sobremarcado (Sobremarcado X%): Igual a Modo Normal pero con un porcentaje de sobremarcado basado en un modelo de tiempo real o seleccionado por el procentaje de sobremarcado.
  2. El marcador obtiene los contactos en base a la cantidad y las siguientes reglas:
    1. Pide todos los Agendados.
    2. Pide los contactos de las listas activas ordenando los contactos por Prioridad y Cantidad de reintentos ascendente  (según el porcentaje que le corresponda a cada una).
  3. Si DNCR (do not call registry) se encuentra activo solo deja hacer la llamada si no se encuentra en lista negra.
  4. Se pasan todas las variables a los Workflows ya sean de campaña o de contacto.
  5. Se pasa el registro del contacto de marcador con el reintento +1 a la lógica de negocio, esto va a permitir crear Lógica de Respooling (volver a ingresar el contacto por no ser realmente efectivo).
  6. Si supera la cantidad de intentos para ese número entonces si existen alternativos obtiene el primero lo deja como principal y deja el resto como alternativos y comienza el proceso nuevamente.
  7. Se realiza la llamada.
  8. Si no es atendida o da algún error al llamar entonces se incrementa los reintentos y pasa al fondo ese contacto para marcar luego.
  9. Si es atendida y esta habilitada AMD entonces si es MACHINE se reinserta el registro con el próximo alternativo a no ser que sea el último reintento del contacto HUMAN entonces va al ACD a repartir entre los agentes disponibles.
  10. Si es atendida y no esta habilitada AMD pasa directamente al ACD a los agentes.
  11. Al Agente se le pasa el registro de contacto para que se pueda tomar acciones basados en lógica de negocio y así poder realizar el Respooling del contacto según se requiera (teniendo todos los datos del mismo).


Base.csv

campañateléfonodatateléfonos alternativosprioridad
prueba1098344484
var1=val1:var2=val2
099124484:099111111
9999
Ejemplo:
Base.csv
prueba1;098344484;var1=val1:var2=val2;099124484:099111111;9999

Marcadores Predictivos

Introducción

Los marcadores predictivos basan su funcionamiento, en bases de datos de teléfonos a llamar, y lo hacen como su nombre indica de una forma "predictiva".

Esto quiere decir que entra en juego un algoritmo basado subyacéntemente en estrategias estadísticas, las cuales toman múltiples variables del Centro de Llamadas y calculan diversos factores para poder poner en contacto a los Agentes con los contactos de la manera más eficiente posible.

Por regla general, la principal utilidad y ventaja para los Marcadores Predictivos radica en el volumen de llamadas de los Centros en los que se basan, dado que al estar fundamentos en técnicas estadísticas, su máxima fiabilidad redunda en la Ley de los Grandes Números. Es por ello, que en Call-Centers de carácter reducido son bastante poco recomendados por su funcionamiento base.

En esencia, la idea conceptual detrás de los marcadores predictivos es la siguiente:

  • Primero ha de calcularse el tiempo ideal para lanzar llamadas a clientes utilizando estrategias estadísticas de diversa índole, entre las que se incluyen:
    • Calculan el tiempo medio por cada llamada que resulta en éxito, y cada llamada que resulta en fracaso.
    • Calculan la proporción media de llamadas resultantes en éxito y en fracaso y con ello se pondera un tiempo medio estimado para todas las llamadas en general.
    • Utilizan otros factores que influyan en los tiempos, como el tiempo medio de preparación para aceptar otra llamada de cada agente y Wrapup.

Cuanto más sofisticado sea este algoritmo, mejor en términos generales será el Marcador Predictivo. De hecho este es uno de los factores clave que determinara su éxito en un futuro. Muchos Algoritmos predictivos se basan en la distribución de Erlang.

  • En segundo lugar, se lanzan llamadas a los números almacenados en la base de datos, respetando este tiempo calculado:
    • Con las llamadas en curso, el Marcador Predictivo debe ser capaz de identificar si existe algún tipo de inconveniente para no poder contactar con el cliente, principalmente por el tipo de tono que se recibe, según la convención de tonos a nivel nacional del país en concreto. 
    • También ser capaz de detectar Tonos de Fax y otras posibilidades que también sigan algún tipo de estándar.
    • En caso que ocurra un evento de este tipo, dependiendo del evento, la aplicación ha de ser capaz de marcar el teléfono apropiadamente en función de lo ocurrido.
    • Además la capacidad de detectar VoiceMail dado que por regla general son símbolos de "No Disponible", para volver a intentar la llamada más tarde. La detección es relativamente fácil, en función del tiempo total de respuesta de voz, dado que la mayoría de las respuestas de personas físicas suelen ser, un simple "Hola?", mientras que los contestadores suelen ser una frase bastante larga.
    • En el momento que recibe una llamada atendida, se la pasa a la cola de los Agentes para que sea atendida con brevedad.

Con este sistema, los agentes solo quedan a la espera de que la máquina haga su trabajo, y por regla general, no tienen la posibilidad de elegir si desean responder la llamada, sino que esta se pone directamente en comunicación con el Agente.

A priori, este método puede ser ideal, y realmente si estamos ante un Marcador Predictivo de calidad, es cierto esta premisa. Pero en contrapartida nos encontramos con algunos inconvenientes, que debemos sopesar, a la hora de elegir este tipo de Marcadores:

  • Si en el intervalo en el que el cliente atiende una llamada, y el operador la recibe, no hay respuesta, es muy probable que el cliente abandone la llamada. En este caso la mayoría de los marcadores predictivos, ponen el número para ser llamado en un futuro, pero podemos generar insatisfacción en el cliente por causas de molestia.
  • Si lo queremos utilizar con fines comerciales de Empresa a Empresa, es posible que sea bastante ineficiente, dado que la mayoría de las empresas dispongan de un IVR el cual posiblemente impida que nuestro marcador predictivo cumpla su propósito en condiciones.
  • Como comentábamos, si tenemos pocas llamadas en el Centro, es posible que los algoritmos estadísticos no saquen cifras de calidad y por tanto ocurra mucho el primer problema, siendo un sistema muy ineficiente.

campañateléfonodatateléfonos alternativosprioridad
prueba1098344484
var1=val1:var2=val2
099124484:099111111
9999
Ejemplo:
Base.csv
CampanaDialer<-;M=098344484;var1=val1:var2=val2;H=0=099124484:M=0=099111111;9999


Scheduler

El scheduler de marcadores es para poder Agendar llamadas y que el marcador las realice en el momento adecuado, para esto existe un WebService de Tipo REST que permite agendar las mismas. y es posible hacerlo desde Forms, o Workflows o desde sistemas externos.

Básicamente el proceso es que existe una tabla donde estan las llamadas que están agendadas con toda su información pertinente

calls_scheduler


calldatecampañadestinoalternativosteléfono agentedata
fecha y hora de cuando tiene que ejecutarprueba1098344484
099111111:099121212
1001
 variable1=valor1:variable2=valor2

El scheduler estar ubicando en el calls_spool con prioridad 1 a las llamadas que tienen que ejecutar en ese minuto, lo cual va a hacer que los marcadores la tomen lo antes posible para realizarla, queda con nombre de base Schedule y Fecha para poder ver cuales son las llamadas que se agendaron y cuando debían realizarse para poder comparar con el calldate del CDR.


WebService

REST
POST
http://<IP-INTEGRASERVER>/Integra/resources/Dialers/ScheduleDialerCall
 
param: @FormParam("call") 
 
(json con formato call_scheduler)
 
{
  "calldate" : "2015-10-11 15:00:00",
  "campaign" : "Ventas->",
  "destination" : "098344484",
  "alternatives" : "099124484:099121212",
  "agentphone" : "1001",
  "data" :  "Par1=Val1:Par2=Val2"
}


Email

Se podrán enviar Email de forma masiva.

Campañas: Se listaran todas las campañas de Email y así asociar una de ellas a la campaña a configurar.

Tiempo entre mensajes: Indicara el tiempo que demorara en entrar una nueva interacción luego de haber finalizado una.

Agenda: Se agenda una fecha en el cual se desea que el marcador funcione. Como ejemplo se puede colocar que el marcador funcione de Lunes a Viernes de 13hs a 18hs el cual comenzará a discar si se encuentra dentro del horario establecido.

Templates: Se adjudicara un template ya creado en la  sección Templates de campañas de Email.

Adjuntar Agenda: El usuario podra adjuntar un evento en el mail. Se desplegara lo siguiente para lograr configurar el mismo:

Titulo: Nombre del evento. El titulo del evento también puede contener variables parametrizables, esta ultima será la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable}

Organizador: Detalle de quien organiza el evento. El nombre del orgnizador del evento tambien puede contener variables parametrizables, esta ultima será la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable}

Fecha de Inicio Parametrizable: Se podra elegir una fecha inicial utilizando parametros. Este ultimo sera la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable}

Fecha Final Parametrizable: Se podra elegir una fecha final utilizando parametros. Este ultimo será la variable detallada en el .csv subido para el marcador. Ej.: ${nombreVariable}

Fecha Inicio: Utilizando el calendario se seleccionara una fecha inicial.

Fecha Final: Utilizando el calendario se seleccionara una fecha final.

Respool

El respool esta dado por un webservice que permite volver a procesar un contacto que fue atendido debido a la lógica de negocio, permite insertar un contacto como se requiera con alternativos, prioridad, etc.

En el CTI llega un registro.

Dialer: Ventas->, 098344484, 1, Par1=val1:Par2=val2, 091121212:099888888, 1, 12, basetesting, 99, 1001

(campaña, destino, status, parametros y valores, alternativos, reintentos, contactid, nombrebase, prioridad, telefono agente)

Con este dato y el siguiente webservice, es posible agregar cualquier tipo de lógica de negocio al marcador desde Forms o Aplicaciones de 3ros (llega como número primario el primer alternativo ya que se considera que el principal ya fue contactado, de todas formas se puede hacer Reschedule de ese número principal en si mismo).



REST
POST
http://<IP-INTEGRASERVER>/Integra/resources/Dialers/Respool
 
param: @FormParam("callspool") 
 
(json con formato call_spool)
 
{
  "campaign": "Ventas->",
  "destination": "098344484",
  "dialerbase": "basetest"
  "status": 1,
  "contact": 222,
  "retries": 0,
  "data": "Par1=Val1:Par2=Val2",
  "alternatives": "098124484",
  "priority": 99,
  "agentphone": "1001"
}

CTI

Ejemplo Evento CTI que llega al Browser.

CampanaDialer<-;M=098344484;var1=val1:var2=val2;H=0=099124484:M=0=099111111;9999;1001