Dela via


Felsökning i Azure Communication Services

Den här artikeln hjälper dig att felsöka problem som kan uppstå i din Azure Communication Services-lösning. Om du felsöker SMS kan du aktivera leveransrapportering med Azure Event Grid för att samla in information om SMS-leverans.

Få hjälp

Vi uppmuntrar utvecklare att skicka frågor, föreslå funktioner och rapportera problem som problem. Mer information finns på sidan med dedikerade support- och hjälpalternativ.

För att hjälpa dig att felsöka vissa problem kan du behöva en eller flera av följande uppgifter:

  • MS-CV-ID: Felsöka samtal och meddelanden.
  • Samtals-ID: Identifiera Azure Communication Services-anrop.
  • SMS-meddelande-ID: Identifiera SMS-meddelanden.
  • Kort kod program kort ID: Identifiera ett kort kodprogram kort program kort program.
  • Kort ID för en avgiftsfri verifieringskampanj: Identifiera ett kort program för en avgiftsfri verifieringskampanj.
  • E-postmeddelande-ID: Identifiera Skicka e-postbegäranden .
  • Korrelations-ID: Identifiera begäranden som görs med hjälp av samtalsautomation.
  • Samtalsloggar: Använd detaljerad information för att felsöka samtals- och nätverksproblem.

Mer information om begränsningar och begränsningar finns i Tjänstbegränsningar.

Få åtkomst till ditt MS-CV-ID

Du kan komma åt MS-CV-ID:t genom att konfigurera diagnostik i objektinstansen clientOptions när du initierar dina SDK:er. Du kan konfigurera diagnostik för alla Azure SDK:er, inklusive chatt-, identitets- och VoIP-samtal.

Exempel på klientalternativ

Följande kodfragment visar diagnostikkonfiguration. När du aktiverar diagnostik för SDK:er genereras diagnostikinformation till den konfigurerade händelselyssnaren.

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

Använda åtkomst-ID:t för Samtalsautomation

När du felsöker problem med Call Automation SDK, till exempel samtalshantering eller inspelningsproblem, måste du samla in de ID:er som hjälper dig att identifiera det misslyckade anropet eller åtgärden. Du kan ange något av följande två ID:er:

  • Från rubriken för API-svaret. Leta upp fältet X-Ms-Skype-Chain-Id.

    Skärmbild som visar svarshuvudet med X-Ms-Skype-Chain-ID.

  • Från de motringningshändelser som ditt program tar emot när en åtgärd har körts. Använd till exempel CallConnected eller PlayFailed för att hitta korrelations-ID:t.

    Skärmbild som visar en frånkopplad anropshändelse med korrelations-ID:t.

Förutom ett av dessa ID:er måste du ange information om det misslyckade användningsfallet och tidsstämpeln när felet inträffade.

Få åtkomst till ditt klientanrops-ID

När du felsöker röst- eller videosamtal kan du behöva ange en call ID. Få åtkomst till det här värdet via id objektets call egenskap.

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

Få åtkomst till ditt SMS-meddelande-ID

För SMS-problem kan du samla in meddelande-ID:t från svarsobjektet.

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

Få åtkomst till ditt korta kodprograms korta ID

Hitta programmets korta ID i Azure Portal i avsnittet Korta koder.

Skärmbild som visar ett kort kodprograms korta ID.


Få åtkomst till ditt avgiftsfria verifieringskampanjens korta ID

Hitta programmets korta ID i Azure Portal i avsnittet Regeldokument.

Skärmbild som visar ett kort ID för en avgiftsfri verifieringskampanj.


Få åtkomst till ditt e-poståtgärds-ID

När du felsöker begäranden om e-postsändningsstatus eller status för e-postmeddelanden kan du behöva ange ett åtgärds-ID. Du kan komma åt det här värdet i svaret.

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

Få åtkomst till supportfiler i anropande SDK

Anropande SDK innehåller praktiska metoder för att komma åt loggfilerna. Dessa filer kan hjälpa Microsofts supportspecialister och tekniker. Vi rekommenderar att du samlar in loggarna när du upptäcker ett problem.

Aktivera och komma åt samtalsloggar

Lär dig hur du aktiverar och kommer åt samtalsloggar.

JavaScript

Azure Communication Services Calling SDK förlitar sig internt på @azure-/loggningsbiblioteket för att styra loggning.

setLogLevel Använd metoden från @azure/logger paketet för att konfigurera loggutdatanivån. Skapa en logger och skicka den till CallClient konstruktorn.

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

Du kan använda AzureLogger för att omdirigera loggningsutdata från Azure SDK:er genom att AzureLogger.log åsidosätta metoden.

Du kan logga in på webbläsarkonsolen, en fil eller en buffert. Du kan också skicka till din egen tjänst. Om du ska skicka loggar via nätverket till din egen tjänst ska du inte skicka en begäran per loggrad eftersom den här metoden påverkar webbläsarens prestanda negativt. Ackumulera i stället loggrader och skicka dem i batchar.

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

Intern SDK (Android/iOS)

För Android, iOS och Windows erbjuder Azure Communication Services Calling SDK åtkomst till loggfiler.

Information om att anropa interna SDK:er finns i självstudien för åtkomst till loggfilen.

Användargränssnittsbibliotek (Android, iOS)

Om du använder Användargränssnittsbibliotek för Azure Communication Services för Android eller iOS kan du begära användarfeedback via det inbyggda supportformuläret.

Mer information om supportfunktionerna i supportformuläret för samtalsgränssnitt finns i självstudien om integrering av supportformulär. Den här artikeln visar hur du lägger till den nödvändiga händelsehanteraren och skapar en grundläggande klient-/serverimplementering för centraliserad lagring av supportinformation. I den här artikeln beskrivs hur du integrerar med de supporttjänster som din organisation använder.

Skapa supportflöden från slutpunkt till slutpunkt i dina ACS-integreringar

Oavsett om du använder SDK för samtal eller SDK för samtalsgränssnittet är det en viktig komponent i en robust integrering att ge support till dina kunder.

Artikeln Ge användarstöd belyser de viktigaste övervägandena vid varje punkt i supportfeedback-loopen och ger hopppunkter för att lära dig mer.


Hitta Microsoft Entra-information

Använd följande procedurer för att hitta Microsoft Entra-information.

Hämta ett katalog-ID

Följ dessa steg för att hitta ditt katalog-ID (klientorganisation):

  1. Logga in på Azure-portalen.

  2. På tjänstmenyn väljer du Microsoft Entra-ID.

  3. På sidan Översikt i Microsoft Entra-ID kopierar du katalog-ID :t (klient-ID) och lagrar det i programkoden.

    Skärmbild som visar hur du kopierar Klient-ID:t för Microsoft Entra och lagrar det.

Hämta ett program-ID

Följ dessa steg för att hitta ditt program-ID:

  1. Logga in på Azure-portalen.

  2. På tjänstmenyn väljer du Microsoft Entra-ID.

  3. Välj ditt program från Appregistreringar i Microsoft Entra-ID.

  4. Kopiera program-ID:t (klient) och lagra det i programkoden.

    Skärmbild som visar hur du kopierar Microsoft Entra-program-ID:t och lagrar det.

    Du kan också hitta katalog-ID:t (klientorganisation) på programöversiktssidan.

Hämta ett användar-ID

Följ dessa steg för att hitta ditt användar-ID:

  1. Logga in på Azure-portalen.

  2. På tjänstmenyn väljer du Microsoft Entra-ID.

  3. Välj din användare från Användare i Microsoft Entra-ID.

  4. På sidan Profil för Microsoft Entra-användare kopierar du objekt-ID:t och lagrar det i programkoden.

    Skärmbild som visar hur du kopierar Microsoft Entra-användar-ID:t och lagrar det.

Hämta ett oföränderligt resurs-ID

Ibland behöver du också ange det oföränderliga resurs-ID:t för din Azure Communication Services-resurs. Följ dessa steg för att hitta den:

  1. Logga in på Azure-portalen.

  2. Öppna din Azure Communication Services-resurs.

  3. På tjänstmenyn väljer du Översikt och växlar till en JSON-vy.

    Skärmbild som visar hur du växlar en Azure Communication Services-resursöversikt till en JSON-vy.

  4. På sidan Resurs-JSON kopierar du immutableResourceId värdet och anger det till supportteamet.

    Skärmbild som visar sidan Resurs-JSON.

Verifiera att Teams-licensen är berättigad att använda Azure Communication Services-stöd för Teams-användare

Det finns två sätt att verifiera din Teams-licensberättigande för att använda Azure Communication Services-stöd för Teams-användare.

Verifiera via Teams webbklient

Följ dessa steg för att verifiera din Teams-licensberättigande via Teams-webbklient:

  1. Öppna webbläsaren och gå till Teams webbklient.
  2. Logga in med autentiseringsuppgifter som har en giltig Teams-licens.
  3. Om autentiseringen lyckas och du är kvar i domänen https://teams.microsoft.com/ är din Teams-licens berättigad. Om autentiseringen misslyckas eller om du omdirigeras till domänen https://teams.live.com/v2/ är din Teams-licens inte berättigad att använda Azure Communication Services-stöd för Teams-användare.

Kontrollera din aktuella Teams-licens via Microsoft Graph API

Du hittar din aktuella Teams-licens med hjälp av licenseDetails. Microsoft Graph-API:et returnerar de licenser som tilldelats till en användare. Följ dessa steg för att använda Graph Explorer-verktyget för att visa licenser som tilldelats en användare.

  1. Öppna webbläsaren och gå till Graph Explorer.

  2. Logga in på Graph Explorer med hjälp av autentiseringsuppgifter.

    Skärmbild som visar hur du loggar in på Graph Explorer.

  3. I frågerutan anger du följande API och väljer Kör fråga.

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

    Skärmbild som visar hur du anger ett API i Graph Explorer.

    Du kan också fråga efter en viss användare genom att ange användar-ID:t med hjälp av följande API:

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. I förhandsgranskningsfönstret Svar visas utdata.

    Svarsobjektet som visas här kan förkortas för läsbarhet.

    {
        "@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. Hitta licensinformation där egenskapen servicePlanName har ett av värdena i tabellen Berättigade Teams-licenser.