Problemen met Azure Communication Services oplossen
Dit document helpt u bij het oplossen van problemen die u mogelijk ondervindt in uw Communication Services-oplossing. Als u sms-problemen wilt oplossen, kunt u bezorgingsrapportage met Event Grid inschakelen om bezorgingsgegevens van sms-berichten vast te leggen.
Hulp krijgen
We raden ontwikkelaars aan vragen in te dienen, functies voor te stellen en problemen als problemen te melden. Om hulp te krijgen bij het krijgen van hulp, hebben we een speciale ondersteunings- en Help-optiespagina met uw opties voor ondersteuning.
Om u te helpen bij het oplossen van bepaalde typen problemen, wordt u mogelijk gevraagd naar een van de volgende soorten gegevens:
- MS-CV-id: deze id wordt gebruikt om problemen met aanroepen en berichten op te lossen.
- Oproep-id: deze id wordt gebruikt om Communication Services-aanroepen te identificeren.
- Sms-bericht-id: deze id wordt gebruikt om sms-berichten te identificeren.
- Korte code programma korte id: deze id wordt gebruikt om een korte code programma korte toepassing te identificeren.
- Korte id van gratis verificatiecampagne: deze id wordt gebruikt om een gratis verificatiecampagne kort te identificeren.
- E-mailbericht-id: deze id wordt gebruikt om e-mailaanvragen verzenden te identificeren.
- Correlatie-id: deze id wordt gebruikt om aanvragen te identificeren die zijn gedaan met behulp van Gespreksautomatisering.
- Oproeplogboeken: deze logboeken bevatten gedetailleerde informatie die kan worden gebruikt om problemen met gesprekken en netwerken op te lossen.
Bekijk ook onze documentatie over servicelimieten voor meer informatie over beperking en beperkingen.
De MS-CV-id ophalen
De MS-CV-id kan worden geopend door diagnostische gegevens in het objectexemplaren te configureren bij het clientOptions
initialiseren van uw SDK's. Diagnostische gegevens kunnen worden geconfigureerd voor een van de Azure-SDK's, waaronder chat-, identiteits- en VoIP-aanroepen.
Voorbeeld van clientopties
In de volgende codefragmenten wordt de configuratie van diagnostische gegevens gedemonstreerd. Wanneer de SDK's worden gebruikt met diagnostische gegevens ingeschakeld, kunnen diagnostische gegevens worden verzonden naar de geconfigureerde gebeurtenislistener:
// 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) });
Toegangs-id's vereist voor gespreksautomatisering
Bij het oplossen van problemen met de Call Automation SDK, zoals oproepbeheer of opnameproblemen, moet u de id's verzamelen die helpen bij het identificeren van de mislukte oproep of bewerking. U kunt een van de twee hier genoemde id's opgeven.
Zoek het veld
X-Ms-Skype-Chain-Id
in de header van het API-antwoord.Vanuit de callback-gebeurtenissen die uw toepassing ontvangt na het uitvoeren van een actie. Zoek bijvoorbeeld
CallConnected
PlayFailed
de correlationID.
Naast een van deze id's geeft u de details op over de foutieve use case en de tijdstempel voor wanneer de fout is waargenomen.
Toegang tot uw clientoproep-id
Bij het oplossen van problemen met spraak- of videogesprekken wordt u mogelijk gevraagd om een call ID
. Deze waarde kan worden geopend via de id
eigenschap van het call
object:
// `call` is an instance of a call created by `callAgent.startCall` or `callAgent.join` methods
console.log(call.id)
De sms-bericht-id ophalen
Voor problemen met sms kunt u de bericht-id van het antwoordobject ophalen.
// 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
}
Toegang tot uw korte code programma korte id
De korte programma-id vindt u in Azure Portal op de blade Korte codes.
Toegang tot uw gratis verificatiecampagne korte id
De programma-korte id vindt u in Azure Portal op de blade Regelgevingsdocumenten.
Toegang tot uw e-mailbewerkings-id
Wanneer u problemen met het verzenden van e-mail- of e-mailberichtstatusaanvragen wilt oplossen, wordt u mogelijk gevraagd een e-mail of e-mailbericht te verzenden operation ID
. Deze waarde kan worden geopend in het antwoord:
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}");
Ondersteuningsbestanden openen in de Aanroepende SDK
De SDK voor aanroepen biedt handige methoden om toegang te krijgen tot de logboekbestanden. Deze bestanden kunnen waardevol zijn voor Microsoft-ondersteuningsspecialisten en -technici. Pro-actief verzamelen van deze logboeken wanneer er problemen worden gedetecteerd, wordt aanbevolen.
Oproeplogboeken inschakelen en openen
[JavaScript]
De Azure Communication Services Calling SDK is intern afhankelijk van @azure/loggerbibliotheek om logboekregistratie te beheren.
Gebruik de setLogLevel
methode van het pakket om het uitvoerniveau van het @azure/logger
logboek te configureren. Maak een logger en geef deze door aan de CallClient-constructor:
import { setLogLevel, createClientLogger, AzureLogger } from '@azure/logger';
setLogLevel('verbose');
let logger = createClientLogger('ACS');
const callClient = new CallClient({ logger });
U kunt AzureLogger gebruiken om de logboekuitvoer van Azure SDK's om te leiden door de AzureLogger.log
methode te overschrijven: u kunt zich aanmelden bij de browserconsole, een bestand, buffer, verzenden naar onze eigen service, enzovoort. Als u logboeken via het netwerk naar uw eigen service wilt verzenden, verzendt u geen aanvraag per logboekregel omdat dit van invloed is op de browserprestaties. Verzamel in plaats daarvan logboeklijnen en verzend ze in batches.
// Redirect log output
AzureLogger.log = (...args) => {
// To console, file, buffer, REST API, etc...
console.log(...args);
};
Systeemeigen SDK (Android/iOS)
Voor Android, iOS en Windows biedt de Azure Communication Services Calling SDK toegang tot logboekbestanden.
Raadpleeg de zelfstudies voor toegang tot logboekbestanden voor het aanroepen van systeemeigen SDK's
UI-bibliotheken (Android, iOS)
Als u de uibibliotheken van Azure Communication Services voor Android of iOS gebruikt, kan gebruikersfeedback worden aangevraagd via het ingebouwde ondersteuningsformulier.
Voor meer informatie over het gebruik van de ondersteuningsfunctionaliteit van het ondersteuningsformulier voor oproepende gebruikersinterface, raadpleegt u de zelfstudie over de integratie van ondersteuningsformulieren. In dit document wordt u begeleid bij het toevoegen van de benodigde gebeurtenis-handler en het maken van een eenvoudige client-/server-implementatie voor gecentraliseerde opslag van ondersteuningsgegevens. Deze handleiding is ontworpen om u te begeleiden bij een integratie met de ondersteuningsservices die uw organisatie gebruikt.
End-to-end-ondersteuningsstromen bouwen in uw ACS-integraties
Ongeacht of u de Calling SDK of calling UI SDK gebruikt, en ondersteuning biedt aan eindgebruikers is een belangrijk onderdeel van elke robuuste integratie. In het volgende document worden de belangrijkste overwegingen op elk punt van de feedbacklus voor ondersteuning gemarkeerd en vindt u punten om meer te weten te komen.
Gebruikersondersteuning bieden
Microsoft Entra-gegevens zoeken
- Map-id ophalen
- Toepassings-id ophalen
- Gebruikers-id ophalen
Map-id ophalen
Voer de volgende stappen uit om uw directory-id (tenant) te vinden:
Navigeer naar Azure Portal en meld u aan bij Azure Portal met behulp van de referenties.
Selecteer in het linkerdeelvenster Microsoft Entra-id.
Kopieer op de overzichtspagina in Microsoft Entra-id de map-id (tenant) en sla deze op in uw toepassingscode.
Toepassings-id ophalen
Volg deze stappen om uw toepassings-id te vinden:
Navigeer naar Azure Portal en meld u aan bij Azure Portal met behulp van de referenties.
Selecteer in het linkerdeelvenster Microsoft Entra-id.
Selecteer uw toepassing in App-registraties in Microsoft Entra-id.
Kopieer de Toepassings-id en sla deze op in uw toepassingscode.
De map-id (tenant) vindt u ook op de overzichtspagina van de toepassing.
Gebruikers-id ophalen
Volg deze stappen om uw gebruikers-id te vinden:
Navigeer naar Azure Portal en meld u aan bij Azure Portal met behulp van de referenties.
Selecteer in het linkerdeelvenster Microsoft Entra-id.
Selecteer uw gebruiker in Gebruikers in Microsoft Entra-id.
Kopieer vanaf de profielpagina in Microsoft Entra-gebruikers de object-id en sla deze op in uw toepassingscode.
Onveranderbare resource-id ophalen
Soms moet u ook onveranderbare resource-id van uw Communication Service-resource opgeven. Voer de volgende stappen uit om deze te vinden:
- Navigeer naar Azure Portal en meld u aan bij Azure Portal met behulp van de referenties.
- Open uw Communication Service-resource.
- Selecteer In het linkerdeelvenster Overzicht en schakel over naar een JSON-weergave
- Kopieer de waarde op de
immutableResourceId
pagina Resource JSON en geef deze op aan uw ondersteuningsteam.
Verificatie van de geschiktheid van Teams-licenties voor het gebruik van Azure Communication Services-ondersteuning voor Teams-gebruikers
Er zijn twee manieren om te controleren of uw Teams-licentie in aanmerking komt voor het gebruik van Azure Communication Services-ondersteuning voor Teams-gebruikers:
- Verificatie via teams-webclient
- Uw huidige Teams-licentie controleren via Microsoft Graph API
Verificatie via teams-webclient
Volg deze stappen om te controleren of uw Teams-licentie in aanmerking komt via de Teams-webclient:
- Open uw browser en navigeer naar de Teams-webclient.
- Meld u aan met referenties met een geldige Teams-licentie.
- Als de verificatie is geslaagd en u in het https://teams.microsoft.com/ domein blijft, komt uw Teams-licentie in aanmerking. Als de verificatie mislukt of u wordt omgeleid naar het https://teams.live.com/v2/ domein, komt uw Teams-licentie niet in aanmerking voor het gebruik van Azure Communication Services-ondersteuning voor Teams-gebruikers.
Uw huidige Teams-licentie controleren via Microsoft Graph API
U vindt uw huidige Teams-licentie met behulp van licenseDetails Microsoft Graph API die de licenties retourneert die zijn toegewezen aan een gebruiker. Volg deze stappen om het hulpprogramma Graph Explorer te gebruiken om licenties weer te geven die zijn toegewezen aan een gebruiker:
Open uw browser en navigeer naar Graph Explorer
Meld u aan bij Graph Explorer met behulp van de referenties.
Voer in het queryvak de volgende API in en klik op Query uitvoeren :
https://graph.microsoft.com/v1.0/me/licenseDetails
U kunt ook een query uitvoeren op een bepaalde gebruiker door de gebruikers-id op te geven met behulp van de volgende API:
https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
In het voorbeeldvenster Antwoord wordt de uitvoer als volgt weergegeven:
Het antwoordobject dat hier wordt weergegeven, kan worden ingekort voor leesbaarheid.
{ "@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" } ] } ] }
Licentiedetails zoeken waar de eigenschap
servicePlanName
een van de waarden in de tabel In aanmerking komende Teams-licenties heeft
Sdk-foutcodes aanroepen
De Azure Communication Services Calling SDK gebruikt de volgende foutcodes om u te helpen bij het oplossen van problemen met oproepen. Deze foutcodes worden weergegeven via de eigenschap call.callEndReason
nadat de oproep is beëindigd.
Foutcode | Beschrijving | Actie die moet worden uitgevoerd |
---|---|---|
403 | Verboden / Verificatiefout. | Controleer of het Communication Services-token geldig is, en niet is verlopen. |
404 | Oproep is niet gevonden. | Controleer of het nummer dat u belt (of de oproep waaraan u deelneemt) bestaat. |
408 | Time-out voor oproepcontroller. | Er is een time-out voor de oproepcontroller opgetreden tijdens het wachten op protocolberichten van gebruikerseindpunten. Controleer of de clients zijn verbonden en beschikbaar zijn. |
410 | Fout met de lokale mediastack of media-infrastructuur. | Zorg ervoor dat u de nieuwste SDK in een ondersteunde omgeving gebruikt. |
430 | Kan het bericht niet bezorgen bij de clienttoepassing. | Zorg ervoor dat de clienttoepassing actief en beschikbaar is. |
480 | Het eindpunt van de externe client is niet geregistreerd. | Controleer of het externe eindpunt beschikbaar is. |
481 | Verwerken van binnenkomende oproep is mislukt. | Dien een ondersteuningsaanvraag in via de Azure-portal |
487 | Oproep is geannuleerd, lokaal afgewezen, beëindigd als gevolg van een probleem met een niet-overeenkomend eindpunt, of genereren van de media-aanbieding is mislukt. | Verwacht gedrag. |
490, 491, 496, 497, 498 | Netwerkproblemen met lokaal eindpunt. | Controleer het netwerk. |
500, 503, 504 | Fout in Communication Services-infrastructuur. | Dien een ondersteuningsaanvraag in via de Azure-portal |
603 | Oproep is globaal geweigerd door een Communication Services-deelnemer | Verwacht gedrag. |
Foutcodes voor Automation SDK aanroepen
De onderstaande foutcodes worden weergegeven door de Call Automation SDK.
Foutcode | Beschrijving | Uit te voeren acties |
---|---|---|
400 | Ongeldige aanvraag | De invoeraanvraag is ongeldig. Bekijk het foutbericht om te bepalen welke invoer onjuist is. |
400 | Afspelen is mislukt | Zorg ervoor dat uw audiobestand WAV, 16KHz, Mono is en zorg ervoor dat de bestands-URL openbaar toegankelijk is. |
400 | Herkennen is mislukt | Controleer het foutbericht. Het bericht wordt gemarkeerd als deze fout wordt veroorzaakt doordat de time-out is bereikt of als de bewerking is geannuleerd. Voor meer informatie over de foutcodes en berichten kunt u onze handleiding voor het verzamelen van gebruikersinvoer bekijken. |
401 | Niet geautoriseerd | HMAC-verificatie is mislukt. Controleer of de verbindingsreeks gebruikt voor het maken van CallAutomationClient juist is. |
403 | Verboden | Aanvraag is verboden. Zorg ervoor dat u toegang hebt tot de resource waartoe u toegang wilt krijgen. |
404 | Resource is niet gevonden | De aanroep waarmee u probeert te handelen, bestaat niet. Bijvoorbeeld het overzetten van een oproep die al is verbroken. |
429 | Te veel aanvragen | Probeer het opnieuw na een vertraging die wordt voorgesteld in de header Retry-After en daarna exponentieel uitstel. |
500 | Interne serverfout | Probeer het opnieuw na een vertraging. Als dit zich blijft voordoen, dient u een ondersteuningsticket in. |
500 | Afspelen is mislukt | Dien een ondersteuningsaanvraag in via de Azure-portal |
500 | Herkennen is mislukt | Controleer het foutbericht en controleer of de audiobestandsindeling geldig is (WAV, 16KHz, Mono), als de bestandsindeling geldig is, dient u een ondersteuningsaanvraag in via De Azure-portal. |
502 | Ongeldige gateway | Probeer het opnieuw na een vertraging met een nieuwe HTTP-client. |
Bekijk de onderstaande tips bij het oplossen van bepaalde problemen.
- Uw toepassing krijgt de gebeurtenis IncomingCall Event Grid niet: zorg ervoor dat het toepassingseindpunt is gevalideerd met Event Grid tijdens het maken van een gebeurtenisabonnement. De inrichtingsstatus voor uw gebeurtenisabonnement is gemarkeerd als geslaagd als de validatie is geslaagd.
- De fout 'The field CallbackUri is invalid': Call Automation biedt geen ondersteuning voor HTTP-eindpunten. Zorg ervoor dat de callback-URL die u opgeeft HTTPS ondersteunt.
- PlayAudio-actie speelt niets af: momenteel wordt alleen de Wave-indeling (.wav) ondersteund voor audiobestanden. De audio-inhoud in het golfbestand moet mono (single-channel), 16-bits voorbeelden met een samplingfrequentie van 16.000 (16KHz) zijn.
- Acties op PSTN-eindpunten werken niet: CreateCall, Transfer, AddParticipant en Redirect to phone numbers vereisen dat u de SourceCallerId in de actieaanvraag instelt. Tenzij u directe routering gebruikt, moet de bronoproeper-id een telefoonnummer zijn dat eigendom is van uw Communication Services-resource om de actie te laten slagen.
Raadpleeg dit artikel voor meer informatie over bekende problemen die worden bijgehouden door het productteam.
Foutcodes voor chat-SDK
De Azure Communication Services Chat SDK gebruikt de volgende foutcodes om u te helpen bij het oplossen van chatproblemen. De foutcodes worden weergegeven via de error.code
eigenschap in het foutbericht.
Foutcode | Beschrijving | Actie die moet worden uitgevoerd |
---|---|---|
401 | Niet geautoriseerd | Controleer of het Communication Services-token geldig is, en niet is verlopen. |
403 | Verboden | Zorg ervoor dat de initiator van de aanvraag toegang heeft tot de resource. |
429 | Te veel aanvragen | Zorg ervoor dat uw toepassing aan de clientzijde dit scenario op een gebruiksvriendelijke manier verwerkt. Als de fout zich blijft voordoen, dient u een ondersteuningsaanvraag in. |
503 | Service niet beschikbaar | Dien een ondersteuningsaanvraag in via de Azure-portal |
SMS-foutcodes
De SMS SDK van Azure Communication Services gebruikt de volgende foutcodes om u te helpen bij het oplossen van SMS-problemen. De foutcodes worden weergegeven via het veld DeliveryStatusDetails in het rapport sms-bezorging.
Foutcode | Beschrijving | Actie die moet worden uitgevoerd |
---|---|---|
2000 | Bericht is bezorgd | |
4000 | Bericht wordt geweigerd vanwege fraudedetectie | Zorg ervoor dat u het maximum aantal toegestane berichten voor uw nummer niet overschrijdt |
4001 | Bericht wordt geweigerd vanwege een ongeldige bron-/van-getalnotatie | Zorg ervoor dat het getal Aan de notatie E.164 heeft en van getalnotatie E.164 of Korte code |
4002 | Bericht wordt geweigerd vanwege een ongeldige doel-/naar-getalnotatie | Zorg ervoor dat het getal Aan de notatie E.164 heeft |
4003 | Bericht kan niet worden bezorgd vanwege niet-ondersteunde bestemming | Controleer of de bestemming waarnaar u wilt verzenden, wordt ondersteund |
4004 | Bericht kan niet worden bezorgd omdat het doel-/doelnummer niet bestaat | Zorg ervoor dat het nummer Aan waarnaar u verzendt, geldig is |
4005 | Bericht wordt geblokkeerd door doelprovider | |
4006 | Het doel-/doelnummer is niet bereikbaar | Probeer het bericht op een later tijdstip opnieuw te verzenden |
4007 | Het doel-/to-nummer heeft zich afgemeld voor het ontvangen van berichten van u | Markeer het doel-/doelnummer als afgemeld zodat er geen verdere berichtpogingen worden gedaan op het nummer |
4008 | U hebt het maximum aantal toegestane berichten voor uw profiel overschreden | Zorg ervoor dat u het maximum aantal berichten dat is toegestaan voor uw nummer niet overschrijdt of wachtrijen gebruikt om de berichten te batcheren |
4009 | Bericht wordt geweigerd door Microsoft Entitlement System | Dit gebeurt meestal als frauduleuze activiteiten worden gedetecteerd. Neem contact op met ondersteuning voor meer informatie |
4010 | Bericht is geblokkeerd omdat het gratis nummer niet is geverifieerd | Controleer niet-geverifieerde verzendlimieten en verzend gratis verificatie zo snel mogelijk |
5000 | Het bericht kan niet worden bezorgd. Neem contact op met het ondersteuningsteam van Microsoft voor meer informatie | Een ondersteuningsaanvraag indienen via Azure Portal |
5001 | Bericht kan niet worden geleverd vanwege een tijdelijke niet-beschikbaarheid van de toepassing/het systeem | |
5002 | Provider biedt geen ondersteuning voor het leveringsrapport | Dit gebeurt meestal als een provider geen ondersteuning biedt voor leveringsrapporten. Er is geen actie vereist omdat het bericht mogelijk al is bezorgd. |
9999 | Bericht kan niet worden bezorgd vanwege onbekende fout/fout | Probeer het bericht opnieuw te verzenden |
Gerelateerde informatie
- Toegang tot logboeken voor spraak en video, chat, e-mail, opname, sms en gespreksautomatisering.
- Bestandsnaam-API's voor aanroepen van SDK vastleggen
- Metrische gegevens
- Servicelimieten