Compartir vía


Solución de problemas en Azure Communication Services

Este artículo le ayuda a solucionar problemas que puede experimentar en la solución de Azure Communication Services. Si va a solucionar problemas de SMS, puede habilitar los informes de entrega con Azure Event Grid para capturar los detalles de la entrega de SMS.

Obtener ayuda

Animamos a los desarrolladores a enviar sus preguntas, sugerir características y notificar incidencias. Para obtener más información, consulte la página opciones de soporte técnico y ayuda dedicados.

Para ayudarle a solucionar determinados tipos de problemas, es posible que se le pidan los siguientes datos:

  • Id. de MS-CV: solución de problemas de llamadas y mensajes.
  • Identificador de llamada: identificar llamadas de Azure Communication Services.
  • Identificador de mensaje SMS: identificar mensajes SMS.
  • Id. breve del programa de código corto: identificar una aplicación breve del programa de código corto.
  • Id. breve de la campaña de verificación gratuita: identificar una aplicación breve de campaña de verificación gratuita.
  • Id. de mensaje de correo electrónico: identificar solicitudes de envío de correo electrónico.
  • Id. de correlación: identificar las solicitudes realizadas mediante la automatización de llamadas.
  • Registros de llamadas: usar información detallada para solucionar problemas de llamadas y redes.

Para más información acerca del límite y las limitaciones, consulte Límites de servicio.

Acceso al identificador de MS-CV

Puede acceder al identificador de MS-CV mediante la configuración de diagnósticos en la instancia del objeto clientOptions al inicializar los SDK. Puede configurar diagnósticos para cualquier SDK de Azure, como los de chat, identidad y llamadas VoIP.

Ejemplo de opciones de cliente

Los fragmentos de código siguientes muestran la configuración del diagnóstico. Al habilitar diagnósticos para los SDK, se emiten detalles de diagnóstico a la escucha de eventos configurada.

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

Uso de identificadores de acceso para la automatización de llamadas

Al solucionar problemas con el SDK de Automatización de llamadas, como los de administración de llamadas o grabación, debe recopilar los identificadores que ayudan a identificar la llamada o la operación con errores. Puede proporcionar cualquiera de los dos identificadores siguientes:

  • Desde el encabezado de la respuesta de la API. Busque el campo X-Ms-Skype-Chain-Id.

    Recorte de pantalla en el que se muestra el encabezado de respuesta con X-Ms-Skype-Chain-Id.

  • Desde los eventos de devolución de llamada que recibe la aplicación después de ejecutar una acción. Por ejemplo, use CallConnected o PlayFailed, busque el Id. de correlación.

    Recorte de pantalla en el que se muestra un evento de llamada desconectada con el id. de correlación.

Además de uno de estos identificadores, debe proporcionar detalles sobre el caso de uso con errores y la marca de tiempo del error.

Acceso al id. de llamada de cliente

Al solucionar problemas de llamadas de voz o vídeo, es posible que tenga que proporcionar un valor call ID. Acceda a este valor desde la propiedad id del objeto call.

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

Acceso al identificador de mensajes de texto

En caso de problemas en los mensajes de texto, puede recopilar el identificador del mensaje del objeto de respuesta.

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

Acceso al id. breve del programa de código corto

Busque el identificador breve del programa en Azure Portal en la sección Códigos cortos.

Recorte de pantalla en el que se muestra un id. breve del programa de código corto.


Acceder al identificador breve de la campaña de verificación de número gratuito

Busque el identificador breve del programa en Azure Portal en la sección Documentos normativos.

Recorte de pantalla en el que se muestra un identificador breve de la campaña de verificación de número gratuito.


Acceso al identificador de la operación de correo electrónico

Al solucionar problemas de envío de solicitudes de estado de correo electrónico o de mensaje de correo electrónico, es posible que tenga que proporcionar un id. de operación. Puede acceder a este valor en la respuesta.

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

Acceso a archivos de soporte técnico en el SDK de Llamadas

El SDK de Llamadas proporciona métodos prácticos para acceder a los archivos de registro. Estos archivos pueden ayudar a los especialistas e ingenieros de soporte técnico de Microsoft. Se recomienda recopilar estos registros al detectar un problema.

Habilitación y acceso a los registros de llamadas

Obtenga información sobre cómo habilitar los registros de llamadas y acceder a ellos.

JavaScript

El SDK de llamadas de Azure Communication Services se basa internamente en la biblioteca @azure/logger para controlar el registro.

Use el método setLogLevel del paquete @azure/logger para configurar el nivel de salida del registro. Cree un registrador y páselo al constructor CallClient.

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

Puede usar AzureLogger para redirigir la salida de registro desde los SDK de Azure mediante la invalidación del método AzureLogger.log.

Puede realizar el registro en la consola del explorador, un archivo o un búfer. También puede realizar el envío a un servicio propio. Si va a enviar registros por la red a un servicio propio, no envíe una solicitud por línea de registro porque este método afecta negativamente al rendimiento del explorador. En su lugar, acumula las líneas de registros y las envía en lotes.

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

SDK nativo (Android/iOS)

Para Android, iOS y Windows, el SDK de llamadas de Azure Communication Services ofrece acceso a los archivos de registro.

Para obtener los SDK nativos de Llamadas, vea el tutorial de acceso a archivos de registro.

Bibliotecas de interfaz de usuario (Android, iOS)

Si usa las bibliotecas de interfaz de usuario de Azure Communication Services para Android o iOS, puede solicitar comentarios de los usuarios mediante el formulario de soporte técnico integrado.

Para más información sobre las funciones de soporte técnico del formulario de soporte técnico de la interfaz de usuario de llamadas, vea el tutorial de integración de formularios de soporte técnico. En este artículo se muestra cómo agregar el controlador de eventos necesario y crear una implementación básica de cliente o servidor para el almacenamiento centralizado de información de soporte técnico. En este artículo se describe la ruta de integración con los servicios de soporte técnico que se usan en la organización.

Creación de flujos de soporte técnico de un extremo a otro en las integraciones de ACS

Tanto si usa el SDK de llamadas como el SDK de interfaz de usuario de llamadas, proporcionar soporte técnico a los clientes es un componente clave de cualquier integración sólida.

En el artículo Soporte técnico para el usuario se resaltan las consideraciones clave en cada punto del bucle de comentarios de soporte técnico y se proporcionan puntos de partida para más información.


Búsqueda de información de Microsoft Entra

Use los procedimientos siguientes para buscar información de Microsoft Entra.

Obtención de un identificador de directorio

Para buscar el identificador de directorio (inquilino), siga estos pasos:

  1. Inicie sesión en Azure Portal.

  2. En el menú del servicio, seleccione Microsoft Entra ID.

  3. En página Información general de Microsoft Entra ID, copie el identificador de directorio (Id. de inquilino) y almacénelo en el código de la aplicación.

    Recorte de pantalla en el que se muestra cómo copiar el identificador de inquilino de Microsoft Entra y almacenarlo.

Obtención de un id. de aplicación

Para buscar el identificador de aplicación, siga estos pasos:

  1. Inicie sesión en Azure Portal.

  2. En el menú del servicio, seleccione Microsoft Entra ID.

  3. En Registros de aplicaciones en Microsoft Entra ID, seleccione la aplicación.

  4. Copie el valor Identificador de aplicación (cliente) y almacénelo en el código de la aplicación.

    Recorte de pantalla en el que se muestra cómo copiar el identificador de aplicación de Microsoft Entra y almacenarlo.

    También puede encontrar el id. de directorio (inquilino) en la página Información general de la aplicación.

Obtención de un id. de usuario

Para buscar el identificador de usuario, siga estos pasos:

  1. Inicie sesión en Azure Portal.

  2. En el menú del servicio, seleccione Microsoft Entra ID.

  3. En Usuarios en Microsoft Entra ID seleccione el usuario.

  4. En página Perfil de los usuarios de Microsoft Entra, copie el Id. de objeto y almacénelo en el código de la aplicación.

    Recorte de pantalla en el que se muestra cómo copiar el Id. de usuario de Microsoft Entra y almacenarlo.

Obtención de un identificador de recurso inmutable

A veces, también debe proporcionar el identificador de recurso inmutable del recurso de Azure Communication Services. Para encontrarlo, siga estos pasos:

  1. Inicie sesión en Azure Portal.

  2. Abra el recurso de Azure Communication Services.

  3. En el menú del servicio, seleccione Información general, y cambie a una Vista JSON.

    Recorte de pantalla en el que se muestra cómo cambiar una información general del recurso de Azure Communication Services a una vista JSON.

  4. En la página JSON de recursos, copie el valor immutableResourceId y proporciónelo al equipo de soporte técnico.

    Recorte de pantalla en el que se muestra la página JSON de recursos.

Comprobación de la idoneidad de la licencia de Teams a fin de utilizar el soporte técnico de Azure Communication Services para usuarios de Teams

Hay dos formas de comprobar si la licencia de Teams es idónea para utilizar el soporte técnico de Azure Communication Services para usuarios de Teams.

Comprobación desde el cliente web de Teams

Para comprobar la idoneidad de la licencia de Teams desde el cliente web de Teams, siga estos pasos:

  1. Abra el explorador y vaya al cliente web de Teams.
  2. Inicie sesión con unas credenciales que tengan una licencia válida de Teams.
  3. Si la autenticación se realiza correctamente y permanece en el dominio https://teams.microsoft.com/, la licencia de Teams es válida. Si se produce un error en la autenticación o se le redirige al dominio https://teams.live.com/v2/, la licencia de Teams no es apta para utilizar el soporte técnico de Azure Communication Services para usuarios de Teams.

Comprobación de la licencia actual de Teams mediante Microsoft Graph API

Puede encontrar la licencia actual de Teams mediante licenseDetails. Microsoft Graph API devuelve las licencias asignadas a un usuario. Siga estos pasos para usar la herramienta Probador de Graph para ver las licencias asignadas a un usuario.

  1. Abra el explorador y vaya a Probador de Graph.

  2. Inicie sesión en el Probador de Graph con las credenciales.

    Recorte de pantalla en el que se muestra cómo iniciar sesión en Probador de Graph.

  3. En el cuadro de consulta, escriba la API siguiente y seleccione Ejecutar consulta.

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

    Recorte de pantalla en el que se muestra cómo escribir una API en Probador de Graph.

    O bien, puede consultar un usuario determinado si proporciona el identificador de usuario mediante la API siguiente:

    https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
    
  4. En el panel Vista previa de la respuesta se muestra la salida.

    El objeto de respuesta que se muestra aquí se puede acortar para mejorar la legibilidad.

    {
        "@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. Busque los detalles de la licencia donde la propiedad servicePlanName tenga uno de los valores de la tabla Licencias válidas de Teams.