Log di registrazione delle chiamate di 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 riguarda i 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: forniscono i dati di utilizzo associati a ogni offerta del servizio fatturata.
- Log di riepilogo della registrazione delle chiamate: fornire informazioni di riepilogo per le registrazioni delle chiamate, ad esempio:
- Durata 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 Time di inserimento dati 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 del 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 di tale operazione nel caso in cui le proprietà associate all'operazione cambino in futuro. |
category |
La categoria di log dell'evento. La categoria è la granularità con cui è possibile abilitare o disabilitare i log di una risorsa. Le proprietà che appaiono all'interno del BLOB properties di un evento sono le stesse all'interno di una categoria di log e di un tipo di risorsa. |
correlationID |
L'ID degli eventi correlati. Può essere usato per identificare 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 della proprietà | Tipo di dati | Descrizione |
---|---|---|
timeGenerated |
Data/Ora | Timestamp (UTC) relativo alla data e all'ora in cui è stato generato il log. |
operationName |
String | L'operazione associata a un record del log. |
correlationId |
String | ID usato per correlare gli eventi tra le tabelle. |
recordingID |
String | ID per la registrazione a cui fa riferimento questo log. |
category |
String | La categoria di log dell'evento. I log con la stessa categoria di log e lo stesso tipo di risorsa hanno gli stessi campi di proprietà. |
resultType |
String | Lo stato dell'operazione. |
level |
String | Il livello di gravità dell'operazione. |
chunkCount |
Intero | Numero totale di blocchi creati per la registrazione. |
channelType |
String | Tipo di canale della registrazione, ad esempio misto o non combinato. |
recordingStartTime |
Data/Ora | Ora di avvio della registrazione. |
contentType |
String | Contenuto della registrazione, ad esempio solo audio, audio/video o trascrizione. |
formatType |
String | Formato di file della registrazione. |
recordingLength |
Double | Durata della registrazione in secondi. |
audioChannelsCount |
Intero | Numero totale di canali audio nella registrazione. |
recordingEndReason |
String | Motivo per cui la registrazione è terminata. |
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 valore recordingID
. Se l'agente richiama il cliente, il sistema genera una nuova istanza di callID
e un nuovo valore recordingID
.
Esempio: 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 valori recordingID
. Il numero di valori dipende dal numero di volte in cui sono stati attivati gli eventi di registrazione.
Esempio: Registrazione chiamata per una chiamata a molte registrazioni
{
"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
}
ACSCallRecordingIncomingOperations logs
Ecco le proprietà:
Proprietà | Descrizione |
---|---|
timeGenerated |
Timestamp (UTC) relativo alla data e all'ora in cui è stato generato il log. |
callConnectionId |
ID della connessione di chiamata o della gamba, se disponibile. |
callerIpAddress |
L'indirizzo IP del chiamante, se l'operazione corrisponde a una chiamata API proveniente da un'entità con un indirizzo IP pubblicamente disponibile. |
correlationId |
L'ID degli eventi correlati. Può essere usato per identificare eventi correlati tra più tabelle. |
durationMs |
La durata dell'operazione in millisecondi. |
level |
Il livello di gravità dell'operazione. |
operationName |
L'operazione associata ai record di log. |
operationVersion |
La versione API associata all'operazione o la versione dell'operazione (se non è disponibile alcuna versione API). |
resourceId |
Identificatore univoco della risorsa a cui è associato il record. |
resultSignature |
Lo 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 |
La versione 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.