Session Summary (Voice Messaging)

This method allows you to review the "Voice Session Summary" status and individual call legs.
"Voice Session Summary" (VSS) endpoint. Your "Voice Session Summary" (VSS) endpoint can be configured on the sub-account level with the Voice Call Action Webhooks
This can be used alongside or instead of the Call Status, to simplify your monitoring.

Request

When the session has ended, 8x8 platform will POST a JSON object to your URL.

The JSON object will contain the following values:

NameTypeDescription
namespaceString8x8's overall product namespace. For Voice products, the value will be "VOICE"
eventTypeStringEvent type that generated this callback. For session summary events the value will be "SESSION_SUMMARY"
descriptionStringDescription of the event type that triggered the callback.
sessionIdStringUnique id that represents Voice Messaging session [UUID]
subAccountIdStringUnique ID of account
sessionStatusString“sessionStatus” values of the two call legs. Possible values for “sessionStatus” are:
COMPLETED, NO ANSWER, BUSY, CANCELED, FAILED, ERROR
startTimeStringStart time of voice messaging session
endTimeStringStart time of voice messaging session
lastActionStringShows the last executed command during the session
callCountIntegerShows how many call legs have been bridged for the given session
detailsObjectJSON object containing information about all call legs in the session
callIdStringUnique identifier of call leg
callDirectionStringIndicates the direction of the call leg (INBOUND or OUTBOUND)
callTypeStringType of the call leg. Values can be "PSTN" or "VOIP", depending on where the call was initiated from (telco operators or VoiceSDK users). For Voice Messaging the value will always be PSTN.
initiatedTimestampStringInitiated time of call leg
connectedTimestampStringTime when the call leg is connected
disconnectedTimestampStringTime when the call leg is disconnected
sourceStringSource number (CallerID) set for the call leg
sourceFormatStringThe value for Voice Messaging will always be "MSISDN"
destinationStringDestination number set for the call leg
destinationFormatStringThe value for Voice Messaging will always be "MSISDN"
sourceCountryCodeStringCountry code for the Source Number
destinationCountryCodeStringCountry code for the Destination Number
sourceRefIdStringFor OUTBOUND call legs, this property shows the referenceId of the Virtual Number that has been called. For INBOUND calls the value is null
callStatusStringCall status of the call leg. The values can be:
COMPLETED, NO ANSWER, BUSY, CANCELED, FAILED
callDurationIntegerCall duration of the call leg.
errorDetailsObjectJSON object containing information about all call leg errors in the session
errorMsgStringThe error details of the call leg
errorCodeStringError code specified in the Error object
callQualityObjectJSON object containing information about all call leg call quality indicators in the session
mosFloatMean Opinion Score (MOS) is a numerical measure of the human-judged overall quality of the call leg
packetLossRateFloatThe packet loss rate reflects the reliability of a communication network path.
jitterIntegerJitter reflects any time delay in sending data packets over your call connection.

Example of a JSON object sent to your "Voice Session Summary" endpoint:

{
  "payload": {
    "sessionId": "1f048a84-ea6d-11ee-911b-078f7290bf52",
    "subAccountId": "8x8_test",
    "sessionStatus": "COMPLETED",
    "startTime": "2024-03-25T06:01:30Z",
    "endTime": "2024-03-25T06:01:50Z",
    "lastAction": "MAKE_CALL",
    "callCount": 1,
    "details": {
      "CallA": {
        "callId": "1f048a83-ea6d-11ee-911b-e9023a97c284",
        "callDirection": "OUTBOUND",
        "callType": "PSTN",
        "initiatedTimestamp": "2024-03-25T06:01:28Z",
        "connectedTimestamp": "2024-03-25T06:01:37Z",
        "disconnectedTimestamp": "2024-03-25T06:01:50Z",
        "source": "+12314377870",
        "destination": "+6568332048",
        "sourceFormat": "MSISDN",
        "destinationFormat": "MSISDN",
        "sourceCountryCode": "US",
        "destinationCountryCode": "SG",
        "SourceRefId": "null",
        "callStatus": "COMPLETED",
        "callDuration": 13,
        "callQuality": {
          "mos": 4.5,
          "packetLossRate": 0,
          "jitter": 20
        }
      }
    }
  },
  "namespace": "VOICE",
  "eventType": "SESSION_SUMMARY",
  "description": "Summary of a completed call session"
}
Failure
{
  "payload": {
    "sessionId": "47f19e66-2163-11ee-8ccd-27b543a164ea",
    "subAccountId": "8x8_test",
    "sessionStatus": "ERROR",
    "startTime": "2024-07-13T09:54:38Z",
    "endTime": "2024-07-13T09:54:38Z",
    "lastAction": "MAKE_CALL",
    "callCount": 1,
    "errorDetails": {
      "errorMsg": "No coverage available for requested area",
      "errorCode": -2005
    },
    "details": {
      "callA": {
        "callId": "4809bb03-2163-11ee-8f06-8da8b5ddeca4",
        "callDirection": "OUTBOUND",
        "callType": "PSTN",
        "initiatedTimestamp": "2023-07-13T09:54:38Z",
        "disconnectedTimestamp": "2023-07-13T09:54:38Z",
        "source": "+6568332048",
        "destination": "+6591178965",
        "sourceFormat": "MSISDN",
        "destinationFormat": "MSISDN",
        "sourceCountryCode": "SG",
        "destinationCountryCode": "SG",
        "sourceRefId": "PSTN1",
        "callStatus": "ERROR",
        "callDuration": 0
      }
    }
  },
  "namespace": "VOICE",
  "eventType": "SESSION_SUMMARY",
  "description": "Summary of a completed call session"
}
 

Response

Your endpoint should respond with 200 OK status


Error Details and Error Code

Status CodeMessage
-2001An internal error has occurred
-2002An internal connectivity error has occurred
-2003The call flow provided is invalid
-2004No coverage available for requested area
-2005Unable to synthesize text to speech
-2008The provided source MSISDN or caller ID is not whitelisted.
-9999An unknown error has occurred.