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. Další informace najdete na stránce věnované vyhrazené podpoře a možnostem nápovědy.

Pokud chcete pomoct s řešením určitých problémů, možná budete potřebovat jednu nebo více následujících informací:

  • ID MS-CV: Řešení potíží s voláními a zprávami
  • ID volání: Identifikace volání komunikačních služeb
  • ID zprávy SMS: Identifikace zpráv SMS.
  • Krátké ID programu kódu: Identifikujte krátkou stručnou aplikaci programu kódu.
  • Stručné ID kampaně pro ověření bezplatnou bezplatnou linkou: Identifikujte stručnou aplikaci pro ověření zdarma.
  • ID e-mailové zprávy: Identifikace žádostí o odeslání e-mailu
  • ID korelace: Identifikace požadavků provedených pomocí automatizace volání
  • Protokoly volání: K řešení potíží s voláním a sítí je možné použít podrobné informace.

Další informace o omezování a omezeních najdete v tématu Omezení služby.

Přístup k ID MS-CV

K ID MS-CV se dostanete konfigurací diagnostiky v instanci objektu clientOptions při inicializaci sad SDK. Diagnostiku můžete nakonfigurovat pro libovolnou sadu Azure SDK, včetně volání chatu, identity a VoIP.

Příklad možností klienta

Následující fragmenty kódu ukazují konfiguraci diagnostiky. Když povolíte diagnostiku sad SDK, můžou se podrobnosti diagnostiky pustit do nakonfigurovaného naslouchacího procesu událostí:

// 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 jsou problémy se správou volání nebo záznamem, musíte shromáždit ID, která pomáhají identifikovat neúspěšné volání nebo operaci. Můžete zadat jednu z následujících dvou ID.

  • 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í aplikace obdrží po provedení akce. Můžete například CallConnected PlayFailedvyhledat ID korelace.

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

Kromě jednoho z těchto ID musíte zadat podrobnosti o případu neúspěšného použití a časovém razítku, kdy k chybě došlo.

Přístup k ID volání klienta

Při řešení potíží s hlasovými hovory nebo videohovory call IDmožná budete muset poskytnout . Přístup k této hodnotě id prostřednictvím 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 části 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 části 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 možná budete muset zadat operation ID. K této hodnotě se dostanete 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 pohodlné metody pro přístup k souborům protokolu. Tyto soubory mohou sloužit cenným pracovníkům a technikům podpory Microsoftu. Tyto protokoly doporučujeme shromáždit, když zjistíte 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 následujícím způsobem:

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, odeslat 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 nepříznivě ovlivňuje 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 nabízí sada SDK pro volání služeb Azure Communication Services přístup k souborům protokolů.

Informace o volání nativních sad 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 podpůrných funkcích formuláře Podpora volajícího 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 popisuje cestu integrace se službami podpory používanými vaší organizací.

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 vašim zákazníků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:

    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