Устранение неполадок в Службах коммуникации Azure
Этот документ поможет вам устранить проблемы, которые могут возникнуть в решении служб коммуникации. Если вы устраняете неполадки с SMS, вы можете включить отчеты о доставке с помощью Сетки событий для сбора сведений о доставке SMS.
Получение справки
Мы советуем разработчикам отправлять вопросы, предлагать функции и сообщать о проблемах. Чтобы помочь получить помощь, у нас есть выделенная страница поддержки и вариантов справки, в которую перечислены варианты поддержки.
Для устранения определенных типов проблем могут потребоваться указанные ниже сведения.
- Идентификатор MS-CV: этот идентификатор используется для устранения неполадок звонков и сообщений.
- Идентификатор вызова: этот идентификатор используется для идентификации вызовов служб коммуникации.
- Идентификатор SMS-сообщения: этот идентификатор используется для идентификации SMS-сообщений.
- Краткий идентификатор программы кода: этот идентификатор используется для определения краткого приложения программы кода.
- Краткий идентификатор кампании проверки бесплатной проверки: этот идентификатор используется для идентификации краткого приложения для бесплатной проверки.
- Идентификатор сообщения электронной почты: этот идентификатор используется для идентификации запросов на отправку электронной почты.
- Идентификатор корреляции: этот идентификатор используется для идентификации запросов, выполненных с помощью автоматизации вызовов.
- Журналы вызовов: эти журналы содержат подробные сведения, которые можно использовать для устранения проблем с вызовами и сетью.
Кроме того, ознакомьтесь с документацией по ограничениям службы для получения дополнительных сведений о регулировании и ограничениях.
Доступ к ИД MS-CV
Доступ к ИД MS-CV можно получить, настроив диагностику в экземпляре объекта clientOptions
при инициализации пакетов SDK. Диагностику можно настроить для любого из пакетов Azure SDK, в том числе для чата, удостоверений и вызовов 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"
Коды ошибок пакета SDK для вызовов
В пакете SDK для вызовов Служб коммуникации Azure используются следующие коды ошибок, которые помогут вам в устранении неполадок с вызовами. Эти коды ошибок предоставляются с помощью свойства call.callEndReason
после завершения вызова.
Код ошибки | Description | Предстоящее действие |
---|---|---|
403 | Запрещено / сбой проверки подлинности. | Убедитесь, что маркер Служб коммуникации действителен и не просрочен. |
404 | Вызов не найден. | Убедитесь, что номер, по которому вы звоните, или вызов, к которому вы присоединяетесь, существует. |
408 | Истекло время ожидания для контроллера вызовов. | В контроллере вызовов истекло время ожидания сообщений протокола от конечных точек пользователей. Убедитесь, что клиенты подключены и доступны. |
410 | Ошибка стека локальных носителей или инфраструктуры носителей. | Убедитесь, что вы используете последнюю версию пакета SDK в поддерживаемой среде. |
430 | Не удалось доставить сообщение в клиентское приложение. | Убедитесь, что клиентское приложение работает и доступно. |
480 | Удаленная конечная точка клиента не зарегистрирована. | Убедитесь, что удаленная конечная точка доступна. |
481 | Не удалось обработать входящий вызов. | Создайте запрос на поддержку на портале Azure. |
487 | Вызов отменен, локально отклонен, завершен из-за несоответствия конечной точки или не удалось создать предложение в отношении носителя. | Ожидаемое поведение. |
490, 491, 496, 497, 498 | Проблемы с сетью в локальной конечной точке. | Проверьте сеть. |
500, 503, 504 | Ошибка инфраструктуры Служб коммуникации. | Создайте запрос на поддержку на портале Azure. |
603 | Вызов глобально отклонен удаленным участником Служб коммуникации. | Ожидаемое поведение. |
Коды ошибок пакета SDK для службы автоматизации вызовов
Приведенные ниже коды ошибок предоставляются пакетом SDK службы автоматизации вызовов.
Код ошибки | Description | Необходимые действия |
---|---|---|
400 | Недопустимый запрос | Недопустимый входной запрос. Просмотрите сообщение об ошибке, чтобы определить, какие входные данные неверны. |
400 | Сбой воспроизведения | Убедитесь, что звуковой файл — WAV, 16KГц, Mono и убедитесь, что URL-адрес файла доступен в общедоступном формате. |
400 | Распознать сбой | Проверьте сообщение об ошибке. Сообщение выделяет, если этот сбой связан с истечением времени ожидания или если операция была отменена. Дополнительные сведения о кодах ошибок и сообщениях можно проверка нашим руководством по сбору входных данных пользователей. |
401 | Не авторизовано | Сбой проверки подлинности HMAC. Проверьте правильность строка подключения, используемой для создания CallAutomationClient. |
403 | Запрещено | Запрос запрещен. Убедитесь, что у вас есть доступ к ресурсу, к которому вы пытаетесь получить доступ. |
404 | Ресурс не найден | Вызов, на который вы пытаетесь действовать, не существует. Например, передача вызова, который уже отключен. |
429 | Слишком много запросов | Повторите попытку после задержки, предложенной в заголовке Retry-After, а затем экспоненциально обратно. |
500 | Внутренняя ошибка сервера. | Повторите попытку после задержки. Если он сохраняется, создайте запрос в службу поддержки. |
500 | Сбой воспроизведения | Создайте запрос на поддержку на портале Azure. |
500 | Распознать сбой | Проверьте сообщение об ошибке и убедитесь, что формат звукового файла действителен (WAV, 16KHz, Mono), если формат файла действителен, то отправьте запрос на поддержку через портал Azure. |
502 | Недопустимый шлюз | Повторите попытку после задержки с помощью нового http-клиента. |
Рассмотрим приведенные ниже советы при устранении некоторых проблем.
- Приложение не получает событие Сетки событий ВходящихCall: убедитесь, что конечная точка приложения проверена с помощью сетки событий во время создания подписки на события. Состояние подготовки для подписки на событие помечается успешно, если проверка прошла успешно.
- Получение ошибки "Поле CallbackUri недопустимо": служба автоматизации вызовов не поддерживает конечные точки HTTP. Убедитесь, что указанный URL-адрес обратного вызова поддерживает HTTPS.
- Действие PlayAudio не воспроизводит ничего: в настоящее время поддерживается только формат файла волны (.wav) для звуковых файлов. Звуковое содержимое в волновом файле должно быть моно (одноканально), 16-разрядные образцы с частотой выборки 16 000 (16 КГц).
- Действия в конечных точках ТСОП не работают: CreateCall, Transfer, AddParticipant и Redirect to phone numbers требует установки SourceCallerId в запросе на действие. Если вы не используете прямую маршрутизацию, исходный идентификатор вызывающего абонента должен быть номером телефона, принадлежащим ресурсу Служб коммуникации для успешного выполнения действия.
Ознакомьтесь с этой статьей , чтобы узнать о известных проблемах, отслеживаемых командой продуктов.
Коды ошибок пакета SDK для чата
В пакете SDK для чата Служб коммуникации Azure используются следующие коды ошибок, которые помогут вам в устранении неполадок в работе чата. Коды ошибок предоставляются через свойство error.code
в отклике на ошибку.
Код ошибки | Description | Предстоящее действие |
---|---|---|
401 | Не авторизовано | Убедитесь, что маркер Служб коммуникации действителен и не просрочен. |
403 | Запрещено | Убедитесь в том, что инициатор запроса имеет доступ к ресурсу. |
429 | Слишком много запросов | Убедитесь в том, что клиентское приложение обрабатывает этот сценарий понятным для пользователя способом. Если ошибка сохраняется, отправьте запрос в службу поддержки. |
503 | Служба недоступна | Создайте запрос на поддержку на портале Azure. |
Коды ошибок SMS
Пакет SDK Службы коммуникации Azure SMS использует следующие коды ошибок для устранения неполадок SMS. Коды ошибок предоставляются в поле "DeliveryStatusDetails" в отчете о доставке SMS.
Код ошибки | Description | Предстоящее действие |
---|---|---|
2000 | Сообщение успешно доставлено | |
4000 | Сообщение отклонено из-за обнаружения мошенничества | Убедитесь, что вы не превышаете максимальное количество сообщений, разрешенных для вашего числа |
4001 | Сообщение отклонено из-за недопустимого формата "Источник/Из" | Убедитесь, что число находится в формате E.164 и числовой формат находится в формате E.164 или Short code |
4002 | Сообщение отклонено из-за недопустимого формата назначения или числа | Убедитесь, что номер to находится в формате E.164 |
4003 | Сообщение не удалось доставить из-за неподдерживаемого назначения | Проверьте, поддерживается ли назначение, в который вы пытаетесь отправить |
4004 | Сообщение не удалось доставить, так как не существует номера назначения или назначения | Убедитесь, что число, на который вы отправляете, является допустимым |
4005 | Сообщение заблокировано оператором назначения | |
4006 | Число назначения или назначения недоступно | Попробуйте повторно отправить сообщение позже |
4007 | Номер назначения или назначения отказался от получения сообщений от вас | Помечайте номер назначения или номера как отказано, чтобы дальнейшие попытки сообщения не предпринимались к числу |
4008 | Превышено максимальное количество сообщений, разрешенных для профиля. | Убедитесь, что вы не превышаете максимальное количество сообщений, разрешенных для номера или используйте очереди для пакетной обработки сообщений. |
4009 | Сообщение отклонено системой прав Майкрософт | Чаще всего это происходит, если обнаружена мошенническая активность. Обратитесь в службу поддержки для получения дополнительных сведений |
4010 | Сообщение было заблокировано из-за отсутствия проверки бесплатного номера | Просмотр неотверенных ограничений отправки и отправка бесплатной проверки как можно скорее |
5000 | Сообщение не удалось доставить. Обратитесь в службу поддержки Майкрософт для получения дополнительных сведений | Отправьте запрос в службу поддержки с помощью портал Azure |
5001 | Сообщение не удалось доставить из-за временной недоступности приложения или системы | |
5002 | Оператор не поддерживает отчет о доставке | Чаще всего это происходит, если перевозчик не поддерживает отчеты о доставке. Никаких действий, необходимых в качестве сообщения, возможно, еще не было доставлено. |
9999 | Сообщение не удалось доставить из-за неизвестной ошибки или сбоя | Попробуйте повторно отправить сообщение |
Дополнительные сведения
- Доступ к журналам голосовой связи и видео, чата, электронной почты, записи, SMS и автоматизации звонков.
- API имени файла журнала для вызова пакета SDK
- Метрики
- Ограничения службы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по