Устранение неполадок в Службах коммуникации Azure
Этот документ поможет вам устранить проблемы, которые могут возникнуть в решении служб коммуникации. Если вы устраняете неполадки с SMS, вы можете включить отчеты о доставке с помощью Сетки событий для сбора сведений о доставке SMS.
Получение справки
Мы советуем разработчикам отправлять вопросы, предлагать функции и сообщать о проблемах. Дополнительные сведения см. на странице выделенных параметров поддержки и справки.
Чтобы устранить некоторые проблемы, может потребоваться один или несколько следующих элементов информации:
- Идентификатор MS-CV: устранение неполадок с вызовами и сообщениями.
- Идентификатор вызова: определение вызовов служб коммуникации.
- Идентификатор SMS-сообщения: определение SMS-сообщений.
- Краткий идентификатор программы кода: определение краткого приложения кода.
- Краткий идентификатор кампании проверки бесплатной проверки: определение краткого приложения для бесплатной проверки.
- Идентификатор сообщения электронной почты: определение запросов на отправку электронной почты.
- Идентификатор корреляции. Определение запросов, выполненных с помощью службы автоматизации вызовов.
- Журналы вызовов: содержат подробные сведения, которые можно использовать для устранения проблем с вызовами и сетью.
Дополнительные сведения о регулировании и ограничениях см. в разделе "Ограничения службы".
Доступ к ИД MS-CV
Вы можете получить доступ к идентификатору MS-CV, настроив диагностика в экземпляре clientOptions
объекта при инициализации пакетов SDK. Вы можете настроить диагностика для всех вызовов Пакета SDK Azure, включая чат, удостоверение и VoIP.
Пример параметров клиента
В указанных ниже фрагментах кода показана конфигурация диагностики. Если включить диагностика для пакетов SDK, диагностика можно отправить в настроенный прослушиватель событий:
// 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) });
Идентификаторы доступа, необходимые для автоматизации вызовов
При устранении неполадок с пакетом SDK службы автоматизации вызовов( например, проблемы с управлением вызовами или записью), необходимо собрать идентификаторы, которые помогают определить неудачный вызов или операцию. Вы можете указать один из следующих двух идентификаторов.
В заголовке ответа API найдите поле
X-Ms-Skype-Chain-Id
.Из событий обратного вызова приложение получает после выполнения действия. Например
CallConnected
,PlayFailed
найдите идентификатор корреляции.
Помимо одного из этих идентификаторов, необходимо указать сведения о неудачном варианте использования и метке времени при возникновении сбоя.
Доступ к идентификатору вызова клиента
При устранении неполадок голосовых или видеозвонков может потребоваться предоставить call ID
. Доступ к этому значению через id
свойство call
объекта:
// `call` is an instance of a call created by `callAgent.startCall` or `callAgent.join` methods
console.log(call.id)
Доступ к ИД SMS-сообщений
При проблемах с SMS идентификатор сообщения можно получить из объекта ответа.
// 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
}
Доступ к короткому идентификатору программы кода
Найдите краткий идентификатор программы на портал Azure в разделе "Короткие коды".
Доступ к краткому идентификатору кампании проверки бесплатного доступа
Найдите краткий идентификатор программы на портал Azure в разделе "Нормативные документы".
Доступ к идентификатору операции электронной почты
При устранении неполадок при отправке запросов на отправку сообщения электронной почты или сообщения электронной почты может потребоваться предоставить operation ID
запрос. Вы можете получить доступ к этому значению в ответе:
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}");
Доступ к файлам поддержки в пакете SDK для вызовов
Вызывающий пакет SDK предоставляет удобные методы для доступа к файлам журналов. Эти файлы могут служить ценным специалистам и инженерам службы поддержки Майкрософт. Мы рекомендуем собирать эти журналы при обнаружении проблемы.
Включение и доступ к журналам вызовов
[JavaScript]
Пакет SDK для вызовов Службы коммуникации Azure используется внутри библиотеки @azure или средства ведения журнала для управления ведением журнала.
setLogLevel
Используйте метод из пакета для настройки уровня выходных @azure/logger
данных журнала. Создайте средство ведения журнала и передайте его в CallClient
конструктор следующим образом:
import { setLogLevel, createClientLogger, AzureLogger } from '@azure/logger';
setLogLevel('verbose');
let logger = createClientLogger('ACS');
const callClient = new CallClient({ logger });
AzureLogger можно использовать для перенаправления выходных данных ведения журнала из пакетов SDK Azure, переопределив AzureLogger.log
метод:
Вы можете войти в консоль браузера, файл, буфер, отправить в собственную службу и т. д. Если вы собираетесь отправлять журналы по сети в собственную службу, не отправляйте запрос на строку журнала, так как это негативно влияет на производительность браузера. Вместо этого накапливайте строки журналов и отправляйте их в пакеты.
// Redirect log output
AzureLogger.log = (...args) => {
// To console, file, buffer, REST API, etc...
console.log(...args);
};
Собственный пакет SDK (Android/iOS)
Для Android, iOS и Windows пакет SDK для вызовов Службы коммуникации Azure предоставляет доступ к файлам журналов.
Сведения о вызове собственных пакетов SDK см. в руководствах по доступу к файлам журнала
Библиотеки пользовательского интерфейса (Android, iOS)
Если вы используете библиотеки пользовательского интерфейса Службы коммуникации Azure для Android или iOS, вы можете запросить отзывы пользователей с помощью встроенной формы поддержки.
Дополнительные сведения о функциях поддержки формы поддержки вызывающего пользовательского интерфейса см. в руководстве по интеграции формы поддержки. В этом документе описано, как добавить необходимый обработчик событий и создать базовую реализацию клиента или сервера для централизованного хранения сведений о поддержке. В этом руководстве описывается путь интеграции со службами поддержки, используемыми вашей организацией.
Создание конечных потоков поддержки в интеграции ACS
Независимо от того, используете ли вы пакет SDK для вызова или пакет SDK для пользовательского интерфейса для звонков, предоставление поддержки клиентам является ключевым компонентом любой надежной интеграции. В следующем документе рассматриваются ключевые аспекты каждого цикла отзывов о поддержке и предоставляются дополнительные сведения о переходе.
Предоставление поддержки пользователей
Поиск сведений о Microsoft Entra
- Получение идентификатора каталога
- Получение идентификатора приложения
- Получение идентификатора пользователя
Получение идентификатора каталога
Чтобы найти идентификатор каталога (клиента), выполните следующие действия.
Перейдите на портал Azure и выполните вход с использованием учетных данных.
В левой области выберите идентификатор Microsoft Entra.
На странице обзора в идентификаторе Microsoft Entra скопируйте идентификатор каталога (клиента) и сохраните его в коде приложения.
Получение идентификатора приложения
Чтобы найти идентификатор приложения, выполните следующие действия.
Перейдите на портал Azure и выполните вход с использованием учетных данных.
В левой области выберите идентификатор Microsoft Entra.
В Регистрация приложений в идентификаторе Microsoft Entra выберите приложение.
Скопируйте идентификатор приложения и сохраните его в коде приложения.
Идентификатор каталога (арендатора) также можно найти на странице обзора приложения.
Получение идентификатора пользователя
Чтобы найти идентификатор пользователя, выполните следующие действия.
Перейдите на портал Azure и выполните вход с использованием учетных данных.
В левой области выберите идентификатор Microsoft Entra.
В разделе "Пользователи " в идентификаторе Microsoft Entra выберите пользователя.
На странице профилей пользователей Microsoft Entra скопируйте идентификатор объекта и сохраните его в коде приложения.
Получение неизменяемого идентификатора ресурса
Иногда также необходимо указать неизменяемый идентификатор ресурса службы коммуникации. Чтобы найти его, выполните следующие действия.
- Перейдите на портал Azure и выполните вход с использованием учетных данных.
- Откройте ресурс Службы коммуникации.
- В левой области выберите "Обзор" и перейдите в представление JSON
- На странице JSON ресурса скопируйте значение и предоставьте
immutableResourceId
его группе поддержки.
Проверка прав на лицензию Teams для использования Службы коммуникации Azure поддержки для пользователей Teams
Существует два способа проверить право лицензии Teams на использование Службы коммуникации Azure поддержки для пользователей Teams:
- Проверка через веб-клиент Teams
- Проверка текущей лицензии Teams с помощью API Microsoft Graph
Проверка через веб-клиент Teams
Чтобы проверить соответствие лицензии Teams через веб-клиент Teams, выполните следующие действия.
- Откройте браузер и перейдите к веб-клиенту Teams.
- Войдите с учетными данными, имеющими действительную лицензию Teams.
- Если проверка подлинности выполнена успешно, и вы остаетесь в домене https://teams.microsoft.com/ , ваша лицензия Teams имеет право. Если проверка подлинности завершается ошибкой или вы перенаправляетесь в https://teams.live.com/v2/ домен, лицензия Teams не может использовать Службы коммуникации Azure поддержку для пользователей Teams.
Проверка текущей лицензии Teams с помощью API Microsoft Graph
Вы можете найти текущую лицензию Teams с помощью API Microsoft Graph licenseDetails , который возвращает лицензии, назначенные пользователю. Выполните следующие действия, чтобы использовать средство обозревателя Graph для просмотра лицензий, назначенных пользователю:
Откройте браузер и перейдите в обозреватель Graph
Войдите в обозреватель Graph с помощью учетных данных.
В поле запроса введите следующий API и нажмите кнопку "Выполнить запрос ".
https://graph.microsoft.com/v1.0/me/licenseDetails
Или вы можете запросить конкретного пользователя, предоставив идентификатор пользователя с помощью следующего API:
https://graph.microsoft.com/v1.0/users/{id}/licenseDetails
В области предварительного просмотра ответа отображаются следующие выходные данные:
Объект ответа, показанный здесь, может быть сокращен для удобства.
{ "@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" } ] } ] }
Поиск сведений о лицензии, где свойство
servicePlanName
содержит одно из значений в таблице "Соответствующие лицензии Teams"
Связанные статьи
- Устранение неполадок Службы коммуникации Azure сбоях вызовов ТСОП.
- Устранение неполадок кодов ответа на вызовы для пакета SDK для вызовов, пакета SDK службы автоматизации вызовов, ТСОП, пакета SDK чата и пакета SDK SMS (./troubleshooting-codes.md).
- Доступ к журналам голосовой связи и видео, чата, электронной почты, обхода сети, записи, SMS и автоматизации звонков.
- Метрики.
- Ограничения служб.