log di registrazione delle chiamate Servizi di comunicazione di Azure
Servizi di comunicazione di Azure offre funzionalità di registrazione che è possibile usare per monitorare ed eseguire il debug della soluzione. Queste funzionalità vengono configurate tramite il portale di Azure.
Il contenuto di questo articolo si riferisce ai log abilitati tramite Monitoraggio di Azure (vedere anche domande frequenti). Per abilitare questi log per Servizi di comunicazione, vedere Abilitare la registrazione nelle impostazioni di diagnostica.
Categorie di log delle risorse
Servizi di comunicazione offre i tipi di log seguenti che è possibile abilitare:
- Log di utilizzo: specificare i dati di utilizzo associati a ogni offerta di servizio fatturata.
- Log di riepilogo della registrazione delle chiamate: fornire informazioni di riepilogo per le registrazioni delle chiamate, ad esempio:
- Durata della chiamata.
- Contenuto multimediale (ad esempio, audio/video, non mescolato o trascrizione).
- Tipi di formato utilizzati per la registrazione ( ad esempio WAV o MP4).
- Motivo per cui la registrazione è terminata.
- Registrazione dei log delle operazioni in ingresso: fornire informazioni sulle richieste in ingresso per le operazioni di registrazione delle chiamate. Ogni voce corrisponde al risultato di una chiamata alle API di registrazione delle chiamate, ad esempio StartRecording, StopRecording, PauseRecording e ResumeRecording.
Un file di registrazione viene generato alla fine di una chiamata o di una riunione. Un utente o un'app (bot) può avviare e arrestare la registrazione. La registrazione può anche terminare a causa di un errore di sistema.
I log di riepilogo vengono pubblicati dopo che una registrazione è pronta per essere scaricata. I log vengono pubblicati entro il tempo di latenza standard per i log delle risorse di Monitoraggio di Azure. Vedere Tempo di inserimento dei dati di log in Monitoraggio di Azure.
Schema del log di utilizzo
Proprietà | Descrizione |
---|---|
timestamp |
Il timestamp (UTC) relativo alla data e all'ora in cui è stato generato il log. |
operationName |
Operazione associata al record di log. |
operationVersion |
Valore api-version associato all'operazione, se l'operazione operationName è stata eseguita tramite un'API. Se nessuna API corrisponde a questa operazione, la versione rappresenta la versione dell'operazione, nel caso in cui le proprietà associate all'operazione cambino in futuro. |
category |
La categoria di log dell'evento. La categoria è la granularità in base alla quale è possibile abilitare o disabilitare i log in una risorsa. Le proprietà visualizzate all'interno del properties BLOB di un evento sono le stesse all'interno di una categoria di log e un tipo di risorsa. |
correlationID |
L'ID degli eventi correlati. È possibile usarlo per identificare gli eventi correlati tra più tabelle. |
Properties |
Altri dati applicabili a varie modalità di Servizi di comunicazione. |
recordID |
ID univoco per un record di utilizzo. |
usageType |
Modalità di utilizzo , ad esempio Chat, PSTN o NAT. |
unitType |
Tipo di unità su cui si basa l'utilizzo per una modalità di utilizzo, ad esempio minuti, megabyte o messaggi. |
quantity |
Il numero di unità usate o consumate per questo record. |
Schema del log di riepilogo della registrazione delle chiamate
Nome proprietà | Tipo di dati | Descrizione |
---|---|---|
timeGenerated |
Data/Ora | Timestamp (UTC) di quando è stato generato il log. |
operationName |
Stringa | Operazione associata a un record di log. |
correlationId |
Stringa | ID usato per correlare gli eventi tra le tabelle. |
recordingID |
Stringa | ID per la registrazione a cui fa riferimento questo log. |
category |
Stringa | La categoria di log dell'evento. I log con la stessa categoria di log e lo stesso tipo di risorsa hanno gli stessi campi delle proprietà. |
resultType |
Stringa | Lo stato dell'operazione. |
level |
Stringa | Livello di gravità dell'operazione. |
chunkCount |
Intero | Numero totale di blocchi creati per la registrazione. |
channelType |
Stringa | Tipo di canale della registrazione, ad esempio misto o non combinato. |
recordingStartTime |
Data/Ora | Ora di avvio della registrazione. |
contentType |
Stringa | Contenuto della registrazione, ad esempio solo audio, audio/video o trascrizione. |
formatType |
Stringa | Formato di file della registrazione. |
recordingLength |
Double | Durata della registrazione in secondi. |
audioChannelsCount |
Intero | Numero totale di canali audio nella registrazione. |
recordingEndReason |
Stringa | Motivo per cui la registrazione è terminata. |
Call Recording and example data (Registrazione chiamata e dati di esempio)
"operationName": "Call Recording Summary",
"operationVersion": "1.0",
"category": "RecordingSummary",
Una chiamata può avere una registrazione o più registrazioni, a seconda del numero di volte in cui viene attivato un evento di registrazione.
Ad esempio, se un agente avvia una chiamata in uscita su una riga registrata e la chiamata scende a causa di un segnale di rete scadente, callID
avrà un recordingID
valore. Se l'agente richiama il cliente, il sistema genera una nuova callID
istanza e un nuovo recordingID
valore.
Esempio: Call Recording for one call to one recording (Registrazione chiamata per una chiamata a una registrazione)
"properties"
{
"TimeGenerated":"2022-08-17T23:18:26.4332392Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "zzzzzz-cada-4164-be10-0000000000",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuZHBvaW5xxxxxxxxFmNjkwxxxxxxxxxxxxSZXNvdXJjZVNwZWNpZmljSWQiOiJiZGU5YzE3Ni05M2Q3LTRkMWYtYmYwNS0yMTMwZTRiNWNlOTgifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-16T09:07:54.0000000Z",
"RecordingLength": "73872.94",
"ChunkCount": 6,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
Se l'agente avvia una registrazione e quindi arresta e riavvia la registrazione più volte mentre la chiamata è ancora attiva, callID
avrà molti recordingID
valori. Il numero di valori dipende dal numero di volte in cui sono stati attivati gli eventi di registrazione.
Esempio: Call Recording for one call to many recordings
{
"TimeGenerated": "2022-08-17T23:55:46.6304762Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "xxxxxxx-cf78-4156-zzzz-0000000fa29cc",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuZHBxxxxxxxxxxxxjkwMC05MmEwLTRlZDYtOTcxYS1kYzZlZTkzNjU0NzciLCJSxxxxxNwZWNpZmljSWQiOiI5ZmY2ZTY2Ny04YmQyLTQ0NzAtYmRkYy00ZTVhMmUwYmNmOTYifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-17T23:55:43.3304762Z",
"RecordingLength": 3.34,
"ChunkCount": 1,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
{
"TimeGenerated": "2022-08-17T23:55:56.7664976Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "xxxxxxx-cf78-4156-zzzz-0000000fa29cc",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuxxxxxxiOiI4NDFmNjkwMC1mMjBiLTQzNmQtYTg0Mi1hODY2YzE4M2Y0YTEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI2YzRlZDI4NC0wOGQ1LTQxNjEtOTExMy1jYWIxNTc3YjM1ODYifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-17T23:55:54.0664976Z",
"RecordingLength": 2.7,
"ChunkCount": 1,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
Log ACSCallRecordingIncomingOperations
Ecco le proprietà:
Proprietà | Descrizione |
---|---|
timeGenerated |
Timestamp (UTC) di quando è stato generato il log. |
callConnectionId |
ID della connessione di chiamata o della gamba, se disponibile. |
callerIpAddress |
Indirizzo IP del chiamante, se l'operazione corrisponde a una chiamata API proveniente da un'entità con un indirizzo IP disponibile pubblicamente. |
correlationId |
L'ID degli eventi correlati. È possibile usarlo per identificare gli eventi correlati tra più tabelle. |
durationMs |
La durata dell'operazione in millisecondi. |
level |
Livello di gravità dell'operazione. |
operationName |
Operazione associata ai record di log. |
operationVersion |
Versione dell'API associata all'operazione o alla versione dell'operazione (se non è disponibile alcuna versione dell'API). |
resourceId |
Identificatore univoco per la risorsa a cui è associato il record. |
resultSignature |
Stato secondario dell'operazione. Se questa operazione corrisponde a una chiamata API REST, questo campo contiene il codice di stato HTTP della chiamata REST corrispondente. |
resultType |
Lo stato dell'operazione. |
sdkType |
Il tipo di SDK usato nella richiesta. |
sdkVersion |
Versione dell'SDK. |
serverCallId |
ID chiamata server. |
URI |
URI della richiesta. |
Ecco un esempio:
"properties"
{ "TimeGenerated": "2023-05-09T15:58:30.100Z",
"Level": "Informational",
"CorrelationId": "a999f996-b4e1-xxxx-ac04-a59test87d97",
"OperationName": "ResumeCallRecording",
"OperationVersion": "2023-03-06",
"URI": "https://acsresouce.communication.azure.com/calling/recordings/ eyJQbGF0Zm9ybUVuZHBviI0MjFmMTIwMC04MjhiLTRmZGItOTZjYi0...:resume?api-version=2023-03-06",
"ResultType": "Succeeded",
"ResultSignature": 202,
"DurationMs": 130,
"CallerIpAddress": "127.0.0.1",
"CallConnectionId": "d5596715-ab0b-test-8eee-575c250e4234",
"ServerCallId": "aHR0cHM6Ly9hcGk0vjCCCCCCQd2pRP2k9OTMmZT02Mzc5OTQ3xMDAzNDUwMzg...",
"SdkVersion": "1.0.0-alpha.20220829.1",
"SdkType": "dotnet"
}
Passaggi successivi
- Ottenere informazioni dettagliate sulla registrazione delle chiamate.
- Altre informazioni sulla registrazione delle chiamate.