Устранение неполадок в Службах коммуникации Azure
В этой статье описаны проблемы, которые могут возникнуть в решении Службы коммуникации Azure. При устранении неполадок с SMS можно включить отчеты о доставке с помощью Сетка событий Azure для записи сведений о доставке SMS.
Получить помощь
Мы советуем разработчикам отправлять вопросы, предлагать функции и сообщать о проблемах. Дополнительные сведения см. на странице выделенных параметров поддержки и справки.
Чтобы устранить некоторые проблемы, может потребоваться один или несколько следующих элементов информации:
- Идентификатор MS-CV: устранение неполадок с вызовами и сообщениями.
- Идентификатор вызова: определение Службы коммуникации Azure вызовов.
- Идентификатор 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 в разделе "Нормативные документы".
Доступ к идентификатору операции электронной почты
При устранении неполадок с состоянием отправки электронной почты или запросами на состояние сообщения электронной почты может потребоваться указать идентификатор операции. Вы можете получить доступ к этому значению в ответе.
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
Используйте следующие процедуры для поиска сведений о Microsoft Entra.
Получение идентификатора каталога
Чтобы найти идентификатор каталога (клиента), выполните следующие действия.
Войдите на портал Azure.
В меню службы выберите идентификатор Microsoft Entra.
На странице обзора в идентификаторе Microsoft Entra скопируйте идентификатор каталога (идентификатор клиента) и сохраните его в коде приложения.
Получение идентификатора приложения
Чтобы найти идентификатор приложения, выполните следующие действия.
Войдите на портал Azure.
В меню службы выберите идентификатор Microsoft Entra.
В Регистрация приложений в идентификаторе Microsoft Entra выберите приложение.
Скопируйте идентификатор приложения (клиента) и сохраните его в коде приложения.
Вы также можете найти идентификатор каталога (клиента) на странице обзора приложения.
Получение идентификатора пользователя
Чтобы найти идентификатор пользователя, выполните следующие действия.
Войдите на портал Azure.
В меню службы выберите идентификатор Microsoft Entra.
В разделе "Пользователи " в идентификаторе Microsoft Entra выберите пользователя.
На странице профиля для пользователей Microsoft Entra скопируйте идентификатор объекта и сохраните его в коде приложения.
Получение неизменяемого идентификатора ресурса
Иногда также необходимо указать неизменяемый идентификатор ресурса Службы коммуникации Azure ресурса. Чтобы найти его, выполните следующие действия.
Войдите на портал Azure.
Откройте ресурс Службы коммуникации Azure.
В меню службы выберите "Обзор" и перейдите в представление JSON.
На странице JSON ресурса скопируйте значение и предоставьте
immutableResourceId
его группе поддержки.
Проверка наличия лицензии Teams для использования Службы коммуникации Azure поддержки для пользователей Teams
Существует два способа проверить право лицензии Teams на использование Службы коммуникации Azure поддержки для пользователей Teams.
Проверка через веб-клиент Teams
Чтобы проверить соответствие лицензии Teams через веб-клиент Teams, выполните следующие действия.
- Откройте браузер и перейдите в веб-клиент Teams.
- Войдите с учетными данными, имеющими действительную лицензию Teams.
- Если проверка подлинности выполнена успешно, и вы остаетесь в домене
https://teams.microsoft.com/
, ваша лицензия Teams имеет право. Если проверка подлинности завершается ошибкой или вы перенаправляетесь вhttps://teams.live.com/v2/
домен, лицензия Teams не может использовать Службы коммуникации Azure поддержку для пользователей Teams.
Проверка текущей лицензии Teams с помощью API Microsoft Graph
Текущую лицензию Teams можно найти с помощью licenseDetails. API Microsoft Graph возвращает лицензии, назначенные пользователю. Выполните следующие действия, чтобы использовать средство обозревателя 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.
- Доступ к журналам голосовой связи и видео, чата, электронной почты, обхода сети, записи, SMS и автоматизации звонков.
- Метрики.
- Ограничения служб.