Skip to main content

Technical Solution for CRM bugs in CX voice

Dialog Id in End Conversation

From Agent Desk we are introducing new Event Called Dialog_Ended which will trigger when Voice called Ended from Agent or Customer Side. We post this event before Topic Subscription Event of Conversation.
In This event we have Channel Session Id inside agentData.body.dialog.id and Conversation Id inside agentData.header.conversationId so on CRM side this information regarding mapping of the conversation id to the dialog id can be utilized in the end conversation event.

Sample Object:

JSON
{
  "event": "Dialog_Ended",
  "agentData": {
    "id": "f8949a53-d1e0-4fb9-a94c-33a45201d6f3",
    "header": {
      "channelData": {
        "channelCustomerIdentifier": "100004",
        "serviceIdentifier": "77788",
        "additionalAttributes": [
          {
            "key": "conversationId",
            "type": "String2000",
            "value": "67adfa2337a5284d264e5db6"
          }
        ]
      },
      "customer": {
        "_id": "67237f0e666cc0ba3932f80d",
        "phoneNumber": [""],
        "firstName": "100004",
        "voice": ["100004"],
        "isAnonymous": false,
        "__v": 0,
        "facebook": [""],
        "instagram": [""],
        "labels": [],
        "telegram": [""],
        "twitter": [""],
        "viber": [""],
        "web": ["451372"]
      },
      "language": {},
      "timestamp": 1739455031000,
      "securityInfo": {},
      "stamps": [],
      "intent": "CALL_LEG_ENDED",
      "entities": {},
      "sender": {
        "id": "029beb4a-f11e-4071-b2df-d5609ef74b30",
        "senderName": "sana",
        "type": "AGENT",
        "additionalDetail": {}
      },
      "conversationId": "67adfa2337a5284d264e5db6"
    },
    "body": {
      "type": "VOICE",
      "markdownText": null,
      "reasonCode": "DIALOG_ENDED",
      "leg": "1323:029beb4a-f11e-4071-b2df-d5609ef74b30:2d85544627c546d29b3c8173034aa223",
      "callId": "2d85544627c546d29b3c8173034aa223",
      "dialog": {
        "id": "2d85544627c546d29b3c8173034aa223",
        "ani": "100004",
        "customerNumber": "100004",
        "associatedDialogUri": null,
        "callbackNumber": null,
        "outboundClassification": null,
        "scheduledCallbackInfo": null,
        "isCallEnded": 1,
        "eventType": "PUT",
        "callType": "OTHER_IN",
        "queueName": "Voice",
        "queueType": "NAME",
        "dialedNumber": "77788",
        "dnis": "77788",
        "serviceIdentifier": "77788",
        "secondaryId": null,
        "state": "DROPPED",
        "isCallAlreadyActive": false,
        "wrapUpReason": null,
        "wrapUpItems": null,
        "callEndReason": null,
        "fromAddress": "100004",
        "callVariables": {
          "CallVariable": []
        },
        "participants": [
          {
            "actions": {
              "action": ["ANSWER"]
            },
            "mediaAddress": "1323",
            "mediaAddressType": "SIP.js/0.21.2-CTI/Expertflow",
            "startTime": "2025-02-13T13:56:54.557Z",
            "state": "DROPPED",
            "stateCause": null,
            "stateChangeTime": "2025-02-13T13:57:11.080Z",
            "mute": false
          }
        ],
        "mediaType": "audio",
        "callOriginator": "normal"
      }
    }
  }
}



Service Identifier Missing for Outbound calls

From Agent Desk we are introducing new Event Called Channels_Type which will trigger when Agent logged In or refreshes agent desk . We post this event when Agent is logged In.

New Event
Event Name:
“event”: “Channels_Types”
“agentData”: [List of All Channels]


Sample List of All Channel Types

[
{
"id": "66bfc57188b46f635d96bd66",
"name": "FACEBOOK",
"channelLogo": "_FACEBOOK.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57188b46f635d96bd67",
"name": "VIBER",
"channelLogo": "_VIBER.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd68",
"name": "WHATSAPP",
"channelLogo": "_WHATSAPP.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd69",
"name": "SMS",
"channelLogo": "_SMS.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd6a",
"name": "WEB",
"channelLogo": "_WEB.svg",
"mediaRoutingDomain": "6305de07166ba1099d11d8e6",
"isInteractive": true
},
{
"id": "66bfc57288b46f635d96bd6b",
"name": "CX_VOICE",
"channelLogo": "_CX_VOICE.svg",
"mediaRoutingDomain": "62f9e360ea5311eda05b0242",
"isInteractive": true
},
{
"id": "66bfc57288b46f635d96bd6c",
"name": "CISCO_CC",
"channelLogo": "_CISCO_CC.svg",
"mediaRoutingDomain": "20316843be924c8ab4f57a7a",
"isInteractive": true
},
{
"id": "66bfc57288b46f635d96bd6d",
"name": "GENERIC",
"channelLogo": "_GENERIC.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd6e",
"name": "TWITTER",
"channelLogo": "_TWITTER.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd6f",
"name": "TELEGRAM",
"channelLogo": "_TELEGRAM.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd70",
"name": "INSTAGRAM",
"channelLogo": "_INSTAGRAM.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd71",
"name": "EMAIL",
"channelLogo": "_EMAIL.svg",
"mediaRoutingDomain": null,
"isInteractive": false
},
{
"id": "66bfc57288b46f635d96bd72",
"name": "WEB_RTC",
"channelLogo": "75971___WEB_RTC.svg",
"mediaRoutingDomain": "62f9e360ea5311eda05b0242",
"isInteractive": true
}
]


Once you get All channels you can search ur specific Channel ,call this API at CRM end it will return us whole info about voice/web channel including service Identifier.

Sample Info of specific Channel Id

{
"id": "66bfc9d288b46f635d96bd92",
"name": "77788",
"serviceIdentifier": "77788",
"defaultOutbound": true,
"tenant": {
"id": "67ab522634687d104a407d36",
"name": null
},
"channelConfig": {
"id": "67ab522634687d104a407d37",
"channelMode": "HYBRID",
"conversationBot": "",
"responseSla": 0,
"customerActivityTimeout": 3600,
"customerSla": {
"totalDuration": null,
"action": null,
"startTime": null
},
"customerIdentificationCriteria": {
"value": null
},
"routingPolicy": {
"agentSelectionPolicy": "LONGEST_AVAILABLE",
"routeToLastAgent": false,
"routingMode": "PUSH",
"routingObjectId": "66bfc88506dc3e147b4ad223",
"agentRequestTtl": 3600
},
"botId": "66bfc852de202e5f423b78b1"
},
"channelConnector": {
"id": "66bfc9a488b46f635d96bd80",
"name": "Cx Voice",
"channelProviderInterface": {
"id": "66bfc99888b46f635d96bd7a",
"name": "CX Voice",
"supportedChannelTypes": [
{
"id": "66bfc57288b46f635d96bd6b",
"name": "CX_VOICE",
"channelLogo": "_CX_VOICE.svg",
"isInteractive": true,
"mediaRoutingDomain": "62f9e360ea5311eda05b0242"
}
],
"providerWebhook": "http://192.168.1.161:8002/ccm-msg/receive",
"channelProviderConfigSchema": []
},
"channelProviderConfigs": [],
"tenant": {
"id": "66bfc9a488b46f635d96bd82",
"name": null
}
},
"channelType": {
"id": "66bfc57288b46f635d96bd6b",
"name": "CX_VOICE",
"channelLogo": "_CX_VOICE.svg",
"isInteractive": true,
"mediaRoutingDomain": "62f9e360ea5311eda05b0242"
}
}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.