Download - Manual Desarrollador tecno voz
Approach
Manual del
Desarrollador
Versión 1.0.37.0
Mayo 2007
Approach
1
1. Tabla de Contenidos 1. Tabla de Contenidos ............................................................................................ 1
2. Componente TCCAgent ...................................................................................... 5
3. Acerca de la componente TCCAgent .................................................................. 7
4. Conexión con TV Phone ...................................................................................... 8
5. Propiedades.......................................................................................................... 9
Propiedad AcdNumber........................................................................................................... 11
Propiedad Active..................................................................................................................... 11
Propiedad Agent ..................................................................................................................... 11
Propiedad AnswerDelay......................................................................................................... 11
Propiedad AutoCallAccept ..................................................................................................... 12
Propiedad CallBackDate........................................................................................................ 12
Propiedad CallBackTime ....................................................................................................... 12
Propiedad CallcentIni ............................................................................................................ 13
Propiedad CallProgressMode ................................................................................................ 13
Propiedad CcToolbarIni......................................................................................................... 13
Propiedad CharsToClipboard ................................................................................................ 14
Propiedad Data_ActAlias....................................................................................................... 14
Propiedad Data_ActGroup..................................................................................................... 14
Propiedad Data_ConsultationExtAllowed............................................................................. 14
Propiedad Data_DateTime..................................................................................................... 15
Propiedad Data_DID.............................................................................................................. 15
Propiedad Data_Direction ..................................................................................................... 15
Propiedad Data_FirstAgent ................................................................................................... 15
Propiedad Data_FirstWsNumber .......................................................................................... 16
Propiedad Data_IVRParameter............................................................................................. 16
Propiedad Data_Phone .......................................................................................................... 17
Propiedad Data_RecFileDir................................................................................................... 17
Propiedad Data_RecFileExt .................................................................................................. 17
Propiedad Data_RecFileName .............................................................................................. 17
Propiedad Data_Record ......................................................................................................... 18
Propiedad Data_RefId............................................................................................................ 18
Propiedad Data_ReqSkill ....................................................................................................... 18
Propiedad Data_SourceAgent................................................................................................ 18
Approach
2
Propiedad Data_SourceWsNumber....................................................................................... 19
Propiedad Data_Subject......................................................................................................... 19
Propiedad Data_Table............................................................................................................ 19
Propiedad Data_Type............................................................................................................. 19
Propiedad ExtGroup .............................................................................................................. 20
Propiedad FullName.............................................................................................................. 20
Propiedad IniFileName.......................................................................................................... 20
Propiedad Internal ................................................................................................................. 21
Propiedad IntGroup ............................................................................................................... 21
Propiedad ParamRetIVR ....................................................................................................... 21
Propiedad RecordCallEnabled............................................................................................... 21
Propiedad ReturnToIVREnabled .......................................................................................... 22
Propiedad SkillSet .................................................................................................................. 22
Propiedad State....................................................................................................................... 22
Propiedad Timeout ................................................................................................................. 23
Propiedad Version .................................................................................................................. 23
Propiedad WrapupMode ........................................................................................................ 23
Propiedad WsNumber ............................................................................................................ 24
6. Métodos .............................................................................................................. 25
Método AnswerCall ................................................................................................................ 27
Método AlternateCall ............................................................................................................. 27
Método CancelCall ................................................................................................................. 27
Método ChangePassword....................................................................................................... 28
Método CheckPrefix............................................................................................................... 28
Método ConferenceCall ......................................................................................................... 28
Método ConsultationExt ........................................................................................................ 29
Método ConsultationPos........................................................................................................ 29
Método DND........................................................................................................................... 29
Método EndCall...................................................................................................................... 30
Método EndChat .................................................................................................................... 30
Método EnteringDigits........................................................................................................... 30
Método HangupCall ............................................................................................................... 31
Método HoldCall .................................................................................................................... 31
Método Login.......................................................................................................................... 31
Método Logout........................................................................................................................ 32
Método MakeCall ................................................................................................................... 33
Approach
3
Método Open .......................................................................................................................... 33
Método QueryQuickMem....................................................................................................... 33
Método QuerySessions ........................................................................................................... 34
Método QuerySkills ................................................................................................................ 34
Método QuickMem_Count..................................................................................................... 35
Método QuickMem_ActGroup............................................................................................... 35
Método QuickMem_PhoneDesc ............................................................................................ 35
Método QuickMem_PhoneNum ............................................................................................ 36
Método RecordCall................................................................................................................. 36
Método RecordChat................................................................................................................ 36
Método RetrieveCall ............................................................................................................... 37
Método ReturnToIVR ............................................................................................................ 37
Método SendChatMessage..................................................................................................... 37
Método Session_Count........................................................................................................... 38
Método Session_FullName .................................................................................................... 38
Método Session_Name........................................................................................................... 38
Método Session_SkillSet ........................................................................................................ 39
Método Session_State............................................................................................................. 39
Método Session_WsNumber .................................................................................................. 39
Método Skill_Descrip ............................................................................................................. 40
Método Skill_CallQCount...................................................................................................... 40
Método SupervisorHelp.......................................................................................................... 41
Método TerminateChat .......................................................................................................... 41
Método WaitCall..................................................................................................................... 41
Método TerminateChat .......................................................................................................... 42
Método WriteLog.................................................................................................................... 42
Eventos ...................................................................................................................... 43
Evento OnBackToService ...................................................................................................... 44
Evento OnCall2Hangup......................................................................................................... 44
Evento OnCall2Progress........................................................................................................ 44
Evento OnCallProgress.......................................................................................................... 44
Evento OnChatInitiated ......................................................................................................... 44
Evento OnChatMessage......................................................................................................... 45
Evento OnChatTerminated .................................................................................................... 45
Evento OnConsultationHangup ............................................................................................ 45
Evento OnConsultationProgress ........................................................................................... 45
Approach
4
OnDataChange Event ............................................................................................................ 45
Evento OnHangup.................................................................................................................. 46
Evento OnOutOfService......................................................................................................... 46
Evento OnSocketClosed ......................................................................................................... 46
Evento OnSocketError ........................................................................................................... 46
Evento OnStateChange.......................................................................................................... 46
Evento OnSupervisorHelpChange......................................................................................... 47
Tipos .......................................................................................................................... 48
Tipo TCallProgressCode ........................................................................................................ 49
Tipo TCallProgressEvent ....................................................................................................... 49
Tipo TCallProgressMode ....................................................................................................... 50
Tipo TChatInitiatedEvent ...................................................................................................... 50
Tipo TChatMessageEvent ...................................................................................................... 50
Tipo TChatTerminatedEvent ................................................................................................. 50
Tipo TConsultationProgressEvent......................................................................................... 51
Tipo TData_Direction ............................................................................................................ 51
Tipo TData_Type.................................................................................................................... 51
Tipo TState.............................................................................................................................. 51
Tipo TSocketErrorEvent ........................................................................................................ 52
7. Errores ............................................................................................................... 53
Componente TCCAgent
5
2. Componente TCCAgent
Unit CCAgent
Descripción La componente TCCAgent se emplea para controlar los puestos de trabajo de los agentes del centro de atención ApproachApproachApproachApproach.
Durante la configuración del sistema se le asigna al puesto de trabajo un número de subcentro en el rango 1..99, que se puede consultar en la propiedad AcdNumber y un número de puesto en el rango (1..240) que se refleja en la propiedad WsNumber.
A los efectos de la componente el puesto adopta una modalidad de trabajo que expresa el tipo de actividad que se está desarrollando en el puesto:
• Realizando una consulta • Realizando una llamada a pedido • Trabajando para un grupo ACD • No molestar • Fuera del sistema Toda vez que el puesto recibe una llamada o una consulta se produce el evento OnDataChange y los datos correspondientes quedan disponibles en aquellas propiedades que tienen el prefijo Data_ en el nombre. Los datos pueden utilizarse para decidir el tipo de procesamiento que se le va a dar a la llamada o consulta; mínimamente habría que desplegarlos para conocimiento del agente.
La propiedad State refleja el estado del puesto para el sistema. El estado del puesto está muy ligado tanto a la modalidad de trabajo como a las operaciones que se realizan con la llamada. Es un elemento tanto informativo como de control; el sistema siempre verifica que el puesto se encuentre en el estado correcto antes de procesar los requerimientos que se le formulan. Cada vez que el estado cambia se produce un evento OnStateChange.
La figura siguiente muestra en un diagrama de transición (transición=cambio de estado) la forma en que se pueden combinar los métodos y eventos a lo largo de una sesión. Cada estado se representa con un óvalo que tiene el nombre del estado en su interior. La transición se representa con una flecha que conecta el estado anterior al estado nuevo. Cada flecha lleva uno o más rótulos que denotan nombres de métodos o de eventos que provocan esa transición. El estado sLogout es el estado inicial porque es el que tiene el puesto cuando se activa la componente al invocarse el método Open.
Componente TCCAgent
6
HangupCall
EndCall EndCall
EndCall
HangupCall
HangupCall
AlternateCall RetrieveCall ConferenceCall
ConsultationPos AlternateCall HoldCall
Logout
AnswerCall
OnDataChange DND
MakeCall WaitCall
HangupCall
ConsultationPos
Logout
Login
Open
sCnsCall
sLogout
sDND sIdle
sLocked
sConnect sDisconnect
sHold
ConferenceCall
Componente TCCAgent
7
3. Acerca de la componente TCCAgent
Propósito: La componente TCCAgent permite controlar las operaciones telefónicas en los puestos del centro de atención de ApproachApproachApproachApproach.
Operaciones tales como llamar por teléfono, retener la llamada en curso, retomarla, consultar con otro puesto o pedirle al sistema la grabación de la conversación, entre otras, pueden incorporarse a la aplicación del agente empleando TCCAgent.
Acción: • Antes de emplear los métodos y propiedades de la componente debe invocarse el método
Open para activarla. • Para que un agente entre y salga del sistema se emplea el método Login y Logout • Para poner el puesto en espera de llamada se emplea el método WaitCall. • El evento OnDataChange notifica la llegada de una llamada al puesto; ese es el momento
de buscar y desplegar los datos al agente. • Para aceptar la llamada se emplea el método AnswerCall el cual abre el canal de audio e
inicia la conversación. • Para realizar operaciones de consulta y transferencia con la llamada se emplea el método
ConsultationPos. • Para alternar la conversación entre la llamada y el puesto que se consulta se utiliza el
método AlternateCall. • Para retener y retomar la llamada se emplean los métodos HoldCall y RetrieveCall. • Para guardar la grabación de la conversación se emplea el método RecordCall. • Para cortar y seguir trabajando administrativamente con la llamada (wrap-up) se emplea
el método HangupCall (siempre devuelve el control al IVR).. • Para indicar la finalización del trabajo administrativo sobre la llamada y dejar el puesto
disponible para nuevas llamadas se emplea el método EndCall. • Para realizar una llamada a un teléfono especificado se emplea el método MakeCall.
Componente TCCAgent Conexión con TVPhone
8
4. Conexión con TV Phone
Propósito:
Posibilitar el envío de tonos DTMF en una comunicación de Vos sobre IP.
Para ello es necesario crear un PipeClient con el nombre “TvPhonePipe”.
Ejemplo en Delphi:
PipeClient := TPipeClient.Create(Self);
PipeClient.PipeName := 'TvPhonePipe';
PipeClient.Connect(2000);
Una vez establecida la conexión con el PipeServer se pueden enviar, de ser necesario, los tonos DTMF del siguiente modo.
Ejemplo en Delphi:
PipeClient.WriteString('1');
PipeClient.WriteString('2');
PipeClient.WriteString('3');
PipeClient.WriteString('4');
PipeClient.WriteString('5');
PipeClient.WriteString('6');
PipeClient.WriteString('7');
PipeClient.WriteString('8');
PipeClient.WriteString('9');
PipeClient.WriteString('0');
PipeClient.WriteString('#');
PipeClient.WriteString('*');
Componente TCCAgent Propiedades
9
5. Propiedades √ AcdNumber
√ Active
√ Agent
√ AnswerDelay
√ AutoCallAccept
√ CallBackDate
√ CallBackTime
√ CallcentIni
√ CallProgressMode
√ CctoolbarIni
√ CharsToClipboard
√ Data_ActAlias
√ Data_ActGroup
√ Data_ConsultationExtAllowed
√ Data_DateTime
√ Data_DID
√ Data_Direction
√ Data_FirstAgent
√ Data_FirstWsNumber
√ Data_IVRParameter
√ Data_Phone
√ Data_RecFileDir
√ Data_RecFileExt
√ Data_RecFileName
√ Data_Record
√ Data_RefId
√ Data_ReqSkill
√ Data_SourceAgent
√ Data_SourceWsNumber
√ Data_Subject
√ Data_Table
√ Data_Type
√ ExtGroup
Componente TCCAgent Propiedades
10
√ FullName
√ IniFileName
√ Internal
√ IntGroup
√ ParamRetIVR
√ RecordCallEnabled
√ ReturnToIVREnabled
√ SkillSet
√ State
√ TimeOut
√ WrapupMode
√ WsNumber
√ Version
Componente TCCAgent Propiedades
11
Propiedad AcdNumber
Declaración: property AcdNumber: Integer;
Descripción: Número de subsistema ACD (1..99) al cual pertenece el puesto.
La componente inicializa esta propiedad con el valor de la variable “ACDNum” del archivo C:\Tecnovoz\Wsparms.ini cuando se invoca al método Open. Junto con la propiedad WsNumber identifica plenamente el puesto para el sistema.
* Sólo lectura
Propiedad Active
Declaración: property Active: boolean;
Descripción: Indica si la componente esta o no activa (Active=Trae).
Esta propiedad se inicializa cuando se invoca al método Open.
* Sólo lectura
Propiedad Agent
Declaración: property Agent: string;
Descripción: Identificación del agente que está trabajando en el puesto.
Esta propiedad toma su valor luego de ejecutarse el método Login.
* Sólo lectura
Propiedad AnswerDelay
Declaración: property AnswerDelay: Integer;
Descripción: Tiempo máximo en segundos que tiene el agente para responder una llamada antes de perderla.
Este valor es tomado de la variable correspondiente del archivo de configuración CallCent.ini.
Si la variable no esta declarada, no se limita el tiempo máximo de respuesta.
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CallcentIni.
* Sólo lectura
Componente TCCAgent Propiedades
12
Propiedad AutoCallAccept
Declaración: property AutoCallAccept: Integer;
Descripción: Indicador para determinar si la llamada será atendida en forma automática o manual en el puesto del agente.
Este valor es tomado de la variable correspondiente del archivo de configuración CcToolbar.ini.
Valores posibles:
0 - Ninguna. (default) 1 - Solo las llamadas a pedido. 2 - Solo las llamadas del IVR. 3 - Todas.
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CctoolbarIni.
* Sólo lectura
Propiedad CallBackDate
Declaración: property CallBackDate: TDate;
Descripción: Fecha en la que se desea volver a contactar el número de la llamada en curso de una campaña preactiva.
Esta propiedad se debe setear antes de terminar la llamada en curso.
Cuando esta propiedad tiene valor la llamada se reagenda en la tabla de llamadas para una nueva comunicación junto con el valor de la propiedad CallBackTime generando un nuevo registro en la tabla asociada al modelo de conversación de la actividad.
* Lectura / escritura
Propiedad CallBackTime
Declaración: property CallBackTime: TTime;
Descripción: Hora en la que se desea volver a contactar el número de la llamada en curso de una campaña preactiva.
Esta propiedad se debe setear antes de terminar la llamada en curso.
Cuando esta propiedad tiene valor la llamada se reagenda en la tabla de llamadas para una nueva comunicación junto con la propiedad CallBackDate generando un nuevo registro en la tabla asociada al modelo de conversación de la actividad.
* Lectura / escritura
Componente TCCAgent Propiedades
13
Propiedad CallcentIni
Declaración: property CallcentIni: TMemIniFile;
Descripción: Trae a memoria el contenido de las variables declaradas en CallCent.ini. Permite acceder a cada variable en forma individual.
* Solo lectura
Propiedad CallProgressMode
Declaración: property CallProgressMode: TCallProgressMode;
Descripción: Indica si se van a escuchar o no los tonos durante el “Call Progress” de las llamadas a pedido.
Valores posibles:
0 - no (default) 1 – si
Este indicador tiene efecto sólo si el valor de la propiedad AutoCallAccept es 1 o 3.
Este valor es tomado de la variable correspondiente del archivo de configuración CcToolbar.ini.
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CctoolbarIni.
* Sólo lectura
Propiedad CcToolbarIni
Declaración: property CcToolbarIni: TMemIniFile;
Descripción: Trae a memoria el contenido de las variables declaradas CcToolbar.ini. Permite acceder a cada variable en forma individual.
* Solo lectura
Componente TCCAgent Propiedades
14
Propiedad CharsToClipboard
Declaración: property CharsToClipboard: Integer;
Descripción: Cantidad de caracteres de "Parámetros IVR" que se desea enviar al Clipboard contando desde el primero. Esta característica es útil para los casos en que se quiera pasar información a otra aplicación en el momento que ingresa una llamada al puesto.
* Solo lectura
Propiedad Data_ActAlias
Declaración: property Data_ActAlias: string;
Descripción: Alias de la campaña.
Permite relacionar la llamada a pedido o segunda llamada con la campaña. El valor de esta propiedad queda seteado después de producirse el evento OnDataChange
* Sólo lectura
Propiedad Data_ActGroup
Declaración: property Data_ActGroup: string;
Descripción: Obsoleto. Queda por contabilidad con versiones anteriores.
* Sólo lectura
Propiedad Data_ConsultationExtAllowed
Declaración: property Data_ConsultationExtAllowed: boolean;
Descripción: Indicador para permitir o no realizar una consulta a un interno.(True = lo permite).
El valor de esta propiedad queda seteado después de producirse el evento OnDataChange
* Sólo lectura
Componente TCCAgent Propiedades
15
Propiedad Data_DateTime
Declaración: property Data_DateTime: TDateTime;
Descripción: Feha y hora de la llamada.
El valor de esta propiedad queda seteado después de producirse el evento OnDataChange
* Sólo lectura
Propiedad Data_DID
Declaración: property Data_DNIS: string;
Descripción: Número que discó el llamante. Este recurso está sólo disponible para tramas digitales.
El valor de esta propiedad queda seteado después de producirse el evento OnDataChange
* Sólo lectura
Propiedad Data_Direction
Declaración: property Data_Direction: TData_Direction;
Descripción: Dirección de la llamada conectada al puesto.
Valor Orden Significado
ddNone 0 No hay llamada conectada (consulta puesto a puesto)
ddIncoming 1 Llamada entrante
ddOutgoing 2 Llamada saliente
* Sólo lectura
Propiedad Data_FirstAgent
Declaración: property Data_FirstAgent: string;
Descripción: Nombre del primer agente que procesó la llamada en curso
Véase el ejemplo en la propiedad Data_FirstWsNumber
* Sólo lectura
Componente TCCAgent Propiedades
16
Propiedad Data_FirstWsNumber
Declaración: property Data_FirstWsNumber: Integer;
Descripción: Número del primer puesto que procesó la llamada en curso.
Véase con un ejemplo: el agente ABC del puesto 14 recibe la llamada, la transfiere al agente PQR del puesto 12 y este a su vez al agente XYZ del puesto 45. Al recibirse la llamada en el puesto 45, con el evento OnDataChange se observa lo siguiente:
la propiedad tiene el valor
Data_SourceAgent ‘PQR’
Data_SourceWsNumber 12
Data_FirstAgent ‘ABC’
Data_FirstWsNumber 14
* Sólo lectura
Propiedad Data_IVRParameter
Declaración: property Data_IVRParameter: string;
Descripción: Parámetro enviado por el IVR a la aplicación.
Este parámetro puede emplearse para enviar datos de la llamada desde el IVR a la aplicación. Por ejemplo, el IVR puede suministrarle a la aplicación la identificación de la persona que llama para que se busquen sus datos y se le muestren al agente (screen pop-up) antes de que la llamada se conecte; así el agente sabe con quien va a hablar.
Este parámetro puede construirse como la concatenación de dos o mas datos, de manera que el pasaje de información no esté limitado a un dato simple. Aún más, distintas aplicaciones pueden requerir el pasaje de distintos datos desde el IVR, lo cual puede manejarse sin inconvenientes. Para instrucciones acerca de cómo se manipula el parámetro en el IVR consultar el manual del producto.
* Sólo lectura
Componente TCCAgent Propiedades
17
Propiedad Data_Phone
Declaración: property Data_Phone: string;
Descripción: Número de teléfono del que llama o a quien el sistema llama.
En campañas entrantes corresponde al ANI en tramas digitales siempre y cuando el recurso esté habilitado a nivel trama y no esté bloqueado. En sistemas analógicos corresponde al Calles:ID; las condiciones que deben darse para obtener este dato es que la placa de telefonía soporte este recurso, esté correctamente configurada, la red pública tenga habilitado el envío de esta información, la envíe y el usuario no lo haya bloqueado en la llamada.
En campañas salientes corresponde al número al cual el sistema llamó.
* Sólo lectura
Propiedad Data_RecFileDir
Declaración: property Data_RecFileDir: string;
Descripción: Directorio donde el IVR va a ubicar el archivo de audio definitivo con la grabación de la conversación.
Nota: La grabación recién está disponible una vez cortada la llamada.
* Sólo lectura
Propiedad Data_RecFileExt
Declaración: property Data_RecFileExt: string;
Descripción: Extensión que el IVR le asignó al archivo de audio definitivo con la grabación de la conversación.
Nota: La grabación recién está disponible una vez cortada la llamada.
* Sólo lectura
Propiedad Data_RecFileName
Declaración: property Data_RecFileName: string;
Descripción: Nombre que el IVR le asignó al archivo de audio definitivo con la grabación de la conversación.
Nota: La grabación recién está disponible una vez cortada la llamada.
Componente TCCAgent Propiedades
18
* Sólo lectura
Propiedad Data_Record
Declaración: property Data_Record: integer;
Descripción: Número del registro de trabajo del IVR.
Para más información acerca del registro de trabajo del IVR consultar el manual del sistema.
* Sólo lectura
Propiedad Data_RefId
Declaración: property Data_RefId: string;
Descripción: Número de referencia de llamada.
Cuando el sistema recibe o emite una llamada le asigna un número de referencia que la identifica. Este número es único y se refleja en los logs del sistema. Tener en cuenta que los números se pueden repetir a largo plazo cuando se agote el rango de numeración y el sistema arranque nuevamente desde el cero.
* Sólo lectura
Propiedad Data_ReqSkill
Declaración: property Data_ReqSkill: integer;
Descripción: Número de habilidad con la que se atiende la llamada.
* Sólo lectura
Propiedad Data_SourceAgent
Declaración: property Data_SourceAgent: string;
Descripción: Identificación del agente del cual proviene la consulta o la llamada transferida.
* Sólo lectura
Componente TCCAgent Propiedades
19
Propiedad Data_SourceWsNumber
Declaración: property Data_SourceWsNumber: integer;
Descripción: Número del puesto que inicia la consulta o puso la llamada en espera.
* Sólo lectura
Propiedad Data_Subject
Declaración: property Data_Subject: string;
Descripción: Texto indicando el motivo de la consulta.
El valor de esta propiedad la establece el agente que inicia la consulta a un puesto al invocar al método ConsultationPos.
* Sólo lectura
Propiedad Data_Table
Declaración: property Data_Table: string;
Descripción: Especificación de la tabla de llamadas que contiene el registro de trabajo del IVR.
Para más información acerca de la tabla de llamadas del IVR consultar el manual del sistema.
* Sólo lectura
Propiedad Data_Type
Declaración: property Data_Type: TData_Type;
Descripción: Tipo de notificación que se produce con el evento OnDataChange.
Cuando llega el evento OnDataChange se puede inspeccionar la propiedad Data_Type para determinar el tipo de procesamiento requerido. La tabla siguiente muestra los valores posibles y su significado.
Valor Orden Significado
dtCall 1 Llamada normal desde el IVR
dtConsultation 2 Consulta puesto a puesto
dtTransferedCall 3 Llamada transferida desde otro puesto
Componente TCCAgent Propiedades
20
No todas las propiedades Data_ se pueden utilizar cuando se produce el evento OnDataChange; esto depende del valor de la propiedad Data_Type según se muestra a continuación:
Valor Propiedades afectadas
dtCall Data_Direction
dtConsultation
dtTransferedCall
* Sólo lectura
Propiedad ExtGroup
Declaración: property ExtGroup : string;
Descripción: Grupo de actividades default para llamadas manuales externas.
Este valor es tomado del archivo de configuración CallCent.ini dentro de la sección [Call-center] en la variable ExtGroup = s donde s es una letra en el rango “A”..”M”
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CallcentIni.
* Sólo lectura
Propiedad FullName
Declaración: property FullName: string;
Descripción: Nombre y apellido del agente.
* Sólo lectura
Propiedad IniFileName
Declaración: property IniFileName: string;
Descripción: Para trabajar con Terminal Server y más de un Acdsrv: se puede especificar un nombre de archivo de configuración en lugar de Wsparms.ini
* Lectura / escritura
Componente TCCAgent Propiedades
21
Propiedad Internal
Declaración: property Internal: integer;
Descripción: Cantidad máxima de dígitos para llamar a un interno.
Este valor es tomado del archivo de configuración CallCent.ini dentro de la sección [Call-center] en la variable Internal = n donde n es un valor numérico.
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CallcentIni.
* Lectura
Propiedad IntGroup
Declaración: property IntGroup: string;
Descripción: Grupo de actividades default para llamadas manuales a internos.
Este valor es tomado del archivo de configuración CallCent.ini dentro de la sección [Call-center] en la variable IntGroup = s donde s es una letra en el rango “A”..”M”
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CallcentIni.
* Lectura
Propiedad ParamRetIVR
Declaración: property ParamRetIVR: Integer;
Descripción: Indica si se pedirá ó no el ingreso del parámetro de devolución al IVR (0 = no; 1 = si).
Este valor es tomado del archivo de configuración CcToolbar.ini dentro de la sección [Common] en la variable ParamRetIVR = n donde n puede ser 0 ó 1.
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CctoolbarIni.
* Lectura
Propiedad RecordCallEnabled
Declaración: property RecordCallEnabled: Boolean;
Descripción: Habilita el botón de grabación (Default = yes)
Componente TCCAgent Propiedades
22
Este valor es tomado del archivo de configuración CcToolbar.ini dentro de la sección [Common] en la variable RecordCall = s donde s puede ser yes ó no.
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CctoolbarIni.
* Lectura
Propiedad ReturnToIVREnabled
Declaración: property ReturnToIVREnabled: Boolean;
Descripción: Habilita el botón de retorno al IVR (Default = yes)
Este valor es tomado del archivo de configuración CcToolbar.ini dentro de la sección [Common] en la variable ReturnToIVR = s donde s puede ser yes ó no.
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CctoolbarIni.
* Lectura
Propiedad SkillSet
Declaración: property SkillSet: string;
Descripción: Lista de habilidades que tiene asignadas el agente y su correspondiente nivel en la misma.
El formato es:
50=1,40=1,90=1,77=10,95=1
* Lectura
Propiedad State
Declaración: property State: TState;
Descripción: Estado actual del puesto
Cuando cambia State se produce un evento OnStateChange.
Valor Orden Significado
sIdle 2 ocioso
sConnect 3 conectado
sDisconnect 4 desconectado
sLogout 5 fuera del sistema
Componente TCCAgent Propiedades
23
sLocked 6 loqueado por llamada/consulta
sStop 7 fuera de servicio
sDND 8 no molestar
sHold 9 llamada retenida
sCnsCall 13 en consulta (sin llamada retenida)
sUnknow 0 otro valor
* Lectura
Propiedad Timeout
Declaración: property Timeout: Integer;
Descripción: Tiempo máximo en segundos para la conexión del socket y para la espera en obtener la respuesta a un requerimiento.
El valor default es 10 segundos.
* Lectura / Escritura
Propiedad Version
Declaración: property Version: string;
Descripción: Contiene el número de versión de la componente
* Lectura
Propiedad WrapupMode
Declaración: property WrapupMode: Integer;
Descripción: Indica si el agente debe quedar en estado de actualización de datos luego de finalizar la llamada.
Modos posibles de WrapUP
0 = nunca (default) 1 = siempre. 2 = solo cuando corta el cliente.
Este valor es tomado del archivo de configuración CcToolbar.ini dentro de la sección [Common] en la variable WrapupMode = n donde s puede ser 0, 1, 2
Esta variable se puede redefinir localmente en el archivo de configuración C:\Tecnovoz\WsParms.ini en la sección [CcToolBar], tomando esta redefinición como efectiva.
Componente TCCAgent Propiedades
24
Esta propiedad es obsoleta y se mantiene por compatibilidad con versiones anteriores, pudiéndose tomar el valor de la misma de la propiedad CctoolbarIni.
* Sólo lectura
Propiedad WsNumber
Declaración: property WsNumber: Integer;
Descripción: Número puesto (1..240).
La componente inicializa esta propiedad con el valor de la variable “WsNumber” del archivo C:\Tecnovoz\Wsparms.ini cuando se invoca al método Open.
Junto con la propiedad AcdNumber identifica plenamente el puesto para el sistema.
* Sólo lectura
METODOS
25
6. Métodos √ AnswerCall
√ AlternateCall
√ CancelCall
√ ChangePassword
√ CheckPrefix
√ ConferenceCall
√ ConsultationExt
√ ConsultationPos
√ DND
√ EndCall
√ EndChat
√ EnteringDigits
√ HangupCall
√ HoldCall
√ Login
√ Logout
√ MakeCall
√ Open
√ QueryQuickMem
√ QuerySessions
√ QuerySkills
√ QuickMem_Count
√ QuickMem_ActGroup
√ QuickMem_PhoneDesc
√ QuickMem_PhoneNum
√ RetrieveCall
√ RecordCall
√ RecordChat
√ ReturnToIVR
√ SendChatMessage
√ Session_Count
√ Session_FullName
METODOS
26
√ Session_Name
√ Session_SkillSet
√ Session_State
√ Session_WsNumber
√ Skill_Descrip
√ Skill_CallQCount
√ SupervisorHelp
√ TerminateChat
√ WaitCall
√ WriteLog
METODOS
27
Método AnswerCall
Declaración: function AnswerCall: Integer;
Descripción: Responde la llamada recibida.
Estado válido: El método AnswerCall se debe invocar luego de recibido el evento OnDataChange. El estado del puesto tiene que ser sLocked. Luego de invocado el método el estado pasa a ser sConnect.
Devuelve: Número de error; 0=éxito.
Método AlternateCall
Declaración: function AlternateCall: Integer;
Descripción: Alterna el audio entre la primera y la segunda llamada
Estado válido: El estado del puesto es sHold y cada vez que se invoca el método, se alterna entre ambas llamadas.
Devuelve: Número de error; 0=éxito.
Método CancelCall
Declaración: function CancelCall: Integer;
Descripción: Cancela el intento de llamada en curso.
Estado válido: El estado del puesto es sIdle.
Devuelve: Número de error; 0=éxito.
METODOS
28
Método ChangePassword
Declaración: function ChangePassword(CurPwd, NewPwd: string): Integer;
Descripción: Permite cambiar la contraseña del agente que esta logueado en el puesto. El primer parámetro es la contraseña actual y el segundo es la nueva.
Estado válido: El estado del puesto debe ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método CheckPrefix
Declaración: function CheckPrefix(Phone: string; var ActivityGroup: string): Integer;
Descripción: Esta función se utiliza antes de ejecutar MakeCall si es que se quiere que se utilicen distintos grupos de actividades según el destino de la misma.
Devuelve el grupo de actividad (ActivityGroup) según el número a discar (Phone).
Si los primeros n digitos de Phone fueron previamente cargados en “Prefijos de discado” de TmAdmin, la llamada se hará a través del ActivityGroup correspondiente.
Estado válido: El estado del puesto debe ser:
sDND, sIdle, sConnect, sHold
Devuelve: Número de error; 0=éxito.
Método ConferenceCall
Declaración: function ConferenceCall: Integer;
Descripción: Pone en conferencia con primera y segunda llamada.
Estado válido: El estado del puesto debe ser sHold y estar con una segunda llamada.
METODOS
29
Devuelve: Número de error; 0=éxito.
Método ConsultationExt
Declaración: function ConsultationExt(Extension: string): Integer;
Descripción: Consulta a un interno (Extensión) de la PABX.
Estado válido: El estado del puesto debe ser sConnect.
Devuelve: Número de error; 0=éxito.
Método ConsultationPos
Declaración: function ConsultationPos(DestWsNumber: Integer; Subject: string): Integer;
Descripción: Consulta a un puesto (DestWsNumber) del subcentro. Se le puede agregar el motivo (Subject) a la consulta que puede ser consultado en la propiedad “Data_Subject” en el puesto de destino
Estado válido: El puesto de origen tiene que estar sIdle o sDND, el puesto de destino tiene que estar sIdle y sin llamada a pedido.
Devuelve: El resultado puede ser 0 = llamando o 1 = ocupado.
Método DND
Declaración: function DND: Integer;
Descripción: Pone al puesto en DND al terminar la llamada ó de inmediato si el estado es sIdle
Estado válido: El estado del puesto debe ser:
sCnsCall, sConnect, sDisconnect, sHold, sIdle, sLocked
METODOS
30
Devuelve: Número de error; 0=éxito.
Método EndCall
Declaración: function EndCall: Integer;
Descripción: Termina la llamada en curso dejando al puesto en sIdle ó sDND si se invocó al método DND.
Estado válido: El estado del puesto debe ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método EndChat
Declaración: function EndChat: Integer;
Descripción: Termina el chat en curso.
Estado válido: El estado del puesto debe ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método EnteringDigits
Declaración: function EnteringDigits(Value: Boolean): Integer;
Descripción: Enciende (value = true) / apaga (value = false) el indicador correspondiente. Debe ser invocado cuando el agente se dispone a realizar una llamada a pedido o consulta.
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
METODOS
31
Devuelve: Número de error; 0=éxito.
Método HangupCall
Declaración: function HangupCall: Integer;
Descripción: Corta la llamada en curso. El puesto queda en estado sDisconnect si se encontraba en:
sCnsCall, sConnect, sHold, sIdle, sLocked
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método HoldCall
Declaración: function HoldCall: Integer;
Descripción: Retiene la llamada en curso quedando el puesto en estado sHold.
Estado válido: El estado del puesto debe ser: sConnect
Devuelve: Número de error; 0=éxito.
Método Login
Declaración: function Login (AAgent: String) : Integer;
Descripción: Habilita la entrada del agente al sistema.
El parámetro AAgent es la identificación del agente y su password según se ingresó en el menú “Administración de agentes” del programa de Administración y Mantenimiento TmAdmin.
Es el primer método que debe invocarse después del método Open. El puesto queda en la modalidad no molestar hasta que la aplicación decida cambiarla a través de los métodos ConsultationPos, MakeCall, WaitCall o Logout.
METODOS
32
El método Login setea las siguientes propiedades:
Agent Identificación del agente que está trabajando en el puesto
SkillSet Conjunto de habilidades del agente (se pueden definir hasta 16 habilidades):
Es una cadena de caracteres con el siguiente formato:
Sn=Sl, Sn=Sl, … ,Sn=Sl
donde Sn es el nro. de habilidad (en un rango de 1..99)
Sl es el nivel o calificación (en un rango de 0..10)
siendo el primero la habilidad principal del agente.
Estado válido: El método Login se puede invocar sólo cuando el puesto está en estado sLogout, ya sea a través del método Open o del método Logout.
Devuelve: Número de error; 0=éxito.
Método Logout
Declaración: function Logout: Integer;
Descripción: Saca el agente del sistema y actualiza los datos de actividad del puesto.
Si hay una llamada o una sesión de chat en curso, la corta. Si el puesto tenía asignada una llamada aún no aceptada (evento OnDataChange no honrado con el método AnswerCall) el puesto pierde la llamada, que se devuelve al sistema; esto sirve para que la aplicación fuerce el Logout cuando no ve signos de actividad en el puesto luego de un cierto tiempo de haber mostrado los datos de la llamada.
Estado válido: El método Logout se puede invocar cuando el puesto está en estado sDND o sLocked.
Devuelve: Número de error; 0=éxito.
METODOS
33
Método MakeCall
Declaración: function MakeCall (Phone: string; ActivityGroup: string; AAlias: string = ''): Integer;
Descripción: Inicia una llamada al teléfono (Phone) especificado, para el grupo de actividades (ActivityGroup en el rango “A”..”M”). A la llamada se le puede asignar un alias (AAlias) para poder cuantificar las llamadas manuales hechas en cada uno.
Estado válido: El estado del puesto debe ser: sConnect, sDND
Devuelve: Número de error; 0=éxito.
Método Open
Declaración: function Open: Integer;
Descripción: Activa la componente.
Prepara la componente para su uso: inicializa las propiedades y establece la conexión TCP/IP con AcdSrv.
El método Open tiene que invocarse obligatoriamente antes de emplear cualquier propiedad o método de la componente TCCAgent.
Inicializa el puesto en estado sLogout.
Devuelve: Número de error; 0=éxito.
Método QueryQuickMem
Declaración: function QueryQuickMem (Skill: Integer): Integer;
Descripción: Obtiene la lista de discado rápido para la habilidad principal del agente.
Una vez ejecutado el método se pueden consultar los siguientes métodos:
QuickMem_Count, QuickMem_PhoneDesc, QuickMem_PhoneNum
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
METODOS
34
Devuelve: Número de error; 0=éxito.
Método QuerySessions
Declaración: function QuerySessions: Integer;
Descripción: Obtiene la información de las sesiones en curso.
Una vez ejecutado el método se pueden consultar los siguientes métodos:
Session_Count, Session_FullName, Session_Name, Session_SkillSet, Session_State, Session_WsNumbre
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método QuerySkills
Declaración: function QuerySkills: Integer;
Descripción: Obtiene información de los skills.
Una vez ejecutado el método se pueden consultar los siguientes métodos:
Skill_Descrip, Skill_CallQCount
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
METODOS
35
Método QuickMem_Count
Declaración: function QuickMem_Count: Integer;
Descripción: Devuelve la cantidad de ítems generados a partir de ejecutar QueryQuickMem.
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de ítems.
Método QuickMem_ActGroup
Declaración: function QuickMem_ActGroup(Index: Integer): string;
Descripción: Devuelve el grupo de actividades donde Index esta dentro del rango 0..QuickMem_Count – 1
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: string
Método QuickMem_PhoneDesc
Declaración: function QuickMem_PhoneDesc(Index: Integer): string;
Descripción: Devuelve la descripción del número donde Index esta dentro del rango 0..QuickMem_Count – 1
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: string
METODOS
36
Método QuickMem_PhoneNum
Declaración: function QuickMem_PhoneNum(Index: Integer): string;
Descripción: Devuelve el número telefónico donde Index esta dentro del rango 0..QuickMem_Count – 1
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: string
Método RecordCall
Declaración: function RecordCall(Comment: string): Integer;
Descripción: Pide la grabación de la llamada en curso con el comentario (Comment).
Estado válido: El estado del puesto debe ser: sConnect, sHold
Devuelve: Número de error; 0=éxito.
Método RecordChat
Declaración: function RecordChat (SessionID, Comment: string): Integer;
Descripción: Pide la grabación de la sesión de chat (SessionID) con el comentario (Comment).
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
METODOS
37
Método RetrieveCall
Declaración: function RetrieveCall: Integer;
Descripción: Retoma la llamada en curso.
Estado válido: El estado del puesto debe ser: sHold
Devuelve: Número de error; 0=éxito.
Método ReturnToIVR
Declaración: function ReturnToIVR(ReturnCode: Integer; AppParm: string = ''): Integer;
Descripción: Devuelve la llamada al IVR. Los parámetros pueden tomar los siguientes valores:
ReturnCode AppParm
‘1’ “” La devuelve en forma simple.
‘2’ ‘T’,IntGroup + nº de interno La devuelve a un interno
‘2’ ‘T’,OutGroup + nº de teléfono La devuelve a un teléfono
‘2’ ‘G’,Skill La devuelve a una habilidad
Este mecanismo va acompañado por un modelo de conversación que reaccione a esta devolución.
Estado válido: El estado del puesto debe ser: sConnect, sHold
Devuelve: Número de error; 0=éxito.
Método SendChatMessage
Declaración: function SendChatMessage(SessionID, Text: string): Integer;
Descripción: Envía a la sesión (SessionID) el mensaje (Text).
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
METODOS
38
Devuelve: Número de error; 0=éxito.
Método Session_Count
Declaración: function Session_Count: Integer;
Descripción: Devuelve la cantidad de ítems generados a partir de ejecutar QuerySessions.
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de ítems.
Método Session_FullName
Declaración: function Session_FullName(Index: Integer): string;
Descripción: Devuelve el nombre completo del agente en la sesión (Index) donde Index esta dentro del rango 0..QuickMem_Count – 1
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: string
Método Session_Name
Declaración: function Session_Name(Index: Integer): string;
Descripción: Devuelve la identificación del agente en la sesión (Index) donde Index esta dentro del rango 0..QuickMem_Count – 1
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
METODOS
39
Devuelve: string
Método Session_SkillSet
Declaración: function Session_SkillSet(Index: Integer): string;
Descripción: Devuelve la lista de habilidades que tiene asignadas el agente en la sesión (Index) y su correspondiente nivel en la misma. Index esta dentro del rango 0..QuickMem_Count – 1
El formato es :
50=1,40=1,90=1,77=10,95=1
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: string
Método Session_State
Declaración: function Session_State(Index: Integer): TState;
Descripción: Devuelve el estado del agente en la sesión (Index) donde Index esta dentro del rango 0..QuickMem_Count – 1
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: TState
Método Session_WsNumber
Declaración: function Session_WsNumber(Index: Integer): Integer;
Descripción: Devuelve el número de puesto de la sesión (Index) donde Index esta dentro del rango 0..QuickMem_Count – 1
METODOS
40
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Integer
Método Skill_Descrip
Declaración: function Skill_Descrip(Index: Integer): string;
Descripción: Devuelve la descripción de la habilidad número (Index) donde Index esta dentro del rango 1..99
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: String
Método Skill_CallQCount
Declaración: function Skill_CallQCount(Index: Integer): Integer;
Descripción: Devuelve la cantidad de llamadas en cola de la habilidad número (Index) donde Index esta dentro del rango 1..99
Este dato se refresca cada vez que se ejecuta el método QuerySkills.
Debe tenerse en cuenta que no se debe utilizar para mantener informado al puesto en forma continua, sino en casos donde por ejemplo el agente lleva demasiado tiempo con una llamada y se le quiere informar que hay n llamadas en cola.
Estado válido: El estado del puesto puede ser: sConnect, sDisconnect, sHold
Devuelve: Integer
METODOS
41
Método SupervisorHelp
Declaración: function SupervisorHelp(Value: Boolean): Integer;
Descripción: Pide (value = true) / cancela (value = false) asistencia del supervisor.
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método TerminateChat
Declaración: function TerminateChat(SessionID: string): Integer;
Descripción: Termina la sesión (sessionID) de chat en curso y sigue trabajando.
Esto quiere decir que no queda disponible para recibir otro Chat hasta que ejecute EndChat.
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método WaitCall
Declaración: function WaitCall: Integer;
Descripción: Pone el puesto en espera de llamada.
Al recibir una llamada en el puesto se produce el evento OnDataChange. La llamada puede cancelarse usando el método CancelCall para pasar a la modalidad sDND (= no molestar).
Estado válido: El método WaitCall se puede invocar cuando el puesto está en estado sDND.
Devuelve: Número de error; 0=éxito.
METODOS
42
Método TerminateChat
Declaración: function TerminateChat(SessionID: string): Integer;
Descripción: Termina la sesión (sessionID) de chat en curso y sigue trabajando.
Esto quiere decir que no queda disponible para recibir otro Chat hasta que ejecute EndChat.
Estado válido: El estado del puesto puede ser:
sCnsCall, sConnect, sDisconnect, sDND, sHold, sIdle, sLocked
Devuelve: Número de error; 0=éxito.
Método WriteLog
Declaración: procedure WriteLog (Fmt: string; Args: array of const);
Descripción: Método utilizado para volcar comentarios que ayuden a la localización de fallas en la implementación. El archivo generado se ubica en el disco local C:\Tecnovoz\CcAgent1.log reciclándose como C:\Tecnovoz\CcAgent2.log cuando se alcanzan los 132Kb de tamaño máximo.
Componente TCCAgent Eventos
43
Eventos √ OnBackToService
√ OnCall2Hangup
√ OnCall2Progress
√ OnCallProgress
√ OnChatInitiated
√ OnChatMessage
√ OnChatTerminated
√ OnConsultationHangup
√ OnConsultationProgress
√ OnDataChange
√ OnHangup
√ OnOutOfService
√ OnSocketClosed
√ OnSocketError
√ OnStateChange
√ OnSupervisorHelpChange
Componente TCCAgent Eventos
44
Evento OnBackToService
Declaración: property OnBackToService: TNotifyEvent;
Descripción: El evento se produce cuando se restablece el servicio de Approach.
Evento OnCall2Hangup
Declaración: property OnCall2Hangup: TNotifyEvent;
Descripción: El evento se produce cuando el cliente corta la 2da. llamada.
Evento OnCall2Progress
Declaración: property OnCall2Progress: TCallProgressEvent;
Descripción: El evento se produce para informar que está sucediendo con la 2da. llamada iniciada.
Evento OnCallProgress
Declaración: property OnCallProgress: TCallProgressEvent;
Descripción: El evento OnCallProgress se produce para notificar avances en el intento de llamada que se inició con el método MakeCall.
Evento OnChatInitiated
Declaración: property OnChatInitiated : TChatInitiatedEvent;
Descripción: El evento se produce cuando se inicia una sesión de Chat. Se obtiene el SessionID que identifica la sesión de Chat, el UserID del cliente y un parámetro (Params) con información proveniente del sitio Web donde se implemento el Chat y la aplicación del agente.
Componente TCCAgent Eventos
45
Evento OnChatMessage
Declaración: property OnChatMessage: TChatMessageEvent;
Descripción: El evento se produce cada vez que se recibe un mensaje de Chat.
Los parámetros del evento son la sesión (sessionID), la identificación del interlocutor (userID) y el texto del mensaje.
Evento OnChatTerminated
Declaración: property OnChatTerminated :TChatTerminatedEvent;
Descripción: El evento se produce cuando el interlocutor da por terminada la sesión (sessionID).
Evento OnConsultationHangup
Declaración: property OnConsultationHangup; TNotifyEvent;
Descripción: El evento se produce cuando se detecta el corte del lado del puesto consultado.
Evento OnConsultationProgress
Declaración: property OnConsultationProgress: TConsultationProgressEvent;
Descripción: El evento se produce para informar que está sucediendo con la consulta iniciada.
OnDataChange Event
Declaración: property OnDataChange: TNotifyEvent;
Descripción: El evento OnDataChange se produce cuando la componente cambia los datos asociados a la llamada que ingresa o está en curso (propiedades con el prefijo Data_ en el nombre).
Se produce el evento cuando el puesto recibe una llamada o una consulta. Puede inspeccionarse la propiedad Data_Type para determinar cómo procesar el evento.
Componente TCCAgent Eventos
46
Evento OnHangup
Declaración: property OnHangup; TNotifyEvent;
Descripción: El evento se produce cuando se detecta el corte del lado del cliente.
Evento OnOutOfService
Declaración: property OnOutOfService: TNotifyEvent;
Descripción: El evento se produce cuando se pierde la conexión con el servicio de Approach.
Evento OnSocketClosed
Declaración: property OnSocketClosed: TNotifyEvent;
Descripción: El evento se produce cuando se cae la sesión TCP con el servicio AcdServer.
Evento OnSocketError
Declaración: property OnSocketError: TSocketErrorEvent;
Descripción: El evento se produce cuando se genera un error de TCP con el servicio AcdServer.
En ErrorCode viene indicado el número de error.
Evento OnStateChange
Declaración: property OnStateChange(State: TState); TNotifyEvent;
Descripción: El evento se produce cada vez que la componente cambia de estado (State).
Componente TCCAgent Eventos
47
Evento OnSupervisorHelpChange
Declaración: property OnSupervisorHelpChange(Flag: Boolean); TNotifyEvent;
Descripción: El evento se produce cada vez que se produce un cambio (Flag) en SupervisorHelp.
Componente TCCAgent Eventos
48
Tipos √ TCallProgressCode
√ TCallProgressEvent
√ TCallProgressMode
√ TChatInitiatedEvent
√ TChatMessageEvent
√ TChatTerminatedEvent
√ TConsultationProgressEvent
√ TData_Direction
√ TData_Type
√ TSate
√ TSocketErrorEvent
Componente TCCAgent Eventos
49
Tipo TCallProgressCode
Declaración: type TCallProgressCode = (cpcUnknown, cpcReserved1, cpcReserved2, cpcDisc, cpcCalling, cpcReturn, cpcTimeout, cpcBusy, cpcNoAnswer, cpcNoRing, cpcConnect, cpcOpIntercept, cpcReserved12, cpcReserved13, cpcReserved14, cpcGlare, cpcCancelled, cpcNoDialTone, cpcFax);
Descripción: El tipo TCallProgressCode define los valores posibles del parámetro Code del evento OnCallProgress.
Tipo TCallProgressEvent
Declaración:
type TCallProgressEvent = procedure (Sender: TObject; Code: TCallProgressCode) of object;
Descripción:
El tipo TCallProgressEvent apunta a un método que maneja el avance de una llamada iniciada con el método MakeCall. El parámetro Sender es el objeto para el cual se envía el evento y Code informa el estado del intento con un valor de los siguientes:
Valor Orden Significado
cpcDisc 3
cpcCalling 4 Comenzó el intento
cpcReturn 5
cpcTimeout 6 Timeout
cpcBusy 7 Ocupado
cpcNoAnswer 8 No responde
cpcNoRing 9 No llama
cpcConnect 10 Conectado
cpcOpIntercept 11 Mensaje de congestión
cpcGlare 15 Condición de glare
cpcCancelled 16 Intento cancelado
cpcNoDialTone 17 No hay tono de llamada
cpcFax 18 Respondió una máquina de fax
Notas:
• cpcCalling es un código informativo; después va a venir otro evento con el resultado del intento
• cpcConnect indica que la llamada fue respondida, aunque todavía está siendo procesada por el IVR
Componente TCCAgent Eventos
50
Tipo TCallProgressMode
Declaración: type TCallProgressMode = (cpmSilent, cpmPassthrough);
Descripción: El tipo TCallProgressMode define si se van a escuchar los tonos del Call Progress.
Tipo TChatInitiatedEvent
Declaración: type TChatInitiatedEvent = procedure (Sender: TObject; SessionID, UserID, Params: string)
of object;
Descripción: El tipo TChatInitiatedEvent apunta a un método que maneja el inicio de una sesión de Chat. Se informa el SessionID que se debe utilizar hasta que se finalice con el mismo, el UserID del cliente y un parámetro (Params) que es un medio para pasar información desde el sitio Web donde se implemento el Chat y la aplicación del agente.
TChatInitiatedEvent es el tipo del evento OnChatInitiated.
Tipo TChatMessageEvent
Declaración: type TChatMessageEvent = procedure(Sender: TObject; SessionID, UserID, Text: string) of
object;
Descripción: El tipo TChatMessageEvent apunta a un método que maneja la recepción de un mensaje de Chat. Se obtiene el SessionID para identificar la sesión de Chat, el UserID del cliente y el texto del mensaje
TChatMessageEvent es el tipo del evento OnChatMessage.
Tipo TChatTerminatedEvent
Declaración: type TChatTerminatedEvent = procedure(Sender: TObject; SessionID: string) of object;;
Descripción: El tipo TChatTerminatedEvent apunta a un método que maneja la finalización de una sesión de Chat. Se informa el SessionID para identificar la sesión de Chat.
TChatTerminatedEvent es el tipo del evento OnChatTerminated.
Componente TCCAgent Eventos
51
Tipo TConsultationProgressEvent
Declaración: type TConsultationProgressEvent = procedure(Sender: TObject; Code:
TCosultationProgressCode) of object;
Descripción: El tipo TConsultationProgressEvent apunta a un método que maneja el avance de una consulta iniciada mediante el método ConsultationPos. El parámetros Sender es el objeto para el cual se envía el evento y Code informa el estado del intento con uno de los valores siguientes:
Valor Orden Significado
cnsNoAnswer 1 El puesto destino no responde
cnsConnect 2 Conectado
TConsultationProgressEvent es el tipo del evento OnConsultationProgress.
Tipo TData_Direction
Declaración: type TData_Direction = (ddNone, ddIncoming, ddOutgoing);
Descripción: El tipo TData_Direction define los valores posibles de la propiedad Data_Direction.
Tipo TData_Type
Declaración: type TData_Type = (dtUnknown, dtCall, dtConsultation, dtTransferedCall);
Descripción: El tipo TData_Type define los valores posibles de la propiedad Data_Type.
Tipo TState
Declaración: type TState = (sUnknown, sLogin, sIdle, sConnect, sDisconnect, sLogout, sLocked,
sStop, sDND, sHold, sOfhLgo, sOfhIdl, sOfhDND, sCnsCall, sReserved14, sReserved15, sReserved16, sXtdRO, sXtdCoach, sXtdFull);
Descripción: El tipo TState define los valores posibles de la propiedad State.
Componente TCCAgent Eventos
52
Tipo TSocketErrorEvent
Declaración: type TSocketErrorEvent = procedure (Sender: TObject; ErrorCode: Integer) of object;
Descripción: El tipo TSocketErrorEvent apunta a un método que maneja la notificación de errores sobre la conexión TCP/IP establecida con AcdSrv. El parámetro Sender es el objeto para el cual se envía el evento; ErrorCode indica el código de error producido.
Componente TCCAgent Errores
53
7. Errores Valor Nombre Descripción
0 E_SUCCESS No hubo error
14001 E_INVALIDSKILLNUMBER El skill esta fuera del rango 1..99
14004 E_INVALIDACTIVITYGROUP Grupo de actividades inválido
14009 E_CONTROLNOACTIVE La componente no está activa. No se ha invocado al método Open antes de utilizar los métodos y propiedades de la componente o su ejecución ha finalizado con errores.
14016 E_SOCKETNOTACTIVE No se estableció la conexión con AcdSrv. Verifique si se ejecutó el método Open antes de utilizar los métodos y propiedades de la componente y si esta finalizó sin errores.
14017 E_CONTROLALREADYACTIVE El control ya se encuentra activado.
14018 E_CONTROLALREADYINUSE El control ya está en uso. Este error se produce cuando se intenta ejecutar el control desde dos aplicaciones al mismo tiempo o se ejecutó la misma aplicación en forma reiterada. También puede ocurrir si no se liberaron correctamente las DLL en procesos anteriores.
14019 E_MEMFILEMAPPING El control ya está activo. Este error se produce cuando se intenta ejecutar el método Open más de una vez en la aplicación.
14025 E_APPLICATIONTERMINATED El envío de un pedido al AcdSrv finalizó con error. También puede ocurrir si no se ejecutó el método Open antes de utilizar los métodos y propiedades de la componente o este método finalizó con error.
14029 E_EXCEPTION Error de excepción general en CcAgent
14030 E_CONTROLISBUSY El control se encuentra ocupado. Se intento ejecutar un método antes que finalice el anteior.
14031 E_SENDREQEXCEPTION Se produjo una error de excepción al enviar el
Componente TCCAgent Errores
54
requerimiento al AcdSrv.
14032 E_SENDREQWAITTMO Se produjo un TimeOut en el último requerimiento
14202 EWR_INVALIDREQUEST El requerimiento al AcdSrv es inválido.
14203 EWR_EXCEPTION Error de excepción general en AcdSrv.
14205 EWR_CALLREQQLOCK Error al intentar el Lock a CallRecs.
14208 EWR_MAXNBROFSESSIONS Se ha superado el número máximo de sesiones.
14209 EWR_POSNOTSTARTED El puesto se encuentra fuera de servicio.
14210 EWR_FUNCTIONNOTALLOWED La función solicitada no esta habilitada.
14213 EWR_INVALIDDESTNUM El puesto destino de la consulta esta fuera del rango 1..240
14218 EWR_INVALIDSKILLNUM El skill esta fuera del rango 1..99
14219 EWR_NOTINTHISSTATE El estado actual no es el correcto para la acción solicitada.
14220 EWR_CALLREQQSAVE Error al intentar grabar CallRecs.
14222 EWR_ILLEGALRECORDONCNSCALL El intento de grabación es en un estado incorrecto.
14223 EWR_NONAMESPECIFIED Falta especificar el nombre del agente.
14226 EWR_WRONGAGNPWD La password ingresada es incorrecta.
Los errores en el rango del 14500 en adelante son errores que dejan información extra en la propiedad FLastError.
14508 EWR_PGRDBFOPEN Error en la apertura de la tabla Pgr.
14511 EWR_SESSIONDBFOPEN Error de apertura de la tabla Session
14512 EWR_SESSIONDBFGO Error al posicionarse en la tabla Session
14515 EWR_CALLBACKDBFOPEN Error de apertura de la tabla para CallBack
14516 EWR_CALLBACKDBFGO Error de apertura de la tabla para CallBack
14701 EWR_SESSIONDBFREPLACE Error al actualizar la tabla
Componente TCCAgent Errores
55
Session
14702 EWR_CALLREQQOPEN Error al intentar abrir CallRecs.
14705 EWR_CALLBACKDBFAPPEND Error al agregar registro para CallBack
14706 EWR_CALLBACKDBFREPLACE Error al actualizar registro para CallBack
14712 EWR_SKILLSDBFOPEN Error de apertura de la tabla Skills
14713 EWR_SKILLSDBFGO Error al posisionarse en la tabla Skills
14714 EWR_QUICKMEMDBFOPEN Error de apertura de la tabla QuickMem
14715 EWR_QUICKMEMDBFGO Error al posicionarse en la tabla QuickMem
14716 EWR_PREFIXESDBFOPEN Error de apertura de la tabla Prefixes
14717 EWR_PREFIXESDBFISEMPTY La tabla Prefixes esta vacía.
14718 EWR_PREFIXESDBFFIELDWIDTH Error en el tamaño de campo Prefix
14719 EWR_PREFIXESDBFSEEK Error en el SEC de la tabla Prefixes
14720 EWR_PGRDBFLOC Error de Lock en la tabla Pgr
14721 EWR_PGRDBFREPLACE Error al actualizar en la tabla Pgr.
14526 E_REQUESTERROR Se envió un requerimiento al AcdSrv y no se obtuvo repuesta.