Solução de problemas nos Serviços de Comunicação do Azure

Este documento ajuda você a solucionar problemas que podem ocorrer em sua solução de Serviços de Comunicação. Se você estiver solucionando problemas de SMS, poderá habilitar o relatório de entrega com a Grade de Eventos para capturar detalhes de entrega de SMS.

Obter ajuda

Incentivamos os desenvolvedores a enviar perguntas, sugerir recursos e relatar problemas como problemas. Para obter mais informações, consulte a página dedicada de opções de suporte e ajuda.

Para ajudá-lo a solucionar determinados problemas, talvez você precise de uma ou mais das seguintes informações:

  • ID do MS-CV: solucione problemas de chamadas e mensagens.
  • ID da chamada: identifique as chamadas dos Serviços de Comunicação.
  • ID da mensagem SMS: identifique as mensagens SMS.
  • Short Code Program Brief ID: Identifique um aplicativo breve do programa de código curto.
  • ID breve da campanha de verificação gratuita: identifique um aplicativo de resumo da campanha de verificação gratuita.
  • ID da mensagem de e-mail: identifique as solicitações de envio de e-mail.
  • ID de correlação: identifique solicitações feitas usando a automação de chamadas.
  • Registros de chamadas: contêm informações detalhadas que podem ser usadas para solucionar problemas de chamadas e de rede.

Para obter mais informações sobre limitação e limitações, consulte Limites de serviço.

Aceda ao seu ID MS-CV

Você pode acessar a ID MS-CV configurando diagnósticos na instância do clientOptions objeto ao inicializar seus SDKs. Você pode configurar diagnósticos para qualquer SDK do Azure, incluindo Chat, Identidade e chamadas VoIP.

Exemplo de opções do cliente

Os trechos de código a seguir demonstram a configuração de diagnóstico. Quando você habilita o diagnóstico para SDKs, os detalhes do diagnóstico podem ser emitidos para o ouvinte de eventos configurado:

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

IDs de acesso necessários para automação de chamadas

Ao solucionar problemas com o SDK de automação de chamadas, como gerenciamento de chamadas ou problemas de gravação, você precisa coletar as IDs que ajudam a identificar a chamada ou operação com falha. Você pode fornecer uma das duas IDs a seguir.

  • No cabeçalho da resposta da API, localize o campo X-Ms-Skype-Chain-Id.

    Captura de ecrã do cabeçalho de resposta a mostrar X-Ms-Skype-Chain-Id.

  • A partir dos eventos de retorno de chamada, seu aplicativo recebe depois de executar uma ação. Por exemplo CallConnected , ou PlayFailed, localize o correlationID.

    Captura de tela do evento de chamada desconectada mostrando a ID de correlação.

Além de uma dessas IDs, você precisa fornecer detalhes sobre o caso de uso com falha e o carimbo de data/hora quando a falha ocorreu.

Aceda ao seu ID de chamada de cliente

Ao solucionar problemas de chamadas de voz ou vídeo, talvez seja necessário fornecer um call IDarquivo . Aceda a este valor através da id propriedade do call objeto:

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

Aceda ao seu ID de mensagem SMS

Para problemas de SMS, você pode coletar o ID da mensagem do objeto de resposta.

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

Aceda ao seu breve ID do programa de código curto

Encontre a ID de resumo do programa no portal do Azure na seção Códigos curtos.

Captura de tela mostrando um código curto do programa breve ID.


Aceda ao ID breve da sua campanha de verificação gratuita

Encontre a ID breve do programa no portal do Azure na seção Documentos regulamentares.

Captura de ecrã a mostrar um ID breve da campanha de verificação gratuita.


Aceda ao seu ID de operação de e-mail

Ao solucionar problemas de solicitações de status de enviar e-mail ou mensagem de email, talvez seja necessário fornecer um operation IDarquivo . Você pode acessar esse valor na resposta:

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

Acessando arquivos de suporte no SDK de chamada

Chamar o SDK fornece métodos convenientes para acessar os arquivos de log. Esses arquivos podem ser valiosos para especialistas e engenheiros de suporte da Microsoft. Recomendamos que você colete esses logs quando detetar um problema.

Habilitar e acessar registros de chamadas

[JavaScript]

O SDK de Chamada dos Serviços de Comunicação do Azure depende internamente da biblioteca @azure/logger para controlar o log.

Use o setLogLevel @azure/logger método do pacote para configurar o nível de saída do log. Crie um logger e passe-o para o CallClient construtor da seguinte maneira:

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

Você pode usar o AzureLogger para redirecionar a saída de log dos SDKs do Azure substituindo o AzureLogger.log método:

Você pode fazer login no console do navegador, um arquivo, buffer, enviar para o nosso próprio serviço, e assim por diante. Se você vai enviar logs pela rede para seu próprio serviço, não envie uma solicitação por linha de log porque isso afeta negativamente o desempenho do navegador. Em vez disso, acumule linhas de logs e envie-as em lotes.

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

SDK nativo (Android/iOS)

Para Android, iOS e Windows, o SDK de Chamada dos Serviços de Comunicação do Azure oferece acesso a arquivos de log.

Para chamar SDKs nativos, consulte os tutoriais de acesso ao arquivo de log

Bibliotecas de interface do usuário (Android, iOS)

Se estiver a utilizar as Bibliotecas de IU dos Serviços de Comunicação do Azure para Android ou iOS, pode solicitar comentários dos utilizadores através do formulário de suporte incorporado.

Para obter mais informações sobre as funções de suporte do formulário Chamando suporte da interface do usuário, consulte o tutorial de integração do formulário de suporte. Este documento orienta você através da adição do manipulador de eventos necessário e da criação de uma implementação básica cliente/servidor para armazenamento centralizado de informações de suporte. Este guia descreve o caminho para a integração com os serviços de suporte usados pela sua organização.

Criando fluxos de suporte de ponta a ponta em suas integrações ACS

Quer esteja a utilizar o SDK de Chamada ou o SDK da IU de Chamada, fornecer suporte aos seus clientes é um componente fundamental de qualquer integração robusta. O documento a seguir destaca as principais considerações em cada ponto do ciclo de feedback do Suporte e fornece pontos de partida para saber mais.

Fornecendo suporte ao usuário


Localizando informações do Microsoft Entra

  • Obtendo ID de diretório
  • Obtendo a ID do aplicativo
  • Obter ID de utilizador

Obtendo ID de diretório

Para localizar o ID do diretório (locatário), siga estas etapas:

  1. Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.

  2. No painel esquerdo, selecione Microsoft Entra ID.

  3. Na página Visão geral na ID do Microsoft Entra, copie a ID do diretório (locatário) e armazene-a no código do aplicativo.

    Captura de ecrã de como copiar o ID de inquilino do Microsoft Entra e armazená-lo.

Obtendo a ID do aplicativo

Para encontrar o ID do aplicativo, siga estas etapas:

  1. Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.

  2. No painel esquerdo, selecione Microsoft Entra ID.

  3. Em Registos de aplicações no Microsoft Entra ID, selecione a sua aplicação.

  4. Copie o ID da Aplicação e armazene-o no código da aplicação.

    Captura de tela de como copiar a ID do aplicativo Microsoft Entra e armazená-la.

    O ID do diretório (locatário) também pode ser encontrado na página de visão geral do aplicativo.

Obter ID de utilizador

Para encontrar o seu ID de utilizador, siga estes passos:

  1. Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.

  2. No painel esquerdo, selecione Microsoft Entra ID.

  3. Em Usuários no Microsoft Entra ID, selecione seu usuário.

  4. Na página Perfil nos usuários do Microsoft Entra, copie a ID do objeto e armazene-a no código do aplicativo.

    Captura de tela de como copiar o ID de usuário do Microsoft Entra e armazená-lo.

Obtendo ID de recurso imutável

Às vezes, você também precisa fornecer ID de recurso imutável do seu recurso do Serviço de Comunicação. Para encontrá-lo, siga estas etapas:

  1. Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.
  2. Abra o recurso do Serviço de Comunicação.
  3. No painel esquerdo, selecione Visão geral e alterne para um modo de exibição JSONCaptura de tela de como alternar a visão geral do recurso de comunicação para um modo de exibição JSON.
  4. Na página JSON de recursos, copie o immutableResourceId valor e forneça-o à sua equipe de suporte. Captura de tela do recurso JSON.

Verificação da elegibilidade da licença do Teams para usar o suporte dos Serviços de Comunicação do Azure para usuários do Teams

Há duas maneiras de verificar sua elegibilidade de Licença do Teams para usar o suporte dos Serviços de Comunicação do Azure para usuários do Teams:

  • Verificação via web client do Teams
  • Verificar a sua licença atual do Teams através da API do Microsoft Graph

Verificação via web client do Teams

Para verificar a elegibilidade da sua Licença do Teams através do web client do Teams, siga estes passos:

  1. Abra o navegador e navegue até o cliente da Web do Teams.
  2. Inicie sessão com credenciais que tenham uma licença válida do Teams.
  3. Se a autenticação for bem-sucedida e você permanecer no domínio, sua Licença do https://teams.microsoft.com/ Teams será elegível. Se a autenticação falhar ou você for redirecionado para o domínio, sua Licença do Teams não estará qualificada para usar o https://teams.live.com/v2/ suporte dos Serviços de Comunicação do Azure para usuários do Teams.

Verificar a sua licença atual do Teams através da API do Microsoft Graph

Você pode encontrar sua licença atual do Teams usando licenseDetails Microsoft Graph API que retorna as licenças atribuídas a um usuário. Siga estas etapas para usar a ferramenta Graph Explorer para exibir licenças atribuídas a um usuário:

  1. Abra o navegador e navegue até o Graph Explorer

  2. Entre no Graph Explorer usando as credenciais. Captura de ecrã de como iniciar sessão no Graph Explorer.

  3. Na caixa de consulta, digite a seguinte API e clique em Executar consulta :

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

    Captura de tela de como inserir a API no Graph Explorer.

    Ou você pode consultar um usuário específico fornecendo o ID do usuário usando a seguinte API:

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. O painel de visualização de resposta exibe a saída da seguinte maneira:

    O objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

    {
        "@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. Encontre detalhes da licença onde a propriedade servicePlanName tem um dos valores na tabela Licenças de equipes qualificadas