Dzienniki rejestrowania połączeń usług Azure Communication Services
Usługi Azure Communication Services oferują funkcje rejestrowania, których można użyć do monitorowania i debugowania rozwiązania usług Komunikacyjnych. Te możliwości można skonfigurować za pośrednictwem witryny Azure Portal.
Zawartość tego artykułu dotyczy dzienników włączonych za pośrednictwem usługi Azure Monitor (zobacz też często zadawane pytania). Aby włączyć te dzienniki dla usług komunikacyjnych, zobacz Włączanie rejestrowania w ustawieniach diagnostycznych.
Kategorie dzienników zasobów
Usługi komunikacyjne oferują następujące typy dzienników, które można włączyć:
- Dzienniki użycia: podaj dane użycia skojarzone z każdą ofertą rozliczanej usługi.
- Dzienniki podsumowania nagrywania połączeń: podaj podsumowanie informacji dotyczących nagrań połączeń, takich jak:
- Czas trwania połączenia.
- Zawartość multimediów (na przykład audio/wideo, nieprzemieszana lub transkrypcja).
- Typy formatów używane do nagrywania (na przykład WAV lub MP4).
- Powód, dla którego nagranie zakończyło się.
- Rejestrowanie dzienników operacji przychodzących: podaj informacje o żądaniach przychodzących dla operacji nagrywania połączeń. Każdy wpis odpowiada wynikowi wywołania interfejsów API nagrywania wywołań, takich jak StartRecording, StopRecording, PauseRecording i ResumeRecording.
Plik nagrywania jest generowany na końcu rozmowy lub spotkania. Użytkownik lub aplikacja (bot) może uruchomić i zatrzymać nagrywanie. Nagranie może również zakończyć się z powodu awarii systemu.
Dzienniki podsumowania są publikowane po zakończeniu pobierania nagrania. Dzienniki są publikowane w standardowym czasie opóźnienia dla dzienników zasobów usługi Azure Monitor. Zobacz Czas pozyskiwania danych dziennika w usłudze Azure Monitor.
Schemat dziennika użycia
Właściwości | opis |
---|---|
timestamp |
Sygnatura czasowa (UTC) czasu wygenerowania 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 dziennika zdarzenia. Kategoria to stopień szczegółowości, w którym można włączać lub wyłączać dzienniki w zasobie. Właściwości wyświetlane w properties obiekcie blob zdarzenia są takie same w kategorii dziennika i typie zasobu. |
correlationID |
Identyfikator skorelowanych zdarzeń. Służy do identyfikowania skorelowanych zdarzeń między wieloma tabelami. |
Properties |
Inne dane, które mają zastosowanie do różnych trybów usług komunikacyjnych. |
recordID |
Unikatowy identyfikator rekordu użycia. |
usageType |
Tryb użycia (na przykład Czat, PSTN lub NAT). |
unitType |
Typ jednostki, która jest opierać się na trybie użycia (na przykład minutach, megabajtach lub komunikatach). |
quantity |
Liczba jednostek używanych lub używanych dla tego rekordu. |
Schemat dziennika podsumowania rejestrowania wywołań
Nazwa właściwości | Typ danych | opis |
---|---|---|
timeGenerated |
DateTime | Sygnatura czasowa (UTC) czasu wygenerowania dziennika. |
operationName |
String | Operacja skojarzona z rekordem dziennika. |
correlationId |
String | Identyfikator używany do korelowania zdarzeń między tabelami. |
recordingID |
String | Identyfikator nagrania, do którego odnosi się ten dziennik. |
category |
String | Kategoria dziennika zdarzenia. Dzienniki z tą samą kategorią dziennika i typem zasobu mają te same pola właściwości. |
resultType |
String | Stan operacji. |
level |
String | Poziom ważności operacji. |
chunkCount |
Integer | Całkowita liczba fragmentów utworzonych dla nagrania. |
channelType |
String | Typ kanału nagrania, taki jak mieszany lub nieskonseksowany. |
recordingStartTime |
DateTime | Czas rozpoczęcia nagrywania. |
contentType |
String | Zawartość nagrania, taka jak tylko dźwięk, audio/wideo lub transkrypcja. |
formatType |
String | Format pliku nagrania. |
recordingLength |
Liczba rzeczywista | Czas trwania nagrania w sekundach. |
audioChannelsCount |
Integer | Całkowita liczba kanałów audio w nagraniu. |
recordingEndReason |
String | Powód, dla którego nagranie zakończyło się. |
Rejestrowanie wywołań i przykładowe dane
"operationName": "Call Recording Summary",
"operationVersion": "1.0",
"category": "RecordingSummary",
Wywołanie może mieć jedno nagranie lub wiele nagrań, w zależności od tego, ile razy jest wyzwalane zdarzenie nagrywania.
Jeśli na przykład agent uruchamia wywołanie wychodzące w zarejestrowanej linii, a wywołanie spadnie z powodu słabego sygnału sieciowego, callID
będzie mieć jedną recordingID
wartość. Jeśli agent wywołuje klienta, system generuje nowe callID
wystąpienie i nową recordingID
wartość.
Przykład: wywoływanie nagrywania dla jednego wywołania do jednego nagrania
"properties"
{
"TimeGenerated":"2022-08-17T23:18:26.4332392Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "zzzzzz-cada-4164-be10-0000000000",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuZHBvaW5xxxxxxxxFmNjkwxxxxxxxxxxxxSZXNvdXJjZVNwZWNpZmljSWQiOiJiZGU5YzE3Ni05M2Q3LTRkMWYtYmYwNS0yMTMwZTRiNWNlOTgifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-16T09:07:54.0000000Z",
"RecordingLength": "73872.94",
"ChunkCount": 6,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
Jeśli agent uruchomi nagranie, a następnie zatrzyma i ponownie uruchomi nagranie wielokrotnie, gdy wywołanie jest nadal włączone, callID
będzie miało wiele recordingID
wartości. Liczba wartości zależy od tego, ile razy zdarzenia rejestrowania zostały wyzwolone.
Przykład: Wywoływanie nagrywania dla jednego połączenia z wieloma nagraniami
{
"TimeGenerated": "2022-08-17T23:55:46.6304762Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "xxxxxxx-cf78-4156-zzzz-0000000fa29cc",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuZHBxxxxxxxxxxxxjkwMC05MmEwLTRlZDYtOTcxYS1kYzZlZTkzNjU0NzciLCJSxxxxxNwZWNpZmljSWQiOiI5ZmY2ZTY2Ny04YmQyLTQ0NzAtYmRkYy00ZTVhMmUwYmNmOTYifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-17T23:55:43.3304762Z",
"RecordingLength": 3.34,
"ChunkCount": 1,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
{
"TimeGenerated": "2022-08-17T23:55:56.7664976Z",
"OperationName": "RecordingSummary",
"Category": "CallRecordingSummary",
"CorrelationId": "xxxxxxx-cf78-4156-zzzz-0000000fa29cc",
"ResultType": "Succeeded",
"Level": "Informational",
"RecordingId": "eyJQbGF0Zm9ybUVuxxxxxxiOiI4NDFmNjkwMC1mMjBiLTQzNmQtYTg0Mi1hODY2YzE4M2Y0YTEiLCJSZXNvdXJjZVNwZWNpZmljSWQiOiI2YzRlZDI4NC0wOGQ1LTQxNjEtOTExMy1jYWIxNTc3YjM1ODYifQ",
"RecordingEndReason": "CallEnded",
"RecordingStartTime": "2022-08-17T23:55:54.0664976Z",
"RecordingLength": 2.7,
"ChunkCount": 1,
"ContentType": "Audio - Video",
"ChannelType": "mixed",
"FormatType": "mp4",
"AudioChannelsCount": 1
}
Dzienniki ACSCallRecordingIncomingOperations
Oto właściwości:
Właściwości | opis |
---|---|
timeGenerated |
Sygnatura czasowa (UTC) czasu wygenerowania dziennika. |
callConnectionId |
Identyfikator połączenia połączenia lub nogi, jeśli jest dostępny. |
callerIpAddress |
Adres IP obiektu wywołującego, jeśli operacja odpowiada wywołaniu interfejsu API pochodzącemu z jednostki z publicznie dostępnym adresem IP. |
correlationId |
Identyfikator skorelowanych zdarzeń. Służy do identyfikowania skorelowanych zdarzeń między wieloma tabelami. |
durationMs |
Czas trwania operacji w milisekundach. |
level |
Poziom ważności operacji. |
operationName |
Operacja skojarzona z rekordami dziennika. |
operationVersion |
Wersja interfejsu API skojarzona z operacją lub wersją operacji (jeśli nie ma wersji interfejsu API). |
resourceId |
Unikatowy identyfikator zasobu, z którego jest skojarzony rekord. |
resultSignature |
Podstatu operacji. Jeśli ta operacja odpowiada wywołaniu interfejsu API REST, to pole jest kodem stanu HTTP odpowiedniego wywołania REST. |
resultType |
Stan operacji. |
sdkType |
Typ zestawu SDK używany w żądaniu. |
sdkVersion |
Wersja zestawu SDK. |
serverCallId |
Identyfikator wywołania serwera. |
URI |
Identyfikator URI żądania. |
Oto przykład:
"properties"
{ "TimeGenerated": "2023-05-09T15:58:30.100Z",
"Level": "Informational",
"CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"OperationName": "ResumeCallRecording",
"OperationVersion": "2023-03-06",
"URI": "https://acsresouce.communication.azure.com/calling/recordings/ eyJQbGF0Zm9ybUVuZHBviI0MjFmMTIwMC04MjhiLTRmZGItOTZjYi0...:resume?api-version=2023-03-06",
"ResultType": "Succeeded",
"ResultSignature": 202,
"DurationMs": 130,
"CallerIpAddress": "127.0.0.1",
"CallConnectionId": "d5596715-ab0b-test-8eee-575c250e4234",
"ServerCallId": "aHR0cHM6Ly9hcGk0vjCCCCCCQd2pRP2k9OTMmZT02Mzc5OTQ3xMDAzNDUwMzg...",
"SdkVersion": "1.0.0-alpha.20220829.1",
"SdkType": "dotnet"
}
Następne kroki
- Uzyskaj szczegółowe informacje dotyczące rejestrowania połączeń.
- Dowiedz się więcej o nagrywaniu połączeń.