Udostępnij za pośrednictwem


Rozwiązywanie problemów w usługach Azure Communication Services

Ten artykuł ułatwia rozwiązywanie problemów, które mogą wystąpić w rozwiązaniu usług Azure Communication Services. Jeśli rozwiązujesz problemy z wiadomością SMS, możesz włączyć raportowanie dostarczania za pomocą usługi Azure Event Grid , aby przechwycić szczegóły dostarczania wiadomości SMS.

Uzyskaj pomoc

Zachęcamy deweloperów do przesyłania pytań, sugerowania funkcji i zgłaszania problemów jako problemów. Aby uzyskać więcej informacji, zobacz dedykowaną stronę pomocy technicznej i opcji pomocy.

Aby ułatwić rozwiązywanie niektórych problemów, może być konieczne wykonanie co najmniej jednej z następujących informacji:

  • Identyfikator MS-CV: Rozwiązywanie problemów z wywołaniami i komunikatami.
  • Identyfikator połączenia: identyfikowanie wywołań usług Azure Communication Services.
  • Identyfikator wiadomości SMS: zidentyfikuj wiadomości SMS.
  • Krótki identyfikator krótkiego programu kodu: zidentyfikuj krótką aplikację programu kodu.
  • Krótki identyfikator kampanii weryfikacyjnej bezpłatnej weryfikacji: zidentyfikuj krótką aplikację kampanii weryfikacji bezpłatnej.
  • Identyfikator wiadomości e-mail: zidentyfikuj wysyłanie żądań wiadomości e-mail .
  • Identyfikator korelacji: identyfikowanie żądań wysyłanych przy użyciu usługi Call Automation.
  • Dzienniki połączeń: użyj szczegółowych informacji, aby rozwiązać problemy z połączeniami i siecią.

Aby uzyskać więcej informacji na temat ograniczania przepustowości i ograniczeń, zobacz Limity usługi.

Uzyskiwanie dostępu do identyfikatora MS-CV

Dostęp do identyfikatora MS-CV można uzyskać, konfigurując diagnostykę w wystąpieniu clientOptions obiektu podczas inicjowania zestawów SDK. Możesz skonfigurować diagnostykę dla dowolnego zestawu Azure SDK, w tym czatu, tożsamości i wywołania voIP.

Przykład opcji klienta

Poniższe fragmenty kodu pokazują konfigurację diagnostyki. Po włączeniu diagnostyki zestawów SDK szczegóły diagnostyki są emitowane do skonfigurowanego odbiornika zdarzeń.

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

Używanie identyfikatorów dostępu do usługi Call Automation

W przypadku rozwiązywania problemów z zestawem SDK automatyzacji wywołań, takich jak zarządzanie wywołaniami lub problemy z rejestrowaniem, należy zebrać identyfikatory, które pomagają zidentyfikować nieudane wywołanie lub operację. Możesz podać jeden z następujących dwóch identyfikatorów:

  • Z nagłówka odpowiedzi interfejsu API. Znajdź pole X-Ms-Skype-Chain-Id.

    Zrzut ekranu przedstawiający nagłówek odpowiedzi z identyfikatorem X-Ms-Skype-Chain-Id.

  • Zdarzeń wywołania zwrotnego odbieranych przez aplikację po uruchomieniu akcji. Na przykład użyj polecenia CallConnected lub PlayFailed , aby zlokalizować identyfikator korelacji.

    Zrzut ekranu przedstawiający zdarzenie rozłączone z wywołaniem z identyfikatorem korelacji.

Oprócz jednego z tych identyfikatorów należy podać szczegółowe informacje o przypadku niepowodzenia użycia i sygnaturę czasową, gdy wystąpił błąd.

Uzyskiwanie dostępu do identyfikatora wywołania klienta

Podczas rozwiązywania problemów z połączeniami głosowym lub wideo może być konieczne podanie elementu call ID. Uzyskaj dostęp do tej wartości za pośrednictwem id właściwości call obiektu.

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

Uzyskiwanie dostępu do identyfikatora wiadomości SMS

W przypadku problemów z wiadomością SMS można zebrać identyfikator wiadomości z obiektu odpowiedzi.

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

Uzyskiwanie dostępu do krótkiego identyfikatora krótkiego programu kodu

Znajdź krótki identyfikator programu w witrynie Azure Portal w sekcji Krótkie kody .

Zrzut ekranu przedstawiający krótki identyfikator programu kodu.


Uzyskiwanie dostępu do krótkiego identyfikatora kampanii weryfikacji bezpłatnej

Znajdź krótki identyfikator programu w witrynie Azure Portal w sekcji Dokumenty regulacyjne.

Zrzut ekranu przedstawiający krótki identyfikator kampanii weryfikacji bezpłatnej.


Uzyskiwanie dostępu do identyfikatora operacji poczty e-mail

Podczas rozwiązywania problemów ze stanem wysyłania wiadomości e-mail lub żądaniami stanu wiadomości e-mail może być konieczne podanie identyfikatora operacji. Możesz uzyskać dostęp do tej wartości w odpowiedzi.

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

Uzyskiwanie dostępu do plików pomocy technicznej w zestawie SDK wywołującym

Zestaw SDK wywołujący udostępnia wygodne metody uzyskiwania dostępu do plików dziennika. Te pliki mogą pomóc specjalistom i inżynierom pomocy technicznej firmy Microsoft. Zalecamy zbieranie tych dzienników podczas wykrywania problemu.

Włączanie i uzyskiwanie dostępu do dzienników wywołań

Dowiedz się, jak włączyć dzienniki wywołań i uzyskać do nie dostępu.

JavaScript

Zestaw SDK wywołujący usługi Azure Communication Services opiera się wewnętrznie na bibliotece @azure/rejestratora w celu kontrolowania rejestrowania.

setLogLevel Użyj metody z @azure/logger pakietu, aby skonfigurować poziom danych wyjściowych dziennika. Utwórz rejestrator i przekaż go do konstruktora CallClient .

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

Możesz użyć AzureLogger polecenia , aby przekierować dane wyjściowe rejestrowania z zestawów SDK platformy Azure, przesłaniając metodę AzureLogger.log .

Możesz zalogować się do konsoli przeglądarki, pliku lub buforu. Możesz również wysłać do własnej usługi. Jeśli zamierzasz wysyłać dzienniki za pośrednictwem sieci do własnej usługi, nie wysyłaj żądania na wiersz dziennika, ponieważ ta metoda niekorzystnie wpływa na wydajność przeglądarki. Zamiast tego kumuluj wiersze dzienników i wysyłaj je w partiach.

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

Natywny zestaw SDK (Android/iOS)

W przypadku systemów Android, iOS i Windows zestaw SDK wywołujący usługi Azure Communication Services oferuje dostęp do plików dziennika.

Aby uzyskać informacje na temat wywoływania natywnych zestawów SDK, zobacz samouczek dotyczący dostępu do plików dziennika.

Biblioteki interfejsu użytkownika (Android, iOS)

Jeśli używasz bibliotek interfejsu użytkownika usług Azure Communication Services dla systemu Android lub iOS, możesz poprosić użytkowników o opinię za pomocą wbudowanego formularza pomocy technicznej.

Aby uzyskać więcej informacji na temat funkcji pomocy technicznej formularza obsługi wywoływania interfejsu użytkownika, zobacz Samouczek dotyczący integracji formularzy pomocy technicznej. W tym artykule pokazano, jak dodać niezbędną procedurę obsługi zdarzeń i utworzyć podstawową implementację klienta/serwera w celu scentralizowanego przechowywania informacji o pomocy technicznej. W tym artykule opisano ścieżkę integracji z usługami pomocy technicznej używanymi przez organizację.

Tworzenie przepływów kompleksowej obsługi w ramach integracji usług ACS

Niezależnie od tego, czy używasz zestawu SDK wywołującego, czy zestawu SDK interfejsu użytkownika wywołującego, zapewnienie obsługi klientom jest kluczowym składnikiem każdej niezawodnej integracji.

Artykuł Zapewnianie pomocy technicznej dla użytkowników wyróżnia kluczowe zagadnienia w każdym punkcie pętli opinii o pomocy technicznej i zawiera punkty szybkiego wyjścia, aby dowiedzieć się więcej.


Znajdź informacje o firmie Microsoft Entra

Skorzystaj z poniższych procedur, aby znaleźć informacje o firmie Microsoft Entra.

Pobieranie identyfikatora katalogu

Aby znaleźć identyfikator katalogu (dzierżawy), wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. W menu usługi wybierz pozycję Microsoft Entra ID.

  3. Na stronie Przegląd w usłudze Microsoft Entra ID skopiuj identyfikator katalogu (identyfikator dzierżawy) i zapisz go w kodzie aplikacji.

    Zrzut ekranu przedstawiający sposób kopiowania identyfikatora dzierżawy firmy Microsoft Entra i przechowywania go.

Pobieranie identyfikatora aplikacji

Aby znaleźć identyfikator aplikacji, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. W menu usługi wybierz pozycję Microsoft Entra ID.

  3. W Rejestracje aplikacji w polu Microsoft Entra ID wybierz aplikację.

  4. Skopiuj identyfikator aplikacji (klienta) i zapisz go w kodzie aplikacji.

    Zrzut ekranu przedstawiający sposób kopiowania identyfikatora aplikacji Microsoft Entra i przechowywania go.

    Identyfikator katalogu (dzierżawy) można również znaleźć na stronie Przegląd aplikacji.

Pobieranie identyfikatora użytkownika

Aby znaleźć identyfikator użytkownika, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. W menu usługi wybierz pozycję Microsoft Entra ID.

  3. W obszarze Użytkownicy w usłudze Microsoft Entra ID wybierz swojego użytkownika.

  4. Na stronie Profil dla użytkowników firmy Microsoft Entra skopiuj identyfikator obiektu i zapisz go w kodzie aplikacji.

    Zrzut ekranu przedstawiający sposób kopiowania identyfikatora użytkownika Entra firmy Microsoft i przechowywania go.

Pobieranie niezmiennego identyfikatora zasobu

Czasami należy również podać niezmienny identyfikator zasobu usług Azure Communication Services. Aby go znaleźć, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. Otwórz zasób usług Azure Communication Services.

  3. W menu usługi wybierz pozycję Przegląd i przejdź do widoku JSON.

    Zrzut ekranu przedstawiający sposób przełączania przeglądu zasobów usług Azure Communication Services na widok JSON.

  4. Na stronie Zasób JSON skopiuj immutableResourceId wartość i podaj ją zespołowi pomocy technicznej.

    Zrzut ekranu przedstawiający stronę Resource JSON (Zasób JSON).

Weryfikowanie uprawnień do licencji usługi Teams w celu korzystania z pomocy technicznej usług Azure Communication Services dla użytkowników usługi Teams

Istnieją dwa sposoby weryfikacji uprawnień licencji usługi Teams do korzystania z pomocy technicznej usług Azure Communication Services dla użytkowników usługi Teams.

Weryfikowanie za pośrednictwem klienta internetowego usługi Teams

Aby sprawdzić uprawnienia licencji usługi Teams za pośrednictwem klienta internetowego usługi Teams, wykonaj następujące kroki:

  1. Otwórz przeglądarkę i przejdź do klienta internetowego usługi Teams.
  2. Zaloguj się przy użyciu poświadczeń, które mają prawidłową licencję usługi Teams.
  3. Jeśli uwierzytelnianie zakończy się pomyślnie i pozostaniesz w domenie https://teams.microsoft.com/ , twoja licencja usługi Teams kwalifikuje się. Jeśli uwierzytelnianie nie powiedzie się lub nastąpi przekierowanie do https://teams.live.com/v2/ domeny, licencja usługi Teams nie kwalifikuje się do korzystania z pomocy technicznej usług Azure Communication Services dla użytkowników usługi Teams.

Sprawdzanie bieżącej licencji usługi Teams za pośrednictwem interfejsu API programu Microsoft Graph

Bieżącą licencję usługi Teams można znaleźć przy użyciu licencji LicenseDetails. Interfejs API programu Microsoft Graph zwraca licencje przypisane do użytkownika. Wykonaj następujące kroki, aby wyświetlić licencje przypisane do użytkownika za pomocą narzędzia Graph Explorer.

  1. Otwórz przeglądarkę i przejdź do Eksploratora programu Graph.

  2. Zaloguj się do Eksploratora programu Graph przy użyciu poświadczeń.

    Zrzut ekranu przedstawiający sposób logowania się do Eksploratora programu Graph.

  3. W polu zapytania wprowadź następujący interfejs API i wybierz pozycję Uruchom zapytanie.

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

    Zrzut ekranu przedstawiający sposób wprowadzania interfejsu API w Eksploratorze programu Graph.

    Możesz też wykonać zapytanie dotyczące określonego użytkownika, podając identyfikator użytkownika przy użyciu następującego interfejsu API:

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. W okienku Podgląd odpowiedzi są wyświetlane dane wyjściowe.

    Obiekt odpowiedzi pokazany tutaj może zostać skrócony w celu zapewnienia czytelności.

    {
        "@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. Znajdź szczegóły licencji, w których servicePlanName właściwość ma jedną z wartości w tabeli Kwalifikujące się licencje usługi Teams.