Как я могу получить качество звонков всех команд и совещаний с помощью Api Graph или аналогичного?

#azure #asp.net-core #notifications #httprequest #webhooks

Вопрос:

Я работал над решением для обеспечения качества аудио-и видеосвязи всех команд в компании.

https://docs.microsoft.com/de-de/learn/modules/msgraph-changenotifications-trackchanges/5-exercise-change-notifications

В Runtime-Ecxceptions я использую старую версию, в которой создаются видео. более старые источники, которые должны быть решены позже, но это не должно быть причиной для получения только некоторых уведомлений, а не всех.

Я попытался получить записи вызовов с помощью уведомления об изменении, и это частично сработало, но я получаю не все уведомления, а обработчик конечной точки работает более половины дня (12, 14 или 16 часов, я думаю).

Если я правильно понимаю. Доступ ко всем аудио-/видеовызовам облачной связи осуществлялся с помощью https://graph.microsoft.com/beta/communications/callRecords/ Если запись вызова относится к типу собрания, то задан параметр joinWebURL, который необходимо добавить в предложение filter-для получения соответствующего собрания.

  • Все онлайн-встречи отсутствуют
  • некоторые групповые вызовы прямая маршрутизация вызовов
  • и PSTN-звонки, которые я не проверял.

Моя созданная подписка:

 {
  "changeType": "created,updated",
  "notificationUrl": "https://a283-178-27-237-107.ngrok.io/api/notifications",
  "resource": "/communications/callRecords",
  "expirationDateTime": "2021-08-29T11:00:00.0000000Z"
}
 

Я брал на себя каждое создание или продление подписки за максимальное время 4230, но я пробовал это с помощью кратковременного продолжения и периодически продлевал подписку.

Мои настройки в зарегистрированном приложении

 // add permissions to registered app
CallRecord-PstnCalls.Read.All
CallRecords.Read.All
Calls.AccessMedia.All
Directory.Read.All
OnlineMeetings.Read.All
OnlineMeetings.ReadWrite.All
Reports.Read.All
User.Read.All
(OnlineMeetings is only a short    time added)
 

Я установил политику доступа к приложениям для этого приложения с помощью powershell.

Затем я попытался получить записи вызовов через Историю записей вызовов Центра администрирования команд. Но идентификатор там работал с пользователем, который создал встречу или звонок.

Я получил запрещенные сообщения, недопустимый токен… так что, похоже, приложение работает с разрешением delgate, но я установил разрешение приложения.Это могло бы прояснить, почему я не могу вызывать все записи.если я создал подписку на приложение, в котором есть appermision, веб-книга должна звонить по любому вызову.

Так что есть 2 большие проблемы:

  1. Почему не все уведомления отправляются?
  2. Как я могу получить действительный маркер доступа, который работает с разрешениями приложения, а не с разрешениями делегирования?

Обновление: Теперь, похоже, я получаю все уведомления, пункты 1 и 2 или несоответствующие? не используйте доступ почтальона к подпискам, я не получаю действительного токена для почтальона, что бы я ни пробовал (аутентификация Oauth2, копирующая токен из обработчика notificationurl), похоже, это действие политики доступа applicatiobn. У кого-нибудь есть решение для этого?

Обновление 15.09.2021:

Записи вызовов, похоже, работают нормально, произошла ошибка в среде почтальона. Я проигнорировал другие руководства и последовал инструкциям, чтобы использовать для этого postman от Microsoft (см. https://docs.microsoft.com/de-de/graph/use-postman). Создание подписки с разрешением приложения, и, похоже, я получаю все уведомления.

Так что получение всех уведомлений, похоже, работает. Так что я закрою его сейчас.

Комментарии:

1. Я не получаю никаких указаний на использование Postman с момента активации правила доступа к приложению , единственный способ, который я нашел, — это создать инструмент aopi для графов с теми же процедурами аутентификации, что и обработчик уведомлений. Но если есть способ аутентифицировать почтальона для работы с такими приложениями, я был бы признателен.

Ответ №1:

Записи вызовов, похоже, работают нормально, произошла ошибка в среде почтальона. Я проигнорировал другие руководства и последовал инструкциям, чтобы использовать для этого postman от Microsoft (см. https://docs.microsoft.com/de-de/graph/use-postman). Создание подписки с разрешением приложения, и, похоже, я получаю все уведомления.

Так что получение всех уведомлений, похоже, работает. Так что я мог бы вообще закрыть его, потому что по поводу вопроса в этом контексте нужны собственные вопросы.

Контрольная проверка, получаю ли я все уведомления, — это открытая точка по этому вопросу. Поэтому я жду несколько дней, если ответа нет, я закрываю этот вопрос.