Udostępnij przez


Schemat dziennika podsumowania wywołań

Dziennik podsumowania wywołań zawiera dane ułatwiające zidentyfikowanie kluczowych właściwości wszystkich wywołań. W wywołaniu jest tworzony participantId inny dziennik podsumowania wywołań (lub endpointId dla wywołań komunikacji równorzędnej [P2P].

Dla każdego uczestnika podczas połączenia, usługi Communication Services tworzą odrębny dziennik podsumowujący połączenia. Jeśli ktoś ponownie dołączy do połączenia, uczestnik ma tę samą EndpointId wartość, ale inną ParticipantId wartość. Ten punkt końcowy może mieć dwa dzienniki podsumowania wywołań.

Jak używać dzienników wywołań

Zalecamy zebranie wszystkich dostępnych dzienników wywołań w zasobie analizy dzienników, aby można było monitorować użycie połączeń i poprawić jakość połączeń oraz otrzymywać nowe dzienniki z usług Azure Communication Services podczas ich wydawania.

Istnieją dwa główne narzędzia, których można użyć do monitorowania połączeń i poprawy jakości połączeń.

Zalecamy korzystanie z pulpitów nawigacyjnych do analizy głosu i wideo, aby rozpocząć badania jakościowe, i korzystać z diagnostyki połączeń w razie potrzeby, aby eksplorować poszczególne połączenia, gdy potrzebujesz szczegółowych danych.

Pojęcia dotyczące danych

Ważne

Jeśli chcesz je analizować, musisz zebrać dzienniki. Aby dowiedzieć się więcej, zobacz: Jak przechowywać dzienniki?

Platforma Azure nie przechowuje danych dziennika połączeń, chyba że włączysz te określone ustawienia diagnostyczne. Dane połączeń nie są dostępne w sposób retrospektywny. Dane są gromadzone po utworzeniu ustawień diagnostycznych.

Definicje danych

Schemat dziennika podsumowania wywołań

Ważne

Informacje o uczestnikach w dzienniku podsumowania wywołań różnią się w zależności od dzierżawcy uczestnika. Wersja zestawu SDK i wersja systemu operacyjnego są ujęte, jeśli uczestnik nie należy do tej samej dzierżawy (nazywanej również między dzierżawami) co zasób usług komunikacyjnych. Uczestnicy międzydzierżawowi są klasyfikowani jako użytkownicy zewnętrzni zaproszeni przez dzierżawcę zasobów do dołączenia i współpracy podczas rozmowy.

W tej tabeli opisano każdą właściwość.

Właściwości opis
time Sygnatura czasowa (UTC) podczas generowania dziennika.
operationName Operacja skojarzona z rekordem dziennika.
operationVersion api-version Wartość skojarzona z operacją, jeśli operationName operacja została wykonana za pośrednictwem interfejsu API. Jeśli żaden interfejs API nie odpowiada tej operacji, wersja reprezentuje wersję operacji, na wypadek gdyby właściwości skojarzone z operacją zmieniły się w przyszłości.
category Kategoria rejestru zdarzenia. Ta właściwość to stopień szczegółowości, w którym można włączać lub wyłączać dzienniki w zasobie. Właściwości zawarte w obiekcie blob properties zdarzenia są takie same w kategorii dziennika i typie zasobu.
correlationId Unikatowy identyfikator połączenia. Identyfikuje skorelowane zdarzenia ze wszystkich uczestników i punktów końcowych, które łączą się podczas jednego wywołania, i można ich użyć do łączenia danych z różnych dzienników. Jeśli kiedykolwiek musisz otworzyć zgłoszenie do pomocy technicznej w firmie Microsoft, możesz użyć correlationId wartości , aby łatwo zidentyfikować połączenie, które rozwiązujesz.
identifier Unikatowy identyfikator użytkownika. Tożsamość może być użytkownikiem usług Azure Communication Services, identyfikatorem użytkownika Usługi Microsoft Entra, identyfikatorem użytkownika anonimowego usługi Teams lub identyfikatorem bota usługi Teams. Tego identyfikatora można użyć do korelowania zdarzeń użytkownika w dziennikach.
callStartTime Znacznik czasowy rozpoczęcia połączenia na podstawie pierwszej próby połączenia z dowolnego punktu końcowego.
callDuration Czas trwania połączenia, wyrażony w sekundach, jest określony na podstawie pierwszej próby połączenia i zakończenia ostatniego połączenia między dwoma punktami końcowymi.
callType Typ wywołania. Zawiera wartość "P2P" lub "Group". Wywołanie "P2P" jest bezpośrednim połączeniem 1:1 między tylko dwoma punktami końcowymi nieserwerowymi. Połączenie "Group" to połączenie, które ma więcej niż dwa punkty końcowe lub jest tworzone jako "Group" przed ustanowieniem połączenia.
teamsThreadId Identyfikator wątku Teams. Ten identyfikator jest istotny tylko wtedy, gdy rozmowa jest zorganizowana jako spotkanie w Teams. Następnie reprezentuje przypadek użycia współdziałania między usługami Microsoft Teams i Azure Communication Services.

Ten identyfikator jest uwidaczniony w dziennikach operacyjnych. Możesz również uzyskać ten identyfikator za pośrednictwem czatowych interfejsów API.
participantId Identyfikator wygenerowany do reprezentowania dwukierunkowego "Participant" połączenia między punktem końcowym (endpointType = "Server") i serwerem. Gdy callType = "P2P" występuje bezpośrednie połączenie między dwoma punktami końcowymi, nie jest generowana żadna wartość participantId.
participantStartTime Sygnatura czasowa dla początku pierwszej próby połączenia uczestnika.
participantDuration Czas trwania każdego połączenia uczestnika w sekundach, od sygnatury czasowej participantStartTime do momentu zakończenia połączenia.
participantEndReason Przyczyna zakończenia połączenia uczestnika. Zawiera on kody błędów wywoływania zestawu SDK, które zestaw SDK emituje (jeśli jest to istotne) dla każdej participantId wartości.
endpointId Unikatowy identyfikator reprezentujący każdy punkt końcowy połączony z wywołaniem, w którym endpointType definiuje typ punktu końcowego. Gdy wartość to null, połączona jednostka jest serwerem usług komunikacyjnych (endpointType = "Server").

Wartość endpointId może czasami utrzymywać się dla tego samego użytkownika pomiędzy wieloma wywołaniami (correlationId) w przypadku klientów natywnych. Liczba wartości endpointId określa liczbę logów podsumowania połączeń. Dla każdej endpointId wartości jest tworzony odrębny dziennik podsumowania.
endpointType Ta wartość opisuje właściwości każdego punktu końcowego połączonego z wywołaniem. Może zawierać "Server", "VOIP", "PSTN", "BOT" lub "Unknown".
sdkVersion Ciąg wersji zestawu SDK wywoływania usług komunikacyjnych używanego przez każdy odpowiedni punkt końcowy (na przykład "1.1.00.20212500").
osVersion Ciąg reprezentujący system operacyjny i wersję każdego urządzenia punktu końcowego.
participantTenantId Identyfikator dzierżawcy Microsoftu powiązany z tożsamością uczestnika. Klientem może być dzierżawca platformy Azure, do którego należy zasób usługi Azure Communication Services, lub użytkownik platformy Microsoft jako tożsamość w Microsoft 365. To pole służy do kierowania redakcją między dzierżawcami.
participantType Opis uczestnika jako połączenie klienta (Azure Communication Services lub Teams) oraz jego tożsamości (Azure Communication Services lub Microsoft 365). Możliwe wartości obejmują: Azure Communication Services (tożsamość usług Azure Communication Services i zestaw SDK usług Azure Communication Services), Teams (tożsamość usługi Teams i klient usługi Teams), Azure Communication Services jako zewnętrzny użytkownik Teams (tożsamość usług Azure Communication Services i zestaw SDK usług Azure Communication Services w połączeniu lub spotkaniu Teams), Azure Communication Services jako użytkownik Microsoft 365 (tożsamość Microsoft 365 i klient usług Azure Communication Services), oraz Teams Voice Apps.
pstnParticipantCallType Reprezentuje typ i kierunek uczestników PSTN, w tym połączenia awaryjne, routing bezpośredni, transfer, przekazywanie itd.
ParticipantEndSubCode Reprezentuje podkodowanie błędu wywoływania zestawu SDK, który zestaw SDK emituje (jeśli jest to istotne) dla każdej participantId wartości.
ResultCategory Reprezentuje kategorię uczestnika kończącego rozmowę. Może to być jedna z następujących czterech wartości: Success, ExpectedError, UnexpectedClientError, UnexpectedServerError.
DiagnosticOptions Ta wartość umożliwia deweloperom dołączanie tagów niestandardowych do telemetrii klienta, które następnie można wyświetlić w sekcji Diagnostyka wywołań. Pomaga to w bardziej efektywnym identyfikowaniu i rozwiązywaniu problemów. Aby dowiedzieć się, jak dodać tagi niestandardowe do tej wartości, zobacz Samouczek dotyczący dodawania tagów niestandardowych do telemetrii klienta
callDebuggingInfo Ta wartość zawiera obiekt json z parami klucz-wartość, które reprezentują wewnętrzne właściwości wywołania używanego do celów debugowania firmy Microsoft.
TPE Ta wartość wskazuje, że połączenie jest skojarzone ze scenariuszem rozszerzalności telefonu Teams.

Kody błędów

Właściwość participantEndReason zawiera wartość z zestawu kodów błędów Calling SDK. Możesz odwołać się do tych kodów, aby rozwiązać problemy wykryte podczas wywołania dla każdego punktu końcowego. Zobacz Rozwiązywanie problemów z kodami odpowiedzi zakończenia wywołań dla zestawu SDK wywoływania, zestawu SDK Call Automation, PSTN, zestawu SDK czatu i zestawu SDK SMS.

Przykładowe dane dla różnych typów wywołań

Uwaga

W tym artykule połączenia P2P i połączenia grupowe znajdują się domyślnie w tej samej dzierżawie. Wszystkie scenariusze wywołań, które są między dzierżawami, są odpowiednio określane w całym artykule.

Połączenie P2P

Poniżej przedstawiono pola udostępnione dla wszystkich dzienników w wywołaniu 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",

Dzienniki podsumowania rozmów

Wywołaj operację udostępniania dzienników podsumowania i informacje o kategorii:

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

Oto podsumowanie wywołań dla użytkownika 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"
}

Oto podsumowanie wywołań dla użytkownika 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"
}

Oto podsumowanie wywołań między dzierżawcami dla użytkownika 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"
}

Oto podsumowanie rozmowy PSTN:

Uwaga

Dzienniki wywołań P2P lub grup mają zredagowane wersje systemu operacyjnego i zestawu SDK, niezależnie od tego, czy jest to dzierżawca uczestnika, czy dzierżawca bota.

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

Rozmowy grupowe

Dane dla rozmowy grupowej są generowane w trzech dziennikach podsumowania wywołań i sześciu dziennikach diagnostyki wywołań. Oto wspólne pola dla wszystkich logów w wywołaniu:

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

Dzienniki podsumowania rozmów

Wywołaj operację udostępniania dzienników podsumowania i informacje o kategorii:

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

Oto podsumowanie wywołań dla punktu końcowego 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"
}

Oto podsumowanie wywołań dla punktu końcowego 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"
}

Oto podsumowanie wywołań dla punktu końcowego 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"
}

Oto log podsumowujący wywołań między najemcami:

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

Oto dziennik podsumowania wywołań między dzierżawami z botem jako uczestnikiem:


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

Często zadawane pytania

Jak mogę przechowywać dzienniki?

W poniższej sekcji opisano to wymaganie.

Dzienniki usług Azure Communication Services nie są domyślnie przechowywane na koncie platformy Azure, więc musisz rozpocząć ich przechowywanie, aby umożliwić działanie narzędzi takich jak pulpit nawigacyjny analizy głosowej i wideo oraz diagnostyka połączeń. Aby zebrać te dzienniki wywołań, należy włączyć ustawienie diagnostyczne kierujące dane wywołania do obszaru roboczego usługi Log Analytics.

Dane nie są przechowywane wstecznie, więc można rozpocząć przechwytywanie dzienników wywołań dopiero po skonfigurowaniu ustawienia diagnostycznego.

Postępuj zgodnie z instrukcjami, aby dodać ustawienia diagnostyczne zasobu w obszarze Włączanie dzienników za pomocą ustawień diagnostycznych w usłudze Azure Monitor. Zalecamy, aby początkowo zbierać wszystkie dzienniki. Po zapoznaniu się z możliwościami w usłudze Azure Monitor określ, które dzienniki chcesz zachować i jak długo. Po dodaniu ustawienia diagnostycznego zostanie wyświetlony monit o wybranie dzienników. Aby zebrać wszystkie dzienniki, wybierz pozycję wszystkieLogi.

Ilość danych, przechowywanie i użycie w Log Analytics w usłudze Azure Monitor są rozliczane za pośrednictwem istniejących mierników danych Azure. Zalecamy monitorowanie zasad użycia i przechowywania danych w celu uwzględnienia kosztów zgodnie z potrzebami. Aby uzyskać więcej informacji, zobacz Kontrolowanie kosztów.

Jeśli masz wiele identyfikatorów zasobów usług Azure Communications Services, musisz włączyć te ustawienia dla każdego identyfikatora zasobu.

Następne kroki

  • Zapoznaj się z omówieniem wszystkich dzienników połączeń głosowych i wideo, zobacz : Omówienie dzienników wywołań usług Azure Communication Services

  • Poznaj najlepsze rozwiązania dotyczące zarządzania jakością i niezawodnością połączeń, zobacz : Ulepszanie jakości połączeń i zarządzanie nimi

  • Dowiedz się więcej na temat pulpitu nawigacyjnego do monitorowania dzienników połączeń głosowych i wideo.

  • Dowiedz się, jak używać dzienników wywołań do diagnozowania problemów z jakością i niezawodnością wywołań w diagnostyce połączeń, zobacz: Call Diagnostics (Diagnostyka połączeń)