Manual Desarrollador tecno voz

57
Approach Manual del Desarrollador Versión 1.0.37.0 Mayo 2007

description

explica como usar acd tecno voz.

Transcript of Manual Desarrollador tecno voz

Page 1: Manual Desarrollador tecno voz

Approach

Manual del

Desarrollador

Versión 1.0.37.0

Mayo 2007

Page 2: Manual Desarrollador tecno voz
Page 3: Manual Desarrollador tecno voz

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

Page 4: Manual Desarrollador tecno voz

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

Page 5: Manual Desarrollador tecno voz

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

Page 6: Manual Desarrollador tecno voz

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

Page 7: Manual Desarrollador tecno voz

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.

Page 8: Manual Desarrollador tecno voz

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

Page 9: Manual Desarrollador tecno voz

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.

Page 10: Manual Desarrollador tecno voz

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('*');

Page 11: Manual Desarrollador tecno voz

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

Page 12: Manual Desarrollador tecno voz

Componente TCCAgent Propiedades

10

√ FullName

√ IniFileName

√ Internal

√ IntGroup

√ ParamRetIVR

√ RecordCallEnabled

√ ReturnToIVREnabled

√ SkillSet

√ State

√ TimeOut

√ WrapupMode

√ WsNumber

√ Version

Page 13: Manual Desarrollador tecno voz

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

Page 14: Manual Desarrollador tecno voz

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

Page 15: Manual Desarrollador tecno voz

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

Page 16: Manual Desarrollador tecno voz

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

Page 17: Manual Desarrollador tecno voz

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

Page 18: Manual Desarrollador tecno voz

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

Page 19: Manual Desarrollador tecno voz

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.

Page 20: Manual Desarrollador tecno voz

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

Page 21: Manual Desarrollador tecno voz

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

Page 22: Manual Desarrollador tecno voz

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

Page 23: Manual Desarrollador tecno voz

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)

Page 24: Manual Desarrollador tecno voz

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

Page 25: Manual Desarrollador tecno voz

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.

Page 26: Manual Desarrollador tecno voz

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

Page 27: Manual Desarrollador tecno voz

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

Page 28: Manual Desarrollador tecno voz

METODOS

26

√ Session_Name

√ Session_SkillSet

√ Session_State

√ Session_WsNumber

√ Skill_Descrip

√ Skill_CallQCount

√ SupervisorHelp

√ TerminateChat

√ WaitCall

√ WriteLog

Page 29: Manual Desarrollador tecno voz

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.

Page 30: Manual Desarrollador tecno voz

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.

Page 31: Manual Desarrollador tecno voz

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

Page 32: Manual Desarrollador tecno voz

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

Page 33: Manual Desarrollador tecno voz

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.

Page 34: Manual Desarrollador tecno voz

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.

Page 35: Manual Desarrollador tecno voz

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

Page 36: Manual Desarrollador tecno voz

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.

Page 37: Manual Desarrollador tecno voz

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

Page 38: Manual Desarrollador tecno voz

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.

Page 39: Manual Desarrollador tecno voz

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

Page 40: Manual Desarrollador tecno voz

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

Page 41: Manual Desarrollador tecno voz

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

Page 42: Manual Desarrollador tecno voz

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

Page 43: Manual Desarrollador tecno voz

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.

Page 44: Manual Desarrollador tecno voz

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.

Page 45: Manual Desarrollador tecno voz

Componente TCCAgent Eventos

43

Eventos √ OnBackToService

√ OnCall2Hangup

√ OnCall2Progress

√ OnCallProgress

√ OnChatInitiated

√ OnChatMessage

√ OnChatTerminated

√ OnConsultationHangup

√ OnConsultationProgress

√ OnDataChange

√ OnHangup

√ OnOutOfService

√ OnSocketClosed

√ OnSocketError

√ OnStateChange

√ OnSupervisorHelpChange

Page 46: Manual Desarrollador tecno voz

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.

Page 47: Manual Desarrollador tecno voz

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.

Page 48: Manual Desarrollador tecno voz

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).

Page 49: Manual Desarrollador tecno voz

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.

Page 50: Manual Desarrollador tecno voz

Componente TCCAgent Eventos

48

Tipos √ TCallProgressCode

√ TCallProgressEvent

√ TCallProgressMode

√ TChatInitiatedEvent

√ TChatMessageEvent

√ TChatTerminatedEvent

√ TConsultationProgressEvent

√ TData_Direction

√ TData_Type

√ TSate

√ TSocketErrorEvent

Page 51: Manual Desarrollador tecno voz

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

Page 52: Manual Desarrollador tecno voz

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.

Page 53: Manual Desarrollador tecno voz

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.

Page 54: Manual Desarrollador tecno voz

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.

Page 55: Manual Desarrollador tecno voz

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

Page 56: Manual Desarrollador tecno voz

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

Page 57: Manual Desarrollador tecno voz

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.