Sdílet prostřednictvím


Řešení potíží ve službě Azure Communication Services

Tento dokument vám pomůže vyřešit problémy, ke kterým může docházet v rámci řešení komunikačních služeb. Pokud řešíte potíže se službou SMS, můžete povolit zasílání zpráv o doručení pomocí Event Gridu , abyste zachytili podrobnosti o doručení SMS.

Získání nápovědy

Doporučujeme vývojářům odesílat otázky, navrhovat funkce a hlásit problémy jako problémy. Abychom vám pomohli získat pomoc, máme vyhrazenou stránku s možnostmi podpory a možností nápovědy, která uvádí vaše možnosti podpory.

Pokud chcete pomoct s řešením určitých typů problémů, můžete být požádáni o některé z následujících informací:

  • ID MS-CV: Toto ID slouží k řešení potíží s voláními a zprávami.
  • ID volání: Toto ID slouží k identifikaci volání komunikačních služeb.
  • ID zprávy SMS: Toto ID slouží k identifikaci zpráv SMS.
  • Krátké ID programu kódu: Toto ID slouží k identifikaci krátké aplikace programu kódu.
  • Stručné ID kampaně pro ověření zdarma: Toto ID slouží k identifikaci stručné aplikace pro bezplatnou ověřovací kampaň.
  • ID e-mailové zprávy: Toto ID slouží k identifikaci žádostí o odeslání e-mailu.
  • ID korelace: Toto ID slouží k identifikaci požadavků provedených pomocí automatizace volání.
  • Protokoly volání: Tyto protokoly obsahují podrobné informace k řešení potíží s voláním a sítí.

Další informace o omezování a omezeních najdete také v dokumentaci k limitům služeb.

Přístup k ID MS-CV

K ID MS-CV lze získat přístup konfigurací diagnostiky v instanci objektu clientOptions při inicializaci sad SDK. Diagnostiku je možné nakonfigurovat pro libovolnou sadu Sdk Azure, včetně volání chatu, identity a VoIP.

Příklad možností klienta

Následující fragmenty kódu ukazují konfiguraci diagnostiky. Pokud se sady SDK používají s povolenou diagnostikou, můžou se do nakonfigurovaného naslouchacího procesu událostí pustit podrobnosti o diagnostice:

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

Přístupová ID požadovaná pro automatizaci volání

Při řešení potíží se sadou SDK pro automatizaci volání, jako je správa volání nebo zaznamenávání problémů, musíte shromáždit ID, která pomáhají identifikovat neúspěšné volání nebo operaci. Můžete zadat některé ze dvou ID uvedených zde.

  • V hlavičce odpovědi rozhraní API vyhledejte pole X-Ms-Skype-Chain-Id.

    Snímek obrazovky s hlavičkou odpovědi s X-Ms-Skype-Chain-ID

  • Z událostí zpětného volání obdrží vaše aplikace po provedení akce. Můžete například CallConnectedPlayFailedvyhledat ID korelace.

    Snímek obrazovky s odpojenou událostí volání zobrazující ID korelace

Kromě jednoho z těchto ID uveďte podrobnosti o případu neúspěšného použití a časové razítko, kdy došlo k selhání.

Přístup k ID volání klienta

Při řešení potíží s hlasovými hovory nebo videohovory můžete být požádáni o poskytnutí call ID. K této hodnotě lze přistupovat prostřednictvím id vlastnosti objektu call :

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

Přístup k ID zprávy SMS

V případě problémů se serverem SMS můžete shromáždit ID zprávy z objektu odpovědi.

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

Přístup ke krátkému ID programu krátkého kódu

Krátké ID programu najdete na webu Azure Portal v okně Krátké kódy.

Snímek obrazovky zobrazující krátké ID programu kódu


Přístup ke krátkému ID kampaně pro ověření bezplatné linky

Krátké ID programu najdete na webu Azure Portal v okně Regulační dokumenty.

Snímek obrazovky se stručným ID kampaně bezplatného ověření


Přístup k ID operace e-mailu

Při řešení potíží s odesíláním e-mailů nebo žádostí o stav e-mailové zprávy můžete být požádáni o poskytnutí operation IDzprávy . K této hodnotě je možné získat přístup v odpovědi:

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

Přístup k podpůrným souborům v volající sadě SDK

Volání sady SDK poskytuje metody usnadnění přístupu k souborům protokolu. Tyto soubory mohou sloužit cenným pracovníkům a technikům podpory Microsoftu. Aktivně shromažďuje tyto protokoly při zjištění problémů.

Povolení a přístup k protokolům volání

[JavaScript]

Sada SDK pro volání služeb Azure Communication Services spoléhá interně na knihovnu @azure/logger k řízení protokolování. setLogLevel Ke konfiguraci úrovně výstupu protokolu použijte metodu @azure/logger z balíčku. Vytvořte logger a předejte ho do konstruktoru CallClient:

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

Pomocí AzureLoggeru můžete přesměrovat výstup protokolování ze sad Azure SDK přepsáním AzureLogger.log metody: Můžete se přihlásit do konzoly prohlížeče, souboru, vyrovnávací paměti, odeslání do vlastní služby atd. Pokud budete odesílat protokoly přes síť do vlastní služby, neodesílejte požadavek na řádek protokolu, protože to bude mít vliv na výkon prohlížeče. Místo toho se hromadí řádky protokolů a posílají je v dávkách.

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

Nativní sada SDK (Android/iOS)

Pro Android, iOS a Windows sada SDK pro volání služeb Azure Communication Services nabízí přístup k souborům protokolů.

Informace o volání nativní sady SDK najdete v kurzech přístupu k souborům protokolu.

Knihovny uživatelského rozhraní (Android, iOS)

Pokud používáte knihovny uživatelského rozhraní služeb Azure Communication Services pro Android nebo iOS, můžete požádat o zpětnou vazbu uživatelů prostřednictvím integrovaného formuláře podpory.

Další informace o tom, jak používat funkce podpory formuláře Podpora volání uživatelského rozhraní, naleznete v kurzu integrace formuláře podpory. Tento dokument vás provede přidáním potřebné obslužné rutiny události a vytvořením základní implementace klienta/serveru pro centralizované ukládání informací o podpoře. Tato příručka je navržená tak, aby vás provedla na cestě k integraci se službami podpory, které vaše organizace používá.

Vytváření kompletních toků podpory v integracích služby ACS

Bez ohledu na to, jestli používáte sadu SDK pro volání nebo sadu SDK pro volání uživatelského rozhraní, je poskytování podpory koncovým uživatelům klíčovou součástí jakékoli robustní integrace. Následující dokument zdůrazňuje klíčové aspekty v každém bodě smyčky zpětné vazby podpory a poskytuje odkazy na další informace.

Poskytování uživatelské podpory


Vyhledání informací Microsoft Entra

  • Získání ID adresáře
  • Získání ID aplikace
  • Získání ID uživatele

Získání ID adresáře

Pokud chcete najít ID adresáře (tenanta), postupujte takto:

  1. Přejděte na Azure Portal a přihlaste se k webu Azure Portal pomocí přihlašovacích údajů.

  2. V levém podokně vyberte MICROSOFT Entra ID.

  3. Na stránce Přehled v Microsoft Entra ID zkopírujte ID adresáře (tenanta) a uložte ho do kódu vaší aplikace.

    Snímek obrazovky s kopírovaním ID tenanta Microsoft Entra a jeho uložením

Získání ID aplikace

ID aplikace zjistíte takto:

  1. Přejděte na Azure Portal a přihlaste se k webu Azure Portal pomocí přihlašovacích údajů.

  2. V levém podokně vyberte MICROSOFT Entra ID.

  3. V Registrace aplikací v Microsoft Entra ID vyberte aplikaci.

  4. Zkopírujte ID aplikace a uložte ho v kódu aplikace.

    Snímek obrazovky s kopírovaním ID aplikace Microsoft Entra a jeho uložením

    ID adresáře (tenanta) najdete také na stránce přehledu aplikace.

Získání ID uživatele

Id uživatele najdete takto:

  1. Přejděte na Azure Portal a přihlaste se k webu Azure Portal pomocí přihlašovacích údajů.

  2. V levém podokně vyberte MICROSOFT Entra ID.

  3. V okně Uživatelé v Microsoft Entra ID vyberte uživatele.

  4. Na stránce Profil v uživatelích Microsoft Entra zkopírujte ID objektu a uložte ho do kódu aplikace.

    Snímek obrazovky s kopírovaním ID uživatele Microsoft Entra a jeho uložením

Získání neměnného ID prostředku

Někdy také potřebujete zadat neměnné ID prostředku vašeho prostředku komunikační služby. Pokud ho chcete najít, postupujte takto:

  1. Přejděte na Azure Portal a přihlaste se k webu Azure Portal pomocí přihlašovacích údajů.
  2. Otevřete prostředek komunikační služby.
  3. V levém podokně vyberte Přehled a přepněte do zobrazení JSON.Snímek obrazovky znázorňuje, jak přepnout přehled komunikačních prostředků do zobrazení JSON
  4. Na stránce JSON prostředku zkopírujte immutableResourceId hodnotu a zadejte ji týmu podpory. Snímek obrazovky JSON prostředku

Ověření oprávněnosti licencí Teams k používání podpory služeb Azure Communication Services pro uživatele Teams

Existují dva způsoby, jak ověřit oprávněnost licence Teams k používání podpory služeb Azure Communication Services pro uživatele Teams:

  • Ověření prostřednictvím webového klienta Teams
  • Kontrola aktuální licence Teams prostřednictvím rozhraní Microsoft Graph API

Ověření prostřednictvím webového klienta Teams

Pokud chcete ověřit způsobilost k licenci Teams prostřednictvím webového klienta Teams, postupujte takto:

  1. Otevřete prohlížeč a přejděte do webového klienta Teams.
  2. Přihlaste se pomocí přihlašovacích údajů, které mají platnou licenci Teams.
  3. Pokud je ověření úspěšné a zůstanete v https://teams.microsoft.com/ doméně, vaše licence Teams je oprávněná. Pokud ověřování selže nebo jste přesměrováni do https://teams.live.com/v2/ domény, vaše licence Teams nemá nárok na používání podpory služeb Azure Communication Services pro uživatele Teams.

Kontrola aktuální licence Teams prostřednictvím rozhraní Microsoft Graph API

Aktuální licenci Teams najdete pomocí rozhraní Microsoft Graph API licenseDetails , které vrací licence přiřazené uživateli. Pomocí tohoto postupu můžete pomocí nástroje Graph Explorer zobrazit licence přiřazené uživateli:

  1. Otevřete prohlížeč a přejděte do Graph Exploreru.

  2. Přihlaste se k Graph Exploreru pomocí přihlašovacích údajů. Snímek obrazovky znázorňuje, jak se přihlásit k Graph Exploreru

  3. Do pole dotazu zadejte následující rozhraní API a klikněte na Spustit dotaz :

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

    Snímek obrazovky znázorňuje, jak zadat rozhraní API v Graph Exploreru

    Nebo můžete zadat dotaz na konkrétního uživatele zadáním ID uživatele pomocí následujícího rozhraní API:

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. V podokně Náhled odpovědi se zobrazí výstup takto:

    Všimněte si, že zde zobrazený objekt odpovědi může být zkrácen pro čitelnost.

    {
        "@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. Vyhledání podrobností o licenci, kde vlastnost servicePlanName obsahuje jednu z hodnot v tabulce Opravňující licence Teams

Volání kódů chyb sady SDK

Sada SDK pro volání služeb Azure Communication Services používá následující kódy chyb, které vám pomůžou řešit problémy s voláním. Tyto kódy chyb jsou zpřístupněny prostřednictvím call.callEndReason vlastnosti po ukončení volání.

Kód chyby Popis Akce, která se má provést
403 Zakázáno / Selhání ověřování Ujistěte se, že je token komunikační služby platný a nevypršela jeho platnost.
404 Volání nebylo nalezeno. Ujistěte se, že číslo, které voláte (nebo hovor, ke kterému se připojujete), existuje.
408 Vypršel časový limit ovladače hovoru. Vypršel časový limit kontroleru volání čekající na zprávy protokolu z koncových bodů uživatele. Ujistěte se, že jsou klienti připojení a jsou k dispozici.
410 Chyba místní zásobníku médií nebo infrastruktury médií Ujistěte se, že používáte nejnovější sadu SDK v podporovaném prostředí.
430 Zprávu nelze doručit klientské aplikaci. Ujistěte se, že je klientská aplikace spuštěná a dostupná.
480 Koncový bod vzdáleného klienta není zaregistrovaný. Ujistěte se, že je vzdálený koncový bod dostupný.
481 Zpracování příchozího hovoru se nezdařilo. Vytvořte žádost o podporu prostřednictvím webu Azure Portal.
487 Volání se zrušilo, místně odmítlo, skončilo kvůli problému s neshodou koncových bodů nebo se nepodařilo vygenerovat nabídku médií. Očekávané chování
490, 491, 496, 497, 498 Problémy se sítí místního koncového bodu Zkontrolujte síť.
500, 503, 504 Chyba infrastruktury komunikačních služeb Vytvořte žádost o podporu prostřednictvím webu Azure Portal.
603 Volání globálně odmítnuté vzdáleným účastníkem komunikační služby Očekávané chování

Kódy chyb sady SDK pro automatizaci volání

Následující kódy chyb jsou zpřístupněny sadou SDK pro automatizaci volání.

Kód chyby Popis Akce, které je potřeba provést
400 Chybný požadavek Vstupní požadavek je neplatný. Podívejte se na chybovou zprávu a zjistěte, který vstup je nesprávný.
400 Neúspěšné přehrávání Ujistěte se, že je váš zvukový soubor WAV, 16KHz, Mono a ujistěte se, že je adresa URL souboru veřejně přístupná.
400 Rozpoznávání se nezdařilo. Zkontrolujte chybovou zprávu. Zpráva se zvýrazní, pokud příčinou tohoto selhání je dosažení časového limitu nebo zrušení operace. Další informace o kódech chyb a zprávách najdete v našem průvodci postupy pro shromažďování uživatelských vstupů.
401 Neautorizováno Ověření HMAC se nezdařilo. Ověřte, jestli je připojovací řetězec použitá k vytvoření CallAutomationClient správná.
403 Zakázáno Požadavek je zakázaný. Ujistěte se, že máte přístup k prostředku, ke kterému se pokoušíte získat přístup.
404 Prostředek nebyl nalezen. Volání, se kterými se pokoušíte pracovat, neexistuje. Například převod volání, které je již odpojeno.
429 Příliš mnoho žádostí Zkuste to znovu po zpoždění navrhovaném v hlavičce Opakovat až po, a pak exponenciální zpomalování.
500 Vnitřní chyba serveru Zkuste to znovu po zpoždění. Pokud se zachová, vytvořte lístek podpory.
500 Neúspěšné přehrávání Vytvořte žádost o podporu prostřednictvím webu Azure Portal.
500 Rozpoznávání se nezdařilo. Zkontrolujte chybovou zprávu a ověřte platnost formátu zvukového souboru (WAV, 16KHz, Mono), pokud je formát souboru platný, pak prostřednictvím webu Azure Portal vytvořte žádost o podporu.
502 Chybná brána Zkuste to znovu po zpoždění s čerstvým klientem HTTP.

Při řešení určitých problémů zvažte následující tipy.

  • Vaše aplikace nedostává událost IncomingCall Event Grid: Ujistěte se, že koncový bod aplikace byl ověřen pomocí Event Gridu při vytváření odběru událostí. Stav zřizování odběru událostí se označí jako úspěšný, pokud bylo ověření úspěšné.
  • Zobrazuje se chyba Identifikátor CallbackUri pole je neplatný: Automatizace volání nepodporuje koncové body HTTP. Ujistěte se, že adresa URL zpětného volání, kterou zadáte, podporuje PROTOKOL HTTPS.
  • Akce PlayAudio nic nepřehrává: V současné době je u zvukových souborů podporován pouze formát Wave (.wav). Zvukový obsah v souboru wave musí být mono (jednokanálový), 16bitový vzork s vzorkovací frekvencí 16 000 (16 KHz).
  • Akce koncových bodů veřejné telefonní sítě nefungují: CreateCall, Transfer, AddParticipant a Redirect na telefonní čísla vyžadují, abyste v žádosti o akci nastavili SourceCallerId. Pokud nepoužíváte přímé směrování, id zdrojového volajícího by mělo být telefonní číslo vlastněné prostředkem komunikační služby, aby akce uspěla.

Informace o známých problémech sledovaných produktovými týmy najdete v tomto článku.

Kódy chyb chatovací sady SDK

Sada SDK chatu služby Azure Communication Services používá následující kódy chyb, které vám pomůžou při řešení potíží s chatem. Kódy chyb jsou zpřístupněny prostřednictvím error.code vlastnosti v odpovědi na chybu.

Kód chyby Popis Akce, která se má provést
401 Neautorizováno Ujistěte se, že je token komunikační služby platný a nevypršela jeho platnost.
403 Zakázáno Ujistěte se, že iniciátor požadavku má přístup k prostředku.
429 Příliš mnoho žádostí Ujistěte se, že aplikace na straně klienta tento scénář zpracovává uživatelsky přívětivým způsobem. Pokud chyba přetrvává, vytvořte žádost o podporu.
503 Nedostupná služba Vytvořte žádost o podporu prostřednictvím webu Azure Portal.

Kódy chyb SMS

Sada AZURE Communication Services SMS SDK používá následující kódy chyb, které vám pomůžou při řešení potíží se serverem SMS. Kódy chyb jsou zpřístupněny prostřednictvím pole DeliveryStatusDetails v oznámení o doručení SMS.

Kód chyby Popis Akce, která se má provést
2000 Zpráva byla úspěšně doručena
4000 Zpráva je odmítnuta kvůli detekci podvodů Ujistěte se, že nepřekračujete maximální povolený počet zpráv pro vaše číslo.
4001 Zpráva je odmítnuta kvůli neplatnému formátu zdroje nebo čísla z Ujistěte se, že číslo To je ve formátu E.164 a formát Od čísla je ve formátu E.164 nebo Krátký kód.
4002 Zpráva je odmítnuta kvůli neplatnému formátu cíle nebo čísla Do. Ujistěte se, že číslo To je ve formátu E.164.
4003 Zpráva se nepovedla doručit kvůli nepodporovanému cíli Zkontrolujte, jestli je podporovaný cíl, na který se pokoušíte odeslat.
4004 Zpráva se nepodařilo doručit, protože neexistuje cíl nebo číslo do Ujistěte se, že číslo to, na které odesíláte, je platné.
4005 Zpráva je blokována cílovým operátorem.
4006 Cíl/číslo na číslo není dostupné. Zkuste zprávu znovu odeslat později.
4007 Číslo Cíl/Číslo se odhlásilo od příjmu zpráv od vás. Označte jako číslo Cíl/To jako odhlášení, aby se na číslo nezkoušely žádné další pokusy o zprávu.
4008 Překročili jste maximální počet zpráv povolených pro váš profil. Ujistěte se, že nepřekračujete maximální počet zpráv povolených pro vaše číslo, nebo použijte fronty k dávkování zpráv.
4009 Systém nároků Společnosti Microsoft odmítl zprávu. Nejčastěji k tomu dochází v případě, že se zjistí podvodná aktivita. Další podrobnosti získáte od podpory.
4010 Zpráva se zablokovala kvůli neověřeným číslu bezplatné linky Kontrola neověřených limitů odesílání a co nejdříve odeslání bezplatného ověření
5000 Zpráva se nepodařilo doručit. Další podrobnosti získáte od týmu podpory Microsoftu. Vytvoření žádosti o podporu prostřednictvím webu Azure Portal
5001 Zpráva se nedoručila kvůli dočasné nedostupnosti aplikace nebo systému
5002 Dopravce nepodporuje oznámení o doručení Nejčastěji k tomu dochází v případě, že dopravce nepodporuje hlášení o doručení. Žádná akce se nevyžaduje, protože zpráva už možná byla doručena.
9999 Zpráva se nepodařilo doručit kvůli neznámé chybě nebo selhání Zkuste zprávu poslat znovu.