Genesys Events and Models Reference
Welcome to the Genesys Events and Models Reference. This document introduces you to many of the call and interaction events and models that you may encounter in a Genesys deployment. This document is valid for the 7.x, 8.x, and 9.x releases of products related to these models.
In brief, you will find the following information in this guide:
- A full list of call and other interaction events and their descriptions.
- A collection of common call and other interaction models and flows.
- Some specialized information on call and other interaction state.
About this Document
This guide is intended for application developers who are familiar with Genesys deployments and need to do gain greater insight into their workings. Experienced system administrators might also use this Reference for advanced configuration issues. For instance, you might use this Events and Models Reference and its sample call models to help you handle and anticipate events for a custom application you are designing to work in a Genesys deployment. Or you might look at the important values associated with certain events in a model, and use that information to specially configure a routing strategy.
This document provides detailed information on the workings of interactions in a Genesys environment.
It assumes that you have a basic understanding of:
- The underlying concepts of CTI technology.
- A familiarity with the workings of Genesys Interactions.
- Genesys environment deployment and operation.
- Your own Genesys configurations.
You may also find that a familiarity with messaging-compliant programming gives you greater insight into issues as you read this document. A solid understanding of client-server implementations is also useful.
The Genesys developer materials outlined in this document are intended to be used for the following purposes:
- Creation of agent desktop applications associated with Genesys software implementations.
- Server-side integration between Genesys software and third-party software.
- Creation of a specialized client application specific to customer needs.
The Genesys software functions available for development are clearly documented. No undocumented functionality is to be utilized without Genesys's express written consent.
The following Use Conditions apply in all cases for developers employing the Genesys developer materials outlined in this document:
- Possession of interface documentation does not imply a right to use by a third party. Genesys conditions for use, as outlined below or in the Genesys Developer Program Guide, must be met.
- This interface shall not be used unless the developer is a member in good standing of the Genesys Interacts program or has a valid Master Software License and Services Agreement with Genesys.
- A developer shall not be entitled to use any licenses granted hereunder unless the developer's organization has met or obtained all prerequisite licensing and software as set out by Genesys.
- A developer shall not be entitled to use any licenses granted hereunder if the developer's organization is delinquent in any payments or amounts owed to Genesys.
- A developer shall not use the Genesys developer materials outlined in this document for any general application development purposes that are not associated with the above-mentioned intended purposes for the use of the Genesys developer materials outlined in this document.
- A developer shall disclose the developer materials outlined in this document only to those employees who have a direct need to create, debug, and/or test one or more participant-specific objects and/or software files that access, communicate, or interoperate with the Genesys API.
- The developed works and Genesys software running in conjunction with one another (hereinafter referred to together as the "integrated solutions") should not compromise data integrity. For example, if both the Genesys software and the integrated solutions can modify the same data, then modifications by either product must not circumvent the other product's data integrity rules. In addition, the integration should not cause duplicate copies of data to exist in both participant and Genesys databases, unless it can be assured that data modifications propagate all copies within the time required by typical users.
- The integrated solutions shall not compromise data or application security, access, or visibility restrictions that are enforced by either the Genesys software or the developed works.
- The integrated solutions shall conform to design and implementation guidelines and restrictions described in the Genesys Developer Program Guide and Genesys software documentation. For example:
- The integration must use only published interfaces to access Genesys data.
- The integration shall not modify data in Genesys database tables directly using SQL.
- The integration shall not introduce database triggers or stored procedures that operate on Genesys database tables.
Any schema extension to Genesys database tables must be carried out using Genesys Developer software through documented methods and features.
The Genesys developer materials outlined in this document are not intended to be used for the creation of any product with functionality comparable to any Genesys products, including products similar or substantially similar to Genesys's current general-availability, beta, and announced products.
Any attempt to use the Genesys developer materials outlined in this document or any Genesys Developer software contrary to this clause shall be deemed a material breach with immediate termination of this addendum, and Genesys shall be entitled to seek to protect its interests, including but not limited to, preliminary and permanent injunctive relief, as well as money damages.
Genesys Events and Models Overview
This Genesys Events and Models Reference provides you with a large collection of two different types of information: descriptions of Genesys events and illustrations of Genesys interaction models. Generally, you need to know about Genesys events and standard interaction models if you are developing custom applications for integration with Genesys systems, or if you are trying to gain greater insight into the flow of interactions in your environment.
Genesys Events topics describe everything from the names and descriptions of events, to the attributes that attend events, to the definitions of event substates. Based on the history of how this information has been presented in the past in various documents, event information may differ from topic to topic.
Genesys Interaction Models topics describe a selected list of call/interaction models. This information is also wide ranging. Based on the history of how this information has been presented in the past in various documents, model details may differ from topic to topic.
In both parts of this document, topics are organized according to the type of event or model being described. So, both parts have specific sections on voice-based issues that center on T-Library's generation of events and how calls are routed in a contact center.
Servers and Their Events and Models
When Genesys Servers start up and when they process interactions, they repeatedly perform certain tasks. This manual presents examples of these tasks in the form of events the servers generate and models that show how the components interact. You can study these events and models to:
- Get a better idea of how the various portions of your system work.
- Troubleshoot your system by inspecting the logs that record interactions of the type exemplified in this document.
- Understand what functions must be performed by a custom-built component that you want to design.
Genesys servers generate events. These events can both be in response to requests that other components make of those servers, or they can be unsolicited (Genesys servers are programmed to notify clients for any number of reasons). Events that arrive in response to a request have an identifier you can use to link the two.
This document attempts to provide enough information about each event you may encounter so that you can intelligently handle events in your customized code, but also so you can better understand issues that arise in your environment. Reviewing log files is far easier when you have an understanding of the implications of given events.
Each event has a number of attributes associated with it to give you more information on the process that is occurring. A given event's attributes are not static. Depending on the request or environment, certain attributes may or may not be present. For completeness, this book documents all attributes that you might encounter with a given event.
Call models and interaction flows serve a number of important purposes. First, no development for the core Genesys servers can take place unless there is a general understanding of how a given call scenario, for instance, should proceed in a contact center. The collections of interaction flows presented in this Reference represents the most common scenarios that Genesys software users encounter.
Elements in Call and Interaction Models
Events as depicted in the models are protocol-specific. That is, a given library issues its own events according to its own definitions (though some events from different libraries have similar names). The ordering and naming of events passed between components (messaging) in these models makes use of the various protocols being described. These include, but are not limited to:
- T-Library (the TLIB protocol): The core library for use in processing all voice-based interactions.
- Multimedia Interaction Management (the ITX and ESP protocols): The means by which Interaction Server processes its non-voice interactions.
- Multimedia Reporting protocol: This is Genesys Multimedia's own reporting protocol, different from the one used by other Genesys applications that are reporting-specific.
- Universal Routing Server's (URS) use of a subset of T-Library events: Interaction Server uses these events to communicate with URS. When these T-Library events occur in the model diagrams, the equivalent Interaction Management protocol event is also shown. (The full collection of T-Library events, available in T-Library Events, is the authoritative list of T-Library events.)
Diagrams show time along the vertical axis, moving from top to bottom. Participants are arranged along the horizontal axis.
The term interaction in a Genesys context has the following sense: an attempted communication between a customer and a contact center, in either direction. The attempt may be successful or not; it has a media type; it may give rise to other interactions (as when an incoming email gives rise to an automatic acknowledgement). It may belong to a series of related interactions, known as a thread. Interaction properties are generally recorded in a database.
Participants are software components that send and receive messages. The participants in the models in this book include the following:
- T-Server and IVR Server
- Switch and IVR
- Interaction Server
- Media server (E-mail Server Java, Chat Server, or a custom application)
- Agent application
- Universal Routing Server
- Reporting engine (Stat Server or ICON)
In general, this manual attempts to unify the concept of events and models across a number of disparate Genesys components. This allows you to move from component to component with one reference as your guide for how interactions are processed. However, you may find that you want more information about specific protocols. In each case, the authoritative collection of function calls and events for a given server's protocol is available from its corresponding Platform SDK API Reference. (See the Platform SDK API Reference, .NET or Java for the server that interests you.)
The characteristic feature of events related to voice interactions is T-Server's use of the TEvent data structure to return the results of requests sent by applications using T-Library functions or as notification that there has been some activity on a monitored object.
Some examples of event member values include:
- EventRegistered—an application has registered a DN.
- EventUnregistered—an application has unregistered a DN.
- EventAgentLogin—an agent has logged in to an ACD group.
- EventAgentLogout—an agent has logged out of ACD.
- EventAgentReady—an agent is ready to receive ACD calls.
T-Library Events has detailed information on the TEvent data structure.
While this document presents a full representation of the TEvent structure, certain of its members are reserved for internal use only.