CDR Models Schema
Dialog Start Object
Field | Type | Description |
---|---|---|
| object | Application’s data |
| object | deepASR’s instance data |
| string | The channel from which the DIALOG was initiated. The type of channel (IVR, Facebook, Alexa etc..) |
| string | The session id of IVR |
| string | The number that was dialed for an incoming call |
| string | The type of the device that originated the call (landline or mobile) |
| object | DiaManT’s instance data |
| string | The direction of call (inbound or outbound) |
| object | Flow’s data |
| string | The common ID of the orchestrator Dialog and the Flow Dialogs |
| string | The phone number that originated the call hashed |
| string | Dialog’s ID |
| map<string, string> | The KVPs of incoming attached data |
| string | Object’s type identifier. |
| string | The phone number that originated the call |
| boolean | Flag that indicates if the dialog is for testing purposes |
| integer | Dialog’s start time |
The event unique identifier is the id
field. This unique ID can be used when event deduplication is required.
Example JSON
{
"message_type" : "dialog_start",
"id" : "0914D425259F0CD31DBFE2E72D3785E0",
"group": "78977ae3796d73ce0df345f43df8df075daa54a6.1683276326110.63abf63debd946c4bbd4592bc3d800b",
"time" : 1683820113249,
"origin_uri" : "12345678901",
"hashed_origin_uri" : "",
"destination_uri" : "123-456-789",
"connection_id" : "undefined",
"channel" : "omIVR",
"device_type" : "mobile",
"direction" : "inbound",
"test_flag" : false,
"incoming_attached_data": {
"key_1": "value_1",
"key_2": "value_2",
"key_3": "value_3"
},
"asr": {
"mrcp_session_id": "4CF7F72AF04614A4A0FAE63F1A18D20C"
},
"diamant": {
"id": "aws-dev-m-1",
"version": "10.0.0",
"region": "aws-us-east-1"
},
"flow": {
"id": "4981c99e-6c51-4bd6-9b68-d3c09791d754.Bank3_Test.Banking2.MiniApps.ocp-qa",
"account_id": "4981c99e-6c51-4bd6-9b68-d3c09791d75",
"name": "Bank3_Test",
"type": "Banking2",
"diamant_app_name": "MiniApps",
"uuid": "ocp",
"organization": "ocp",
"parent_name": "ocp-qa@SND_Card_Payment",
"parent_id": "ae08b5a59e6a414d83a2556e9bdf160e2e5f97d1.1683276326800.f9e88de990224be7adb50558503bf374",
"parent_step": 7,
"root_step": 11,
"path": ["ocp-qa@SND_banking2_flow_DEVAws",
"ocp-qa@SND_Card_Payment"
]],
"path_app_ids": [
"4981c99e-6c51-4bd6-9b68-d3c09791d75.SND_banking2_flow_DEVAws.Flow.ocp-qa@SND_banking2_flow_DEVAws.ocp-qa",
"c556e602-a7b5-41cc-86d3-c6f95586339d.SND_Card_Payment.Flow.ocp-qa@SND_Card_Payment.ocp-qa"
],
"reportable": false,
"reporting_type": ""
},
"app": {
"name": "2011659",
"version": "200101"
}
}
app
Field | Type | Description |
---|---|---|
| string | Application name |
| integer | Application version |
asr
Field | Type | Description |
---|---|---|
| string | MRCP session id |
diamant
Field | Type | Description |
---|---|---|
| string | DiaManT name |
| string | DiaManT region |
| string | DiaManT version |
flow
Field | Type | Description |
---|---|---|
| string | Flow’s id |
| string | The Account id that Flow belongs to |
| string | Flow’s type |
| string | The DiaManT’s application name that Flow belongs to |
| string | Flow’s unique identifier |
| string | The Organization that Flow belongs to |
| string | Flow’s parent Application name |
| string | Flow’s parent Dialog Id |
| integer | Flow’s parent Dialog step |
| integer | Flow’s root Dialog step |
| array | The path from the root to the Flow that is currently active |
| array | The path i from the root to the Flow that is currently active |
| boolean | Flag to indicate if the current flow is eligible for reporting |
| string | The reporting type of the Flow (SelfService, Authentication etc) |
| string | Flow’s name |
Dialog End Object
Field | Type | Description |
---|---|---|
| integer | Total number of agent requests |
| object | Application’s data |
| object | deepASR’s instance data |
| string | The channel from which the DIALOG was initiated. The type of channel (IVR, Facebook, Alexa etc..) |
| string | The session id of IVR |
| string | The number that was dialed for an incoming call |
| string | The type of the device that originated the call (landline or mobile) |
| object | DiaManT’s instance data |
| object | The direction of call (inbound or outbound) |
| integer | Dialog’s duration. Cannot be null, initial value is 0. |
| string | Dialog’s end type (TRANSFER, FAR_HUP, NEAR_HUP, SYSTEM_ERROR, ERROR_SESSION_TIMEOUT, TEARDOWN) |
| string | Comma separated list of dialog events |
| map<string, string> | The KVPs of outgoing attached data |
| string | The extension number in case of transfer |
| boolean | Default value is false. Cannot be null |
| object | Flow’s data |
| string | The common ID of the orchestrator Dialog and the Flow Dialogs |
| string | The phone number that originated the call hashed |
| string | Dialog’s ID |
| array<object> | aggregated list of KVP events |
| string | Dialog’s locale. The language locale that was active at the end of the dialog and is final after selection (prompts, asr grammars, nlu engine). |
| string | Object’s type identifier. dialog_end for dialog end object |
| string | |
| integer | Total number of no inputs. Initial value is 0. |
| integer | Total number of no matches. Initial value is 0. |
| integer | Total number of low confidence rejections. Initial value is 0. |
| integer | Total number of same states. Initial value is 0. |
| integer | Total number of steps. Initial value is 0. |
| string | The phone number that originated the call |
| boolean | Flag that indicates if the dialog is for testing purposes. Default value is |
| integer | Dialog’s start time |
| string | The reason of transferring the call to an Agent |
The event unique identifier is the id
field. This unique ID can be used when event deduplication is required.
Example JSON
{
"message_type" : "dialog_end",
"id" : "02dcb1c0fc10b5531546f37c3844684b38b29e44.1683820113249.65dd7a5110d045e28ba47a5891ef928a",
"group": "02dcb1c0fc10b5531546f37c3844684b38b29e44.1683820113249.65dd7a5110d045e28ba47a5891ef928a",
"time" : 1683820113249,
"origin_uri" : "12345678901",
"hashed_origin_uri" : "",
"destination_uri" : "123-456-789",
"connection_id" : "sip:1683820112738:0DE14D29-95D9-4E63-882F-421BC934588D",
"channel" : "omIVR",
"device_type" : "voip",
"direction" : "en-US",
"steps_num" : 4,
"no_inputs" : 1,
"no_matches" : 0,
"rejections" : 0,
"same_states" : 0,
"agent_requests" : 0,
"duration" : 14445,
"end_type" : "FAR_HUP",
"exit_point" : "0080012345",
"transfer_reason": "",
"events": "Intent:Online_Banking",
"locale": "fr-FR",
"test_flag" : false,
"exit-attached-data": {
"key_1": "appId",
"key_2": "sessionId",
"key_3": "testMode"
},
"asr": {
"mrcp_session_id": "4CF7F72AF04614A4A0FAE63F1A18D20C"
},
"diamant": {
"id": "aws-staging-m-5",
"version": "10.0.0",
"region": "aws-us-east-1"
},
"flow": {
"id": "3919ca0c-7299-4600-914d-1ce2022983a1.DateTest_One.Date.MiniApps.ocp-qa",
"account_id": "3919ca0c-7299-4600-914d-1ce2022983a1",
"name": "DateTest_One",
"type": "Date",
"diamant_app_name": "MiniApps",
"uuid": "ocp-qa",
"organization": "ocp",
"parent_name":"ocp-qa@SND_Card_Payment" ,
"parent_id": "ae08b5a59e6a414d83a2556e9bdf160e2e5f97d1.1683276326800.f9e88de990224be7adb50558503bf374",
"parent_step": 2,
"root_step": 1,
"path": ["ocp-qa@SND_banking2_flow_DEVAws",
"ocp-qa@SND_Card_Payment"
],
"path_app_ids": ["4981c99e-6c51-4bd6-9b68-d3c09791d75.SND_banking2_flow_DEVAws.Flow.ocp-qa@SND_banking2_flow_DEVAws.ocp-qa",
"c556e602-a7b5-41cc-86d3-c6f95586339d.SND_Card_Payment.Flow.ocp-qa@SND_Card_Payment.ocp-qa"
],
"reportable": false,
"reporting_type": ""
},
"app": {
"name": "2011659",
"version": 2011261
},
"kvps": [
{
"step": 1,
"key": "appId",
"value":"sip:1683820112738:0DE14D29-95D9-4E63-882F-421BC934588D"
}
]
}
asr
Field | Type | Description |
---|---|---|
| string | MRCP session id |
flow
Field | Type | Description |
---|---|---|
| string | Flow’s id |
| string | Flow’s name |
| string | The Account id that Flow belongs to |
| string | Flow’s type |
| string | The DiaManT’s application name that Flow belongs to |
| string | Flow’s unique identifier |
| string | The Organization that Flow belongs to |
| string | Flow’s parent Application name |
| string | Flow’s parent Dialog Id |
| integer | Flow’s parent Dialog step |
| integer | Flow’s root Dialog step |
| array | The path from the root to the Flow that is currently active |
| array | The path i from the root to the Flow that is currently active |
| boolean | Flag to indicate if the current flow is eligible for reporting |
| string | The reporting type of the Flow (SelfService, Authentication etc) |
diamant
Field | Type | Description |
---|---|---|
| string | DiaManT’s name |
| string | The DiaMant’s region |
| string | DiaManT’s version |
app
Field | Type | Description |
---|---|---|
| string | Application’s name |
| integer | Application’s version |
kvps
Field | Type | Description |
---|---|---|
| string | Session key |
| integer | Session step |
| string |
Dialog Step Object
Field | Type | Description |
---|---|---|
| object | Dialog’s current action |
| object | Application data |
| object | deepASR’s step data |
| string | The channel from which the DIALOG was initiated. The type of channel (IVR, Facebook, Alexa, etc..) |
| object | |
| object | DiaManT’s instance data |
| integer | Dialog’s start time |
| list<object> | List of step’s dialog events |
| object | Flow data |
| string | The common ID of the Orchestrator Dialog and the Flow Dialogs |
| string | Dialog’s ID |
| string | Step’s input mode (speech, DTMF, text) |
| map<string, string> | Step’s KVPs data |
| string | Step’s locale |
| string | Object’s type identifier. dialog_step for dialog step object |
| object | deepNLU’s step data |
| integer | Step’s number |
| string | User’s original utterance in case of autocorrect |
| object | Dialog’s previous action |
| object | Step’s security data |
| object | Dialog’s current target |
| boolean | Flag that indicates that the dialog is for testing purposes |
| integer | Step’s timestamp |
| string | User’s utterance |
| string | |
| list<object> | Web service data |
The event unique identifier is defined as the combination of id
and number
fields. This unique identifier can be used when event deduplication is required.
Example JSON
{
"message_type" : "dialog_step",
"id" : "0914D425259F0CD31DBFE2E72D3785E0",
"group": "78977ae3796d73ce0df345f43df8df075daa54a6.1683276326110.63abf63debd946c4bbd4592bc3d800b",
"time" : 1683820113249,
"number" : 2,
"dialog_time" : 0,
"original_utterance" : "I want my balance",
"transcription" : "I want my balance",
"channel" : "chat",
"input_modality" : "dtmf",
"target" : {
"name": "Banking",
"status": "Defined",
"flow_targets”: [.....]
},
"action" : {
"name": "AnnounceIntent",
"type": "Ask",
"subtype": "",
"pre_action": "Reaction: WelcomeMessageEN",
"tag": "",
"prompt": "So, please tell me, how may I help you"
,
"prompt_duration": 2300,
"timeout": 2500,
"fields_to_elicit": [
{
"name": "intent",
"type": "Banking"
}
],
"prompts": [
{
"content": "So, please tell me, how may I help you today?;",
"prompt-urls": [],
"weighted": []
}
],
"data_models": [
{
"type": "",
"subtype": "",
"direction": "",
"template_name": "",
"subtitle": "",
"fallback": "",
"image": {
"label": "",
"url": ""
},
"interactive_option": {
"label": "",
"url": "",
"image": {
"label": "",
"url": ""
},
"semantics": {
"key_1": "value_1",
"key_2": "value_2",
"key_3": "value_3"
}
},
"entries": [
{
"header": "",
"details": "",
"coordinates": "",
"image": {
"label": "",
"url": ""
},
"interactive_option": {
"label": "",
"url": "",
"image": {
"label": "",
"url": ""
},
"semantics": {
"key_1": "value_1",
"key_2": "value_2",
"key_3": "value_3"
}
}
}
]
}
]
},
"previous_action" : {},
"nlu": {
"result_count": 2,
"work-flow-id": "",
"nlu-app": "",
"result_type": "Recognition",
"semantic-interpretation": [
{
"intent": {
"name": "Balance-Inquairy",
"status": "Defined",
"group": "",
"confidence": 100
},
"confidence": 99,
"utterance": "I want to know my balance",
"entities": [
{
"name": "",
"sensitivity-level": "",
"instances": [
{
"begin": 0,
"end": 0,
"confidence": 0,
"value": "",
"covered_text": "",
"features": {
"name_1": "value_1",
"name_2": "value_2"
}
}
]
}
]
}
]
},
"locale": "en-US",
"test_flag" : false,
"events": [
{
"index": 1,
"active_intent": "Balance-Inquiry",
"task_id": "123abc45-12ab-0a00-aa12-1122aa11abc1",
"intent_group": "Banking",
"log": {
"name": "Account_Balance",
"task": "selfServe",
"status": "initiated",
"exit_reason": "Agent Asked",
"comment": "[AS]",
"event": "Intent"
}
}
],
"WS": {
“date”: 1,
“latency”: 1,
“name”: “”,
“uri”: “”,
“method”: “”,
“request”: “”,
“response”: “”,
“inputs”: {},
“outputs”: {}
},
"security": {
"is_encrypted": false,
"sensitivity": "envelope",
"encrypted_key": "aaa9530be937c8a2819ba6ee3ca24361a11be0489e88fe853a926f709b9549f6"
},
"bio": {
"verification-score": "",
"verification-result": "",
"search-result": ""
},
"asr": {
"speech_start": "1300",
"speech_duration": "4500",
"rec_start": "3000",
"barge-in": "",
"grammar": "demo_generic",
"audio": {
"name": ""
}
},
"diamant": {
"id": "aws-staging-m-1",
"version": "10.0.0",
"region": "aws-us-east-1"
},
"flow": {
"id": "d9a46db1-8b56-4cf3-b13d-edec6ac51667.Test_Announcements.Announcement.MiniApps.ocp-qa",
"account_id": "d9a46db1-8b56-4cf3-b13d-edec6ac51664",
"name": "Test_Announcements",
"type": "Banking",
"diamant_app_name": "MiniApps",
"uuid": "ocp",
"organization": "ocp",
"parent_name": "ocp-qa@SND_Transfer_Flow",
"parent_id": "4c00859146cb0ba8531f2df1602603f31d4c9a0d.1683803585870.9e48fd9193664ab0adf2a0f8119f5d5c",
"parent_step": 2,
"root_step": 4,
"path": ["ocp-qa@SND_Card_P",
"ocp-qa@SND_Transfer_Flow"
],
"path_app_ids": [[
"ocp-qa@SND_Card_P",
"e6d966c0-069e-4ff2-9120-00b6b9ec09b.SND_Transfer_Flow.Flow.ocp-qa@SND_Transfer_Flow.ocp-qa"
],],
"reportable": false,
"reporting_type": ""
},
"antifraud" : {
"liveness_detection": {
"global_post": 0.99,
"label": "GENUINE",
"global_llr": 0.75,
"global_num_frames": 100
},
"blocklisting": {
"status": "CHECKED",
"label": "MATCH",
"fraudster_id" : 1,
"blocklist_id" : "4slqwel3",
"score": 0.97984944,
"score_llr": 4.2,
"score_nllr": 0.3,
"speech_frames": 400,
"risk_level": "LOW_RISK",
"list_size": 15,
"match_count": 3
}
},
"app": {
"name": "201126",
"version": "200101"
}
}
action
Field | Type | Description |
---|---|---|
| object | List of data models |
| list<object> | The list of fields to elicit of current action |
| string | The name of the current action |
| string | The reaction of current action |
| string | System’s full prompt |
| integer | The duration of the prompt in ms |
| string | The type of current action |
| string | The subtype of current action |
| string | The tag of current action |
| integer | no input timeout allowed on this action |
| object | System’s prompt separated by the utterance |
| object |
fields_to_elicit
Field | Type | Description |
---|---|---|
| string | The name of the field to elicit |
| string | The type of the field to elicit |
prompts
Field | Type | Description |
---|---|---|
| string | Prompt’s content |
| list<string> | List of Prompt’s URLs |
| list<string> | List of Prompt’s weights in case of weighted prompt |
previous_action
See action
nlu
Field | Type | Description |
---|---|---|
| integer | Number of n-best results interpretation |
| string | NLU’s workflow id |
| string | Semantic interpretation result type (Recognition, no match) |
| string | NLU rule-based model |
| object | NLU result |
semantic-interpretation
Field | Type | Description |
---|---|---|
| object | Intent result |
| float | n-best confidence |
| string | n-best utterance |
| list<object> | List of objects returned from NLU |
| string | Confidence score of ASR, 0 > 1 |
intent
Field | Type | Description |
---|---|---|
| float | Intent’s confidence |
| object | Intent’s name |
| float | Intent’s status (Defined, Fulfilled, etc..) |
| string | Intent’s group for reporting purposes |
entities
Field | Type | Description |
---|---|---|
| object | Intent’s name |
| string | Entity’s sensitivity level |
| list<object> | List of entity’s instances |
instances
Field | Type | Description |
---|---|---|
| string | Entity’s value |
| string | Entity’s covered text |
| integer | Begin index |
| integer | End index |
| float | Entity’s confidence |
| map<string, string> | Entity’s features |
target
Field | Type | Description |
---|---|---|
| string | Current target name |
| string | Current target status (INACTIVE, INITIATED, PARTIALLY_COMPLETED, COMPLETED) |
| array | List of targets |
WS
Field | Type | Description |
---|---|---|
| integer | Web Service date invocation |
| string | Web Service name |
| string | Web Service URI |
| string | Web Service method |
| integer | Web Service time elapsed |
| string | Web Service request |
| string | Web Service response |
| array | Web Service inputs |
| array | Web Service outputs |
asr
Field | Type | Description |
---|---|---|
| integer | Time duration after the system prompt has ended and user started speaking or timeout occurred. Default value is 0. |
| integer | Total speech duration. Default value is 0. |
| integer | Time difference between system prompt start and rec start. Default value is 0. |
| string | True if user barged-in, false otherwise |
| integer | deepASR’s grammar used for recognition |
| object | Audio’s name/location. No audio file is downloaded. |
bio
Field | Type | Description |
---|---|---|
| string | The bio search result |
| string | The verification result |
| string | The verification score 0 > 100 |
events
Field | Type | Description |
---|---|---|
| integer | The order of the event in the step |
| string | Dialog’s active intent |
| string | Dialog’s intent group |
| string | Dialog’s current task id |
| object | Log’s details |
log
Field | Type | Description |
---|---|---|
| string | Log’s name |
| string | Log’s specific task that occurs by the system during this step. For example: authentication task during the authentication process. |
| string | Log’s status of the Self Service/ Authentication at this dialog step. Every Task that is initiated must be completed or failed by the system. |
| string | Log’s exit reason which detects that the system is exiting its current state. |
| string | Log’s comment which is specific for this dialog step. Example value: [AS] when a Self Service Intent is requested. |
| string | Log’s event string |
security
Field | Type | Description |
---|---|---|
| boolean | True if step’s data is encrypted |
| string | Step’s sensitivity level (Full, EnvelopeEncryption etc) |
| string | Data’s encryption key in case of Envelope encryption |
data_models
Field | Type | Description |
---|---|---|
| string | The data model’s main structure type |
| string | The data model’s subtype |
| string | Specific graphic template to be used. Some templates may not be supported for all channels. |
| string | Data model title |
| string | Data model subtitle |
| string | Template’s direction (vertical, horizontal) |
| string | Prompt that will be used in the case that the visual element cannot be rendered |
| object | Template’s image |
| object | Interactive options can be used for defining buttons and clickable URL links. Nested elements for each InteractiveOption are: URL, Label, Semantics, Image |
| list<object> | List of options/items |
| map<string, string> | Template specific list of KVPs representing message content; each template may specify its own content requirements to replace standard structured elements |
image
Field | Type | Description |
---|---|---|
| string | Image’s title/label |
| string | Image’s URL |
interactive_option
Field | Type | Description |
---|---|---|
| string | Image’s title/label |
| string | Image’s URL |
| object | Options’s image |
| map<string, string> | List of semantics |
entries
Field | Type | Description |
---|---|---|
| string | Title of entry |
| string | Text of entry |
| string | Used for points of interest (pois_carousel) data model template |
| object | Template’s image |
| object | Interactive options can be used for defining buttons and clickable URL links. Nested elements for each InteractiveOption are: URL, Label, Semantics, Image |
antifraud
Field | Type | Description |
---|---|---|
| object | Tracks Audio Deepfake attacks and Replay Attacks against VB-enabled Flows. |
| object | Contains all the output fields when blocklisting is enabled |
liveness_detectiton
Field | Type | Description |
---|---|---|
| float | Global liveness score in 0-1 scale |
| string | Enumerated result produced from Possible values are GENUINE, LOW_CONFIDENCE, REPLAY, LOW_DATA, NO_DATA, ERROR, LICENSE_ERROR, TIMEOUT. |
| float | Global liveness score |
| integer | Number of frames accounted for global score |
blocklisting
Field | Type | Description |
---|---|---|
| | The status can be CHECKED, ERROR, EMPTY_LIST, LOW_DATA, TIMEOUT |
| | Indicates if the speaker is blocklisted or not. values MATCH, NO_MATCH |
|
| The fraudster ID number that matched |
|
| The blocklist ID number that matched |
|
| Confidence score |
|
| Log likelihood ratio score |
|
| Normalized log likelihood ratio score |
|
| Amount of speech frames in verification recording |
|
| Risk level for the blocklist. Can be LOW_RISK, MEDIUM_RISK, HIGH_RISK |
|
| How many voices comprise the blocklist |
|
| How many voices matched the blocklist |
Appendix
Please view the following documents for more information:
Types of OCP miniApps for more information.
Fail Exit Reason page.
Dialog Events Review page.