Recording.Audio.Available

The Recording.Audio.Available webhook event is sent when the recorded conference in MP3 format is ready and can be downloaded through the URL link included in the webhook event. This event is available only for Dolby Voice conferences.

The webhook event may contain one or more recordings, depending on the recording configuration and recording start and stop events.

The splits webhook element allows receiving separate audio recordings for each conference participant. To use the split recording, enable the Generate audio recordings for each participant option in the dashboard.

Split recording disabled:

{
  "conference": {
    "confId": "conference_identifier",
    "confAlias": "example_conference_alias"
  },
  "thirdPartyId": "consumer_key",
  "region": "eu",
  "eventType": "Recording.Audio.Available",
  "filename": "example_file_name",
  "duration": 6400,
  "size": 78624,
  "url": "url_to_recording",
  "records": [
    {
      "startTime" : 1602086897206,
      "duration": 67540,
      "size": 10000,
      "filename": "record_{timestamp_epoch}_conf_{conference_id}.mp3",
      "url": "url_to_recording"
    },
    {
      "startTime" : 1602086897300,
      "duration": 1223,
      "size": 10000,
      "filename": "record_{timestamp_epoch}_conf_{conference_id}.mp3",
      "url": "url_to_recording"
    }
  ]
}

Split recording enabled:

{
    "conference": {
        "confId": "conference_identifier",
        "confAlias": "example_conference_alias"
    },
    "thirdPartyId": "consumer_key",
    "region": "eu",
    "eventType": "Recording.Audio.Available",
    "filename": "example_file_name",
    "duration": 6400,
    "size": 78624,
    "url": "url_to_recording",
    "records": [
        {
            "startTime": 1602086897206,
            "duration": 6400,
            "size": 78624,
            "filename": "record_{timestamp_epoch}_conn_{user_id}_{user_record_start_time}.mp3",
            "url": "url_to_recording",
            "splits": [
                {
                    "startTime": 1602086897300,
                    "duration": 6420,
                    "size": 41256,
                    "filename": "record_{timestamp_epoch}_conn_{user_id}_{user_record_start_time}.mp3",
                    "userId": "userId_UUID",
                    "url": "url_to_recording",
                    "metadata": {
                        "preferSendMono": "false",
                        "externalName": "external_name",
                        "externalPhotoUrl": "link_to_participant_photo",
                        "simulcast": "false",
                        "preferRecvMono": "false"
                    }
                }
            ]
        }
    ]
}

The following table explains all fields of the webhook object:

Field nameObjectTypeMeaningExample
conference. confIdRootStringThe identifier of the recorded conference.3739256f-cb27-4bde-8d64-593417f93768
conference.confAliasRootStringThe alias of a recorded conference.virtual event 1
thirdPartyIdRootStringThe app key. If you implemented a common webhook listener for multiple applications, this can help you to distinguish which application is this webhook event for.XSTXp4EsAmMrcw4g==
regionRootStringThe recording storage region, which matches the conference's creation region. The possible values are: ca: Canada, us: United States, eu: Europe, in: India, au: Australiaeu
eventTypeRootStringThe webhook event type.Recording.Audio.Available
filenameRootStringThe name of the merged recording file.-
durationRootNumber in millisecondsDuration of the merged recording.5000, which indicates 5 seconds
sizeRootNumber (Integer)The size, in bytes, of the merged recording file.-
urlRootStringThe pre-signed URL for retrieving the merged recording. The URL expires in 10 minutes; after this time you need to use Monitor API to download the recording.-
recordsRootArray of objectsThe list of recordings created during a conference. Upon the conference termination, the recording files are automatically merged into one.-
records[].startTimeRecordsNumber in millisecondsThe start time of the recording, in epoch.1683139951604
records[].durationRecordsNumber in millisecondsThe duration of the recording.5000, which indicates 5 seconds
records[].sizeRecordsNumber (Integer)The size, in bytes, of the recording file.-
records[].filenameRecordsStringThe name of the recording file.-
records[].urlRecordsStringThe pre-signed URL for retrieving the recording. The URL expires in 10 minutes; after this time you need to use Monitor API to download the recording.-
records[].splits. startTimeSplitsNumber in millisecondsThe start time of the split recording, in epoch.1683139951604
records[].splits.durationSplitsNumber in millisecondsThe duration of the split recording file.5000, which indicates 5 seconds
records[].splits. sizeSplitsNumber (Integer)The size, in bytes, of the split recording file.-
records[].splits. filenameSplitsStringThe name of the split recording file.-
records[].splits. userIdSplitsString in UUID formatThe participant identifier generated by Dolby.00000000-0000-0000-0000-000000000000
records[].splits. urlSplitsStringThe pre-signed URL for retrieving the split recording. The URL expires in 10 minutes; after this time you need to use Monitor API to download the recording.-
records[].splits. metadata.preferSendMonoMetadataBooleanInformation whether the participant sent mono sound to the conference.false
records[].splits. metadata.externalNameMetadataStringThe external identifier of the participant.[email protected]
records[].splits. metadata.externalPhotoUrlMetadataStringThe participants' avatar URL.-
records[].splits. metadata.simulcastMetadataBooleanInformation whether the participant used Simulcast.false
records[].splits. metadata.preferRecvMonoMetadataStringInformation whether the participant received mono sound.false