Panoramica della registrazione delle chiamate

Nota

La registrazione delle chiamate per l'interoperabilità di Teams è ora disponibile in anteprima pubblica.

Registrazione chiamate consente di registrare più scenari di chiamata disponibili in Servizi di comunicazione di Azure fornendo un set di API per avviare, arrestare, sospendere e riprendere la registrazione. Che si tratti di una chiamata PSTN, WebRTC o SIP, è possibile accedere a queste API dalla logica di business lato server. Inoltre, le registrazioni possono essere attivate da un'azione dell'utente che indica all'applicazione server di avviare la registrazione.

A seconda delle esigenze aziendali, è possibile usare Registrazione chiamate per diverse implementazioni di chiamata Servizi di comunicazione di Azure. Ad esempio, è possibile registrare chiamate audio e video 1:1 o 1:N:

Diagram showing a call that it's being recorded.

Tuttavia, è anche possibile usare Registrazione chiamate per registrare flussi di lavoro pstn complessi o voIP in ingresso e in uscita gestiti da Automazione chiamate. Indipendentemente dal modo in cui è stata stabilita la chiamata, La registrazione chiamate consente di produrre file multimediali misti o non misti archiviati per 48 ore in una risorsa di archiviazione temporanea predefinita. È possibile recuperare i file e portarli alla soluzione di archiviazione a lungo termine desiderata. Registrazione chiamate supporta tutte le aree dati Servizi di comunicazione di Azure.

Diagram showing call recording architecture.

Registrazione delle chiamate che supporta le esigenze aziendali

La registrazione delle chiamate supporta più output multimediali e tipi di contenuto per soddisfare le esigenze aziendali e i casi d'uso. È possibile usare formati misti per scenari quali la conservazione dei record, le note sulle riunioni, il coaching e la formazione o persino la conformità e la conformità. In alternativa, è possibile usare un formato audio non mescolato per risolvere i casi d'uso di controllo della qualità o scenari ancora più complessi, ad esempio analisi avanzata o intelligenza artificiale (intelligenza artificiale) sofisticati processi post-chiamata.

Video

Tipo di canale Formato contenuto Risoluzione Frequenza di campionamento Velocità in bit Velocità dati Output Descrizione
mixed mp4 1920x1080, 16 FPS (fotogrammi al secondo) 16 kHz 1 Mbps 7,5 MB/min* singolo file, canale singolo video misto in una disposizione predefinita 3x3 (altoparlanti più attivi) con supporto del nome visualizzato

Audio

Tipo di canale Formato contenuto Frequenza di campionamento Velocità in bit Velocità dati Output Descrizione
mixed mp3 16 kHz 48 kbps 0,36 MB/min* singolo file, canale singolo audio misto di tutti i partecipanti
mixed wav 16 kHz 256 Kbps 1,92 MB/min singolo file, canale singolo audio misto di tutti i partecipanti
non mescolato wav 16 kHz 256 Kbps 1,92 MB/min* per canale file singolo, fino a 5 canali wav audio non mescolato, un partecipante per canale, fino a cinque canali

[*NOTA] I formati Mp3 e Mp4 usano la compressione con perdita di dati che comporta una velocità in bit variabile; pertanto, i valori della frequenza dei dati nelle tabelle precedenti riflettono il valore massimo teorico. Il formato WAV non è compresso e la velocità in bit è fissa, quindi i calcoli della velocità dei dati sono esatti.

Ottenere il controllo completo sulle registrazioni con le API di registrazione delle chiamate

Le API di registrazione delle chiamate possono essere usate per gestire la registrazione tramite trigger di logica di business interni, ad esempio un'applicazione che crea una chiamata di gruppo e registra la conversazione. Inoltre, le registrazioni possono essere attivate da un'azione dell'utente che indica all'applicazione server di avviare la registrazione. Le API di registrazione delle chiamate usano esclusivamente l'oggetto per avviare la serverCallId registrazione. Per informazioni su come ottenere serverCallId, vedere la guida introduttiva alla registrazione delle chiamate. Un recordingId viene restituito all'avvio della registrazione, che viene quindi usato per le operazioni di follow-on, ad esempio pausa e ripresa.

Operazione Opera su Commenti
Avvia registrazione serverCallId Restituisce recordingId.
Ottenere lo stato di registrazione recordingId Restituisce RecordingStateResult.
Sospendi registrazione recordingId La sospensione e la ripresa della registrazione delle chiamate consente di ignorare la registrazione di una parte di una chiamata o di una riunione e riprendere la registrazione in un singolo file.
Riprendi registrazione recordingId Riprende un'operazione di registrazione sospesa. Il contenuto viene incluso nello stesso file del contenuto di prima della sospensione.
Interrompi registrazione recordingId Arresta la registrazione e avvia l'elaborazione multimediale finale per il download di file.

Notifiche di Griglia di eventi

La registrazione delle chiamate usa Griglia di eventi di Azure per fornire notifiche relative ai file multimediali e ai metadati.

Nota

Servizi di comunicazione di Azure fornisce spazio di archiviazione multimediale a breve termine per le registrazioni. Le registrazioni saranno disponibili per il download per 48 ore. Dopo 48 ore, le registrazioni non saranno più disponibili.

Una notifica Microsoft.Communication.RecordingFileStatusUpdated di Griglia di eventi viene pubblicata quando una registrazione è pronta per il recupero, in genere alcuni minuti dopo il completamento del processo di registrazione (ad esempio, la riunione è terminata, la registrazione è stata arrestata). Le notifiche degli eventi di registrazione includono contentLocation e metadataLocation, che vengono usate per recuperare sia i supporti registrati che un file di metadati di registrazione.

Informazioni di riferimento sullo schema di notifica

{
    "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
}

Informazioni di riferimento sullo schema dei metadati

{
  "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
    }
  ]
}

Problemi normativi e sulla privacy

Molti paesi/aree geografiche e stati hanno leggi e normative applicabili alla registrazione delle chiamate. Le chiamate PSTN, vocali e video richiedono spesso il consenso degli utenti alla registrazione delle comunicazioni. È tua responsabilità utilizzare le funzionalità di registrazione delle chiamate in conformità con la legge. La Società dovrà ottenere il consenso delle parti delle comunicazioni registrate conformemente alle leggi applicabili a ciascun partecipante.

Le normative relative alla manutenzione dei dati personali richiedono la possibilità di esportare i dati utente. Per supportare questi requisiti, la registrazione dei file di metadati include l'id partecipante per ogni partecipante della chiamata nella participants matrice. È possibile fare riferimento incrociato all'identità utente Servizi di comunicazione di Azure nella participants matrice con le identità utente interne per identificare i partecipanti in una chiamata.

Passaggi successivi

Ecco alcuni articoli di interesse per te: