Protokoly hlasových hovorů a videohovorů ve službě Azure Communication Services
Služba Azure Communication Services poskytuje možnosti protokolování, které můžete použít k monitorování a ladění řešení komunikačních služeb. Tyto možnosti nakonfigurujte 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 znázorněna
correlationId
. Hodnoty procorrelationId
každé volání jsou jedinečné a jsou vázány nacallStartTime
základě acallDuration
.Účastník: Představuje připojení mezi koncovým bodem a serverem. Účastník (
participantId
) je k dispozici pouze tehdy, když je hovor skupinový.Koncový bod: Nejvýraznější entita reprezentovaná hodnotou
endpointId
. 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 analyzovatendpointType
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í novouendpointId
hodnotu pro každé nové volání.Stream: Nejpodrobnější entita. Pro každý směr (příchozí nebo odchozí) a
mediaType
hodnotu (napříkladAudio
neboVideo
) existuje jeden datový proud.
Definice dat
Schéma protokolu využití
Vlastnost | Popis |
---|---|
Timestamp |
Časové razítko (UTC) při 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ždou participantId
hodnotu volání (nebo endpointId
pro volání peer-to-peer [P2P] se vytvoří jiný protokol souhrnu 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) při 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 na základě 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 null hodnota , 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 připojeného 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 představující operační systém a verzi každého zařízení koncového bodu. |
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 Microsoftu 365. 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), služba Azure Communication Services jako uživatel Microsoftu 365 (identita Microsoftu 365 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 null hodnota , 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 |
Neunique integer, 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" značí, že systém nemohl určit, jestli 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ě větší než 30 ms, může negativně ovlivnit 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 se jedná JitterBufferSizeAvg o průměrnou hodnotu jitterBufferDelay během volání. Jedná se jitterBufferDelay o dobu trvání zvukové ukázky nebo rámečku videa, který zůstává v zadržovací vyrovnávací paměti. Obvykle, když JitterBufferSizeAvg je hodnota větší než 200 ms, má negativní vliv 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, má negativní vliv na kvalitu. |
HealedDataRatioAvg |
Průměrné procento ztracených nebo poškozených datových paketů úspěšně rekonstruovalo nebo obnovilo healer 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 frekvence snímků 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 provede během hovoru.
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ém 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 |
Selhání podobné protokolu HTTP 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 zvuku, videu a sdílení médií mezi účastníky s výchozím 10sekundovým intervalem agregace. 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ém 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ů. Average = Sum / Count. |
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 to být send nebo receive . |
MediaStreamType |
Typ datového proudu médií. Může to být video , audio nebo screen . |
MediaStreamCodec |
Kodek používaný ke kódování nebo dekódování mediálního streamu, například H264 , VP8 OPUS , atd. |
ParticipantId |
Jedinečné ID vygenerované tak, aby představovalo každý koncový bod ve volání. |
ClientInstanceId |
Jedinečné ID představující 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 (callIds ) pro nativní klienty, ale je jedinečné pro každé volání, pokud je klient webovým prohlížečem. V EndpointId tomto protokolu aktuálně není instrumentovaný. Při implementaci odpovídá 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ý video stream má jiný RemoteParticipantId . |
RemoteEndpointId |
Stejné jako EndpointId , 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 v současné době není instrumentovaný v klientech. Při implementaci odpovídá sloupci streamId v protokolech CallDiagnostics. |
AggregationIntervalSeconds |
Časový interval agregace statistik médií. V současné době se v sadě SDK volání vzorkují metriky médií každých 1 sekundu 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í.
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 aparticipantDuration
metrik.
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 jinouParticipantId
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í závisí 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í klientské služby Azure Communication Services existuje také řada protokolů operací volání klienta a volání protokolů časových řad statistiky médií klienta. Přesný počet těchto protokolů závisí na tom, jaký druh operací sady SDK se volá, a dobu trvání volání.
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 participantId
jeden .
Pro účastníky volání služby Azure Communication Services jsou protokoly operací volání stejné jako volání P2P. Pro každého účastníka, který používá volání sady SDK, existuje řada protokolů operací volání klienta.
Pro účastníky volání klienta služby Azure Communication Services jsou protokoly operací volání klienta a protokoly časových řad volání statistiky médií klienta stejné jako volání P2P. Pro každého účastníka používajícího volání sady SDK existuje řada protokolů operací volání a volání protokolů časových řad statistiky médií klienta.
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 participantID
proudu .
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í).
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í
Operace sdílení protokolů souhrnu volání 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í
Operace sdílení protokolů souhrnu volání 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 a době trvání volání sady SDK. Následující kód je obecná ukázka znázorňující 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. Spuštěním následujícího dotazu v Log Analytics na webu Azure Portal můžete 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
Tady je 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íží s kódy odpovědí na koncové volání pro volání sady SDK, sady SDK pro automatizaci volání, do veřejné telefonní sítě, sady SDK chatu a sady SMS SDK.
Další kroky
Přečtěte si o řídicím panelu přehledů pro monitorování protokolů a metrik hlasových hovorů a videohovorů.
Seznamte se s osvědčenými postupy pro správu kvality a spolehlivosti hovorů, viz: Zlepšení a správa kvality hovorů
Zjistěte, jak pomocí protokolů volání diagnostikovat problémy s kvalitou volání a spolehlivostí diagnostiky volání, viz: Diagnostika volání