Übersicht zur Anrufaufzeichnung

Hinweis

Die Anrufaufzeichnung für die Teams-Interoperabilität befindet sich jetzt in der Public Preview.

Mit der Anrufaufzeichnung können Sie mehrere in Azure Communication Services verfügbare Anrufszenarien aufzeichnen. Dazu werden Ihnen verschiedene APIs zum Starten, Beenden, Anhalten und Fortsetzen der Aufzeichnung bereitgestellt. Unabhängig davon, ob es sich um einen PSTN (Telefonfestnetz)-, WebRTC (Web Real-Time Communication)- oder SIP (Session Initiation Protocol)-Anruf handelt, kann über serverseitige Geschäftslogik auf diese APIs zugegriffen werden. Außerdem können Aufzeichnungen durch eine Benutzeraktion ausgelöst werden, die die Serveranwendung dazu anweist, die Aufzeichnung zu starten.

Abhängig von Ihren geschäftlichen Anforderungen können Sie die Anrufaufzeichnung für verschiedene Azure Communication Services-Anrufimplementierungen verwenden. Sie können beispielsweise 1:1- oder 1:N-Audio- und Videoanrufe aufzeichnen:

Abbildung eines Aufrufs, der aufgezeichnet wird

Sie können die Anrufaufzeichnung aber auch verwenden, um komplexe PSTN- oder VoIP-Workflows für ein- und ausgehende Anrufe aufzuzeichnen, die von der Anrufautomatisierung verwaltet werden. Unabhängig davon, wie Sie den Anruf eingerichtet haben, können Sie mit der Anrufaufzeichnung gemischte oder einheitliche Mediendateien erstellen, die 24 Stunden lang in einem integrierten temporären Speicher gespeichert werden. Sie können die Dateien abrufen und in Ihren eigenen Bring Your Own Storage-Azure-Blobspeicher oder in eine Speicherlösung Ihrer Wahl verschieben. Die Anrufaufzeichnung unterstützt alle Datenregionen von Azure Communication Services.

Diagramm: Architektur der Anrufaufzeichnung

Anrufaufzeichnung für Ihre Geschäftsanforderungen

Die Anrufaufzeichnung unterstützt die Ausgabe mehrerer Medien und Inhaltstypen, um Ihre geschäftlichen Anforderungen und Anwendungsfälle zu erfüllen. Sie können gemischte Formate für Szenarien wie das Speichern von Aufzeichnungen, Besprechungsnotizen, Coaching und Schulungen oder sogar Compliance und der Einhaltung von Richtlinien verwenden. Alternativ können Sie einheitliche Audioformate verwenden, um Anwendungsfälle zur Qualitätssicherung oder noch komplexere Szenarien wie erweiterte Analysen oder KI-basierte (künstliche Intelligenz) anspruchsvolle Nachverarbeitungen auszuführen.

Video

Kanaltyp Inhaltsformat Lösung Samplingrate Bitrate Datenrate Output Beschreibung
mixed mp4 1.920 × 1.080, 16 BpS (Bilder pro Sekunde) 16 kHz 1 MBit/s 7,5 MB/min* Einzelne Datei, einzelner Kanal Gemischtes Video in einer standardmäßigen 3 x 3-Kachelanordnung (die meisten aktiven Lautsprecher) mit Anzeigenamenunterstützung

Audio

Kanaltyp Inhaltsformat Samplingrate Bitrate Datenrate Output Beschreibung
mixed MP3 16 kHz 48 Kbit/s 0,36 MB/min* Einzelne Datei, einzelner Kanal Gemischtes Audio aller Teilnehmenden
mixed WAV 16 kHz 256 KBit/s 1,92 MB/min* Einzelne Datei, einzelner Kanal Gemischtes Audio aller Teilnehmenden
nicht gemischt WAV 16 kHz 256 KBit/s 1,92 MB/min* pro Kanal Einzelne Datei, bis zu 5 WAV-Kanäle Ungemischtes Audio, ein*e Teilnehmer*in pro Kanal, bis zu fünf Kanäle

[*HINWEIS] Mp3- und Mp4-Formate verwenden eine verlustbehaftete Komprimierung, die zu einer variablen Bitrate führt. Die Werte für die Datenrate in den obigen Tabellen geben daher den theoretischen Höchstwert an. Das WAV-Format ist unkomprimiert und weist eine feste Bitrate auf, sodass die Berechnungen der Datenrate exakt sind.

Vollständige Kontrolle über Ihre Aufzeichnungen mit unseren Anrufaufzeichnungs-APIs

Anrufaufzeichnungs-APIs können verwendet werden, um die Aufzeichnung über interne Geschäftslogiktrigger (beispielsweise eine Anwendung, die einen Gruppenanruf erstellt und das Gespräch aufzeichnet) zu verwalten. Außerdem können Aufzeichnungen durch eine Benutzeraktion ausgelöst werden, die die Serveranwendung dazu anweist, die Aufzeichnung zu starten. Anrufaufzeichnungs-APIs verwenden ausschließlich serverCallId zum Initiieren der Aufzeichnung. Weitere Informationen zum Abrufen der serverCallId finden Sie im Schnellstart zur Anrufaufzeichnung. Wenn die Aufzeichnung gestartet wurde, wird eine recordingId zurückgegeben, die dann für Folgevorgänge wie Anhalten und Fortsetzen verwendet wird.

Vorgang Verwendet Kommentare
Starten der Aufzeichnung serverCallId Gibt recordingId zurück.
Abrufen des Aufzeichnungsstatus recordingId Gibt RecordingStateResult zurück.
Anhalten der Aufzeichnung recordingId Durch Anhalten und Fortsetzen der Anrufaufzeichnung können Sie die Aufzeichnung eines Teils eines Anrufs oder einer Besprechung überspringen und die Aufzeichnung in einer einzelnen Datei fortsetzen.
Fortsetzen der Aufzeichnung recordingId Setzt einen angehaltenen Aufzeichnungsvorgang fort. Der Inhalt ist in derselben Datei enthalten wie der Inhalt vor dem Anhalten.
Beenden der Aufzeichnung recordingId Beendet die Aufzeichnung und initiiert die endgültige Medienverarbeitung für den Dateidownload.

Event Grid-Benachrichtigungen

Die Anrufaufzeichnung verwendet Azure Event Grid, um Benachrichtigungen zu Medien und Metadaten bereitzustellen.

Hinweis

Azure Communication Services bietet eine kurzfristige Medienspeicherung für Aufzeichnungen. Aufzeichnungen stehen 24 Stunden lang zum Download zur Verfügung. Nach 24 Stunden sind die Aufzeichnungen nicht mehr verfügbar.

Eine Event Grid-Benachrichtigung (Microsoft.Communication.RecordingFileStatusUpdated) wird veröffentlicht, wenn eine Aufzeichnung abrufbereit ist. Dies ist in der Regel wenige Minuten nach Abschluss des Aufzeichnungsprozesses der Fall (also beispielsweise nach dem Ende der Besprechung oder nach dem Beenden der Aufzeichnung). Aufzeichnungsereignisbenachrichtigungen enthalten Werte für contentLocation und metadataLocation, mit denen sowohl aufgezeichnete Medien als auch eine Metadatendatei zur Aufzeichnung abgerufen werden können.

Referenz zum Benachrichtigungsschema

{
    "id": string, // Unique guid for event
    "topic": string, // /subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}
    "subject": string, // /recording/call/{call-id}/serverCallId/{serverCallId}/recordingId/{recordingId}
    "data": {
        "recordingStorageInfo": {
            "recordingChunks": [
                {
                    "documentId": string, // Document id for retrieving from storage
                    "index": int, // Index providing ordering for this chunk in the entire recording
                    "endReason": string, // Reason for chunk ending: "SessionEnded", "ChunkMaximumSizeExceeded”, etc.
                    "metadataLocation": <string>,  // url of the metadata for this chunk
                    "contentLocation": <string>,   // url of the mp4, mp3, or wav for this chunk
                    "deleteLocation": <string>     // url of the mp4, mp3, or wav to delete this chunk
                }
            ]
        },
        "recordingStartTime": string, // ISO 8601 date time for the start of the recording
        "recordingDurationMs": int, // Duration of recording in milliseconds
        "sessionEndReason": string // Reason for call ending: "CallEnded", "InitiatorLeft", etc.
    },
    "eventType": string, // "Microsoft.Communication.RecordingFileStatusUpdated"
    "dataVersion": string, // "1.0"
    "metadataVersion": string, // "1"
    "eventTime": string // ISO 8601 date time for when the event was created
}

Metadaten-Schemareferenz

{
  "resourceId": <string>,           // stable resource id of the Azure Communication Services resource recording
  "callId": <string>,               // id of the call
  "chunkDocumentId": <string>,      // object identifier for the chunk this metadata corresponds to
  "chunkIndex": <number>,           // index of this chunk with respect to all chunks in the recording
  "chunkStartTime": <string>,       // ISO 8601 datetime for the start time of the chunk this metadata corresponds to
  "chunkDuration": <number>,        // [Chunk duration has a maximum of 4 hours] duration of the chunk this metadata corresponds to in milliseconds
  "pauseResumeIntervals": [
              "startTime": <string>,          // ISO 8601 datetime for the time at which the recording was paused
              "duration": <number>            // duration of the pause in the recording in milliseconds
                          ],
  "recordingInfo": {
               "contentType": <string>,        // content type of recording, e.g. audio/audioVideo
               "channelType": <string>,        // channel type of recording, e.g. mixed/unmixed
               "format": <string>,             // format of the recording, e.g. mp4/mp3/wav
               "audioConfiguration": {
                   "sampleRate": <number>,       // sample rate for audio recording
                   "bitRate": <number>,          // bitrate for audio recording
                   "channels": <number>          // number of audio channels in output recording
                                     }
                    },
  "participants": [
    {
      "participantId": <string>,    // participant identifier of a participant captured in the recording
      "channel": <number>           // channel the participant was assigned to if the recording is unmixed
    }
  ]
}

Bedenken hinsichtlich Datenschutz und gesetzlichen Bestimmungen

In vielen Ländern/Regionen und Staaten gibt es Gesetze und Vorschriften bezüglich der Anrufaufzeichnung. Für PSTN-, Sprach- und Videoanrufe ist oft eine Benutzereinwilligung für die Aufzeichnung der Kommunikation erforderlich. Es liegt in Ihrer Verantwortung, die Anrufaufzeichnungsfunktionen in Übereinstimmung mit dem Gesetz zu verwenden. Die Einwilligung der an aufgezeichneter Kommunikation beteiligten Parteien muss auf eine Weise eingeholt werden, die den für den jeweiligen Teilnehmer geltenden Gesetzen entspricht.

Bestimmungen im Zusammenhang mit der Pflege personenbezogener Daten erfordern die Möglichkeit zum Exportieren von Benutzerdaten. Zur Erfüllung dieser Anforderungen enthalten Aufzeichnungsmetadatendateien die Teilnehmer-ID für jeden Aufrufteilnehmer im Array participants. Sie können die Azure Communication Services-Identität im Array participants mit Ihren internen Benutzeridentitäten abgleichen, um Anrufteilnehmer zu identifizieren.

Nächste Schritte

Hier sind einige für Sie interessante Artikel: