Bagikan melalui


Pemecahan masalah di Azure Communication Services

Dokumen ini membantu Anda memecahkan masalah yang mungkin Anda alami dalam solusi Communication Services Anda. Jika anda memecahkan masalah SMS, anda dapat mengaktifkan pelaporan pengiriman dengan Event Grid untuk menangkap detail pengiriman SMS.

Mendapatkan bantuan

Kami mendorong pengembang untuk mengirimkan pertanyaan, menyarankan fitur, dan melaporkan masalah. Untuk informasi selengkapnya, lihat halaman opsi dukungan dan bantuan khusus.

Untuk membantu Anda memecahkan masalah tertentu, Anda mungkin memerlukan satu atau beberapa informasi berikut:

  • ID MS-CV: Memecahkan masalah panggilan dan pesan.
  • ID Panggilan: Identifikasi panggilan Communication Services.
  • ID pesan SMS: Identifikasi pesan SMS.
  • ID Singkat Program Kode Pendek: Identifikasi aplikasi singkat program kode pendek.
  • ID singkat kampanye verifikasi bebas telunjuk: Identifikasi aplikasi singkat kampanye verifikasi bebas telunjuk.
  • ID pesan email: Identifikasi permintaan Kirim Email.
  • ID Korelasi: Identifikasi permintaan yang dibuat menggunakan Automasi Panggilan.
  • Log panggilan: Berisi informasi terperinci dapat digunakan untuk memecahkan masalah panggilan dan jaringan.

Untuk informasi selengkapnya tentang pembatasan dan batasan, lihat Batas layanan.

Akses ID MS-CV Anda

Anda dapat mengakses ID MS-CV dengan mengonfigurasi diagnostik dalam clientOptions instans objek saat menginisialisasi SDK Anda. Anda dapat mengonfigurasi diagnostik untuk Azure SDK apa pun termasuk Obrolan, Identitas, dan panggilan VoIP.

Contoh opsi klien

Cuplikan kode berikut menunjukkan konfigurasi diagnostik. Saat Anda mengaktifkan diagnostik untuk SDK, detail diagnostik dapat dipancarkan ke pendengar peristiwa yang dikonfigurasi:

// 1. Import Azure.Core.Diagnostics
using Azure.Core.Diagnostics;

// 2. Initialize an event source listener instance
using var listener = AzureEventSourceListener.CreateConsoleLogger();
Uri endpoint = new Uri("https://<RESOURCE-NAME>.communication.azure.net");
var (token, communicationUser) = await GetCommunicationUserAndToken();
CommunicationUserCredential communicationUserCredential = new CommunicationUserCredential(token);

// 3. Setup diagnostic settings
var clientOptions = new ChatClientOptions()
{
    Diagnostics =
    {
        LoggedHeaderNames = { "*" },
        LoggedQueryParameters = { "*" },
        IsLoggingContentEnabled = true,
    }
};

// 4. Initialize the ChatClient instance with the clientOptions
ChatClient chatClient = new ChatClient(endpoint, communicationUserCredential, clientOptions);
ChatThreadClient chatThreadClient = await chatClient.CreateChatThreadAsync("Thread Topic", new[] { new ChatThreadMember(communicationUser) });

ID Akses yang diperlukan untuk Automasi Panggilan

Saat memecahkan masalah dengan SDK Automasi Panggilan, seperti manajemen panggilan atau masalah perekaman, Anda perlu mengumpulkan ID yang membantu mengidentifikasi panggilan atau operasi yang gagal. Anda dapat memberikan salah satu dari dua ID berikut.

  • Dari header respons API, temukan bidang X-Ms-Skype-Chain-Id.

    Cuplikan layar header respons memperlihatkan X-Ms-Skype-Chain-Id.

  • Dari peristiwa panggilan balik, aplikasi Anda menerima setelah menjalankan tindakan. Misalnya CallConnected atau PlayFailed, temukan correlationID.

    Cuplikan layar peristiwa panggilan terputus memperlihatkan ID korelasi.

Selain salah satu ID ini, Anda perlu memberikan detail tentang kasus penggunaan yang gagal dan tanda waktu ketika kegagalan terjadi.

Akses ID panggilan klien Anda

Saat memecahkan masalah panggilan suara atau video, Anda mungkin perlu menyediakan call ID. Akses nilai ini melalui id properti call objek:

// `call` is an instance of a call created by `callAgent.startCall` or `callAgent.join` methods
console.log(call.id)

Akses ID pesan SMS Anda

Untuk masalah SMS, Anda dapat mengambil ID pesan dari objek respons.

// Instantiate the SMS client
const smsClient = new SmsClient(connectionString);
async function main() {
  const result = await smsClient.send({
    from: "+18445792722",
    to: ["+1972xxxxxxx"],
    message: "Hello World 👋🏻 via Sms"
  }, {
    enableDeliveryReport: true // Optional parameter
  });
console.log(result); // your message ID is in the result
}

Akses ID singkat program kode pendek Anda

Temukan ID singkat program di portal Azure di bagian Kode Pendek.

Cuplikan layar memperlihatkan ID singkat program kode pendek.


Akses ID singkat kampanye verifikasi bebas telunjuk Anda

Temukan ID singkat program pada portal Azure di bagian Dokumen Peraturan.

Cuplikan layar memperlihatkan ID singkat kampanye verifikasi gratis telunjuk.


Mengakses ID operasi email Anda

Saat memecahkan masalah permintaan status kirim email atau pesan email, Anda mungkin perlu memberikan operation ID. Anda dapat mengakses nilai ini dalam respons:

var emailSendOperation = await emailClient.SendAsync(
    wait: WaitUntil.Completed,
    senderAddress: sender,
    recipientAddress: recipient,
    subject: subject,
    htmlContent: htmlContent);

/// Get the OperationId so that it can be used for tracking the message for troubleshooting
Console.WriteLine($"Email operation id = {emailSendOperation.Id}");

Mengakses File Dukungan di SDK Panggilan

Memanggil SDK menyediakan metode yang nyaman untuk mengakses File Log. File-file ini dapat berfungsi berharga untuk spesialis dan insinyur dukungan Microsoft. Kami menyarankan agar Anda mengumpulkan log ini saat mendeteksi masalah.

Mengaktifkan dan Mengakses Log Panggilan

[JavaScript]

SDK Panggilan Azure Communication Services bergantung secara internal pada pustaka @azure/pencatat untuk mengontrol pengelogan.

setLogLevel Gunakan metode dari @azure/logger paket untuk mengonfigurasi tingkat output log. Buat pencatat dan teruskan ke CallClient konstruktor sebagai berikut:

import { setLogLevel, createClientLogger, AzureLogger } from '@azure/logger';
setLogLevel('verbose');
let logger = createClientLogger('ACS');
const callClient = new CallClient({ logger });

Anda dapat menggunakan AzureLogger untuk mengalihkan output pengelogan dari Azure SDK dengan mengesampingkan AzureLogger.log metode :

Anda dapat masuk ke konsol browser, file, buffer, mengirim ke layanan kami sendiri, dan sebagainya. Jika Anda akan mengirim log melalui jaringan ke layanan Anda sendiri, jangan mengirim permintaan per baris log karena ini berdampak buruk pada performa browser. Sebagai gantinya, akumulasi baris log dan kirim dalam batch.

// Redirect log output
AzureLogger.log = (...args) => {
    // To console, file, buffer, REST API, etc...
    console.log(...args); 
};

SDK Asli (Android/iOS)

Untuk Android, iOS, dan Windows, Azure Communication Services Calling SDK menawarkan akses ke file log.

Untuk Memanggil SDK Asli, lihat tutorial Akses file log

Pustaka UI (Android, iOS)

Jika Anda menggunakan Pustaka UI Azure Communication Services untuk Android atau iOS, Anda dapat meminta umpan balik pengguna melalui formulir dukungan bawaan.

Untuk informasi selengkapnya tentang fungsi dukungan formulir Dukungan Antarmuka Pengguna Panggilan, lihat tutorial integrasi Formulir Dukungan. Dokumen ini memandu Anda menambahkan penanganan aktivitas yang diperlukan, dan membuat implementasi klien/server dasar untuk penyimpanan informasi dukungan terpusat. Panduan ini menjelaskan jalur untuk mengintegrasikan dengan layanan dukungan yang digunakan oleh organisasi Anda.

Membangun Alur Dukungan menyeluruh dalam Integrasi ACS Anda

Baik Anda menggunakan SDK Panggilan atau Memanggil UI SDK, memberikan dukungan kepada pelanggan Anda adalah komponen utama dari integrasi yang kuat. Dokumen berikut menyoroti pertimbangan utama di setiap titik perulangan umpan balik Dukungan, dan menyediakan titik lompat untuk mempelajari lebih lanjut.

Memberikan Dukungan Pengguna


Menemukan informasi Microsoft Entra

  • Mendapatkan ID Direktori
  • Mendapatkan ID Aplikasi
  • Mendapatkan ID Pengguna

Mendapatkan ID Direktori

Untuk menemukan ID Direktori (penyewa) Anda, ikuti langkah-langkah berikut:

  1. Navigasi ke portal Azure dan masuk ke portal Azure menggunakan kredensial.

  2. Dari panel kiri, pilih ID Microsoft Entra.

  3. Dari halaman Gambaran Umum di ID Microsoft Entra, salin ID Direktori (penyewa) dan simpan di kode aplikasi Anda.

    Cuplikan layar cara menyalin ID penyewa Microsoft Entra dan menyimpannya.

Mendapatkan ID Aplikasi

Untuk menemukan ID Aplikasi Anda, ikuti langkah-langkah berikut:

  1. Navigasi ke portal Azure dan masuk ke portal Azure menggunakan kredensial.

  2. Dari panel kiri, pilih ID Microsoft Entra.

  3. Dari Pendaftaran aplikasi di ID Microsoft Entra, pilih aplikasi Anda.

  4. Salin ID Aplikasi dan simpan di kode aplikasi Anda.

    Cuplikan layar cara menyalin ID aplikasi Microsoft Entra dan menyimpannya.

    ID direktori (penyewa) juga dapat ditemukan di halaman gambaran umum aplikasi.

Mendapatkan ID Pengguna

Untuk menemukan ID Pengguna Anda, ikuti langkah-langkah berikut:

  1. Navigasi ke portal Azure dan masuk ke portal Azure menggunakan kredensial.

  2. Dari panel kiri, pilih ID Microsoft Entra.

  3. Dari Pengguna di ID Microsoft Entra, pilih pengguna Anda.

  4. Dari halaman Profil di pengguna Microsoft Entra, salin ID Objek dan simpan di kode aplikasi Anda.

    Cuplikan layar cara menyalin ID pengguna Microsoft Entra dan menyimpannya.

Mendapatkan ID sumber daya yang tidak dapat diubah

Terkadang Anda juga perlu memberikan ID sumber daya yang tidak dapat diubah dari sumber daya Communication Service Anda. Untuk menemukannya, ikuti langkah-langkah berikut:

  1. Navigasi ke portal Azure dan masuk ke portal Azure menggunakan kredensial.
  2. Buka sumber daya Communication Service Anda.
  3. Dari panel kiri, pilih Gambaran Umum, dan beralih ke tampilan JSONCuplikan layar cara mengalihkan gambaran umum Sumber Daya Komunikasi ke tampilan JSON.
  4. Dari halaman Resource JSON , salin immutableResourceId nilai, dan berikan ke tim dukungan Anda. Cuplikan layar Resource JSON.

Verifikasi kelayakan lisensi Teams untuk menggunakan dukungan Azure Communication Services untuk pengguna Teams

Ada dua cara untuk memverifikasi kelayakan Lisensi Teams Anda untuk menggunakan dukungan Azure Communication Services untuk pengguna Teams:

  • Verifikasi melalui klien web Teams
  • Memeriksa lisensi Teams Anda saat ini melalui Microsoft Graph API

Verifikasi melalui klien web Teams

Untuk memverifikasi kelayakan Lisensi Teams Anda melalui klien web Teams, ikuti langkah-langkah berikut:

  1. Buka browser Anda dan navigasi ke klien web Teams.
  2. Masuk dengan kredensial yang memiliki lisensi Teams yang valid.
  3. Jika autentikasi berhasil dan Anda tetap berada https://teams.microsoft.com/ di domain, maka Lisensi Teams Anda memenuhi syarat. Jika autentikasi gagal atau Anda dialihkan ke https://teams.live.com/v2/ domain, maka Lisensi Teams Anda tidak memenuhi syarat untuk menggunakan dukungan Azure Communication Services untuk pengguna Teams.

Memeriksa lisensi Teams Anda saat ini melalui Microsoft Graph API

Anda dapat menemukan lisensi Teams Anda saat ini menggunakan licenseDetails Microsoft Graph API yang mengembalikan lisensi yang ditetapkan untuk pengguna. Ikuti langkah-langkah ini untuk menggunakan alat Graph Explorer untuk melihat lisensi yang ditetapkan kepada pengguna:

  1. Buka browser Anda dan navigasi ke Graph Explorer

  2. Masuk ke Graph Explorer menggunakan kredensial. Cuplikan layar cara masuk ke Graph Explorer.

  3. Dalam kotak kueri, masukkan API berikut dan klik Jalankan Kueri :

    https://graph.microsoft.com/v1.0/me/licenseDetails
    

    Cuplikan layar cara memasukkan API di Graph Explorer.

    Atau Anda dapat mengkueri pengguna tertentu dengan memberikan ID pengguna menggunakan API berikut:

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. Panel Pratinjau respons menampilkan output sebagai berikut:

    Objek respons yang ditunjukkan di sini mungkin dipersingkat untuk kemudahan pembacaan.

    {
        "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('071cc716-8147-4397-a5ba-b2105951cc0b')/assignedLicenses",
        "value": [
            {
                "skuId": "b05e124f-c7cc-45a0-a6aa-8cf78c946968",
                "servicePlans":[
                    {
                        "servicePlanId":"57ff2da0-773e-42df-b2af-ffb7a2317929",
                        "servicePlanName":"TEAMS1",
                        "provisioningStatus":"Success",
                        "appliesTo":"User"
                    }
                ]
            }
        ]
    }
    
  5. Temukan detail lisensi di mana properti servicePlanName memiliki salah satu nilai dalam tabel Lisensi Teams yang Memenuhi Syarat