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-Id
i api-svarets rubrik.Från motringningshändelserna som ditt program tar emot efter att ha kört en åtgärd. Leta till exempel
CallConnected
PlayFailed
upp correlationID.
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-portalen på bladet Korta koder.
Få åtkomst till ditt avgiftsfria verifieringskampanjens korta ID
Programmets korta ID finns på Azure-portalen på bladet Regeldokument.
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):
Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.
I den vänstra rutan väljer du Microsoft Entra-ID.
Från översiktssidan i Microsoft Entra-ID kopierar du katalog-ID:t (klientorganisation) och lagrar det i programkoden.
Hämta program-ID
Följ dessa steg för att hitta ditt program-ID:
Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.
I den vänstra rutan väljer du Microsoft Entra-ID.
Välj ditt program från Appregistreringar i Microsoft Entra-ID.
Kopiera Program-ID:t och lagra det i din programkod.
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:
Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.
I den vänstra rutan väljer du Microsoft Entra-ID.
Välj din användare från Användare i Microsoft Entra-ID.
Från profilsidan i Microsoft Entra-användare kopierar du objekt-ID :t och lagrar det i programkoden.
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:
- Gå till Azure-portalen och logga in på Azure-portalen med autentiseringsuppgifterna.
- Öppna kommunikationstjänstens resurs.
- I det vänstra fönstret väljer du Översikt och växlar till en JSON-vy
- På sidan Resurs-JSON kopierar du
immutableResourceId
värdet och anger det till supportteamet.
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:
- Öppna webbläsaren och gå till Teams webbklient.
- Logga in med autentiseringsuppgifter som har en giltig Teams-licens.
- 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:
Öppna webbläsaren och gå till Graph Explorer
Logga in på Graph Explorer med autentiseringsuppgifterna.
I frågerutan anger du följande API och klickar på Kör fråga :
https://graph.microsoft.com/v1.0/me/licenseDetails
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
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" } ] } ] }
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 |
Relaterad information
- Åtkomstloggar för röst och video, chatt, e-post, inspelning, SMS och samtalsautomation.
- Log Filename-API:er för anropande SDK
- Mått
- Tjänstbegränsningar