Condividi tramite


Log delle chiamate vocali e delle videochiamate 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.

Concetti relativi ai dati

Le seguenti descrizioni generali dei concetti relativi ai dati sono specifiche per le chiamate vocali e le videochiamate. È importante esaminare questi concetti per comprendere il significato dei dati acquisiti nei log.

Entità e ID

Acquisire familiarità con i termini seguenti:

  • Chiamata: come rappresentato nei dati, una chiamata è un'astrazione illustrata da correlationId. I valori di correlationId sono univoci per ogni chiamata e sono associati al tempo da callStartTime e callDuration.

  • Partecipante: questa entità rappresenta la connessione tra un endpoint e il server. Un partecipante (participantId) è presente solo quando la chiamata è una chiamata di gruppo.

  • Endpoint: si tratta dell'entità più univoca, rappresentata da endpointId. Ogni chiamata è un evento che contiene dati di due o più endpoint. Gli endpoint rappresentano i partecipanti alla chiamata.

    EndpointType indica se l'endpoint è un utente umano (PSTN o VoIP), un bot o il server che gestisce più partecipanti all'interno di una chiamata. Quando un valore endpointType è "Server", all'endpoint non viene assegnato un ID univoco. È possibile analizzare endpointType e il numero di valori endpointId per determinare quanti utenti e altri partecipanti non umani (bot e server) partecipano a una chiamata.

    Gli SDK nativi per Android e iOS riutilizzano per un utente lo stesso valore endpointId in più chiamate, in modo da poter comprendere le esperienze nelle varie sessioni. Questo processo è diverso da quello degli endpoint basati sul Web, che generano sempre un nuovo valore endpointId per ogni nuova chiamata.

  • Flusso: si tratta dell'entità più granulare. Esiste un flusso per ogni direzione (in ingresso o in uscita) e un valore mediaType (ad esempio, Audio o Video).

Definizioni di dati

Schema del log di utilizzo

Proprietà Descrizione
Timestamp Timestamp (UTC) relativo alla data e all'ora in cui è stato generato il log.
Operation Name Operazione associata al record del log.
Operation Version Valore api-version associato all'operazione, se l'operazione Operation Name è 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.
Correlation ID 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.
Record ID ID univoco per un record di utilizzo.
Usage Type Modalità di utilizzo, ad esempio chat, PSTN o NAT.
Unit Type 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 chiamata

Il log di riepilogo della chiamata contiene dati che consentono di identificare le proprietà chiave di tutte le chiamate. Viene creato un log di riepilogo della chiamata diverso per ogni valore participantId (endpointId nel caso di chiamate peer-to-peer [P2P]) della chiamata.

Importante

Le informazioni sui partecipanti nel log di riepilogo della chiamata variano in base al tenant del partecipante. La versione dell'SDK e del sistema operativo vengono elaborate se il partecipante non rientra nello stesso tenant (detto anche cross-tenant) della risorsa di Servizi di comunicazione. I partecipanti cross-tenant vengono classificati come utenti esterni invitati da un tenant di risorse a partecipare e collaborare a una chiamata.

Proprietà Descrizione
time 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 proprietà è la granularità con cui è possibile abilitare o disabilitare i log di una particolare 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 ID univoco di una chiamata. Identifica gli eventi correlati di tutti i partecipanti e gli endpoint che si connettono durante una singola chiamata ed è possibile usarlo per unire i dati di log diversi. Se fosse necessario aprire un caso di supporto con Microsoft, è possibile usare il valore correlationId per identificare facilmente la chiamata per cui si sta cercando di risolvere i problemi.
identifier ID univoco per l'utente. L'identità può essere un utente di Servizi di comunicazione di Azure, un ID utente di Microsoft Entra, un ID utente anonimo di Teams o un ID bot di Teams. È possibile usare questo ID per correlare gli eventi utente di più log.
callStartTime Timestamp dell'inizio della chiamata, basato sul primo tentativo di connessione da qualsiasi endpoint.
callDuration Durata della chiamata, espressa in secondi. Si basa sul primo tentativo di connessione e sulla fine dell'ultima connessione tra due endpoint.
callType Tipo di chiamata. Contiene "P2P" o "Group". Una chiamata "P2P" è una connessione diretta 1:1 tra due soli endpoint non server. Una chiamata "Group" è una chiamata cha ha più di due endpoint o che viene creata come chiamata "Group" prima della connessione.
teamsThreadId ID thread di Teams. Questo ID è rilevante solo quando la chiamata è organizzata come riunione di Teams. Rappresenta quindi il caso d'uso di interoperabilità tra Microsoft Teams e Servizi di comunicazione di Azure.

Questo ID viene esposto nei log operativi. È possibile ottenere questo ID anche tramite le API chat.
participantId ID generato per rappresentare la connessione bidirezionale tra un endpoint "Participant" (endpointType = "Server") e il server. Quando è callType = "P2P", è presente una connessione diretta tra due endpoint e non viene generato alcun valore participantId.
participantStartTime Timestamp dell'inizio del primo tentativo di connessione del partecipante.
participantDuration Durata di ogni connessione del partecipante in secondi, da participantStartTime al timestamp relativo alla fine della connessione.
participantEndReason Motivo della fine della connessione di un partecipante. Contiene codici di errore di Calling SDK generati dall'SDK (se pertinenti) per ogni valore participantId.
endpointId ID univoco che rappresenta ogni endpoint connesso alla chiamata, dove endpointType definisce il tipo di endpoint. Quando il valore è null, l'entità connessa è il server di Servizi di comunicazione ( = endpointType"Server").

Il valore endpointId può talvolta ripetersi per lo stesso utente su più chiamate (correlationId) per i client nativi. Il numero di valori endpointId determina il numero di log di riepilogo della chiamata. Viene creato un log di riepilogo distinto per ogni valore endpointId.
endpointType Questo valore descrive le proprietà di ogni endpoint connesso alla chiamata. Può contenere "Server", "VOIP", "PSTN", "BOT" o "Unknown".
sdkVersion Stringa versione della versione Calling SDK di Servizi di comunicazione usata da ogni endpoint pertinente, ad esempio "1.1.00.20212500".
osVersion Stringa che rappresenta il sistema operativo e la versione di ogni dispositivo endpoint.
participantTenantId ID del tenant Microsoft associato all'identità del partecipante. Il tenant può essere il tenant di Azure proprietario della risorsa di Servizi di comunicazione di Azure o il tenant Microsoft di un'identità M365. Questo campo viene usato per guidare l'elaborazione tra tenant.
participantType Descrizione del partecipante come combinazione del client (Servizi di comunicazione di Azure o Teams) e della relativa identità (Servizi di comunicazione di Azure o Microsoft 365). I valori possibili includono: Servizi di comunicazione di Azure (identità Servizi di comunicazione di Azure e SDK Azure Communication Services), Teams (client Teams e identità Teams), Servizi di comunicazione di Azure come utente esterno Teams (identità di Servizi di comunicazione di Azure e SDK Servizi di comunicazione di Azure in chiamata o riunione Teams), Servizi di comunicazione di Azure come utente Microsoft 365 (identità M365 e client Servizi di comunicazione di Azure), e app vocali Teams.
pstnPartcipantCallType Rappresenta il tipo e la direzione dei partecipanti PSTN, tra cui chiamate di emergenza, routing diretto, trasferimento, inoltro e così via.
ParticipantEndSubCode rappresenta il codice secondario di errore di Calling SDK generato dall'SDK (quando pertinente) per ogni valore participantId.
ResultCategory Rappresenta la categoria del partecipante che termina la chiamata. Può essere uno di questi 4 valori: Success, ExpectedError, UnexpectedClientError, UnexpectedServerError.

Schema dei log di diagnostica della chiamata

I log di diagnostica della chiamata forniscono informazioni importanti sugli endpoint e sui trasferimenti multimediali di ogni partecipante. Forniscono anche misurazioni che consentono di comprendere i problemi di qualità.

Per ogni endpoint all'interno di una chiamata, viene creato un log di diagnostica chiamata distinto per i flussi multimediali in uscita (ad esempio audio o video) tra endpoint. In una chiamata P2P ogni log contiene dati relativi a ognuno dei flussi in uscita associati a ogni endpoint. Nelle chiamate di gruppo, participantId funge da ID chiave con cui unire i log in uscita relativi a una connessione partecipante distinta. I log di diagnostica della chiamata rimangono intatti e sono uguali indipendentemente dal tenant del partecipante.

Nota

In questo articolo, le chiamate P2P e di gruppo si trovano nello stesso tenant, per impostazione predefinita, per tutti gli scenari di chiamata tra più tenant. Vengono specificati di conseguenza in tutto l'articolo.

Proprietà Descrizione
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 proprietà è la granularità con cui è possibile abilitare o disabilitare i log di una particolare 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 ID univoco di una chiamata. Identifica gli eventi correlati di tutti i partecipanti e gli endpoint che si connettono durante una singola chiamata. Se fosse necessario aprire un caso di supporto con Microsoft, è possibile usare il valore correlationId per identificare facilmente la chiamata per cui si sta cercando di risolvere i problemi.
participantId ID generato per rappresentare la connessione bidirezionale tra un endpoint "Participant" (endpointType = "Server") e il server. Quando è callType = "P2P", è presente una connessione diretta tra due endpoint e non viene generato alcun valore participantId.
identifier ID univoco per l'utente. L'identità può essere un utente di Servizi di comunicazione di Azure, un ID utente di Microsoft Entra, un ID oggetto di Teams o un ID bot di Teams. È possibile usare questo ID per correlare gli eventi utente di più log.
endpointId ID univoco che rappresenta ogni endpoint connesso alla chiamata, dove endpointType definisce il tipo di endpoint. Quando il valore è null, l'entità connessa è il server di Servizi di comunicazione. EndpointId può essere presente per lo stesso utente su più chiamate (correlationId) per i client nativi, ma è univoco per ogni chiamata quando il client è un Web browser.
endpointType Valore che descrive le proprietà di ogni istanza endpointId. Può contenere "Server", "VOIP", "PSTN", "BOT", "Voicemail", "Anonymous" o "Unknown".
mediaType Valore stringa che descrive il tipo di file multimediale trasmesso tra endpoint all'interno di ogni flusso. I valori possibili sono "Audio", "Video", "VBSS" (condivisione dello schermo basata su video) e "AppSharing".
streamId Numero intero non univoco che, insieme a mediaType, è possibile usare per identificare in modo univoco i flussi dello stesso valore participantId.
transportType Valore stringa che descrive il protocollo di trasporto di rete per ogni valore participantId. Può contenere "UDP", "TCP" o "Unrecognized". "Unrecognized" indica che il sistema non è riuscito a determinare se il tipo di trasporto era TCP o UDP.
roundTripTimeAvg Tempo medio necessario per trasferire un pacchetto IP da un endpoint a un altro entro un periodo participantDuration. Questo ritardo nella propagazione della rete è correlato alla distanza fisica tra i due punti, alla velocità della luce e a qualsiasi sovraccarico tra i vari router.

La latenza viene misurata come tempo unidirezionale o tempo di round trip. Il valore è espresso in millisecondi. Un tempo di round trip maggiore di 500 ms influisce negativamente sulla qualità della chiamata.
roundTripTimeMax Tempo di round trip massimo (in millisecondi) misurato per il flusso multimediale di copertura durante un periodo participantDuration in una chiamata di gruppo o durante un periodo callDuration in una chiamata P2P.
jitterAvg Variazione media nel ritardo tra pacchetti successivi. Servizi di comunicazione di Azure può adattarsi ad alcuni livelli di instabilità tramite il buffering. Quando l'instabilità supera il buffering, che è approssimativamente a un tempo di jitterAvg superiore a 30 ms, è probabile che si abbia un impatto negativo sulla qualità. I pacchetti che arrivano a velocità diverse fanno sì che la voce dell’interlocutore abbia un suono robotico.

Questa metrica viene rilevata per ogni flusso multimediale nel periodo participantDuration in una chiamata di gruppo o nel periodo callDuration in una chiamata P2P.
jitterMax Valore massimo di instabilità misurato tra pacchetti per ogni flusso multimediale. I burst in condizioni di rete possono causare problemi nel flusso del traffico audio/video.
packetLossRateAvg Percentuale media di pacchetti persi. La perdita di pacchetti influisce direttamente sulla qualità audio. I singoli pacchetti di piccole dimensioni che vengono persi non hanno quasi impatto, mentre le perdite di burst back-to-back causano l’interruzione completa dell'audio. I pacchetti eliminati che non arrivano alla destinazione desiderata causano lacune nei file multimediali. Questa situazione comporta la perdita di sillabe e parole, oltre a video e condivisioni frammentati.

È probabile che un indice di perdita di pacchetti maggiore del 10% (0,1) abbia un impatto negativo sulla qualità. Questa metrica viene rilevata per ogni flusso multimediale nel periodo participantDuration in una chiamata di gruppo o nel periodo callDuration in una chiamata P2P.
packetLossRateMax Questo valore rappresenta l’indice massimo di perdita di pacchetti (percentuale) per ogni flusso multimediale nel periodo participantDuration in una chiamata di gruppo o nel periodo callDuration in una chiamata P2P. I burst in condizioni di rete possono causare problemi nel flusso del traffico audio/video.
JitterBufferSizeAvg Dimensioni medie del buffer di instabilità per tutta la durata di ogni flusso multimediale. Un buffer di instabilità è un'area dati condivisa in cui i pacchetti vocali possono essere raccolti, archiviati e inviati al processore vocale a intervalli regolari. Il buffer di instabilità viene usato per contrastare gli effetti dell’instabilità.

I buffer di instabilità possono essere statici o dinamici. I buffer di instabilità statici vengono impostati su una dimensione fissa, mentre i buffer di instabilità dinamici possono regolare le dimensioni in base alle condizioni di rete. L'obiettivo del buffer di instabilità è fornire all’utente un flusso uniforme e ininterrotto di dati audio e video.

Nell'SDK Web, "JitterBufferSizeAvg" è il valore medio del "jitterBufferDelay" durante la chiamata, "jitterBufferDelay" è la durata di un campione audio o di un fotogramma video che rimane nel buffer di instabilità.

In genere, quando il valore "JitterBufferSizeAvg" è maggiore di 200 ms, avrà un impatto negativo sulla qualità.
JitterBufferSizeMax Dimensione massima del buffer di instabilità misurata per tutta la durata di ogni flusso multimediale.

In genere, quando questo valore è maggiore di 200 ms, avrà un impatto negativo sulla qualità.
HealedDataRatioAvg Percentuale media di pacchetti di dati persi o danneggiati che vengono ricostruiti o recuperati correttamente dall’healer per tutta la durata del flusso audio. La proporzione dei dati sanati è una misura dell'efficacia delle tecniche di correzione degli errori usate nei sistemi VoIP.

Quando questo valore è maggiore di 0,1 (10%), si considera il flusso di scarsa qualità.
HealedDataRatioMax Proporzione massima dei dati sanati misurata per tutta la durata di ogni flusso multimediale.

Quando questo valore è maggiore di 0,1 (10%), si considera il flusso di scarsa qualità.
VideoFrameRateAvg Numero medio di fotogrammi video trasmessi al secondo durante una chiamata video o con condivisione dello schermo. La frequenza dei fotogrammi video può influire sulla qualità e sulla fluidità del flusso video; frequenze di fotogrammi più elevate si traducono in genere in una maggiore fluidità e scorrevolezza. La frequenza dei fotogrammi standard per video WebRTC è in genere di 30 fotogrammi al secondo (fps), anche se può variare a seconda delle specifiche condizioni di implementazione e rete.

La qualità del flusso è considerata scarsa quando questo valore è inferiore a 7 per il flusso video o inferiore a 1 per il flusso di condivisione dello schermo.
RecvResolutionHeight Media delle dimensioni verticali del flusso video in ingresso trasmesso durante una chiamata video o con condivisione dello schermo. Viene misurata in pixel ed è uno dei fattori che determinano la risoluzione complessiva e la qualità del flusso video. La risoluzione specifica usata può dipendere dalle funzionalità dei dispositivi e dalle condizioni di rete coinvolte nella chiamata.

La qualità del flusso è considerata scarsa quando questo valore è inferiore a 240 per il flusso video o inferiore a 768 per il flusso di condivisione dello schermo.
RecvFreezeDurationPerMinuteInMs Durata di blocco media in millisecondi al minuto per il flusso video o con condivisione dello schermo in ingresso. I blocchi sono in genere causati da scarse condizioni di rete e possono inficiare la qualità del flusso.

La qualità del flusso è considerata scarsa quando questo valore è superiore a 6.000 ms per il flusso video o superiore a 25.000 ms per il flusso di condivisione dello schermo.
PacketUtilization Pacchetti inviati o ricevuti per un determinato flusso multimediale.

In genere, più lunga è la chiamata, maggiore è il valore. Se questo valore è zero, potrebbe indicare che il supporto non è in flusso.
VideoBitRateAvg Velocità in bit media (bit al secondo) per un flusso video o screenshare.

Un valore di velocità in bit basso potrebbe indicare un problema di rete scadente. La velocità in bit minima (larghezza di banda) necessaria è disponibile qui: Larghezza di banda di rete.
VideoBitRateMax Velocità in bit massima (bit al secondo) per un flusso video o screenshare.

Un valore di velocità in bit basso potrebbe indicare un problema di rete scadente. La velocità in bit minima (larghezza di banda) necessaria è disponibile qui: Larghezza di banda di rete.
StreamDirection Direzione del flusso multimediale. È in ingresso o in uscita.
CodecName Nome del codec utilizzato per l'elaborazione dei flussi multimediali. Può essere OPUS, G722, H264S, SATIN e ecc.

Schema log delle operazioni del client di chiamata

Il log delle operazioni del client di chiamata fornisce informazioni lato client sugli endpoint chiamanti e sui partecipanti coinvolti in una chiamata. Questi log sono attualmente in anteprima e mostrano gli eventi client che si sono verificati in una chiamata e le azioni che possono essere state eseguite da un cliente durante una chiamata.

Questo log fornisce informazioni dettagliate sulle azioni eseguite durante una chiamata e può essere usato per visualizzare e analizzare i problemi di chiamata usando Diagnostica chiamata per la risorsa di Servizi di comunicazione di Azure. Altre informazioni sulla Diagnostica chiamata

Proprietà Descrizione
CallClientTimeStamp Timestamp del momento in cui si è verificata un’operazione nell'SDK, in formato UTC.
OperationName Nome dell'operazione attivata nell'SDK chiamante.
CallId ID univoco di una chiamata. Identifica gli eventi correlati di tutti i partecipanti e gli endpoint che si connettono durante una singola chiamata ed è possibile usarlo per unire i dati di log diversi. È simile al correlationId del log di riepilogo della chiamata e del log di diagnostica della chiamata.
ParticipantId Identificatore univoco di ogni ramo della chiamata (nelle chiamate di gruppo) o del partecipante alla chiamata (nelle chiamate peer-to-peer). Questo ID è il punto di correlazione principale tra i log CallSummary, CallDiagnostic, CallClientOperations e CallClientMediaStats.
OperationType Operazione client di chiamata.
OperationId GGUID univoco che identifica un'operazione SDK.
DurationMs Tempo impiegato da un'operazione di Calling SDK per avere esito negativo o esito positivo.
ResultType Campo che descrive l'esito positivo o negativo di un'operazione.
ResultSignature Codice HTTP di esito negativo o positivo (200, 500).
SdkVersion Versione di Calling SDK in uso.
UserAgent Stringa agente utente standard basata sul browser o sulla piattaforma in cui viene usato il Calling SDK.
ClientInstanceId GGUID univoco che identifica l'oggetto CallClient.
EndpointId ID univoco che rappresenta ogni endpoint connesso alla chiamata, dove endpointType definisce il tipo di endpoint. Quando il valore è null, l'entità connessa è il server di Servizi di comunicazione (endpointType = "Server").

Il valore endpointId può talvolta ripetersi per lo stesso utente su più chiamate (correlationId) per i client nativi. Il numero di valori endpointId determina il numero di log di riepilogo della chiamata. Viene creato un log di riepilogo distinto per ogni valore endpointId.
OperationPayload Payload dinamico che varia in base all'operazione e che fornisce dettagli più specifici sull'operazione.

Schema log delle serie temporali delle statistiche multimediali del client di chiamata

Il log delle serie temporali delle statistiche multimediali del client di chiamata fornisce informazioni lato client sui flussi multimediali tra i singoli partecipanti coinvolti in una chiamata. Questi log sono attualmente in anteprima limitata e forniscono dati dettagliati delle serie temporali sui flussi multimediali audio, video e di condivisione schermo tra i partecipanti, con un intervallo di aggregazione predefinito di 10 secondi. I log contengono informazioni granulari sulle serie temporali riguardo al tipo di flusso multimediale, alla direzione, al codec e alle proprietà di velocità in bit, ad esempio max, min, media.

Questo log fornisce informazioni più dettagliate rispetto al log di diagnostica chiamata e consente di comprendere la qualità dei flussi multimediali tra i partecipanti. Può essere usato per visualizzare e analizzare i problemi di qualità delle chiamate tramite Diagnostica chiamata per la risorsa di Servizi di comunicazione di Azure. Altre informazioni sulla Diagnostica chiamata

Proprietà Descrizione
OperationName Operazione associata al record del log.
CallId ID univoco di una chiamata. Identifica gli eventi correlati di tutti i partecipanti e gli endpoint che si connettono durante una singola chiamata ed è possibile usarlo per unire i dati di log diversi. È simile al correlationId del log di riepilogo della chiamata e del log di diagnostica della chiamata.
CallClientTimeStamp Timestamp del momento in cui vengono registrate le statistiche multimediali.
MetricName Nome delle statistiche multimediali, ad esempio Bitrate, JitterInMs, PacketsPerSecond e così via.
Count Numero di punti dati campionati in un determinato timestamp.
Sum Somma dei valori delle metriche di tutti i punti dati campionati.
Average Valore medio delle metriche dei punti dati campionati. Media = Somma/Numero
Minimum Minimo dei valori delle metriche di tutti i punti dati campionati.
Maximum Massimo dei valori delle metriche di tutti i punti dati campionati.
MediaStreamDirection Direzione del flusso multimediale. Può essere in invio o in ricezione
MediaStreamType Tipo del flusso multimediale. Può essere video, audio o schermo.
MediaStreamCodec Codec usato per codificare/decodificare il flusso multimediale, ad esempio H264, OPUS, VP8 e così via.
ParticipantId ID univoco generato per rappresentare ogni endpoint della chiamata.
ClientInstanceId ID univoco che rappresenta l'oggetto Client di chiamata creato nell'SDK chiamante.
EndpointId ID univoco che rappresenta ogni endpoint connesso alla chiamata. EndpointId può essere presente per lo stesso utente su più chiamate (callId) per i client nativi, ma è univoco per ogni chiamata quando il client è un Web browser. Si noti che EndpointId non è attualmente instrumentato in questo log. Se implementato in futuro, corrisponderà ai valori dei log CallSummary/Diagnostics
RemoteParticipantId ID univoco che rappresenta l'endpoint remoto nel flusso multimediale. Ad esempio, un utente può eseguire il rendering di più flussi video per gli altri utenti nella stessa chiamata. Ogni flusso video ha un RemoteParticipantId diverso.
RemoteEndpointId Uguale a EndpointId, ma rappresenta l'utente sul lato remoto del flusso.
MediaStreamId ID univoco che rappresenta ogni flusso multimediale nella chiamata. MediaStreamId non è attualmente instrumentato nei client. Se implementato, corrisponderà alla colonna streamId dei log CallDiagnostics.
AggregationIntervalSeconds Intervallo di tempo per l'aggregazione delle statistiche multimediali. Attualmente nel calling SDK, le metriche multimediali vengono campionate ogni 1 secondo, e quando si registra nel log vengono aggregati tutti i campioni ogni 10 secondi. Ogni riga di questa tabella ha quindi al massimo 10 punti di campionamento.

Chiamate P2P e di gruppo

Esistono due tipi di chiamate, come rappresentato da callType:

  • Chiamata peer-to-peer (P2P): connessione tra due soli endpoint, senza alcun endpoint server. Le chiamate P2P vengono avviate come una chiamata tra tali endpoint e non vengono create come evento di chiamata di gruppo prima della connessione.

    Diagramma che mostra una chiamata P2P tra due endpoint.

  • Chiamata di gruppo: qualsiasi chiamata con più di due endpoint connessi. Le chiamate di gruppo includono un endpoint server e la connessione tra ogni endpoint e il server. Le chiamate P2P che aggiungono un altro endpoint durante la chiamata cessano di essere P2P e diventano una chiamata di gruppo. È possibile determinare la sequenza temporale del momento in cui ogni endpoint è stato aggiunto alla chiamata tramite le metriche participantStartTime e participantDuration.

    Diagramma che mostra una chiamata di gruppo tra più endpoint.

Struttura di log

Servizi di comunicazione di Azure crea quattro tipi di log:

  • Log di riepilogo della chiamata: contengono informazioni di base sulla chiamata, inclusi tutti gli ID, i timestamp, gli endpoint e le informazioni dell'SDK pertinenti. Per ogni partecipante a una chiamata, Servizi di comunicazione crea un log di riepilogo della chiamata distinto.

    Se un utente rientra in una chiamata, tale partecipante ha lo stesso valore EndpointId ma un valore ParticipantId diverso. Tale endpoint può quindi avere due log di riepilogo della chiamata.

  • Log di diagnostica chiamata: contengono informazioni sul flusso, insieme a un set di metriche che indicano la qualità percepita dagli utenti. Per ogni EndpointId all'interno di una chiamata (incluso il server), Servizi di comunicazione di Azure crea un log di diagnostica chiamata distinto per ogni flusso multimediale (audio o video, ad esempio) tra gli endpoint.

  • Log delle operazioni del client di chiamata: contengono eventi dettagliati del client di chiamata. Questi eventi di log vengono generati per ogni EndpointId in una chiamata e il numero di log eventi generati dipenderà dalle operazioni eseguite dal partecipante durante la chiamata.

  • Log delle statistiche multimediali del client di chiamata: contengono valori dettagliati del flusso multimediale. Questi log vengono generati per ogni flusso multimediale in una chiamata. Per ogni EndpointId all'interno di una chiamata (incluso il server), Servizi di comunicazione di Azure crea un log distinto per ogni flusso multimediale (audio o video, ad esempio) tra gli endpoint. Il volume di dati generati in ogni log dipende dalla durata della chiamata e dal numero di flussi multimediali nella chiamata.

In una chiamata P2P ogni log contiene dati relativi a ognuno dei flussi in uscita associati a ogni endpoint. In una chiamata di gruppo, ogni flusso associato a endpointType = "Server" crea un log contenente i dati dei flussi in ingresso. Tutti gli altri flussi creano log che contengono dati dei flussi in uscita per tutti gli endpoint non server. Nelle chiamate di gruppo usare il valore participantId come chiave per unire i log in ingresso e in uscita relativi a una connessione partecipante distinta.

Esempio: chiamata P2P

Il diagramma seguente rappresenta due endpoint connessi direttamente in una chiamata P2P. In questo esempio, Servizi di comunicazione crea due log di riepilogo della chiamata (uno per ogni valore participantID) e quattro log di diagnostica chiamata (uno per ogni flusso multimediale).

Per i partecipanti del client di chiamata di Servizi di comunicazione di Azure (ACS) sarà disponibile anche una serie di log delle operazioni client di chiamata e di log delle serie temporali delle statistiche multimediali del client. Il numero esatto di questi log dipende dal tipo di operazioni SDK che vengono chiamate e dalla durata della chiamata.

Diagramma che mostra una chiamata P2P nello stesso tenant.

Esempio: Chiamata di gruppo

Il diagramma seguente rappresenta un esempio di chiamata di gruppo con tre valori participantId (ovvero tre partecipanti) e un endpoint server. Più valori endpointId possono potenzialmente comparire in relazione a più partecipanti, ad esempio quando questi rientrano in una chiamata dallo stesso dispositivo. Servizi di comunicazione crea un log di riepilogo della chiamata per ogni valore participantId. Crea quattro log di diagnostica chiamata: uno per ogni flusso multimediale di participantId.

Per i partecipanti alle chiamate di Servizi di comunicazione di Azure (ACS), i log delle operazioni del client di chiamata sono uguali a quelli delle chiamate P2P. Per ogni partecipante che usa l’SDK chiamate, sarà disponibile una serie di log delle operazioni del client di chiamata.

Per i partecipanti del client di chiamata di Servizi di comunicazione di Azure, i log delle operazioni del client di chiamata e i log delle serie temporali delle statistiche multimediali del client di chiamata client sono uguali a quelli delle chiamate P2P. Per ogni partecipante che usa l'SDK chiamate, saranno disponibili una serie di log delle operazioni del client di chiamata e i log delle serie temporali delle statistiche multimediali del client di chiamata.

Diagramma che mostra una chiamata di gruppo nello stesso tenant.

Esempio: Chiamata P2P tra più tenant

Il diagramma seguente rappresenta due partecipanti su più tenant connessi direttamente in una chiamata P2P. In questo esempio, Servizi di comunicazione crea un log di riepilogo della chiamata (uno per ogni partecipante) con versioni del sistema operativo e dell'SDK elaborate. Servizi di comunicazione crea anche quattro log di diagnostica della chiamata (uno per ogni flusso multimediale). Ogni log contiene dati relativi al flusso in uscita di participantID.

Diagramma che mostra una chiamata P2P tra più tenant.

Esempio: Chiamata di gruppo tra più tenant

Il diagramma seguente rappresenta l’esempio di una chiamata di gruppo con tre valori participantId su più tenant. Servizi di comunicazione crea un log di riepilogo della chiamata per ogni partecipante, con versioni del sistema operativo e dell'SDK elaborate. Servizi di comunicazione crea anche quattro log di diagnostica chiamata relativi a ogni valore participantId (uno per ogni flusso multimediale).

Diagramma che mostra una chiamata di gruppo tra più tenant.

Nota

Questa versione supporta solo i log di diagnostica in uscita. Le versioni del sistema operativo e dell'SDK associate al bot e al partecipante possono essere elaborate perché Servizi di comunicazione tratta le identità dei partecipanti e dei bot allo stesso modo.

Dati di esempio

Chiamata P2P

Ecco i campi condivisi di tutti i log in una chiamata P2P:

"time":                     "2021-07-19T18:46:50.188Z",
"resourceId":               "SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/ACS-TEST-RG/PROVIDERS/MICROSOFT.COMMUNICATION/COMMUNICATIONSERVICES/ACS-PROD-CCTS-TESTS",
"correlationId":            "8d1a8374-344d-4502-b54b-ba2d6daaf0ae",

Log di riepilogo della chiamata

I log di riepilogo della chiamata hanno informazioni condivise sulle categorie e sulle operazioni:

"operationName":            "CallSummary",
"operationVersion":         "1.0",
"category":                 "CallSummary",

Ecco un riepilogo della chiamata per l'utente VoIP 1:

"properties": {
    "identifier":               "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "callStartTime":            "2021-07-19T17:54:05.113Z",
    "callDuration":             6,
    "callType":                 "P2P",
    "teamsThreadId":            "null",
    "participantId":            "null",    
    "participantStartTime":     "2021-07-19T17:54:06.758Z",
    "participantDuration":      "5",
    "participantEndReason":     "0",
    "endpointId":               "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.0.1.0",
    "osVersion":                "Windows 10.0.17763 Arch: x64"
}

Ecco un riepilogo della chiamata per l'utente VoIP 2:

"properties": {
    "identifier":               "acs:7af14122-9ac7-4b81-80a8-4bf3582b42d0_06f9276d-8efe-4bdd-8c22-ebc5434903f0",
    "callStartTime":            "2021-07-19T17:54:05.335Z",
    "callDuration":             6,
    "callType":                 "P2P",
    "teamsThreadId":            "null",
    "participantId":            "null",
    "participantStartTime":     "2021-07-19T17:54:06.335Z",
    "participantDuration":      "5",
    "participantEndReason":     "0",
    "endpointId":               "a5bd82f9-ac38-4f4a-a0fa-bb3467cdcc64",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.1.0.0",
    "osVersion":                "null"
}

Ecco un log di riepilogo della chiamata tra tenant per l'utente VoIP 1:

"properties": {
    "identifier":               "1e4c59e1-r1rr-49bc-893d-990dsds8f9f5",
    "callStartTime":            "2022-08-14T06:18:27.010Z",
    "callDuration":             520,
    "callType":                 "P2P",
    "teamsThreadId":            "null",
    "participantId":            "null",
    "participantTenantId":      "02cbdb3c-155a-4b95-b829-6d56a45787ca",
    "participantStartTime":     "2022-08-14T06:18:27.010Z",
    "participantDuration":      "520",
    "participantEndReason":     "0",
    "endpointId":               "02cbdb3c-155a-4d98-b829-aaaaa61d44ea",
    "endpointType":             "VoIP",
    "sdkVersion":               "Redacted",
    "osVersion":                "Redacted"
}

Ecco un riepilogo della chiamata di una chiamata PSTN:

Nota

I log delle chiamate P2P o di gruppo hanno versioni del sistema operativo e dell'SDK descritte indipendentemente dal fatto che si tratti del tenant del partecipante o del tenant del bot.

"properties": {
    "identifier": "b1999c3e-bbbb-4650-9b23-9999bdabab47",
    "callStartTime": "2022-08-07T13:53:12Z",
    "callDuration": 1470,
    "callType": "Group",
    "teamsThreadId": "19:36ec5177126fff000aaa521670c804a3@thread.v2",
    "participantId": " b25cf111-73df-4e0a-a888-640000abe34d",
    "participantStartTime": "2022-08-07T13:56:45Z",
    "participantDuration": 960,
    "participantEndReason": "0",
    "endpointId": "8731d003-6c1e-4808-8159-effff000aaa2",
    "endpointType": "PSTN",
    "sdkVersion": "Redacted",
    "osVersion": "Redacted"
}

Log di diagnostica chiamata

I log di diagnostica chiamata condividono le informazioni sull'operazione:

"operationName":            "CallDiagnostics",
"operationVersion":         "1.0",
"category":                 "CallDiagnostics",

Ecco un log di diagnostica per un flusso audio dall'endpoint VoIP 1 all'endpoint VoIP 2:

"properties": {
    "identifier":           "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "participantId":        "null",
    "endpointId":           "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "1000",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "82",
    "roundTripTimeMax":     "88",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Ecco un log di diagnostica per un flusso audio dall'endpoint VoIP 2 all'endpoint VoIP 1:

"properties": {
    "identifier":           "acs:7af14122-9ac7-4b81-80a8-4bf3582b42d0_06f9276d-8efe-4bdd-8c22-ebc5434903f0",
    "participantId":        "null",
    "endpointId":           "a5bd82f9-ac38-4f4a-a0fa-bb3467cdcc64",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "1363841599",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "78",
    "roundTripTimeMax":     "84",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Ecco un log di diagnostica per un flusso video dall'endpoint VoIP 1 all'endpoint VoIP 2:

"properties": {
    "identifier":           "acs:61fddbe3-0003-4066-97bc-6aaf143bbb84_0000000b-4fee-66cf-ac00-343a0d003158",
    "participantId":        "null",
    "endpointId":           "570ea078-74e9-4430-9c67-464ba1fa5859",
    "endpointType":         "VoIP",
    "mediaType":            "Video",
    "streamId":             "2804",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "103",
    "roundTripTimeMax":     "143",
    "jitterAvg":            "0",
    "jitterMax":            "4",
    "packetLossRateAvg":    "3.146336E-05",
    "packetLossRateMax":    "0.001769911"
}

Chiamata di gruppo

I dati di una chiamata di gruppo vengono generati in tre log di riepilogo della chiamata e in sei log di diagnostica chiamata. Ecco i campi condivisi per tutti i log della chiamata:

"time":                     "2021-07-05T06:30:06.402Z",
"resourceId":               "SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/ACS-TEST-RG/PROVIDERS/MICROSOFT.COMMUNICATION/COMMUNICATIONSERVICES/ACS-PROD-CCTS-TESTS",
"correlationId":            "341acde7-8aa5-445b-a3da-2ddadca47d22",

Log di riepilogo della chiamata

I log di riepilogo della chiamata hanno informazioni condivise sulle categorie e sulle operazioni:

"operationName":            "CallSummary",
"operationVersion":         "1.0",
"category":                 "CallSummary",

Ecco un riepilogo della chiamata per l'endpoint VoIP 1:

"properties": {
    "identifier":               "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-729f-ac00-343a0d00d975",
    "callStartTime":            "2021-07-05T06:16:40.240Z",
    "callDuration":             87,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
    "participantId":            "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "participantStartTime":     "2021-07-05T06:16:44.235Z",
    "participantDuration":      "82",
    "participantEndReason":     "0",
    "endpointId":               "5ebd55df-ffff-ffff-89e6-4f3f0453b1a6",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.0.0.3",
    "osVersion":                "Darwin Kernel Version 18.7.0: Mon Nov 9 15:07:15 PST 2020; root:xnu-4903.272.3~3/RELEASE_ARM64_S5L8960X"
}

Ecco un riepilogo della chiamata per l'endpoint VoIP 3:

"properties": {
    "identifier":               "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-57c6-ac00-343a0d00d972",
    "callStartTime":            "2021-07-05T06:16:40.240Z",
    "callDuration":             87,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLTk2ZDUtYTZlM2I2ZjgxOTkw@thread.v2",
    "participantId":            "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "participantStartTime":     "2021-07-05T06:16:40.240Z",
    "participantDuration":      "87",
    "participantEndReason":     "0",
    "endpointId":               "5ebd55df-ffff-ffff-ab89-19ff584890b7",
    "endpointType":             "VoIP",
    "sdkVersion":               "1.0.0.3",
    "osVersion":                "Android 11.0; Manufacturer: Google; Product: redfin; Model: Pixel 5; Hardware: redfin"
}

Ecco un riepilogo della chiamata per l'endpoint PSTN 2:

"properties": {
    "identifier":               "null",
    "callStartTime":            "2021-07-05T06:16:40.240Z",
    "callDuration":             87,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
    "participantId":            "515650f7-8204-4079-ac9d-d8f4bf07b04c",
    "participantStartTime":     "2021-07-05T06:17:10.447Z",
    "participantDuration":      "52",
    "participantEndReason":     "0",
    "endpointId":               "46387150-692a-47be-8c9d-1237efe6c48b",
    "endpointType":             "PSTN",
    "sdkVersion":               "null",
    "osVersion":                "null"
}

Ecco un log di riepilogo della chiamata tra tenant:

"properties": {
    "identifier":               "1e4c59e1-r1rr-49bc-893d-990dsds8f9f5",
    "callStartTime":            "2022-08-14T06:18:27.010Z",
    "callDuration":             912,
    "callType":                 "Group",
    "teamsThreadId":            "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
    "participantId":            "aa1dd7da-5922-4bb1-a4fa-e350a111fd9c",
    "participantTenantId":      "02cbdb3c-155a-4b95-b829-6d56a45787ca",
    "participantStartTime":     "2022-08-14T06:18:27.010Z",
    "participantDuration":      "902",
    "participantEndReason":     "0",
    "endpointId":               "02cbdb3c-155a-4d98-b829-aaaaa61d44ea",
    "endpointType":             "VoIP",
    "sdkVersion":               "Redacted",
    "osVersion":                "Redacted"
}

Ecco un log di riepilogo della chiamata tra tenant con un bot come partecipante:


"properties": {
    "identifier":             "b1902c3e-b9f7-4650-9b23-9999bdabab47",
    "callStartTime":          "2022-08-09T16:00:32Z",
    "callDuration":            1470,
    "callType":               "Group",
    "teamsThreadId":         "19:meeting_MmQwZDcwYTQtZ000HWE6NzI4LTg1YTAtNXXXXX99999ZZZZZ@thread.v2",
    "participantId":           "66e9d9a7-a434-4663-d91d-fb1ea73ff31e",
    "participantStartTime":    "2022-08-09T16:14:18Z",
    "participantDuration":      644,
    "participantEndReason":    "0",
    "endpointId":             "69680ec2-5ac0-4a3c-9574-eaaa77720b82",
    "endpointType":           "Bot",
    "sdkVersion":             "Redacted",
    "osVersion":              "Redacted"
}

Log di diagnostica chiamata

I log di diagnostica chiamata condividono le informazioni sull'operazione:

"operationName":            "CallDiagnostics",
"operationVersion":         "1.0",
"category":                 "CallDiagnostics",

Ecco un log di diagnostica per un flusso audio dall'endpoint VoIP 1 a un endpoint server:

"properties": {
    "identifier":           "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-729f-ac00-343a0d00d975",
    "participantId":        "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "endpointId":           "5ebd55df-ffff-ffff-89e6-4f3f0453b1a6",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "14884",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "46",
    "roundTripTimeMax":     "48",
    "jitterAvg":            "0",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Ecco un log di diagnostica per un flusso audio da un endpoint server all'endpoint VoIP 1:

"properties": {
    "identifier":           null,
    "participantId":        "04cc26f5-a86d-481c-b9f9-7a40be4d6fba",
    "endpointId":           null,
    "endpointType":         "Server",
    "mediaType":            "Audio",
    "streamId":             "2001",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "42",
    "roundTripTimeMax":     "44",
    "jitterAvg":            "1",
    "jitterMax":            "1",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Ecco un log di diagnostica per un flusso audio dall'endpoint VoIP 3 a un endpoint server:

"properties": {
    "identifier":           "acs:1797dbb3-f982-47b0-b98e-6a76084454f1_0000000b-1531-57c6-ac00-343a0d00d972",
    "participantId":        "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "endpointId":           "5ebd55df-ffff-ffff-ab89-19ff584890b7",
    "endpointType":         "VoIP",
    "mediaType":            "Audio",
    "streamId":             "13783",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "45",
    "roundTripTimeMax":     "46",
    "jitterAvg":            "1",
    "jitterMax":            "2",
    "packetLossRateAvg":    "0",
    "packetLossRateMax":    "0"
}

Ecco un log di diagnostica per un flusso audio da un endpoint server all'endpoint VoIP 3:

"properties": {
    "identifier":           "null",
    "participantId":        "1a9cb3d1-7898-4063-b3d2-26c1630ecf03",
    "endpointId":           null,
    "endpointType":         "Server"    
    "mediaType":            "Audio",
    "streamId":             "1000",
    "transportType":        "UDP",
    "roundTripTimeAvg":     "45",
    "roundTripTimeMax":     "46",
    "jitterAvg":            "1",
    "jitterMax":            "4",
    "packetLossRateAvg":    "0",

Log delle operazioni del client di chiamata e log delle statistiche multimediali del client di chiamata per le chiamate P2P e di gruppo

Per il log delle operazioni del client di chiamata e il log delle serie temporali delle statistiche multimediali del client di chiamata, non esiste alcuna differenza tra gli scenari chiamata P2P e chiamata di gruppo, e il numero di log dipende dalle operazioni SDK e dalla durata della chiamata. Di seguito sono riportati alcuni esempi generici che mostrano lo schema di questi log.

Log delle operazioni del client di chiamata

Ecco un log delle operazioni del client di chiamata per l'operazione "CreateView":

"properties": {
    "TenantId":               "4e7403f8-515a-4df5-8e13-59f0e2b76e3a",
    "TimeGenerated":          "2024-01-09T17:06:50.3Z",
    "CallClientTimeStamp":    "2024-01-09T15:07:56.066Z",
    "OperationName":          "CreateView" ,   
    "CallId":                 "92d800c4-abde-40be-91e9-3814ee786b19",
    "ParticipantId":          "2656fd6c-6d4a-451d-a1a5-ce1baefc4d5c",
    "OperationType":          "client-api-request",
    "OperationId":            "0d987336-37e0-4acc-aba3-e48741d88103",
    "DurationMs":             "577",
    "ResultType":             "Succeeded",
    "ResultSignature":        "200",
    "SdkVersion":             "1.19.2.2_beta",
    "UserAgent":              "azure-communication-services/1.3.1-beta.1 azsdk-js-communication-calling/1.19.2-beta.2 (javascript_calling_sdk;#clientTag:904f667c-5f25-4729-9ee8-6968b0eaa40b). Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
    "ClientInstanceId":       "d08a3d05-db90-415f-88a7-87ae74edc1dd",
    "OperationPayload":       "{"StreamType":"Video","StreamId":"2.0","Source":"remote","RemoteParticipantId":"remote"}",
    "Type":                   "ACSCallClientOperations"
}

Ogni partecipante può avere molte metriche diverse per una chiamata. La query seguente può essere eseguita in Log Analytics nel portale di Azure per elencare tutte le operazioni possibili nel log delle operazioni del client di chiamata:

ACSCallClientOperations | distinct OperationName

Log delle serie temporali delle statistiche multimediali del client di chiamata

Di seguito è riportato l’esempio di un log delle serie temporali delle statistiche multimediali. Mostra la metrica di interruzione del partecipante, relativa alla ricezione di un flusso audio in un timestamp specifico.

"properties": {
    "TenantId":                     "4e7403f8-515a-4df5-8e13-59f0e2b76e3a",
    "TimeGenerated":                "2024-01-10T07:36:51.771Z",
    "OperationName":                "CallClientMediaStatsTimeSeries" ,  
    "CallId":                       "92d800c4-abde-40be-91e9-3814ee786b19", 
    "CallClientTimeStamp":          "2024-01-09T15:07:56.066Z",
    "MetricName":                   "JitterInMs",
    "Count":                        "2",
    "Sum":                          "34",
    "Average":                      "17",
    "Minimum":                      "10",
    "Maximum":                      "25",
    "MediaStreamDirection":         "recv",
    "MediaStreamType":              "audio",
    "MediaStreamCodec":             "OPUS",
    "ParticipantId":                "2656fd6c-6d4a-451d-a1a5-ce1baefc4d5c",
     "ClientInstanceId":            "d08a3d05-db90-415f-88a7-87ae74edc1dd",
    "AggregationIntervalSeconds":   "10",
    "Type":                         "ACSCallClientMediaStatsTimeSeries"
}

Ogni partecipante può avere molte metriche delle statistiche multimediali diverse per una chiamata. La query seguente può essere eseguita in Log Analytics nel portale di Azure per visualizzare tutte le metriche possibili in questo log:

ACSCallClientMediaStatsTimeSeries | distinct MetricName

Codici di errore

La proprietà participantEndReason contiene un valore del set di codici di errore di Calling SDK. È possibile consultare questi codici per risolvere i problemi durante la chiamata, per ogni endpoint. Vedere Risoluzione dei problemi in Servizi di comunicazione di Azure.

Passaggi successivi