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
.A partir dos eventos de retorno de chamada, seu aplicativo recebe depois de executar uma ação. Por exemplo
CallConnected
, ouPlayFailed
, localize o correlationID.
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 ID
arquivo . 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.
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.
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 ID
arquivo . 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.
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:
Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.
No painel esquerdo, selecione Microsoft Entra ID.
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.
Obtendo a ID do aplicativo
Para encontrar o ID do aplicativo, siga estas etapas:
Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.
No painel esquerdo, selecione Microsoft Entra ID.
Em Registos de aplicações no Microsoft Entra ID, selecione a sua aplicação.
Copie o ID da Aplicação e armazene-o no código da aplicação.
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:
Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.
No painel esquerdo, selecione Microsoft Entra ID.
Em Usuários no Microsoft Entra ID, selecione seu usuário.
Na página Perfil nos usuários do Microsoft Entra, copie a ID do objeto e armazene-a no código do aplicativo.
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:
- Navegue até o portal do Azure e entre no portal do Azure usando as credenciais.
- Abra o recurso do Serviço de Comunicação.
- No painel esquerdo, selecione Visão geral e alterne para um modo de exibição JSON
- Na página JSON de recursos, copie o
immutableResourceId
valor e forneça-o à sua equipe de suporte.
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:
- Abra o navegador e navegue até o cliente da Web do Teams.
- Inicie sessão com credenciais que tenham uma licença válida do Teams.
- 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:
Abra o navegador e navegue até o Graph Explorer
Entre no Graph Explorer usando as credenciais.
Na caixa de consulta, digite a seguinte API e clique em Executar consulta :
https://graph.microsoft.com/v1.0/me/licenseDetails
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
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" } ] } ] }
Encontre detalhes da licença onde a propriedade
servicePlanName
tem um dos valores na tabela Licenças de equipes qualificadas
Artigos relacionados
- Solução de problemas de falhas de chamada PSTN dos Serviços de Comunicação do Azure.
- Solução de problemas de códigos de resposta de fim de chamada para SDK de chamada, SDK de automação de chamadas, PSTN, SDK de bate-papo e SDK de SMS.
- Logs de acesso para voz e vídeo, chat, e-mail, travessia de rede, gravação, SMS e automação de chamadas.
- Métricas.
- Limites de serviço.