Many SDMP messages (e.g. Agent Connect [AC], Transaction Complete [TC]) support data transfer using the Data (DT) parameter.
Some time ago we made provision in Softdial CallGem™ for the Data (DT) parameter to be associative, based on its use in Softdial Campaign Manager™ but also for keeping session data to be passed between different business processes during the session lifetime.
The Data (DT) parameter string may have one of 3 formats:
Softdial CallGem™ parses the Data (DT) parameter on input and determines what type of framing the parameter has. If a set of key-value pairs of either form, it stores the data in a dictionary keyed by column name. Interactions with the session where the Data (DT) parameter value is changed result in the passed string being parsed and the dictionary entries being updated or added to.
Surely the Data (DT) parameter is application-specific?
The answer is that Softdial CallGem™ is a session manager and tracks session state and session data throughout its lifetime.
Let us consider a simple use case of an inbound call.
As you can see from this everyday real-world example, the need to keep a data dictionary associated with a session is fundamental to having joined-up workflows in the contact center.
Aficionados of programming languages like BASIC, PERL, Python and AWK will be familiar with associative behaviour when declaring variables. To declare a variable, just use it. If it does not exist it will be created and null-initialised.
With the Data (DT) parameter things are fairly similar.
If an IVR script gathers 3 pieces of data named foo, bar and qux and then transfers the session to a third party it will use the Data (DT) parameter to contain these 3 pieces of data (using legacy or XML framing).
Softdial CallGem™ now maintains a session data table looking like this:
Key | Value |
---|---|
foo | Hello |
bar | Everyone |
qux | 603.1769 |
The next application handling the call can use this data, and may add/ create data value of its own. Let us assume that the value for bar is set to “Everyone” and the value for norf is set to “Keys 1 to 5”
On passing this data back in to Softdial CallGem™ via one of the various APIs that handle the Data (DT) parameter, the session data would be updated to:
Key | Value |
---|---|
foo | Hello |
bar | Everyone |
qux | 603.1769 |
norf | Keys 1 to 5 |
At each stage where data is added to the data dictionary, Softdial CallGem™ does not discard previous data. This allows session data to be exchanged between potentially disparate contact center workflows.
From V10.6.568 - a breaking change has been made to the format of the XML document used with the Data (DT) parameter. For details of this change, see the Softdial Campaign Manager™ Data (DT) Parameter - XML Format page.
Use of the Data (DT) parameter has evolved with Sytel’s ongoing development of Softdial Scripter™, Softdial Campaign Manager™, Workflow Server (for multimedia) and our core ACD. All of Sytel’s applications support use of the Data (DT) parameter in either legacy or XML framing modes. For third parties using the Data (DT) parameter with either XML or legacy framing we would advise as follows: