# Genesys Quality Management Suite 8.1.520 : External Data Available from CIM

Created and last modified by

The data saved in the Call Recording external data table comes from various sources. The following information is available:

- Basic call-related data
- Call-related user data (attached data)
- Agent configuration data
- Extension Data
- Notification of recording
- Other GAD Data (only for Genesys Driver)
- Other Call Recording Data ( used internally by Call Recording)

The presence of specific data depends on the system configuration, routing design, network topology and on other conditions. Particular properties that must be stored in the Call Recording external data table must be configured during integration library implementation.

### Setting Genesys Driver Encoding for Attached Data

The Genesys Driver assumes that any Attached Data received from the T-Server is in Unicode (UTF-8) format. However, the Genesys Platform SDK encodes this XML data according to the OS it is installed on.
Therefore if, for example, the Genesys software is installed on an OS with Czech encoding ('cp1250'), GIM does not store this correctly in the Call Recording database.

To avoid this encoding issue, an encoding parameter needs to be set manually in the Call Recording configuration file as follows:

1. Edit the Call Recording configuration file at:`/opt/callrec/etc/callrec.conf`

2. Using a text editor add the parameter`'-Dfile.encoding=<encoding>'` to the `JAVA_OPTS_GENESYS` environment variable found near the end of the file, for example, as follows:

       JAVA_OPTS_CORE="-server -XX:+DisableExplicitGC -Xmx96m -Dcom.sun.CORBA.transport.ORBUseNIOSelectToWait=false -Dfile.encoding=cp1250"

3. Save the file and restart Call Recording :

       /etc/init.d/callrec restart

### Basic Call-Related Data

Basic call-related data is available from real-time events generated when the T-Server notifies a client of call-based activity. These events arise when an observed phone performs actions like answering, transferring or hanging up the call. These events are a source of essential information about the agent activity.

The data is stored using the following naming convention:

External data key: `GEN_TEV_<TEvent.key>`
Example: `GEN_TEV_AgentID = “AG_3017”`

Default stored data keys are shown in bold text:

Key | Description
--- | ---
GEN_TEV_AgentID | Available by default. The agent identifier specified by the PBX or ACD.
GEN_TEV_ANI | Available by default. Automatic Number Identification. Specifies which number the current inbound call originates from.
GEN_TEV_CallID | Available by default. The call identifier provided by the switch (as opposed to connection identifier, or ConnID, which is assigned by T-Server).
GEN_TEV_CallUuid | Available by default. The UUID of the call; a unique call identifier provided by the Genesys platform
GEN_TEV_CallType | Available by default. Type of the call; one of the following values: Inbound, Outbound, Internal, Consult, Unknown
GEN_TEV_CollectedDigits | The digits that have been collected from the caller.
GEN_TEV_ConnID | Available by default. Connection identifier of the current call handled by the DN.
GEN_TEV_CustomerID | The string containing the customer identifier through which processing of the call was initiated.
GEN_TEV_DNIS | Available by default. The Directory Number Information Service. Specifies to which DN the current inbound call was made.
GEN_TEV_NetworkCallID | In the case of network routing, the call identifier assigned by the switch where the call initially arrived.
GEN_TEV_NetworkNodeID | In the case of network routing, the identifier of the switch where the call initially arrived.
GEN_TEV_NodeID | The unique identifier of a switch within a network.
GEN_TEV_OtherDN | Available by default. The other main Directory Number (which your application did not register) involved in this request or event. For instance, the DN of the main party of the call.
GEN_TEV_ThisDN | Available by default. The Directory Number (which the application registered) involved in this request or event.
GEN_TEV_ThisQueue | The queue related to ThisDN.

If the value is empty then that key is not stored in the Call Recording database.

This list can be changed manually in the driver configuration in the xml in the equal group `messageDataKeys` with values `msgDataKey` and `coupleMsgDataKey`, which define both the call event's attribute name and key, that should be used for external data in Call Recording. If at least one basic call-related data attribute is set, no default is used and all required attributes must be configured. The following code shows how to store `CallID``` and `ThisDN` where `ThisDN` is renamed to`` `SomeDN` for storage in Call Recording.

    <SpecifiedConfiguration name="genesysDriver">
    ...
    <EqualGroup name="messageDataKeys">
    <Value name="msgDataKey">CallID</Value>
    <Value name="coupleMsgDataKey">CallID</Value>
    </EqualGroup>
    <EqualGroup name="messageDataKeys">
    <Value name="msgDataKey">ThisDN</Value>
    <Value name="coupleMsgDataKey">ThisDN</Value>
    </EqualGroup>
    ...

For Legacy GIM integration the SpecifiedConfiguration name is "genesys".

    <SpecifiedConfiguration name="genesys">

The rest of the listing is the same as in the example above.

### Call-Related User Data

User data or attached data is a set of call-related information predefined by the agent or application handling the call. A user data object is structured as a list of data items described as key-value pairs.

User data can arrive at a client application with any event, at any time even after the call is cleared, for example, when the agent fills in wrap-up information.

Any value extracted from user data is attached using the following naming convention:

External data key: `GEN_USR_<UserData.key>`

Example: `GEN_USR_RStrategyName = “default”`

The list of the user data to attach must be defined in the configuration. By default no user data gets attached.

### User Data Configuration

The User data configuration option enables the definition of Genesys User Attached Data.

Navigate to Settings> Configuration > Protocol Drivers >Genesys Driver and scroll down to User Data Configuration.

Only the user data in the column User Defined Parameters can be added in the GIM configuration section of the Call Recording GUI. Other non-default, pre-defined keys can be specified in the integration configuration file (`/opt/callrec/etc/integration.xml`) in XML format. These values should not be modified unless there is a very good reason to do so.

To add a User data key definition to GIM configuration:

1. Type the User data key and User data name (value).
2. Click New to add another key value pair if necessary.
3. Click Save Configuration to save the changes.

### Agent Configuration Data

Configuration data objects enable the client to get any information about the user, agent, server or other object configuration stored in the Genesys configuration database in addition to information about the current state of the specific object.

Any value available from the configuration library should be attached using the following naming convention:

Externaldata key: `GEN_CFG_<CfgData.key>`

Example: `GEN_CFG_UserName = “jsmith”`

The following information is available from the Configuration Platform SDK:

Default stored agent data keys are shown in bold text:

Key | Description
--- | ---
GEN_CFG_EmployeeID | Available by default. The code identifying the person within the tenant staff.
GEN_CFG_FirstName | Available by default. The person's first name.
GEN_CFG_LastName | Available by default. The person's last name.
GEN_CFG_UserName | Available by default. The name the person uses to log into a CTI system
GEN_CFG_AdminType | Specifies whether the person is configured as =Admin‘. Yes=1, No=0
GEN_CFG_AgentType | Specifies whether the person is configured as =Agent‘. Yes=1, No=0
GEN_CFG_PlaceDbid | A unique identifier of the place assigned to this agent by default.
GEN_CFG_State | The current state of the person object.

Some of the properties, namely LoginInfo and SkillInfo contain more items as an agent can have more logins or more skills. In that case Call Recording saves them as indexed fields:

Key | Description
--- | ---
GEN_CFG_AgentLoginInfo_:_LoginDbid | agentLoginDBID — A unique identifier of the Agent Login identifier.
GEN_CFG_AgentLoginInfo_:_WrapupTime | wrapupTime — Wrap-up time in seconds associated with this login identifier. Cannot be a negative value.
GEN_CFG_AgentSkillLevels_:_SkillDbid | skillDBID — A unique identifier of the skill the level relates to.
GEN_CFG_AgentSkillLevels_:_Level | level — Level of the skill. Cannot be a negative value.

If the value is empty then that key is not stored in the Call Recording database.

This list can be changed in driver configuration manually in xml in equal group `agentDataKeys``` with values `agentDataKey` and `coupleAgentDataKey`, which define both the event's Telephonic attribute name and key which should be used for external data in Call Recording. If at least one Agent Data attribute is set, no default is used and all required attributes must be configured. The following listing shows the configuration of storing only `EmployeeID`.

    <SpecifiedConfiguration name="genesysDriver">
    ...
    <EqualGroup name="agentDataKeys">
    <Value name="agentDataKey">EmployeeID</Value>
    <Value name="coupleAgentDataKey">EmployeeID</Value>
    </EqualGroup>
    ...

For Passive GIM integration the SpecifiedConfiguration name is "genesys".

    <SpecifiedConfiguration name="genesys">

The rest of the listing is the same as the example above.

### Extension Data

Extension data is stored with `GEN_EXT_` prefix. This data is taken from the Extensions section of Genesys voice events. None of this data is stored by default.

The required data can be configured in driver configuration manually in the xml in the equal group `extensionDataKeys` with values `extDataKey` and `coupleExtDataKey`, which define the event Extension attribute name and key which should be used for external data in Call Recording. The following listing shows configuration of storing `BusinessID`.

    <SpecifiedConfiguration name="genesysDriver">
    ...
    <EqualGroup name="extensionDataKeys">
    <Value name="extDataKey">BusinessID</Value>
    <Value name="coupleExtDataKey">BusinessID</Value>
    </EqualGroup>
    ...

For Passive GIM integration the SpecifiedConfiguration name is "genesys".

    <SpecifiedConfiguration name="genesys">

The rest of the listing is the same as the example above.

### Other Genesys Driver Data

Genesys Driver and GIM also store some other Genesys related data. The following are not configurable.

`GEN_REC_` - external data with the signaling of recording state for both audio and video.

`GEN_CONFERENCE_MEMBERS` - list of parties participating in conference Couple. Only available from Genesys Driver not GIM.

`GEN_CFG_FULLNAME` - full name of agent created according to configuration.

`GEN_CFG_Tenant` - call Tenant. Only available from Genesys Driver in Active recording mode not GIM.

`GEN_CFG_Switch` - call Switch. Only available from Genesys Driver in Active recording mode not GIM.

`GEN_TEV_CSUP_MODE` - call supervision mode: with the value Monitoring or Coaching. Only available from Genesys Driver in EPR or Active Recording mode not GIM.

`GEN_TEV_CSUP_SCOPE` - call supervision scope: with the value Call or Agent. Only available from Genesys Driver in EPR or Active Recording mode not GIM.

`GEN_TEV_CSUP_SUPID` - the agent ID of the monitoring Supervisor. Only available from Genesys Driver in EPR or Active Recording mode not GIM.

`GEN_TEV_CSUP_SUPDN` - the DN of the Monitoring Supervisor. Only available from Genesys Driver in EPR or Active Recording mode not GIM.