Sdílet prostřednictvím


Protokoly hlasových hovorů a videohovorů ve službě Azure Communication Services

Azure Communication Services nabízí možnosti protokolování, které můžete použít k monitorování a ladění řešení Communication Services. Tyto funkce nakonfigurujete prostřednictvím webu Azure Portal.

Obsah v tomto článku se týká protokolů povolených prostřednictvím služby Azure Monitor (viz také nejčastější dotazy). Pokud chcete povolit tyto protokoly pro komunikační služby, přečtěte si téma Povolení protokolování v nastavení diagnostiky.

Koncepty dat

Následující základní popisy konceptů dat jsou specifické pro hlasové hovory a videohovory. Tyto koncepty jsou důležité ke kontrole, abyste porozuměli významu dat zachycených v protokolech.

Entity a ID

Seznamte se s následujícími termíny:

  • Volání: Jak je znázorněno v datech, volání je abstrakce, která je znázorněna correlationId. Hodnoty pro correlationId každé volání jsou jedinečné a jsou vázané callStartTime na čas a callDuration.

  • Účastník: Tato entita představuje připojení mezi koncovým bodem a serverem. Účastník (participantId) je k dispozici pouze tehdy, když je hovor skupinový.

  • Koncový bod: Jedná se o nejvýraznější entitu reprezentovanou endpointIdhodnotou . Každé volání je událost, která obsahuje data ze dvou nebo více koncových bodů. Koncové body představují účastníky hovoru.

    EndpointType udává, jestli je koncový bod člověkem (pstn nebo VoIP), robotem nebo serverem, který spravuje více účastníků během hovoru. endpointType Pokud je "Server"hodnota, koncový bod nemá přiřazené jedinečné ID. Můžete analyzovat endpointType a počet hodnot, abyste zjistili, endpointId kolik uživatelů a dalších nelidských účastníků (robotů a serverů) se připojí k hovoru.

    Nativní sady SDK pro Android a iOS opakovaně používají stejnou endpointId hodnotu pro uživatele napříč několika voláními, abyste pochopili prostředí napříč relacemi. Tento proces se liší od webových koncových bodů, které vždy generují novou endpointId hodnotu pro každé nové volání.

  • Stream: Toto je nejpodrobnější entita. Pro každý směr (příchozí nebo odchozí) a mediaType hodnotu (například Audio nebo Video) existuje jeden datový proud.

Definice dat

Schéma protokolu využití

Vlastnost Popis
Timestamp Časové razítko (UTC) doby vygenerování protokolu
Operation Name Operace přidružená k záznamu protokolu.
Operation Version Hodnota api-version přidružená k operaci, pokud Operation Name byla operace provedena prostřednictvím rozhraní API. Pokud žádné rozhraní API neodpovídá této operaci, verze představuje verzi operace v případě, že se vlastnosti přidružené k operaci v budoucnu změní.
Category Kategorie protokolu události. Kategorie je členitost, ve které můžete povolit nebo zakázat protokoly prostředku. Vlastnosti, které se zobrazí v objektu properties blob události, jsou stejné v kategorii protokolu a typu prostředku.
Correlation ID ID pro korelované události. Můžete ho použít k identifikaci korelovaných událostí mezi více tabulkami.
Properties Další data, která se vztahují na různé režimy komunikačních služeb.
Record ID Jedinečné ID záznamu využití.
Usage Type Režim použití (například Chat, PSTN nebo NAT).
Unit Type Typ jednotky, na které se používá režim použití (například minuty, megabajty nebo zprávy).
Quantity Počet použitých nebo spotřebovaných jednotek pro tento záznam.

Schéma protokolu souhrnu volání

Protokol souhrnu volání obsahuje data, která vám pomůžou identifikovat klíčové vlastnosti všech volání. Pro každý z nich participantId se vytvoří jiný protokol souhrnu volání (endpointId v případě volání peer-to-peer [P2P] v volání).

Důležité

Informace o účastníkech v protokolu souhrnu volání se liší v závislosti na tenantovi účastníka. Verze sady SDK a verze operačního systému se redactují, pokud účastník není ve stejném tenantovi (označuje se také jako prostředek Komunikační služby). Účastníci mezi tenanty jsou klasifikovaní jako externí uživatelé pozvaní tenantem prostředků, aby se připojili a spolupracovali během hovoru.

Vlastnost Popis
time Časové razítko (UTC) doby vygenerování protokolu
operationName Operace přidružená k záznamu protokolu.
operationVersion Hodnota api-version přidružená k operaci, pokud operationName byla operace provedena prostřednictvím rozhraní API. Pokud žádné rozhraní API neodpovídá této operaci, verze představuje verzi operace v případě, že se vlastnosti přidružené k operaci v budoucnu změní.
category Kategorie protokolu události. Tato vlastnost je členitost, při které můžete povolit nebo zakázat protokoly prostředku. Vlastnosti, které se zobrazí v objektu properties blob události, jsou stejné v kategorii protokolu a typu prostředku.
correlationId Jedinečné ID volání. Identifikuje korelované události ze všech účastníků a koncových bodů, které se připojují během jednoho volání, a můžete je použít k připojení dat z různých protokolů. Pokud byste někdy potřebovali otevřít případ podpory u Microsoftu, můžete pomocí correlationId této hodnoty snadno identifikovat volání, které řešíte.
identifier Jedinečné ID uživatele. Identitou může být uživatel Azure Communication Services, ID uživatele Microsoft Entra, anonymní ID uživatele Teams nebo ID robota Teams. Toto ID můžete použít ke korelaci uživatelských událostí napříč protokoly.
callStartTime Časové razítko pro zahájení volání na základě prvního pokusu o připojení z libovolného koncového bodu.
callDuration Doba trvání volání vyjádřená v sekundách. Vychází z prvního pokusu o připojení a konce posledního připojení mezi dvěma koncovými body.
callType Typ hovoru. Obsahuje buď "P2P" nebo "Group". Volání "P2P" je přímé připojení 1:1 mezi pouze dvěma koncovými body bez serveru. Volání "Group" je volání, které má více než dva koncové body nebo se vytvoří jako "Group" volání před připojením.
teamsThreadId ID vlákna Teams. Toto ID je relevantní jenom v případě, že je hovor uspořádaný jako schůzka v Teams. Pak představuje případ použití vzájemné spolupráce mezi Microsoft Teams a Komunikačními službami Azure.

Toto ID je zveřejněné v provozních protokolech. Toto ID můžete získat také prostřednictvím rozhraní API chatu.
participantId ID vygenerované tak, aby představovalo obousměrné připojení mezi "Participant" koncovým bodem (endpointType = "Server") a serverem. Když callType = "P2P"dojde k přímému spojení mezi dvěma koncovými body a nevygeneruje se žádná participantId hodnota.
participantStartTime Časové razítko pro začátek prvního pokusu o připojení účastníka.
participantDuration Doba trvání připojení každého účastníka v sekundách od participantStartTime do časového razítka, kdy připojení skončilo.
participantEndReason Důvod ukončení připojení účastníka. Obsahuje kódy chyb volání sady SDK, které sada SDK pro každou participantId hodnotu generuje (pokud je relevantní).
endpointId Jedinečné ID, které představuje každý koncový bod připojený k volání, kde endpointType definuje typ koncového bodu. Pokud je nullhodnota , připojená entita je server komunikační služby ( = endpointType"Server").

Hodnota endpointId může někdy trvat pro stejného uživatele ve více voláních (correlationId) pro nativní klienty. Počet endpointId hodnot určuje počet protokolů souhrnu volání. Pro každou endpointId hodnotu se vytvoří jedinečný souhrnný protokol.
endpointType Tato hodnota popisuje vlastnosti každého koncového bodu, který je připojený k volání. Může obsahovat "Server", , "PSTN""VOIP", "BOT"nebo "Unknown".
sdkVersion Řetězec verze pro verzi sady SDK pro volání komunikačních služeb, kterou každý relevantní koncový bod používá (například "1.1.00.20212500").
osVersion Řetězec, který představuje operační systém a verzi každého koncového zařízení.
participantTenantId ID tenanta Microsoftu přidruženého k identitě účastníka. Tenantem může být tenant Azure, který vlastní prostředek Azure Communication Services, nebo tenanta Microsoftu identity M365. Toto pole slouží k vedení redakce napříč tenanty.
participantType Popis účastníka jako kombinace svého klienta (Azure Communication Services nebo Teams) a jeho identity (Azure Communication Services nebo Microsoft 365). Mezi možné hodnoty patří: Azure Communication Services (identita služeb Azure Communication Services a sada SDK služby Azure Communication Services), Teams (identita Teams a klient Teams), Azure Communication Services jako externí uživatel (identita Azure Communication Services a sada AZURE Communication Services SDK v aplikaci Teams nebo schůzka), Azure Communication Services jako uživatel Microsoftu 365 (identita M365 a klient Azure Communication Services), a aplikace Teams Voice.
pstnPartcipantCallType Představuje typ a směr účastníků veřejné telefonní sítě, včetně volání tísňového volání, přímého směrování, přenosu, přesměrování atd.
ParticipantEndSubCode představuje podkód chyby volající sady SDK, který sada SDK pro každou participantId hodnotu generuje (pokud je relevantní).
ResultCategory Představuje kategorii účastníka, který hovor ukončí. Může to být jedna z těchto 4 hodnot: Success, ExpectedError, UnexpectedClientError, UnexpectedServerError.

Volání schématu diagnostického protokolu

Diagnostické protokoly volání poskytují důležité informace o koncových bodech a přenosech médií pro každého účastníka. Poskytují také měření, která vám pomůžou porozumět problémům s kvalitou.

Pro každý koncový bod v rámci volání se vytvoří jedinečný diagnostický protokol volání pro odchozí datové proudy médií (například zvuk nebo video) mezi koncovými body. Ve volání P2P každý protokol obsahuje data, která se vztahují ke každému odchozímu datovému proudu přidruženému ke každému koncovému bodu. Ve skupinových voláních participantId slouží jako identifikátor klíče pro připojení souvisejících odchozích protokolů k jedinečnému připojení účastníka. Diagnostické protokoly volání zůstávají nedotčené a jsou stejné bez ohledu na tenanta účastníka.

Poznámka:

V tomto článku jsou volání P2P a skupiny ve výchozím nastavení ve stejném tenantovi pro všechny scénáře volání, které jsou mezi tenanty. Jsou zadány odpovídajícím způsobem v celém článku.

Vlastnost Popis
operationName Operace přidružená k záznamu protokolu.
operationVersion Hodnota api-version přidružená k operaci, pokud operationName byla operace provedena prostřednictvím rozhraní API. Pokud žádné rozhraní API neodpovídá této operaci, verze představuje verzi operace v případě, že se vlastnosti přidružené k operaci v budoucnu změní.
category Kategorie protokolu události. Tato vlastnost je členitost, při které můžete povolit nebo zakázat protokoly prostředku. Vlastnosti, které se zobrazí v objektu properties blob události, jsou stejné v kategorii protokolu a typu prostředku.
correlationId Jedinečné ID volání. Identifikuje korelované události ze všech účastníků a koncových bodů, které se připojují během jednoho volání. Pokud byste někdy potřebovali otevřít případ podpory u Microsoftu, můžete pomocí correlationId této hodnoty snadno identifikovat volání, které řešíte.
participantId ID vygenerované tak, aby představovalo obousměrné připojení mezi "Participant" koncovým bodem (endpointType = "Server") a serverem. Když callType = "P2P"dojde k přímému spojení mezi dvěma koncovými body a nevygeneruje se žádná participantId hodnota.
identifier Jedinečné ID uživatele. Identitou může být uživatel Azure Communication Services, ID uživatele Microsoft Entra, ID objektu Teams nebo ID robota Teams. Toto ID můžete použít ke korelaci uživatelských událostí napříč protokoly.
endpointId Jedinečné ID, které představuje každý koncový bod připojený k volání, kde endpointType definuje typ koncového bodu. Pokud je nullhodnota , připojená entita je server komunikační služby. EndpointId může uchovávat pro stejného uživatele ve více voláních (correlationId) pro nativní klienty, ale je jedinečný pro každé volání, pokud je klient webovým prohlížečem.
endpointType Hodnota, která popisuje vlastnosti každé endpointId instance. Může obsahovat "Server", , "VOIP", "BOT""PSTN", "Voicemail", , "Anonymous", nebo "Unknown".
mediaType Řetězcová hodnota, která popisuje typ média přenášeného mezi koncovými body v rámci každého datového proudu. Mezi možné hodnoty patří "Audio", , "Video""VBSS" (sdílení obrazovky založené na videu) a "AppSharing".
streamId Neidentifikované celé číslo, které společně s mediaType, můžete použít k jedinečné identifikaci datových proudů stejné participantId hodnoty.
transportType Řetězcová hodnota, která popisuje protokol síťového přenosu pro každou participantId hodnotu. Může obsahovat "UDP", "TCP"nebo "Unrecognized". "Unrecognized" indikuje, že systém nemohl určit, zda typ přenosu byl TCP nebo UDP.
roundTripTimeAvg Průměrná doba, kterou trvá získání paketu IP z jednoho koncového bodu do druhého během časového participantDuration období. Toto zpoždění šíření sítě souvisí s fyzickou vzdáleností mezi těmito dvěma body, rychlostí světla a veškerou režií, kterou různé směrovače přebírají mezi nimi.

Latence se měří jako jednosměrná doba nebo doba odezvy (RTT). Jeho hodnota vyjádřená v milisekundách. RtT větší než 500 ms má negativní vliv na kvalitu volání.
roundTripTimeMax Maximální hodnota RTT (v milisekundách) měřená během časového období participantDuration skupinového volání nebo během callDuration časového období volání P2P.
jitterAvg Průměrná změna zpoždění mezi po sobě jdoucími pakety. Služba Azure Communication Services se může přizpůsobit některým úrovním zpoždění prostřednictvím ukládání do vyrovnávací paměti. Když jitter překročí vyrovnávací paměť, což je přibližně v jitterAvg době delší než 30 ms, je pravděpodobné, že dojde k negativnímu dopadu na kvalitu. Pakety přicházející v různých rychlostech způsobují, že hlas reproduktoru zní robotiky.

Tato metrika se měří pro každý datový proud médií v participantDuration období skupinového volání nebo v callDuration období volání P2P.
jitterMax Maximální hodnota zpoždění měřená mezi pakety pro každý datový proud médií. Shluky v síťových podmínkách můžou způsobovat problémy s tokem zvukového a video provozu.
packetLossRateAvg Průměrné procento ztracenýchpaketch Ztráta paketů přímo ovlivňuje kvalitu zvuku. Malé, individuální ztracené pakety nemají téměř žádný dopad, zatímco ztráty zpětného nárazu způsobují, že zvuk se úplně vyřízne. Pakety, které se zahodí a nepřicházejí do zamýšleného cíle, způsobují mezery v médiu. Výsledkem této situace jsou zmeškané slabiky a slova spolu s nakrájeným videem a sdílením.

Míra ztráty paketů větší než 10 % (0,1) pravděpodobně má negativní dopad na kvalitu. Tato metrika se měří pro každý datový proud médií v participantDuration období skupinového volání nebo v callDuration období volání P2P.
packetLossRateMax Tato hodnota představuje maximální míru ztráty paketů (procento) pro každý datový proud médií v participantDuration období skupinového volání nebo v callDuration průběhu období volání P2P. Shluky v síťových podmínkách můžou způsobovat problémy s tokem zvukového a video provozu.
JitterBufferSizeAvg Průměrná velikost vyrovnávací paměti zadržování v průběhu doby trvání jednotlivých datových proudů médií. Vyrovnávací paměť zatřesování je sdílená datová oblast, kde je možné shromažďovat, ukládat a odesílat hlasové pakety do hlasového procesoru v rovnoměrně rozložených intervalech. Vyrovnávací paměť jitter se používá k čítači účinků jitter.

Vyrovnávací paměti můžou být statické nebo dynamické. Vyrovnávací paměti statického zadržování jsou nastaveny na pevnou velikost, zatímco dynamické vyrovnávací paměti jitter mohou upravit na základě podmínek sítě. Cílem vyrovnávací paměti pro zadržování je poskytnout uživateli hladký a nepřerušovaný stream zvukových a video dat.

Ve webové sadě SDK je tato hodnota JitterBufferSizeAvg průměrnou hodnotou jitterBufferDelay během volání, "jitterBufferDelay" je doba trvání zvukové ukázky nebo rámečku videa, který zůstává v vyrovnávací paměti jitter.

Obvykle když je hodnota JitterBufferSizeAvg větší než 200 ms, způsobí negativní dopad na kvalitu.
JitterBufferSizeMax Maximální velikost vyrovnávací paměti jitter měřená během doby trvání každého datového proudu médií.

Obvykle, když je tato hodnota větší než 200 ms, způsobí negativní dopad na kvalitu.
HealedDataRatioAvg Průměrné procento ztracených nebo poškozených datových paketů, které jsou úspěšně rekonstruovány nebo obnoveny léčí v průběhu doby trvání zvukového streamu. Poměr opravených dat je měřítkem účinnosti technik oprav chyb používaných v systémech VoIP.

Pokud je tato hodnota větší než 0,1 (10 %), považujeme datový proud za špatnou kvalitu.
HealedDataRatioMax Maximální poměr zahojených dat měřený během doby trvání každého datového proudu médií.

Pokud je tato hodnota větší než 0,1 (10 %), považujeme datový proud za špatnou kvalitu.
VideoFrameRateAvg Průměrný počet snímků videa přenášených za sekundu během videohovoru nebo sdílení obrazovky. Frekvence snímků videa může mít vliv na kvalitu a plynulost streamu videa, přičemž vyšší frekvence snímků obecně vede k plynulejšímu a plynulejšímu pohybu. Standardní frekvence snímků videa WebRTC je obvykle 30 snímků za sekundu (fps), i když se to může lišit v závislosti na konkrétní implementaci a podmínkách sítě.

Kvalita streamu se považuje za špatnou, pokud je tato hodnota menší než 7 pro video stream nebo menší než 1 pro stream sdílení obrazovky.
RecvResolutionHeight Průměrná svislá velikost příchozího streamu videa přenášeného během videohovoru nebo sdílení obrazovky. Měří se v pixelech a je jedním z faktorů, které určují celkové rozlišení a kvalitu streamu videa. Použité konkrétní řešení může záviset na možnostech zařízení a podmínek sítě, které jsou součástí volání.

Kvalita streamu se považuje za špatnou, pokud je tato hodnota menší než 240 pro video stream nebo menší než 768 pro stream sdílení obrazovky.
RecvFreezeDurationPerMinuteInMs Průměrná doba ukotvení v milisekundách za minutu u příchozího streamu videa nebo sdílení obrazovky. Zablokování je obvykle způsobeno chybnou sítí a může snížit kvalitu datového proudu.

Kvalita streamu se považuje za špatnou, pokud je tato hodnota větší než 6 000 ms pro video stream nebo větší než 25 000 ms pro stream sdílení obrazovky.
PacketUtilization Pakety odeslané nebo přijaté pro daný datový proud médií.

Čím delší je volání, tím vyšší je hodnota. Pokud je tato hodnota nula, může to znamenat, že média neprotékají.
VideoBitRateAvg Průměrná přenosová rychlost (bity za sekundu) streamu videa nebo sdílení obrazovky.

Hodnota s nízkou přenosovou rychlostí může znamenat špatný problém se sítí. Minimální požadovaná přenosová rychlost (šířka pásma) najdete tady: Šířka pásma sítě.
VideoBitRateMax Maximální přenosová rychlost (bity za sekundu) pro stream videa nebo sdílení obrazovky.

Hodnota s nízkou přenosovou rychlostí může znamenat špatný problém se sítí. Minimální požadovaná přenosová rychlost (šířka pásma) najdete tady: Šířka pásma sítě.
StreamDirection Směr datového proudu médií. Je buď příchozí, nebo odchozí.
CodecName Název kodeku používaného ke zpracování datových proudů médií. Může to být OPUS, G722, H264S, SATIN atd.

Volání schématu protokolu operací klienta

Protokol operací klienta volání poskytuje informace na straně klienta o volajících koncových bodech a účastníkůch zapojených do volání. Tyto protokoly jsou aktuálně ve verzi Preview a zobrazují události klienta, ke kterým došlo při volání a jaké akce zákazník mohl během hovoru provést.

Tento protokol poskytuje podrobné informace o akcích provedených během volání a je možné je použít k vizualizaci a zkoumání problémů s voláním pomocí diagnostiky volání pro prostředek služby Azure Communication Services. Další informace o diagnostice volání

Vlastnost Popis
CallClientTimeStamp Časové razítko, kdy došlo k operaci v sadě SDK v UTC.
OperationName Název operace aktivované na volající sadě SDK.
CallId Jedinečné ID volání. Identifikuje korelované události ze všech účastníků a koncových bodů, které se připojují během jednoho volání, a můžete je použít k připojení dat z různých protokolů. Podobá se ID korelace v protokolu souhrnu volání a diagnostickému protokolu volání.
ParticipantId Jedinečný identifikátor pro každou nohu hovoru (ve skupinových hovorech) nebo účastníka hovoru (v partnerském vztahu k partnerským voláním). Toto ID je hlavní korelační bod mezi protokoly CallSummary, CallDiagnostic, CallClientOperations a CallClientMediaStats.
OperationType Volání operace klienta
OperationId Jedinečný identifikátor GGUID identifikující operaci sady SDK.
DurationMs Doba, kterou trvala operace volání sady SDK, selhala nebo byla úspěšná.
ResultType Pole popisující úspěch nebo selhání operace
ResultSignature HTTP, jako je selhání nebo kód úspěchu (200, 500).
SdkVersion Používá se verze sady SDK pro volání.
UserAgent Používá se standardní řetězec uživatelského agenta založený na prohlížeči nebo sadě SDK pro volání platformy.
ClientInstanceId Jedinečný objekt GGUID identifikující objekt CallClient.
EndpointId Jedinečné ID, které představuje každý koncový bod připojený k volání, kde endpointType definuje typ koncového bodu. Pokud je hodnota null, připojená entita je server komunikační služby (endpointType = "Server").

Hodnota endpointId může někdy trvat pro stejného uživatele ve více voláních (correlationId) nativních klientů. Počet hodnot endpointId určuje počet protokolů souhrnu volání. Pro každou hodnotu endpointId se vytvoří jedinečný souhrnný protokol.
OperationPayload Dynamická datová část, která se liší v závislosti na operaci, která poskytuje podrobnější podrobnosti o operaci.

Volání statistik protokolu časových řad klientských médií

Protokol statistiky datových řad volání klienta poskytuje informace na straně klienta o datových proudech médií mezi jednotlivými účastníky hovoru. Tyto protokoly jsou aktuálně ve verzi Limited Preview a poskytují podrobná data časových řad na zvukovém, videu a sdílení médií mezi účastníky s výchozím intervalem agregace 10 sekund. Protokoly obsahují podrobné informace o typu datového proudu médií, směru, kodeku a vlastnostech přenosové rychlosti (například max, min, průměr).

Tento protokol poskytuje podrobnější informace než protokol diagnostiky volání, aby porozuměl kvalitě médií páry mezi účastníky. Můžete ho použít k vizualizaci a prošetření problémů s kvalitou volání prostřednictvím diagnostiky volání pro prostředek služby Azure Communication Services. Další informace o diagnostice volání

Vlastnost Popis
OperationName Operace přidružená k záznamu protokolu.
CallId Jedinečné ID volání. Identifikuje korelované události ze všech účastníků a koncových bodů, které se připojují během jednoho volání, a můžete je použít k připojení dat z různých protokolů. Podobá se ID korelace v protokolu souhrnu volání a diagnostickému protokolu volání.
CallClientTimeStamp Časové razítko, kdy se zaznamenávají statistiky médií.
MetricName Název statistiky médií, například Bitrate, JitterInMs, PacketsPerSecond atd.
Count Počet datových bodů vzorkovaných v daném časovém razítku.
Sum Součet hodnot metriky všech datových bodů vzorkovaných.
Average Průměrná hodnota metriky vybraných datových bodů. Průměr = součet / počet
Minimum Minimální hodnoty metriky všech datových bodů vzorkovaných.
Maximum Maximální hodnota metriky všech datových bodů vzorkovaných.
MediaStreamDirection Směr datového proudu médií. Může se posílat nebo přijímat
MediaStreamType Typ datového proudu médií. Může to být video, zvuk nebo obrazovka.
MediaStreamCodec Kodek používaný ke kódování nebo dekódování mediálního streamu, například H264, OPUS, VP8 atd.
ParticipantId Jedinečné ID vygenerované tak, aby představovalo každý koncový bod ve volání.
ClientInstanceId Jedinečné ID, které představuje objekt klienta volání vytvořený ve volající sadě SDK.
EndpointId Jedinečné ID, které představuje každý koncový bod, který je připojený k volání. Id koncového bodu může uchovávat pro stejného uživatele ve více voláních (callId) nativních klientů, ale je pro každé volání jedinečné, pokud je klient webovým prohlížečem. Všimněte si, že v tomto protokolu se v současné době ne instrumentuje ID koncového bodu. Při implementaci v budoucnu bude odpovídat hodnotám v protokolech CallSummary/Diagnostics.
RemoteParticipantId Jedinečné ID, které představuje vzdálený koncový bod v datovém proudu médií. Uživatel může například vykreslit více streamů videa pro ostatní uživatele ve stejném volání. Každý datový proud videa má jiný RemoteParticipantId.
RemoteEndpointId Stejné jako Id koncového bodu, ale představuje uživatele na vzdálené straně datového proudu.
MediaStreamId Jedinečné ID, které představuje každý datový proud médií ve volání. MediaStreamId není aktuálně instrumentován v klientech. Při implementaci bude odpovídat sloupci streamId v protokolech CallDiagnostics.
AggregationIntervalSeconds Časový interval agregace statistik médií. V současné době se při volání sady SDK vzorkují metriky médií každých 1 sekundy a při hlášení v protokolu agregujeme všechny vzorky každých 10 sekund. Každý řádek v této tabulce má maximálně 10 bodů vzorkování.

P2P vs. skupinové volání

Existují dva typy volání, jak je reprezentováno callType:

  • Volání peer to Peer (P2P): Připojení mezi pouze dvěma koncovými body bez koncového bodu serveru. Volání P2P se zahájí jako volání mezi těmito koncovými body a před připojením se nevytvořijí jako událost skupinového volání.

    Diagram znázorňující volání P2P napříč dvěma koncovými body

  • Skupinové volání: Jakékoli volání, které má více než dva koncové body připojené. Volání skupin zahrnují koncový bod serveru a připojení mezi jednotlivými koncovými body a serverem. Volání P2P, která během volání přidají další koncový bod, přestanou být P2P a stanou se voláním skupiny. Časovou osu, kdy se každý koncový bod připojil k volání, můžete určit pomocí participantStartTime metrik a participantDuration metrik.

    Diagram znázorňující skupinové volání napříč několika koncovými body

Struktura protokolu

Azure Communication Services vytvoří čtyři typy protokolů:

  • Protokoly souhrnu volání: Obsahují základní informace o volání, včetně všech relevantních ID, časových razítek, koncových bodů a informací o sadě SDK. Pro každého účastníka v rámci hovoru vytvoří komunikační služba jedinečný protokol souhrnu volání.

    Pokud se někdo znovu připojí k hovoru, má tento účastník stejnou EndpointId hodnotu, ale jinou ParticipantId hodnotu. Tento koncový bod pak může mít dva protokoly souhrnu volání.

  • Protokoly diagnostiky volání: Obsahují informace o datovém proudu spolu se sadou metrik, které označují kvalitu měření zkušeností. Pro každý EndpointId z volání (včetně serveru) vytvoří Služba Azure Communication Services jedinečný protokol diagnostiky volání pro každý datový proud médií (například zvuk nebo video) mezi koncovými body.

  • Protokoly operací volání: Obsahují podrobné události klienta volání. Tyto události protokolu se generují pro každý EndpointId hovor a počet vygenerovaných protokolů událostí bude záviset na operacích, které účastník provedl během hovoru.

  • Protokoly statistiky volání médií klienta: Obsahují podrobné hodnoty datových proudů médií. Tyto protokoly se generují pro každý datový proud médií ve volání. Pro každý EndpointId z volání (včetně serveru) vytvoří služba Azure Communication Services pro každý datový proud médií (například zvuk nebo video) mezi koncovými body jedinečný protokol. Objem dat vygenerovaných v každém protokolu závisí na době volání a počtu mediálních páry v hovoru.

Ve volání P2P každý protokol obsahuje data, která se vztahují ke každému odchozímu datovému proudu přidruženému ke každému koncovému bodu. Každý datový proud přidružený ke endpointType = "Server" skupinovému volání vytvoří protokol, který obsahuje data pro příchozí datové proudy. Všechny ostatní datové proudy vytvářejí protokoly, které obsahují data pro odchozí datové proudy pro všechny koncové body mimo server. Ve volání skupiny použijte participantId hodnotu jako klíč pro připojení souvisejících příchozích a odchozích protokolů k jedinečnému připojení účastníka.

Příklad: Volání P2P

Následující diagram představuje dva koncové body připojené přímo ve volání P2P. V tomto příkladu služba Communication Services vytvoří dva souhrnné protokoly volání (jeden pro každou participantID hodnotu) a čtyři diagnostické protokoly volání (jeden pro každý datový proud médií).

Pro účastníky volání služby Azure Communication Services (ACS) budou k dispozici také řada protokolů operací volání klienta a volání statistiky klientských médií časové řady. Přesný počet těchto protokolů závisí na tom, jaký druh operací sady SDK se volá a jak dlouho je volání.

Diagram znázorňující volání P2P ve stejném tenantovi

Příklad: Skupinové volání

Následující diagram představuje příklad skupinového volání se třemi participantId hodnotami (což znamená tři účastníky) a koncovým bodem serveru. V několika účastníkůch se může zobrazit více hodnot endpointId – například když se znovu připojí ke stejnému zařízení. Služba Communication Services vytvoří jeden protokol souhrnu volání pro každou participantId hodnotu. Vytvoří čtyři diagnostické protokoly volání: jeden pro každý datový proud médií na participantIdjeden .

V případě volání klienta Azure Communication Services (ACS) jsou protokoly operací volání stejné jako volání P2P. Pro každého účastníka, který používá volání sady SDK, bude k dispozici řada protokolů operací volání klienta.

V případě služby Azure Communication Services (ACS) volají účastníci klienta protokoly operací volání a volání protokolů časových řad klientských médií jsou stejné jako volání P2P. Pro každého účastníka, který používá volání sady SDK, bude řada protokolů operací volání klienta a volání protokolů časových řad statistiky médií klienta.

Diagram znázorňující skupinové volání ve stejném tenantovi

Příklad: Volání P2P mezi tenanty

Následující diagram představuje dva účastníky ve více tenantech, kteří jsou připojeni přímo ve volání P2P. V tomto příkladu služba Communication Services vytvoří jeden protokol souhrnu volání (jeden pro každého účastníka) s redakčně upravenou verzí operačního systému a sady SDK. Služba Communication Services také vytvoří čtyři diagnostické protokoly volání (jeden pro každý datový proud médií). Každý protokol obsahuje data, která se vztahují k odchozímu datovému participantIDproudu .

Diagram znázorňující volání P2P napříč tenanty

Příklad: Volání skupiny napříč tenanty

Následující diagram představuje příklad skupinového volání se třemi participantId hodnotami ve více tenantech. Služba Communication Services vytvoří pro každého účastníka jeden protokol souhrnu volání s redakčně upravenou verzí operačního systému a sady SDK. Služba Communication Services také vytvoří čtyři diagnostické protokoly volání, které se týkají každé participantId hodnoty (jedna pro každý datový proud médií).

Diagram znázorňující volání skupiny napříč tenanty

Poznámka:

Tato verze podporuje pouze odchozí diagnostické protokoly. Verze operačního systému a sady SDK přidružené k robotovi a účastníkovi je možné redactovat, protože komunikační služby zachází s identitami účastníků a robotů stejným způsobem.

Vzorová data

Volání P2P

Tady jsou sdílená pole pro všechny protokoly ve volání 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",

Protokoly souhrnu volání

Protokoly souhrnu volání mají sdílenou operaci a informace o kategoriích:

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

Tady je souhrn volání pro uživatele 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"
}

Tady je souhrn volání pro uživatele 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"
}

Tady je protokol souhrnu volání mezi tenanty pro uživatele 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"
}

Tady je souhrn volání pro volání do veřejné telefonní sítě:

Poznámka:

Protokoly volání P2P nebo skupiny mají redakci verzí operačního systému a sady SDK bez ohledu na to, jestli se jedná o tenanta účastníka nebo tenanta robota.

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

Volání diagnostických protokolů

Informace o operaci sdílení diagnostických protokolů:

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

Tady je diagnostický protokol zvukového streamu z koncového bodu VoIP 1 do koncového bodu 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"
}

Tady je diagnostický protokol zvukového streamu z koncového bodu VoIP 2 do koncového bodu 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"
}

Tady je diagnostický protokol pro stream videa z koncového bodu VoIP 1 do koncového bodu 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"
}

Skupinový hovor

Data pro skupinové volání se generují ve třech protokolech souhrnu volání a šesti diagnostických protokolech volání. Toto jsou sdílená pole pro všechny protokoly ve volání:

"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",

Protokoly souhrnu volání

Protokoly souhrnu volání mají sdílenou operaci a informace o kategoriích:

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

Tady je souhrn volání koncového bodu 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"
}

Tady je souhrn volání pro koncový bod 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"
}

Tady je souhrn volání koncového bodu veřejné telefonní sítě 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"
}

Tady je protokol souhrnu volání mezi tenanty:

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

Tady je protokol souhrnu volání mezi tenanty s robotem jako účastníkem:


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

Volání diagnostických protokolů

Informace o operaci sdílení diagnostických protokolů:

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

Tady je diagnostický protokol zvukového streamu z koncového bodu VoIP 1 do koncového bodu serveru:

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

Tady je diagnostický protokol zvukového streamu z koncového bodu serveru do koncového bodu 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"
}

Tady je diagnostický protokol zvukového streamu z koncového bodu VoIP 3 do koncového bodu serveru:

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

Tady je diagnostický protokol zvukového streamu z koncového bodu serveru do koncového bodu 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",

Volání protokolu operací klienta a volání protokolů statistiky médií klienta pro volání P2P a skupinových volání

V případě protokolu operací volání klienta a volání statistik časových řad médií klienta neexistuje žádný rozdíl mezi scénáři volání P2P a skupinových volání a počet protokolů závisí na operacích sady SDK a době trvání volání. Následující příklad uvádí několik obecných ukázek, které znázorňují schéma těchto protokolů.

Volání protokolu operací klienta

Tady je protokol operací volání klienta pro operaci 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"
}

Každý účastník může mít pro hovor mnoho různých metrik. Následující dotaz je možné spustit v Log Analytics na webu Azure Portal a zobrazit seznam všech možných operací v protokolu operací volání klienta:

ACSCallClientOperations | distinct OperationName

Volání protokolu časových řad statistiky médií klienta

Následuje příklad protokolu časových řad časových řad médií. Zobrazuje metriku Jitter účastníka pro příjem zvukového streamu v určitém časovém razítku.

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

Každý účastník může mít pro volání mnoho různých metrik statistik médií. Následující dotaz můžete spustit v Log Analytics na webu Azure Portal, aby se v tomto protokolu zobrazily všechny možné metriky:

ACSCallClientMediaStatsTimeSeries | distinct MetricName

Kódy chyb

Vlastnost participantEndReason obsahuje hodnotu ze sady kódů chyb volající sady SDK. Tyto kódy můžete použít k řešení problémů během volání pro každý koncový bod. Viz Řešení potíží ve službě Azure Communication Services.

Další kroky