次の方法で共有


Azure Communication Services Call Automation API

Azure Communication Services には、Communication Services ソリューションの監視とデバッグに使用できるログ機能が用意されています。 これらの機能は、Azure portal を使用して構成します。

前提条件

Azure Communication Services には、Azure Monitor ログAzure Monitor メトリック を介した監視と分析の機能が提供されます。 各 Azure リソースには、次の条件を定義する独自の診断設定が必要です。

  • 設定が定義する宛先に送信されるログデータとメトリック データのカテゴリ。 使用可能なカテゴリは、リソースの種類によって異なります。

  • ログを送信する 1 つ以上の送信先。 現在の宛先には、Log Analytics ワークスペース、Azure Event Hubs、Azure Storage が含まれます。

    1 つの診断設定では、各送信先を 1 つ以上定義できません。 複数の宛先の種類 (たとえば、2 つの Log Analytics ワークスペース) にデータを送信する場合は、複数の設定を作成します。 各リソースには、最大 5 つの診断設定を作成できます。

重要

アンケート データを受信して分析するには、Azure Monitor で診断設定を有効にして、アンケートのログ データを Log Analytics ワークスペース、イベント ハブ、または Azure ストレージ アカウントに送信する必要があります。 これらのオプションのいずれかに Call Automation データを送信しない場合、アンケート データは保存されず、失われます。

次の手順では、Communication Services インスタンスのログとメトリックの作成を開始するように Azure Monitor リソースを構成します。 すべての Azure リソースで診断設定を使用する方法の詳細については、「診断設定のログ記録を有効にする」を参照してください。

診断設定名の下で、Operation Call Automation ログ呼び出し自動化イベントの概要ログ を選択して、呼び出しの自動化のログを有効にします。

Call Automation の診断設定のスクリーンショット。

リソース ログのカテゴリ

Communication Services には、有効にできる次のログが用意されています。

  • 使用状況ログ: 課金される各サービス オファリングに関連付けられている使用状況データを提供します。
  • コール オートメーション操作ログ: Call Automation API 要求に関する操作情報を提供します。 これらのログを使用して、障害ポイントを識別し、呼び出しで行われたすべての要求に対してクエリを実行できます (関連付け ID またはサーバー呼び出し ID を使用)。
  • Call Automation メディア要約ログ: メディア操作の結果に関する情報を提供します。 これらのログは、Call Automation API を使用してメディア要求を行うときに非同期的に送信されます。 これらのログを使用して、ユーザーがアプリケーションと対話する方法に関する障害ポイントと考えられるパターンを特定できます。

使用状況ログ スキーマ

プロパティ 説明
Timestamp ログが生成された時刻のタイム スタンプ (UTC)。
OperationName ログ レコードに関連付けられている操作。
OperationVersion OperationName 操作が API を介して実行された場合に、操作に関連付けられた api-version 値。 この操作に対応する API がない場合、操作に関連付けられているプロパティが将来変更された場合に備えて、バージョンは操作のバージョンを表します。
Category イベントのログ カテゴリ。 カテゴリは、リソースのログを有効または無効にできる細分性です。 イベントの properties BLOB 内に表示されるプロパティは、ログ カテゴリとリソースの種類内で同じです。
CorrelationID 相関性があるイベントの ID。 これを使用して、複数のテーブル間の相関イベントを識別できます。
Properties Communication Services のさまざまなモードに適用されるその他のデータ。
RecordID 使用状況レコードの一意の ID。
UsageType 使用モード (例えば、チャット、PSTN、NAT など)。
UnitType 使用モードに基づく単位の種類 (例えば、分、メガバイト、メッセージなど)。
Quantity そのレコードに関して使用または消費された単位の数。

Call Automation の操作ログ

プロパティ 説明
TimeGenerated ログが生成された時刻のタイム スタンプ (UTC)。
OperationName ログ レコードに関連付けられている操作。
CorrelationID 呼び出しを識別し、一意の呼び出しのイベントを関連付ける識別子。
OperationVersion operationName 操作が API を介して実行された場合、操作に関連付けられている api-version バージョン。 この操作に対応する API がない場合、操作に関連付けられているプロパティが将来変更された場合に備えて、バージョンは操作のバージョンを表します。
Category イベントのログ カテゴリ。 カテゴリは、リソースのログを有効または無効にできる細分性です。 イベントの properties BLOB 内に表示されるプロパティは、ログ カテゴリとリソースの種類内で同じです。
ResultType 操作の状態。
ResultSignature 操作の副状態。 この操作が REST API 呼び出しに対応している場合、このフィールドは、対応する REST 呼び出しの HTTP 状態コードです。
DurationMs 操作時間 (ミリ秒)。
CallerIpAddress 操作が、一般的に利用できる IP アドレスを持つエンティティからの API 呼び出しに対応している場合は、呼び出し元 IP アドレス。
Level イベントの重大度レベル。
URI 要求の URI。
CallConnectionId 呼び出し接続を表す ID (使用可能な場合)。 この ID は参加者ごとに異なり、通話への接続を識別するために使用されます。
ServerCallId 呼び出しを識別する一意の ID。
SDKVersion 要求に使用される SDK バージョン。
SDKType 要求に使用される SDK の種類。
ParticipantId 要求を行った通話参加者を識別する ID。
SubOperationName メディア操作 (再生または認識) のサブタイプを識別するために使用される名前。
operationID 非同期イベントの関連付けに使用される ID。

Call Automation 操作ログの例を次に示します:

[
{
"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",
}

Call Automation メディアの概要ログ

プロパティ 説明
TimeGenerated イベントのタイム スタンプ (UTC)。
level イベントの重大度レベル。 InformationalWarningError、または Critical のいずれかである必要があります。 
resourceId イベントを生成したリソースの ID。
durationMs 操作時間 (ミリ秒)。
callerIpAddress
correlationId Skype チェーン ID。 
operationName このイベントが表す操作の名前。
operationVersion
resultType イベントの状態です。 一般的な値には、CompletedCanceled、および Failed があります。
resultSignature 操作の副状態。 この操作が REST API 呼び出しに対応している場合、このフィールドは、対応する REST 呼び出しの HTTP 状態コードです。
operationId 非同期イベントの関連付けに使用される操作 ID。
recognizePromptSubOperationName 操作のサブタイプ。 使用可能な値には、FileTextToSpeech、および SSML が含まれます。
playInLoop 再生操作に対してループが要求された場合は True。 そうでなければ False
playToParticipant 再生操作にターゲットがある場合は True。 プレイツーオール操作の場合は False
interrupted プロンプトが中断された場合は True。 そうでなければ False
resultCode 操作の結果コード。
resultSubcode 操作の結果サブコード。
resultMessage 操作の結果メッセージ。

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

次のステップ