Log Perekaman Panggilan Azure Communication Services

Azure Communication Services menawarkan kemampuan pengelogan yang dapat Anda gunakan untuk memantau dan men-debug solusi Communication Services Anda. Anda mengonfigurasi kemampuan ini melalui portal Azure.

Konten dalam artikel ini mengacu pada log yang diaktifkan melalui Azure Monitor (lihat juga FAQ). Untuk mengaktifkan log ini untuk Communication Services, lihat Mengaktifkan pengelogan di pengaturan diagnostik.

Kategori log sumber daya

Communication Services menawarkan jenis log berikut yang dapat Anda aktifkan:

  • Log penggunaan: Berikan data penggunaan yang terkait dengan setiap penawaran layanan yang ditagih.
  • Log ringkasan Rekaman Panggilan: Berikan informasi ringkasan untuk rekaman panggilan, seperti:
    • Durasi panggilan.
    • Konten media (misalnya, audio/video, unmixed, atau transkripsi).
    • Jenis format yang digunakan untuk perekaman (misalnya, WAV atau MP4).
    • Alasan mengapa rekaman berakhir.
  • Merekam log operasi masuk: Berikan informasi tentang permintaan masuk untuk operasi Perekaman Panggilan. Setiap entri sesuai dengan hasil panggilan ke API Rekaman Panggilan, seperti StartRecording, StopRecording, PauseRecording, dan ResumeRecording.

File rekaman dihasilkan di akhir panggilan atau rapat. Pengguna atau aplikasi (bot) dapat memulai dan menghentikan perekaman. Perekaman juga dapat berakhir karena kegagalan sistem.

Log ringkasan diterbitkan setelah rekaman siap diunduh. Log diterbitkan dalam waktu latensi standar untuk log sumber daya Azure Monitor. Lihat Waktu penyerapan data log di Azure Monitor.

Skema log penggunaan

Properti Deskripsi
timestamp Tanda waktu (UTC) saat log dihasilkan.
operationName Operasi yang dikaitkan dengan catatan log.
operationVersion Nilai api-version yang terkait dengan operasi, jika operationName operasi dilakukan melalui API. Jika tidak ada API yang sesuai dengan operasi ini, versi mewakili versi operasi, jika properti yang terkait dengan perubahan operasi di masa mendatang.
category Kategori log kejadian. Kategorinya adalah granularitas di mana Anda dapat mengaktifkan atau menonaktifkan log pada sumber daya. Properti yang muncul dalam properties blob peristiwa sama dalam kategori log dan jenis sumber daya.
correlationID ID untuk kejadian berkorelasi. Anda dapat menggunakannya untuk mengidentifikasi peristiwa yang berkorelasi antara beberapa tabel.
Properties Data lain yang berlaku untuk berbagai mode Communication Services.
recordID ID unik untuk rekaman penggunaan.
usageType Mode penggunaan (misalnya, Obrolan, PSTN, atau NAT).
unitType Jenis unit yang digunakan didasarkan pada mode penggunaan (misalnya, menit, megabyte, atau pesan).
quantity Jumlah unit yang digunakan atau dikonsumsi untuk rekaman ini.

Skema log ringkasan Rekaman Panggilan

Nama properti Jenis data Deskripsi
timeGenerated WaktuTanggal Stempel waktu (UTC) saat log dihasilkan.
operationName String Operasi yang terkait dengan catatan log.
correlationId String ID yang digunakan untuk menghubungkan peristiwa antar tabel.
recordingID String ID untuk rekaman yang dirujuk log ini.
category String Kategori log kejadian. Log dengan kategori log dan jenis sumber daya yang sama memiliki bidang properti yang sama.
resultType String Status operasi.
level String Tingkat keparahan operasi.
chunkCount Bilangan bulat Jumlah total gugus yang dibuat untuk perekaman.
channelType String Jenis saluran rekaman, seperti campuran atau tidak terkompak.
recordingStartTime WaktuTanggal Waktu perekaman dimulai.
contentType String Konten rekaman, seperti audio saja, audio/video, atau transkripsi.
formatType String Format file rekaman.
recordingLength Laju Durasi perekaman dalam hitungan detik.
audioChannelsCount Bilangan bulat Jumlah total saluran audio dalam rekaman.
recordingEndReason String Alasan mengapa rekaman berakhir.

Perekaman Panggilan dan data contoh

"operationName":            "Call Recording Summary",
"operationVersion":         "1.0",
"category":                 "RecordingSummary",

Panggilan dapat memiliki satu rekaman atau banyak rekaman, tergantung pada berapa kali peristiwa perekaman dipicu.

Misalnya, jika agen memulai panggilan keluar pada baris yang direkam dan panggilan turun karena sinyal jaringan yang buruk, callID akan memiliki satu recordingID nilai. Jika agen memanggil kembali pelanggan, sistem menghasilkan instans baru callID dan nilai baru recordingID .

Contoh: Perekaman Panggilan untuk satu panggilan ke satu rekaman

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

Jika agen memulai perekaman lalu menghentikan dan memulai ulang perekaman beberapa kali saat panggilan masih aktif, callID akan memiliki banyak recordingID nilai. Jumlah nilai tergantung pada berapa kali peristiwa perekaman dipicu.

Contoh: Perekaman Panggilan untuk satu panggilan ke banyak rekaman


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

Log ACSCallRecordingIncomingOperations

Berikut adalah propertinya:

Properti Deskripsi
timeGenerated Stempel waktu (UTC) saat log dihasilkan.
callConnectionId ID koneksi atau kaki panggilan, jika tersedia.
callerIpAddress Alamat IP penelepon, jika operasi sesuai dengan panggilan API yang berasal dari entitas dengan alamat IP yang tersedia untuk umum.
correlationId ID untuk kejadian berkorelasi. Anda dapat menggunakannya untuk mengidentifikasi peristiwa yang berkorelasi antara beberapa tabel.
durationMs Durasi operasi, dalam milidetik.
level Tingkat keparahan operasi.
operationName Operasi yang terkait dengan rekaman log.
operationVersion Versi API yang terkait dengan operasi atau versi operasi (jika tidak ada versi API).
resourceId Pengidentifikasi unik untuk sumber daya yang terkait dengan rekaman.
resultSignature Substatus operasi. Jika operasi ini sesuai dengan panggilan REST API, bidang ini adalah kode status HTTP dari panggilan REST yang sesuai.
resultType Status operasi.
sdkType Jenis SDK yang digunakan dalam permintaan.
sdkVersion Versi SDK.
serverCallId ID panggilan server.
URI URI permintaan.

Berikut contohnya:

"properties"
{  "TimeGenerated": "2023-05-09T15:58:30.100Z",
    "Level": "Informational",
    "CorrelationId": "a999f996-b4e1-xxxx-ac04-a59test87d97",
    "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"
}

Langkah berikutnya

  • Mendapatkan wawasan Rekaman Panggilan.
  • Pelajari selengkapnya tentang Perekaman Panggilan.