Dela via


Felsökning i Azure Communication Services

Det här dokumentet hjälper dig att felsöka problem som kan uppstå i kommunikationstjänstens lösning. Om du felsöker SMS kan du aktivera leveransrapportering med 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 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: Innehåller detaljerad information som kan användas 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 kan diagnostikinformation skickas 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) });

Åtkomst-ID som krävs för samtalsautomatisering

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 samtalet eller åtgärden. Du kan ange något av följande två ID:er.

  • Leta upp fältet X-Ms-Skype-Chain-Idi api-svarets rubrik.

    Skärmbild av svarsrubriken som visar X-Ms-Skype-Chain-ID.

  • Från motringningshändelserna tar programmet emot när en åtgärd har körts. Leta till exempel CallConnected PlayFailedupp correlationID.

    Skärmbild av frånkopplad händelse som visar korrelations-ID.

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 -egenskapen för call objektet:

// `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 på Azure-portalen i avsnittet Korta koder.

Skärmbild som visar ett kort kodprogram med kort ID.


Få åtkomst till ditt avgiftsfria verifieringskampanjens korta ID

Hitta programmets korta ID på Azure-portalen 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 statusbegäranden för skicka e-post eller e-postmeddelanden kan du behöva ange en operation 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}");

Åtkomst till supportfiler i anropande SDK

Anropande SDK tillhandahåller praktiska metoder för åtkomst till loggfilerna. Dessa filer kan vara värdefulla för Microsofts supportspecialister och tekniker. Vi rekommenderar att du samlar in loggarna när du upptäcker ett problem.

Aktivera och få åtkomst till 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 enligt följande:

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, buffert, skicka till vår egen tjänst och så vidare. Om du ska skicka loggar via nätverket till din egen tjänst ska du inte skicka en begäran per loggrad eftersom detta 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älvstudierna för åtkomst till loggfiler

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. Det här dokumentet vägleder dig genom att lägga till den nödvändiga händelsehanteraren och skapa en grundläggande klient-/serverimplementering för centraliserad lagring av supportinformation. Den här guiden beskriver vägen för att integrera med de supporttjänster som används av din organisation.

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

Oavsett om du använder Calling SDK eller Calling UI SDK är support till dina kunder en viktig komponent i en robust integrering. I följande dokument beskrivs de viktigaste övervägandena vid varje punkt i feedbackslingan för support och ger hopppunkter för att lära dig mer.

Tillhandahålla användarsupport


Hitta Microsoft Entra-information

  • Hämta katalog-ID
  • Hämta program-ID
  • Hämta användar-ID

Hämta katalog-ID

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

  1. Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.

  2. I den vänstra rutan väljer du Microsoft Entra-ID.

  3. Från översiktssidan i Microsoft Entra-ID kopierar du katalog-ID:t (klientorganisation) och lagrar det i programkoden.

    Skärmbild av hur du kopierar Microsoft Entra-klient-ID och lagrar det.

Hämta program-ID

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

  1. Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.

  2. I den vänstra rutan väljer du Microsoft Entra-ID.

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

  4. Kopiera Program-ID:t och lagra det i din programkod.

    Skärmbild av hur du kopierar Microsoft Entra-program-ID och lagrar det.

    Katalog-ID:t (klientorganisation) finns också på programöversiktssidan.

Hämta användar-ID

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

  1. Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.

  2. I den vänstra rutan väljer du Microsoft Entra-ID.

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

  4. Från profilsidan i Microsoft Entra-användare kopierar du objekt-ID :t och lagrar det i programkoden.

    Skärmbild av hur du kopierar Microsoft Entra-användar-ID och lagrar det.

Hämta oföränderligt resurs-ID

Ibland måste du också ange oföränderligt resurs-ID för din kommunikationstjänstresurs. Följ dessa steg för att hitta den:

  1. Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.
  2. Öppna kommunikationstjänstens resurs.
  3. I det vänstra fönstret väljer du Översikt och växlar till en JSON-vySkärmbild av hur du växlar översikt över kommunikationsresurser till en JSON-vy.
  4. sidan Resurs-JSON kopierar du immutableResourceId värdet och anger det till supportteamet. Skärmbild av Resurs-JSON.

Verifiering av Teams-licensberättigande för 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:

  • Verifiering via Teams webbklient
  • Kontrollera din aktuella Teams-licens via Microsoft Graph API

Verifiering 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 som returnerar de licenser som tilldelats en användare. Följ dessa steg för att använda Graph Explorer-verktyget för att visa licenser som tilldelats till en användare:

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

  2. Logga in på Graph Explorer med autentiseringsuppgifterna. Skärmbild av hur du loggar in på Graph Explorer.

  3. I frågerutan anger du följande API och klickar på Kör fråga :

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

    Skärmbild av hur du anger API i Graph Explorer.

    Eller så kan du 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 på följande sätt:

    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