通話概要ログには、すべての通話の主要なプロパティを識別するのに役立つデータが含まれます。 通話内の participantId
(ピア ツー ピア [P2P] 通話の場合は endpointId
) 値ごとに、異なる通話概要ログが作成されます。
Communication Services は、通話内の参加者ごとに通話概要ログを個別に作成します。 誰かが通話に再び参加した場合、その参加者の EndpointId
値は同じになりますが、ParticipantId
値は別のものになります。 その場合、そのエンドポイントには、通話概要ログが 2 つあります。
通話ログを使用する方法
通話の使用状況を監視し、通話品質を向上させ、Azure Communication Services から新しいログがリリースされたらそれを受信できるように、ログ分析リソースで利用できるすべての通話ログを収集することをお勧めします。
通話を監視し、通話品質を向上させるために使用できる主なツールが 2 つあります。
音声とビデオの分析情報ダッシュボードを使って品質の調査を開始し、より詳細な情報が必要なときは、必要に応じて通話診断を使って個々の通話を詳しく調べることをお勧めします。
データの概念
重要
ログを分析する場合は、そのログを収集する必要があります。 詳しくは、「ログの保存方法」をご覧ください
これらの特定の診断設定を有効にしない限り、Azure は通話ログ データを保存しません。 通話データをさかのぼって利用することはできません。 診断設定を作成すると、データの蓄積が開始されます。
データの定義
通話概要ログ スキーマ
重要
通話概要ログの参加者情報は、参加者テナントによって異なります。 参加者が Communication Services リソースと同じテナントに存在しない場合 (クロステナントとも呼ばれます)、SDK と OS のバージョンが編集されます。 クロステナントの参加者は、通話時に参加して共同作業するためにリソース テナントから招待された外部ユーザーに分類されます。
次の表は、各プロパティについての説明です。
プロパティ | 説明 |
---|---|
time |
このログが生成されたときのタイム スタンプ (UTC)。 |
operationName |
ログ レコードに関連付けられている操作。 |
operationVersion |
api-version 操作が API を介して実行された場合に、操作に関連付けられた operationName 値。 この操作に対応する API がない場合、操作に関連付けられているプロパティが将来変更された場合に備えて、バージョンは操作のバージョンを表します。 |
category |
イベントのログ カテゴリ。 このプロパティは、リソースのログを有効または無効にできる細分性です。 イベントの properties BLOB 内に表示されるプロパティは、ログ カテゴリとリソースの種類内で同じです。 |
correlationId |
通話の一意の ID。 これは、1 回の通話中に接続するすべての参加者とエンドポイントからの相関イベントを識別し、さまざまなログのデータを結合するために使用できます。 Microsoft に対しサポート ケースを開く場合、トラブルシューティングの対象となる通話を簡単に識別できるよう、correlationId 値を使用します。 |
identifier |
ユーザーの一意の ID。 この ID には、Azure Communication Services ユーザー、Microsoft Entra ユーザー ID、Teams 匿名ユーザー ID、Teams ボット ID が可能です。 この ID を使用すると、ログにわたってユーザー イベントを関連付けることができます。 |
callStartTime |
いずれかのエンドポイントからの最初の接続試行に基づく、通話開始のタイムスタンプ。 |
callDuration |
2 つのエンドポイント間の最初に試行された接続と最後の接続の終了に基づいた通話の期間 (秒単位で表されます)。 |
callType |
通話の種類。
"P2P" または "Group" のいずれかが含まれます。
"P2P" 通話は、2 つのサーバー以外のエンドポイントのみの間の 1 対 1 の直接接続です。
"Group" 通話は、2 つを超えるエンドポイントがある通話、または接続前に "Group" 通話として作成された通話です。 |
teamsThreadId |
Teams スレッド ID。 この ID は、通話が Teams 会議として開催されている場合にのみ関係します。 Microsoft Teams と Azure Communication Services 間の相互運用性のユース ケースを表します。 この ID は、操作ログで公開されます。 この ID は、Chat API を通じて取得することもできます。 |
participantId |
"Participant" エンドポイント (endpointType = "Server" ) とサーバーの間の双方向接続を表すために生成された ID。
callType
=
"P2P" の場合、2 つのエンドポイントの間に直接接続があり、participantId 値は生成されません。 |
participantStartTime |
参加者による最初の接続試行の開始を示すタイムスタンプ。 |
participantDuration |
participantStartTime から、接続が終了したときのタイムスタンプまでの、秒での各参加者の接続時間。 |
participantEndReason |
参加者の接続が終了した理由。 (適切な場合) 各 participantId に対し、SDK が出力する Calling SDK エラー コードが含まれます。 |
endpointId |
通話に接続されている各エンドポイントを表す一意の ID。エンドポイントの種類は endpointType によって定義されます。 この値が null の場合、接続されているエンティティは Communication Services サーバー (endpointType = "Server" ) になります。 endpointId 値は、ネイティブ クライアントの場合は、複数の通話 (correlationId ) にわたって同じユーザーに対して保持される場合があります。
endpointId 値の数によって、通話概要ログの数が決まります。 各 endpointId 値に、概要ログが個別に作成されます。 |
endpointType |
この値は、この通話に接続されている各エンドポイントのプロパティを表します。
"Server" 、"VOIP" 、"PSTN" 、"BOT" 、または "Unknown" を含むことができます。 |
sdkVersion |
関連する各エンドポイントで使用される Communication Services Calling SDK バージョンを示すバージョン文字列 (たとえば、"1.1.00.20212500" )。 |
osVersion |
各エンドポイント デバイスのオペレーティング システムとバージョンを表す文字列。 |
participantTenantId |
参加者の ID に関連付けられた Microsoft テナントの ID。 このテナントは、Azure Communication Services リソースを所有する Azure テナントか、または Microsoft 365 ID の Microsoft テナントのどちらかです。 このフィールドは、クロステナントの編集をガイドするために使用されます。 |
participantType |
そのクライアント (Azure Communication Services または Teams) とその ID (Azure Communication Services または Microsoft 365) の組み合わせとしての参加者の説明。 指定できる値には、Azure Communication Services (Azure Communication Services ID と Azure Communication Services SDK)、Teams (Teams ID と Teams クライアント)、Teams 外部ユーザーとしての Azure Communication Services (Teams 通話または会議での Azure Communication Services ID と Azure Communication Services SDK)、Microsoft 365 ユーザーとしての Azure Communication Services (Microsoft 365 ID と Azure Communication Services クライアント)、Teams Voice Apps が含まれます。 |
pstnParticipantCallType |
PSTN 参加者の種類と方向を表します。緊急通話、ダイレクト ルーティング、転送、着信転送などがあります。 |
ParticipantEndSubCode |
各 participantId 値に対して SDK で出力する (該当する場合) Calling SDK エラー サブコードを表します。 |
ResultCategory |
通話を終了する参加者のカテゴリを表します。 Success、ExpectedError、UnexpectedClientError、UnexpectedServerError の 4 つの値のいずれかを指定できます。 |
DiagnosticOptions |
この値を使用すると、開発者は、カスタム タグを自身のクライアント テレメトリにアタッチできます。これは [通話の診断] セクションで確認できます。 これにより、問題の特定とトラブルシューティングをより効果的に行うことができます。 この値にカスタム タグを追加する方法については、クライアント テレメトリにカスタム タグを追加するチュートリアルを参照してください |
callDebuggingInfo |
この値には、Microsoft のデバッグ目的で使用される呼び出しの内部プロパティを表すキーと値のペアを持つ json オブジェクトが含まれています。 |
TPE |
この値は、通話が Teams 電話機能拡張シナリオに関連付けられていることを示します。 |
エラー コード
participantEndReason
プロパティには、一連の Calling SDK エラー コードの値が含まれます。 これらのコードを参照して、通話中に検出された問題のトラブルシューティングをエンドポイントごとに行うことができます。
Calling SDK、Call Automation SDK、PSTN、Chat SDK、SMS SDK の通話終了応答コードのトラブルシューティングに関するページを参照してください。
さまざまな通話の種類のサンプル データ
注記
この記事では、P2P およびグループ通話は既定で同じテナント内にあります。 テナント間の通話シナリオはすべて、記事全体を通して適宜指定されています。
P2P 通話
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": "aaaa0000-bb11-2222-33cc-444444dddddd",
通話概要ログ
通話概要ログでは、操作とカテゴリの情報が共有されます。
"operationName": "CallSummary",
"operationVersion": "1.0",
"category": "CallSummary",
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"
}
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"
}
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"
}
PSTN 通話の通話概要を次に示します。
注記
P2P またはグループ通話ログでは、参加者のテナントかボットのテナントかに関係なく、OS と SDK バージョンの情報が伏せられます。
"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"
}
グループ通話
グループ通話のデータは、3 つの通話分析の概要ログと 6 つの通話診断ログに生成されます。 通話のすべてのログで共有されるフィールドを次に示します。
"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": "bbbb1111-cc22-3333-44dd-555555eeeeee",
通話概要ログ
通話概要ログでは、操作とカテゴリの情報が共有されます。
"operationName": "CallSummary",
"operationVersion": "1.0",
"category": "CallSummary",
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"
}
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"
}
PSTN エンドポイント 2 の通話概要を次に示します。
"properties": {
"identifier": "null",
"callStartTime": "2021-07-05T06:16:40.240Z",
"callDuration": 87,
"callType": "Group",
"teamsThreadId": "19:meeting_MjZiOTAyN2YtZWU1Yi00ZTZiLT77777OOOOO99999jgxOTkw@thread.v2",
"participantId": "515650f7-8204-4079-ac9d-d8f4bf07b04c",
"participantStartTime": "2021-07-05T06:17:10.447Z",
"participantDuration": "52",
"participantEndReason": "0",
"endpointId": "46387150-692a-47be-8c9d-1237efe6c48b",
"endpointType": "PSTN",
"sdkVersion": "null",
"osVersion": "null"
}
テナント間通話の概要ログは以下のとおりです。
"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"
}
ボットを参加者とするクロステナント通話の概要ログを次に示します。
"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"
}
よく寄せられる質問
ログの保存方法
次のセクションで、この要件について説明します。
Azure Communication Services のログは既定では Azure アカウントに格納されないため、音声とビデオの分析情報ダッシュボードや通話診断などのツールが機能するためには、それらの保存を始める必要があります。 これらの通話ログを収集するには、通話データを Log Analytics ワークスペースに転送する診断設定を有効にする必要があります。
さかのぼってデータを保存することはありません。診断設定を構成してからでなければ、通話ログのキャプチャは開始されません。
リソースの診断設定を追加する手順については、「Azure Monitor の診断設定でログを有効化する」に従ってください。 最初にすべてのログを収集することをお勧めします。 Azure Monitor の機能を理解したら、保持するログと期間を決定します。 診断設定を追加すると、ログを選択するように求められます。 すべてのログを収集するには、allLogs を選択します。
Azure Monitor 内の Log Analytics でのデータ ボリューム、保持期間、使用状況は、既存の Azure データ測定を通じて課金されます。 必要に応じて、コストに関する考慮事項について、データ使用状況と保持ポリシーを確認することをお勧めします。 詳細については、「コストの制御」を参照してください。
複数の Azure Communications Services リソース ID がある場合は、リソース ID ごとにこれらの設定を有効にする必要があります。
次のステップ
音声とビデオによるすべてのログの概要を確認します。「Azure Communication Services 通話ログの概要」をご覧ください
通話の品質と信頼性を管理するためのベスト プラクティスについては、「通話品質の向上と管理」を参照してください。
音声通話とビデオ通話のログを監視するための分析情報ダッシュボードについて学習します。
通話ログを使用して通話診断で通話の品質と信頼性の問題を診断する方法については、「通話診断」を参照してください。