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. För att få hjälp med att få hjälp har vi en dedikerad sida med support- och hjälpalternativ som visar dina alternativ för support.

För att hjälpa dig att felsöka vissa typer av problem kan du bli ombedd att ange någon av följande uppgifter:

  • MS-CV-ID: Det här ID:t används för att felsöka samtal och meddelanden.
  • Samtals-ID: Det här ID:t används för att identifiera Communication Services-anrop.
  • SMS-meddelande-ID: Det här ID:t används för att identifiera SMS.
  • Kort kodprograms brief-ID: Det här ID:t används för att identifiera ett kort program för kort kodprogram.
  • Kort ID för en avgiftsfri verifieringskampanj: Det här ID:t används för att identifiera ett avgiftsfritt program för verifieringskampanjer.
  • E-postmeddelande-ID: Det här ID:t används för att identifiera skicka e-postbegäranden.
  • Korrelations-ID: Det här ID:t används för att identifiera begäranden som görs med hjälp av Samtalsautomation.
  • Samtalsloggar: Dessa loggar innehåller detaljerad information som kan användas för att felsöka samtals- och nätverksproblem.

Ta också en titt på vår dokumentation om tjänstbegränsningar för mer information om begränsningar och begränsningar.

Få åtkomst till ditt MS-CV-ID

MS-CV-ID:t kan nås genom att konfigurera diagnostik i objektinstansen clientOptions när du initierar dina SDK:er. Diagnostik kan konfigureras för någon av Azure SDK:erna, inklusive chatt-, identitets- och VoIP-samtal.

Exempel på klientalternativ

Följande kodfragment visar diagnostikkonfiguration. När SDK:erna används med diagnostik aktiverad 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 SDK:t för samtalsautomatisering, 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 de två ID:t som nämns här.

  • 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 som ditt program tar emot efter att ha kört en åtgärd. Leta till exempel CallConnectedPlayFailedupp correlationID.

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

Förutom ett av dessa ID:er anger du information om det misslyckade användningsfallet och tidsstämpeln för när felet observerades.

Få åtkomst till ditt klientanrops-ID

När du felsöker röst- eller videosamtal kan du bli ombedd att ange en call ID. Det här värdet kan nås 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

Programmets korta ID finns på Azure-portalenbladet Korta koder.

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


Få åtkomst till ditt avgiftsfria verifieringskampanjens korta ID

Programmets korta ID finns på Azure-portalen på bladet 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 bli ombedd att ange en operation ID. Det här värdet kan nås 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 att få åtkomst till loggfilerna. Dessa filer kan vara värdefulla för Microsofts supportspecialister och tekniker. Vi rekommenderar att du samlar in loggarna aktivt när problem identifieras.

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:

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 osv. 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. 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 loggfilens åtkomst

Användargränssnittsbibliotek (Android, iOS)

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

Mer information om hur du använder 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 är utformad för att vägleda dig på vägen mot en integrering 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 Calling SDK eller Calling UI SDK är support till slutanvändare 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:

    Observera att 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

Anropa SDK-felkoder

Azure Communication Services Calling SDK använder följande felkoder för att felsöka samtalsproblem. Dessa felkoder exponeras via egenskapen call.callEndReason när ett anrop har avslutats.

Felkod beskrivning Åtgärd att vidta
403 Förbjudet/autentiseringsfel. Kontrollera att din Communication Services-token är giltig och inte har upphört att gälla.
404 Det går inte att hitta samtalet. Kontrollera att numret du anropar (eller anropar du ansluter) finns.
408 Tidsgränsen för samtalsstyrenheten överst. Tidsgränsen för samtalskontrollanten var att vänta på protokollmeddelanden från användarslutpunkter. Se till att klienterna är anslutna och tillgängliga.
410 Fel i lokal mediestack eller medieinfrastruktur. Se till att du använder den senaste SDK:en i en miljö som stöds.
430 Det går inte att leverera meddelandet till klientprogrammet. Kontrollera att klientprogrammet körs och är tillgängligt.
480 Fjärrklientslutpunkten är inte registrerad. Kontrollera att fjärrslutpunkten är tillgänglig.
481 Det gick inte att hantera inkommande samtal. Skicka en supportbegäran via Azure-portalen.
487 Samtalet avbröts, nekades lokalt, avslutades på grund av ett problem med slutpunktens matchningsfel eller misslyckades med att generera medieerbjudandet. Förväntat beteende.
490, 491, 496, 497, 498 Problem med lokalt slutpunktsnätverk. Kontrollera nätverket.
500, 503, 504 Infrastrukturfel för Communication Services. Skicka en supportbegäran via Azure-portalen.
603 Samtal globalt nekat av deltagare i fjärrkommunikationstjänster Förväntat beteende.

Anropa Automation SDK-felkoder

Felkoderna nedan visas av Call Automation SDK.

Felkod beskrivning Åtgärder du kan vidta
400 Felaktig begäran Indatabegäran är ogiltig. Titta på felmeddelandet för att avgöra vilka indata som är felaktiga.
400 Uppspelningen misslyckades Kontrollera att ljudfilen är WAV, 16KHz, Mono och se till att fil-URL:en är offentligt tillgänglig.
400 Det gick inte att identifiera Kontrollera felmeddelandet. Meddelandet visar om det här felet beror på att tidsgränsen uppnåddes eller om åtgärden avbröts. Mer information om felkoderna och meddelandena finns i vår guide för att samla in användarindata.
401 Behörighet saknas HMAC-autentiseringen misslyckades. Kontrollera om anslutningssträng som används för att skapa CallAutomationClient är korrekt.
403 Ej tillåtet Begäran är förbjuden. Kontrollera att du har åtkomst till den resurs som du försöker komma åt.
404 Det går inte att hitta resursen Samtalet du försöker agera på finns inte. Du kan till exempel överföra ett anrop som redan har kopplats från.
429 för många begäranden Försök igen efter en fördröjning som föreslås i återförsök efter-huvudet och sedan exponentiellt backoff.
500 Internt serverfel. Försök igen efter en fördröjning. Om den kvarstår skapar du ett supportärende.
500 Uppspelningen misslyckades Skicka en supportbegäran via Azure-portalen.
500 Det gick inte att identifiera Kontrollera felmeddelandet och bekräfta att ljudfilformatet är giltigt (WAV, 16KHz, Mono), om filformatet är giltigt skickar du en supportbegäran via Azure-portalen.
502 Felaktig gateway Försök igen efter en fördröjning med en ny http-klient.

Tänk på tipsen nedan när du felsöker vissa problem.

  • Programmet får inte händelsen IncomingCall Event Grid: Kontrollera att programslutpunkten har verifierats med Event Grid när händelseprenumerationen skapades. Etableringsstatusen för händelseprenumerationen markeras som slutförd om valideringen lyckades.
  • Får felet "Fältet CallbackUri är ogiltigt": Samtalsautomation stöder inte HTTP-slutpunkter. Kontrollera att url:en för återanrop som du anger stöder HTTPS.
  • PlayAudio-åtgärden spelar inte upp något: För närvarande stöds endast Wave-filformat (.wav) för ljudfiler. Ljudinnehållet i vågfilen måste vara mono (enkanalig), 16-bitarsexempel med en samplingshastighet på 16 000 (16 KHz).
  • Åtgärder på PSTN-slutpunkter fungerar inte: CreateCall, Transfer, AddParticipant och Redirect till telefonnummer kräver att du anger SourceCallerId i åtgärdsbegäran. Om du inte använder direktdirigering ska källuppringarens ID vara ett telefonnummer som ägs av din Communication Services-resurs för att åtgärden ska lyckas.

Mer information om kända problem som spåras av produktteamet finns i den här artikeln.

Chatt-SDK-felkoder

Azure Communication Services Chat SDK använder följande felkoder för att felsöka chattproblem. Felkoderna exponeras via error.code egenskapen i felsvaret.

Felkod beskrivning Åtgärd att vidta
401 Behörighet saknas Kontrollera att din Communication Services-token är giltig och inte har upphört att gälla.
403 Ej tillåtet Kontrollera att initieraren för begäran har åtkomst till resursen.
429 för många begäranden Se till att ditt program på klientsidan hanterar det här scenariot på ett användarvänligt sätt. Om felet kvarstår skickar du en supportbegäran.
503 Tjänsten är inte tillgänglig Skicka en supportbegäran via Azure-portalen.

SMS-felkoder

Azure Communication Services SMS SDK använder följande felkoder för att felsöka SMS-problem. Felkoderna exponeras via fältet "DeliveryStatusDetails" i SMS-leveransrapporten.

Felkod beskrivning Åtgärd att vidta
2000 Meddelandet har levererats
4000 Meddelandet avvisas på grund av bedrägeriidentifiering Se till att du inte överskrider det maximala antalet meddelanden som tillåts för ditt nummer
4001 Meddelandet avvisas på grund av ogiltigt käll-/från-nummerformat Kontrollera att till-talet är i E.164-format och Från-nummerformatet är i E.164- eller Kortkodsformat
4002 Meddelandet avvisas på grund av ogiltigt mål-/till-nummerformat Kontrollera att till-talet är i E.164-format
4003 Meddelandet kunde inte levereras på grund av att målet inte stöds Kontrollera om målet som du försöker skicka till stöds
4004 Meddelandet kunde inte levereras eftersom mål/till-nummer inte finns Kontrollera att till-numret som du skickar till är giltigt
4005 Meddelandet blockeras av måloperatören
4006 Mål-/till-numret kan inte nås Försök att skicka meddelandet igen vid ett senare tillfälle
4007 Mål-/till-numret har valt att inte ta emot meddelanden från dig Markera mål-/till-numret som avregistrerat så att inga ytterligare meddelandeförsök görs till talet
4008 Du har överskridit det maximala antalet meddelanden som tillåts för din profil Se till att du inte överskrider det maximala antalet meddelanden som tillåts för ditt nummer eller använd köer för att batcha meddelandena
4009 Meddelandet avvisas av Microsofts berättigandesystem Detta inträffar oftast om bedräglig aktivitet upptäcks. Kontakta supporten för mer information
4010 Meddelandet blockerades på grund av att det avgiftsfria numret inte verifierades Granska overifierade sändningsgränser och skicka en avgiftsfri verifiering så snart som möjligt
5000 Meddelandet kunde inte leverera. Kontakta Microsofts supportteam för mer information Skicka en supportbegäran via Azure-portalen
5001 Meddelandet kunde inte levereras på grund av tillfällig otillgänglighet för program/system
5002 Transportföretaget stöder inte leveransrapport Detta inträffar oftast om ett transportföretag inte stöder leveransrapporter. Ingen åtgärd krävs eftersom meddelandet kanske redan har levererats.
9999 Meddelandet kunde inte levereras på grund av okänt fel/fel Prova att skicka meddelandet igen