Azure İletişim Hizmetleri'de sorun giderme

Bu belge, İletişim Hizmetleri çözümünüzde karşılaşabileceğiniz sorunları gidermenize yardımcı olur. SMS sorunlarını gideriyorsanız, SMS teslim ayrıntılarını yakalamak için Event Grid ile teslim bildirimini etkinleştirebilirsiniz.

Yardım alma

Geliştiricilerin soru göndermesini, özellik önermesini ve sorunları sorun olarak bildirmesini öneririz. Daha fazla bilgi için ayrılmış destek ve yardım seçenekleri sayfasına bakın.

Bazı sorunları gidermenize yardımcı olması için aşağıdaki bilgi parçalarından birine veya daha fazlasına ihtiyacınız olabilir:

  • MS-CV Kimliği: Arama ve ileti sorunlarını giderme.
  • Arama Kimliği: İletişim Hizmetleri çağrılarını tanımlama.
  • SMS ileti kimliği: SMS iletilerini tanımlama.
  • Kısa Kod Programı Kısa Kimliği: Kısa bir kod programı kısa uygulamasını belirleyin.
  • Ücretsiz doğrulama kampanyası kısa kimliği: Ücretsiz doğrulama kampanyası kısa uygulamasını belirleyin.
  • E-posta iletisi kimliği: E-posta Gönder isteklerini belirleyin.
  • Bağıntı Kimliği: Çağrı Otomasyonu kullanılarak yapılan istekleri tanımlayın.
  • Arama günlükleri: Arama ve ağ sorunlarını gidermek için ayrıntılı bilgiler kullanılabilir.

Azaltma ve sınırlamalar hakkında daha fazla bilgi için bkz . Hizmet sınırları.

MS-CV kimliğinize erişme

SDK'larınızı başlatırken nesne örneğinde clientOptions tanılamaları yapılandırarak MS-CV kimliğine erişebilirsiniz. Sohbet, Kimlik ve VoIP çağrısı dahil olmak üzere tüm Azure SDK'ları için tanılama yapılandırabilirsiniz.

İstemci seçenekleri örneği

Aşağıdaki kod parçacıkları tanılama yapılandırmasını gösterir. SDK'lar için tanılamayı etkinleştirdiğinizde, yapılandırılan olay dinleyicisine tanılama ayrıntıları yayılabilir:

// 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) });

Çağrı Otomasyonu için gereken erişim kimlikleri

Çağrı Yönetimi veya kayıt sorunları gibi Çağrı Otomasyonu SDK'sıyla ilgili sorunları giderirken, başarısız aramayı veya işlemi tanımlamaya yardımcı olan kimlikleri toplamanız gerekir. Aşağıdaki iki kimliklerden birini sağlayabilirsiniz.

  • API yanıtının üst bilgisinden alanını X-Ms-Skype-Chain-Idbulun.

    X-Ms-Skype-Chain-Id'yi gösteren yanıt üst bilgisinin ekran görüntüsü.

  • Geri çağırma olaylarından, uygulamanız bir eylem yürüttkten sonra alır. Örneğin CallConnected veya PlayFailed, bağıntı kimliğini bulun.

    Bağıntı kimliğini gösteren çağrı bağlantısı kesildi olayının ekran görüntüsü.

Bu kimliklerden birine ek olarak, başarısız kullanım örneği ve hatanın oluştuğu zaman damgası hakkında ayrıntılar sağlamanız gerekir.

İstemci arama kimliğinize erişme

Sesli veya görüntülü arama sorunlarını giderirken bir call IDsağlamanız gerekebilir. Nesnenin id özelliği aracılığıyla bu değere erişin call :

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

SMS ileti kimliğinize erişme

SMS sorunları için, yanıt nesnesinden ileti kimliğini toplayabilirsiniz.

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

Kısa kod programı kısa kimliğinize erişme

Kısa Kodlar bölümünde Azure portalında programın kısa kimliğini bulun.

Kısa kod programı kısa kimliğini gösteren ekran görüntüsü.


Ücretsiz doğrulama kampanyası kısa kimliğinize erişin

Mevzuat Belgeleri bölümünde Azure portalında programın kısa kimliğini bulun.

Ücretsiz doğrulama kampanyası kısa kimliğini gösteren ekran görüntüsü.


E-posta işlem kimliğinize erişme

E-posta veya e-posta iletisi gönderme durum istekleriyle ilgili sorunları giderirken, bir operation IDsağlamanız gerekebilir. Yanıtta bu değere erişebilirsiniz:

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

Arama SDK'sında Destek Dosyalarına Erişme

SDK'nın çağrılması, Günlük Dosyalarına erişmek için kullanışlı yöntemler sağlar. Bu dosyalar Microsoft destek uzmanlarına ve mühendislerine değerli hizmet verebilir. Bir sorun algıladığınızda bu günlükleri toplamanızı öneririz.

Arama Günlüklerini Etkinleştirme ve Günlüklere Erişme

[JavaScript]

Azure İletişim Hizmetleri Çağırma SDK'sı, günlüğe kaydetmeyi denetlemek için dahili olarak @azure/günlükçü kitaplığına dayanır.

setLogLevel Günlük çıkış düzeyini yapılandırmak için paketten yöntemini @azure/logger kullanın. Bir günlükçü oluşturun ve oluşturucuya CallClient şu şekilde geçirin:

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

Yöntemini geçersiz kılarak Azure SDK'larından günlük çıkışını yeniden yönlendirmek için AzureLogger'ı AzureLogger.log kullanabilirsiniz:

Tarayıcı konsolunda, dosyada, arabellekte oturum açabilir, kendi hizmetimize gönderebilir vb. Ağ üzerinden kendi hizmetinize günlük gönderecekseniz, tarayıcı performansını olumsuz etkilediğinden günlük satırı başına istek göndermeyin. Bunun yerine, günlük satırlarını biriktirin ve toplu olarak gönderin.

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

Yerel SDK (Android/iOS)

Android, iOS ve Windows için Azure İletişim Hizmetleri Arama SDK'sı günlük dosyalarına erişim sağlar.

Yerel SDK'ları Çağırmak için bkz . Günlük dosyası erişim öğreticileri

UI Kitaplıkları (Android, iOS)

Android veya iOS için Azure İletişim Hizmetleri KULLANıCı Arabirimi Kitaplıklarını kullanıyorsanız, yerleşik destek formu aracılığıyla kullanıcı geri bildiriminde bulunabilirsiniz.

Arama Kullanıcı Arabirimi Desteği formunun destek işlevleri hakkında daha fazla bilgi için Destek Formu tümleştirme öğreticisine bakın. Bu belge, gerekli olay işleyicisini ekleme ve destek bilgilerinin merkezi olarak depolanması için temel bir istemci/sunucu uygulaması oluşturma konusunda size yol gösterir. Bu kılavuzda, kuruluşunuz tarafından kullanılan destek hizmetleriyle tümleştirme yolu açıklanmaktadır.

ACS Tümleştirmelerinizde uçtan uca Destek Akışları oluşturma

İster Arama SDK'sı ister Kullanıcı Arabirimi SDK'sı kullanıyor olun, müşterilerinize destek sağlamak tüm güçlü tümleştirmelerin temel bileşenlerindendir. Aşağıdaki belge, Destek geri bildirim döngüsünün her noktasında dikkat edilmesi gereken önemli noktaları vurgular ve daha fazla bilgi edinmek için nokta atlama sağlar.

Kullanıcı Desteği Sağlama


Microsoft Entra bilgilerini bulma

  • Dizin Kimliği Alınıyor
  • Uygulama Kimliği Alınıyor
  • Kullanıcı Kimliği Alınıyor

Dizin Kimliği Alınıyor

Dizin (kiracı) kimliğinizi bulmak için şu adımları izleyin:

  1. Azure portalına gidin ve kimlik bilgilerini kullanarak Azure portalında oturum açın.

  2. Sol bölmeden Microsoft Entra Id'yi seçin.

  3. Microsoft Entra Id'deki Genel Bakış sayfasından Dizin (kiracı) kimliğini kopyalayın ve uygulama kodunuzda depolayın.

    Microsoft Entra kiracı kimliğini kopyalama ve depolama ekran görüntüsü.

Uygulama Kimliği Alınıyor

Uygulama Kimliğinizi bulmak için şu adımları izleyin:

  1. Azure portalına gidin ve kimlik bilgilerini kullanarak Azure portalında oturum açın.

  2. Sol bölmeden Microsoft Entra Id'yi seçin.

  3. Microsoft Entra Id'deki Uygulama kayıtları uygulamanızı seçin.

  4. Uygulama kimliği'ni kopyalayın ve bunu uygulama kodunuzda depolayın.

    Microsoft Entra uygulama kimliğini kopyalama ve depolama ekran görüntüsü.

    Dizin (kiracı) kimliği, uygulamaya genel bakış sayfasında da bulunabilir.

Kullanıcı Kimliği Alınıyor

Kullanıcı Kimliğinizi bulmak için şu adımları izleyin:

  1. Azure portalına gidin ve kimlik bilgilerini kullanarak Azure portalında oturum açın.

  2. Sol bölmeden Microsoft Entra Id'yi seçin.

  3. Microsoft Entra Id'deki Kullanıcılar'dan kullanıcınızı seçin.

  4. Microsoft Entra kullanıcılarının Profil sayfasından Nesne Kimliğini kopyalayın ve uygulama kodunuzda depolayın.

    Microsoft Entra kullanıcı kimliğini kopyalama ve depolama ekran görüntüsü.

Sabit kaynak kimliği alınıyor

Bazen İletişim Hizmeti kaynağınızın sabit kaynak kimliğini de sağlamanız gerekir. Bulmak için şu adımları izleyin:

  1. Azure portalına gidin ve kimlik bilgilerini kullanarak Azure portalında oturum açın.
  2. İletişim Hizmeti kaynağınızı açın.
  3. Sol bölmeden Genel Bakış'ı seçin ve JSON görünümüne geçinİletişim Kaynağına genel bakış'ı JSON görünümüne geçirmenin ekran görüntüsü.
  4. Kaynak JSON sayfasından immutableResourceId değeri kopyalayın ve destek ekibinize sağlayın. Kaynak JSON'un ekran görüntüsü.

Teams kullanıcıları için Azure İletişim Hizmetleri desteği kullanmaya yönelik Teams lisansı uygunluğunun doğrulanması

Teams kullanıcıları için Azure İletişim Hizmetleri desteği kullanmak için Teams Lisansınızın uygunluğunu doğrulamanın iki yolu vardır:

  • Teams web istemcisi aracılığıyla doğrulama
  • Microsoft Graph API aracılığıyla geçerli Teams lisansınızı denetleme

Teams web istemcisi aracılığıyla doğrulama

Teams web istemcisi aracılığıyla Teams Lisansı uygunluğunuzu doğrulamak için şu adımları izleyin:

  1. Tarayıcınızı açın ve Teams web istemcisine gidin.
  2. Geçerli bir Teams lisansına sahip kimlik bilgileriyle oturum açın.
  3. Kimlik doğrulaması başarılı olursa ve etki alanında kalırsanız https://teams.microsoft.com/ Teams Lisansınız uygun olur. Kimlik doğrulaması başarısız olursa veya etki alanına yeniden yönlendirilirseniz https://teams.live.com/v2/ Teams Lisansınız Teams kullanıcıları için Azure İletişim Hizmetleri desteği kullanmaya uygun değildir.

Microsoft Graph API aracılığıyla geçerli Teams lisansınızı denetleme

Bir kullanıcıya atanan lisansları döndüren licenseDetails Microsoft Graph API'sini kullanarak geçerli Teams lisansınızı bulabilirsiniz. Bir kullanıcıya atanan lisansları görüntülemek için Graph Explorer aracını kullanmak için şu adımları izleyin:

  1. Tarayıcınızı açın ve Graph Explorer'a gidin

  2. Kimlik bilgilerini kullanarak Graph Explorer'da oturum açın. Graph Explorer'da oturum açma ekran görüntüsü.

  3. Sorgu kutusuna aşağıdaki API'yi girin ve Sorguyu Çalıştır'a tıklayın:

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

    Graph Explorer'da API girme ekran görüntüsü.

    Veya aşağıdaki API'yi kullanarak kullanıcı kimliğini sağlayarak belirli bir kullanıcıyı sorgulayabilirsiniz:

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. Yanıt önizleme bölmesinde çıkış şu şekilde görüntülenir:

    Burada gösterilen yanıt nesnesi okunabilirlik için kısaltılmış olabilir.

    {
        "@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. Özelliğin servicePlanName Uygun Teams Lisansları tablosundaki değerlerden birine sahip olduğu lisans ayrıntılarını bulma