Интеграция с инфраструктурой NB-IoT МТС. Теория и практика. Часть 3

И снова здравствуйте! Мы продолжаем рассказывать о составе и основных принципах работы инфраструктуры NB-IoT в рамках цикла статей «Интеграция с инфраструктурой NB-IoT МТС». Вот первая и вторая части. 

Сегодня разговор пойдёт об «М2М-менеджере». Это платформа МТС и связанная с ней услуга, предоставляющая возможность получения объективной и полной статусной, статистической и иной информации о процессе эксплуатации SIM-карт в устройствах и приборах в классических сетях 2G, 3G, LTE и NB-IoT, включая режим non-IP (NIDD).

bbad0afe3610edfc382f824374273710.png

Общие сведения об M2M-менеджере

Взаимосвязи платформы «М2М-менеджер» с ядром сети МТС

Взаимосвязи платформы «М2М-менеджер» с ядром сети МТС

Платформа связана с основными узлами сети МТС, что позволяет производить мониторинг и выполнение операций управления SIM-картами и услугами online, например:

  • получение информации о состоянии SIM-карты

  • управление доступными каналами связи

  • контроль расходов

  • проведение диагностики

  • настройка уведомлений по событиям

  • определение местоположения SIM-карты

  • отправки сообщений на устройства

  • контроль соответствия IMSI-IMEI (TAC)

  • подключение и настройка услуг M2M

В рамках услуги предоставляются Web- и API-интерфейсы для доступа к платформе и управления SIM-картами. Клиентский web-интерфейс располагается здесь. 

Настройка NIDD в М2М-менеджере

7e8f5be3625abc214d387163e1edafb0.jpg


Для настройки сервисов NIDD необходимо войти в личный кабинет М2М-менеджера и перейти в раздел NIDD APN, далее создать APN и ID приложения.

В форме потребуется заполнить поля, как показано на рисунке:  

•  Тип: внутренняя
•  APN: произвольно
•  APN-профиль: APN_M2M_CONF
•  ID приложения: произвольно

Параметры APN можно импортировать из файлов типа *.txt, *.json, *.pdf, *.html. Для импорта нужно нажать «Выберите файл», в открывшемся диалоге выбираем необходимый файл. Далее потребуется перейти в центр управления NB-IoT и выбрать целевую SIM-карту, как показано на рисунке ниже. 

В открывшемся окне, содержащем информацию о целевой SIM-карте, переходим в раздел «Профиль», где выбираем «Создать External ID устройства».

Выбор целевой SIM-карты

Выбор целевой SIM-карты

Создание External ID устройства

Создание External ID устройства

Далее нужно перейти в раздел «Услуги», после чего подключить услугу «NB-IoT М2М Менеджер 2.0 SCEF APN». Убедиться, что подключена услуга «NIDD Пакет сообщений». Если услуга не подключена, подключить её.

Подключение услуг

Подключение услуг

Потом нужно перейти в раздел NIDD APN. Убедиться, что соответствующий APN включён для целевой SIM-карты.

Подключение NIDD APN

Подключение NIDD APN

А теперь потребуется перейти в раздел «Центр управления NB-IoT» > «NIDD Безопасность». Здесь создаём новое правило, название можно указать произвольное. Второе поле ограничивает доступ со стороны AS (application server). Временно можно установить 0.0.0.0/0, что сделает доступным работу с любым AS без ограничения по IP-адресу. Правда, это решение может не работать в связи с повышенными требованиями к безопасности, поэтому лучше сразу указать белый список адресов, с которых будут приходить запросы к М2М-менеджеру.

Создание правила безопасности

Создание правила безопасности

Переходим в раздел «Центр управления NB-IoT» > «NIDD Аккаунты». Здесь потребуется создать учётную запись, указать логин, пароль. Именно эта связка логин-пароль будет использоваться для формирования REST-запросов на М2М-менеджер — например, создание NIDD-подписки. Далее необходимо выбрать IP, указанный ранее в разделе «NIDD Безопасность», и выбрать «ID приложения: Внутренние».

Создание учётной записи NIDD

Создание учётной записи NIDD

Создание подписки NIDD

Подписка NIDD — это правило, указывающее М2М-менеджеру, куда необходимо отправлять данные, полученные с устройства. Для создания подписки необходимо отправить на М2М-менеджер HTTP REST-запрос с использованием метода POST.

Формат URL для отправки запроса:

https://m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/  ID_приложения  /configurations,

где ID_приложения создан ранее на этапе настройки NIDD. Необходимо также правильно указать параметры запроса. Заголовок Headers HTTP-запроса должен содержать следующие поля:

Content-Type : application/json

Authorization: Basic <параметры доступа>, где параметры доступа — строка вида логин: пароль в кодировке Base64. Например, значение Authorization для пользователя user с паролем userpassword будет иметь вид:  

Authorization : Basic dXNlcjp1c2VycGFzc3dvcmQ=

Для приведения пары логин: пароль к Base64 можно использовать любой онлайн-Base64-кодировщик, например этот: http://base64.ru/.

Обратите внимание: для отправки REST-запросов на М2М-менеджер необходимо использовать пару логин: пароль, указанную на этапе создания учётной записи NIDD. Также необходимо иметь в виду, что в зависимости от требуемого уровня безопасности REST-запросы будут приниматься М2М-менеджером только с IP-адресов, указанных в белом списке. Тело HTTP-запроса представляет собой JSON-структуру вида:

{
   "externalId":"m2m.default1@133304899999.iot.mts.ru",
   "duration":"2022-12-31T20:31:47Z",
   "notificationDestination":"http://test.mts.ru/test",
   "pdnEstablishmentOption":"WAIT_FOR_UE",
   "reliableDataService":false,
   "maximumPacketSize":65535
}

где externalID — созданный ранее идентификатор устройства, duration — срок окончания действия подписки, notificationDestination — адрес URL Сервера приложений, на который необходимо отправлять информацию, полученную с устройства, и ещё три параметра, как указано ниже, без изменения.

Для отправки REST HTTP-запросов удобно использовать инструмент Postman, который может быть получен по адресу https://www.postman.com/downloads/ абсолютно бесплатно. 

d1702dca44410a1adb436d89e03af54c.jpg

Формирование HTTP-запроса в Postman и ответ от M2M-менеджера

В ответном сообщении на POST-запрос М2М-менеджер вышлет идентификатор подписки ID и её статус — ACTIVE. Идентификатор подписки необходимо сохранить, так как он может понадобиться в дальнейшем для изменения или отмены подписки.

a45ed0c64b418a375a80163432bee9ff.jpg

Указание параметров аутентификации в Postman

На скриншотах выше приведён пример формирования и отправки при помощи Postman-запроса на создание подписки.

Обратите внимание: Postman самостоятельно сформирует и вставит в заголовок запроса информацию о логине и пароле, предварительно закодировав их в Base64.

9d438a0ff0e61b71e356711d1fdc27c0.jpg

Формирование ключей заголовка запроса

После создания подписки устройство может зарегистрироваться в сети NB-IoT с контекстом NONIP и передать данные в любой момент времени. Сеть будет передавать данные, полученные с устройства, по подписке на Сервер приложений по указанному при создании подписки адресу.

Отправка данных с Сервера приложений на устройство

Для передачи данных на устройство Сервер приложений должен сформировать и отправить на адрес М2М-менеджера HTTP POST-запрос. Адрес для отправки запроса:  https://m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/  ID_приложения  /configurations/  ID_подписки  / downlink-data-deliveries/,

где ID_приложения создан ранее на этапе настройки NIDD APN. ID_подписки — идентификатор подписки, полученный от М2М-менеджера в результате успешного создания подписки. Необходимо также правильно сформировать заголовок и тело запроса. Заголовок запроса формируется по аналогии с тем, как это сделано при создании подписки, например:

Content-Type : application/json
Authorization : Basic dXNlcjp1c2VycGFzc3dvcmQ=

Обращаем внимание, что для отправки REST-запросов на М2М-менеджер необходимо использовать пару логин: пароль, указанную на этапе создания учётной записи NIDD. Также необходимо иметь в виду, что в зависимости от требуемого уровня безопасности REST-запросы будут приниматься М2М-менеджером только с IP-адресов, указанных в белом списке. 

Тело HTTP-запроса представляет собой JSON-структуру вида:

{
   "externalId":"m2m.default1@133304899999.iot.mts.ru",
   "reliableDataService":true,
   "priority":1,
   "pdnEstablishmentOption":"WAIT_FOR_UE",
   "duration":1000,
   "data":"SGVsbG8="
}

где externalID — созданный ранее идентификатор устройства, duration — срок жизни запроса, параметры reliableDataService, priority и pdnEstablishmentOption — как указано в примере, без изменений. Поле payload — данные, передаваемые на устройство в кодировке Base64.

Ниже на рисунке приведён пример запроса, выполненный в приложении Postman.

be9577bb80aaaab4c7679eb1df7a1391.jpg

Пример передачи данных на устройство с использованием Postman

Настройка группы SIM-карт

Использование группировки SIM-карт позволяет осуществлять над ними групповые однотипные операции, такие как массовое подключение или отключение услуг, установка externalID по маске и т. д.

Для создания группы SIM-карт необходимо войти в Личный кабинет М2М-менеджера и перейти в раздел «Центр управления NB-IoT», выбрать нужные номера, отметив их галочками, после чего нажать »+».

d0932e5f9984e2d59476e00380b4ef71.jpg

Выбор SIM-карт для создания группы

В появившемся окне создания группы указать необходимые параметры, нажать «Сохранить».

973ee37de2cbea12cfa7339f3d08889a.jpg

 Указание параметров группы SIM-карт при создании

Далее для созданной группы необходимо назначить APN.

4cee7a0cfee91fabcb79e8f6ba550127.jpg

Назначение APN вновь созданной группе SIM-карт

В появившемся окне установить для созданной группы параметры APN. Нажать «Сохранить».

  Изменение APN группы SIM-карт                               Контроль установки нового значения APN

  Изменение APN группы SIM-карт Контроль установки нового значения APN

Для того чтобы убедиться, что операция прошла успешно, рекомендуется выполнить контрольную проверку на одном из номеров, входящих в группу.

В разделе «Управление услугами» нужно выбрать услугу «NB-IoT. M2M Менеджер 2.0. SCEF APN», далее активировать её для выбранной группы SIM-карт. А затем проверить правильность выполнения операции на одном из номеров, входящих в группу.

897677ab940d3d4943ca431574fafed4.jpg

Выбор услуги «NB-IoT. M2M Менеджер 2.0. SCEF APN»

В разделе «Управление услугами» аналогично выбираем услугу «NIDD. Пакет сообщений (год)» и проверяем правильность выполнения операции.

33f0f30b6a20854f34d401d01d409053.jpg

Активация услуги для группы SIM-карт

6f368c60bdf16a013a5b9b295bc8b23a.jpg

Проверка успешности активации услуги

На этом всё! Если тема статьи вам интересна, не переключайтесь, вскоре опубликуем новую статью. Если есть вопросы, предложения, задавайте в комментариях, постараемся ответить.

© Habrahabr.ru