Protokoly automatizace volání 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.

Předpoklady

Azure Communication Services poskytuje funkce monitorování a analýzy prostřednictvím protokolů služby Azure Monitor a metrik Azure Monitoru. Každý prostředek Azure vyžaduje vlastní nastavení diagnostiky, které definuje následující kritéria:

  • Kategorie dat protokolu a metrik odesílaných do cílů, které nastavení definuje. Dostupné kategorie se liší podle typu prostředku.

  • Jeden nebo více cílů pro odesílání protokolů. Mezi aktuální cíle patří pracovní prostor služby Log Analytics, Azure Event Hubs a Azure Storage.

    Jedno nastavení diagnostiky nemůže definovat více než jeden z každého cílového typu. Pokud chcete odesílat data do více než jednoho cílového typu (například do dvou pracovních prostorů služby Log Analytics), vytvořte více nastavení. Každý prostředek může mít až pět nastavení diagnostiky.

Důležité

Pokud chcete odesílat data protokolů průzkumů do pracovního prostoru služby Log Analytics, centra událostí nebo účtu úložiště Azure, abyste mohli přijímat a analyzovat data průzkumu, musíte ve službě Azure Monitor povolit nastavení diagnostiky. Pokud do některé z těchto možností neodešlete data automatizace volání, nebudou se data průzkumu ukládat a budou ztracena.

Následující pokyny nakonfigurují prostředek služby Azure Monitor tak, aby začal vytvářet protokoly a metriky pro vaši instanci služby Communication Services. Podrobnou dokumentaci k používání nastavení diagnostiky ve všech prostředcích Azure najdete v tématu Povolení protokolování v nastavení diagnostiky.

Pod názvem nastavení diagnostiky vyberte protokoly automatizace volání operací a souhrnné protokoly událostí automatizace volání a povolte protokoly pro automatizaci volání.

Screenshot of diagnostic settings for Call Automation.

Kategorie protokolu prostředků

Služba Communication Services nabízí následující typy protokolů, které můžete povolit:

  • Protokoly využití: Poskytují data o využití přidružená k jednotlivým fakturovaným nabídkám služeb.
  • Provozní protokoly automatizace volání: Poskytují provozní informace o požadavcích rozhraní API pro automatizaci volání. Tyto protokoly můžete použít k identifikaci bodů selhání a dotazování všech požadavků provedených voláním (pomocí ID korelace nebo ID volání serveru).
  • Protokoly souhrnu médií služby Automation: Poskytují informace o výsledku operací médií. Tyto protokoly se vám zobrazí asynchronně při vytváření požadavků na média pomocí rozhraní API pro automatizaci volání. Tyto protokoly můžete použít k identifikaci bodů selhání a možných vzorů způsobu interakce uživatelů s vaší aplikací.

Schéma protokolu využití

Vlastnost Popis
Timestamp Č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. 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.
CorrelationID 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.
RecordID Jedinečné ID záznamu využití.
UsageType Režim použití (například Chat, PSTN nebo NAT).
UnitType 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.

Provozní protokoly služby Automation

Vlastnost Popis
TimeGenerated Časové razítko (UTC) doby vygenerování protokolu
OperationName Operace přidružená k záznamu protokolu.
CorrelationID Identifikátor pro identifikaci volání a korelaci událostí pro jedinečné volání.
OperationVersion Verze 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. 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.
ResultType Stav operace.
ResultSignature Podstatus operace. Pokud tato operace odpovídá volání rozhraní REST API, toto pole je stavový kód HTTP odpovídajícího volání REST.
DurationMs Doba trvání operace v milisekundách.
CallerIpAddress IP adresa volajícího, pokud operace odpovídá volání rozhraní API, které pochází z entity s veřejně dostupnou IP adresou.
Level Úroveň závažnosti události.
URI Identifikátor URI požadavku.
CallConnectionId ID, které představuje připojení volání, pokud je k dispozici. Toto ID se pro každého účastníka liší a slouží k identifikaci připojení k hovoru.
ServerCallId Jedinečné ID pro identifikaci volání.
SDKVersion Verze sady SDK použitá pro požadavek.
SDKType Typ sady SDK použitý pro požadavek.
ParticipantId ID pro identifikaci účastníka hovoru, který žádost provedl.
SubOperationName Název, který se používá k identifikaci podtypu operace média (přehrávání nebo rozpoznávání).
operationID ID, které se používá ke korelaci asynchronních událostí.

Tady je příklad provozního protokolu automatizace volání:

[
{
"TimeGenerated [UTC]": "5/25/2023, 5:43:25.746 PM",
"Level": "Informational",
"CorrelationId": "e2a97d52-0cbb-4adf-8c4b-e10f791fb764",
"OperationName": "Play",
"OperationVersion": "3/6/23",
"URI": "ccts-media-synthetics-prod.communication.azure.com",
"ResultType": "Succeeded",
"ResultSignature": "202",
"DurationMs": "82",
"CallerIpAddress": "40.88.50.228",
"CallConnectionId": "401f3500-fcb6-4b84-927e-81cd6372560b",
"ServerCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEyLTAxLmNvbnYuc2t5cGUuY29tL2NvbnYvZzRoWlVoS1ZEVUtma19HenRDZ1JTQT9pPTEyJmU9NjM4MjA1NDc4MDg5MzEzMjIz",
"SdkVersion": "",
"SdkType": "unknown",
"SubOperationName": "File",
"OperationId": "5fab0875-3211-4879-8051-c688d0854c4d",
}

Protokoly souhrnu médií služby Automation

Vlastnost Popis
TimeGenerated Časové razítko (UTC) události.
level Úroveň závažnosti události. Musí to být jeden z Informational, Warning, Errornebo Critical. 
resourceId ID prostředku, který událost vygenerovala.
durationMs Doba trvání operace v milisekundách.
callerIpAddress
correlationId ID řetězu Skypu. 
operationName Název operace, kterou tato událost představuje.
operationVersion
resultType Stav události. Mezi typické hodnoty patří Completed, Canceleda Failed.
resultSignature Podstatus operace. Pokud tato operace odpovídá volání rozhraní REST API, toto pole je stavový kód HTTP odpovídajícího volání REST.
operationId ID operace, které se používá ke korelaci asynchronních událostí.
recognizePromptSubOperationName Podtyp operace. Mezi potenciální hodnoty patří File, TextToSpeecha SSML.
playInLoop True if looping was requested for the play operation. False v opačném případě.
playToParticipant True pokud operace přehrávání měla cíl. False pokud se jednalo o operaci typu play-to-all.
interrupted True pokud je výzva přerušena. False v opačném případě.
resultCode Kód výsledku operace.
resultSubcode Podkód výsledku operace.
resultMessage Výsledná zpráva operace.

Tady je příklad souhrnného protokolu médií služby Call Automation:

[
{
"TimeGenerated [UTC]": "5/24/2023, 7:57:40.480 PM",
"Level": "Informational",
"CorrelationId": "d149d528-a392-404c-8fcd-69087e9d0802",
"ResultType": "Completed",
"OperationName": "Play",
"OperationId": "7bef24d5-eb95-4ee6-bbab-0b7d45d91288",
"PlayInLoop": "FALSE",
"PlayToParticipant": "TRUE",
"PlayInterrupted": "FALSE",
"RecognizePromptSubOperationName": "",
"ResultCode": "200",
"ResultSubcode": "0",
"ResultMessage": "Action completed successfully."
}

Další kroky