Интеграция с инфраструктурой NB-IoT МТС. Теория и практика. Часть 3
И снова здравствуйте! Мы продолжаем рассказывать о составе и основных принципах работы инфраструктуры NB-IoT в рамках цикла статей «Интеграция с инфраструктурой NB-IoT МТС». Вот первая и вторая части.
Сегодня разговор пойдёт об «М2М-менеджере». Это платформа МТС и связанная с ней услуга, предоставляющая возможность получения объективной и полной статусной, статистической и иной информации о процессе эксплуатации SIM-карт в устройствах и приборах в классических сетях 2G, 3G, LTE и NB-IoT, включая режим non-IP (NIDD).
Общие сведения об M2M-менеджере
Взаимосвязи платформы «М2М-менеджер» с ядром сети МТС
Платформа связана с основными узлами сети МТС, что позволяет производить мониторинг и выполнение операций управления SIM-картами и услугами online, например:
получение информации о состоянии SIM-карты
управление доступными каналами связи
контроль расходов
проведение диагностики
настройка уведомлений по событиям
определение местоположения SIM-карты
отправки сообщений на устройства
контроль соответствия IMSI-IMEI (TAC)
подключение и настройка услуг M2M
В рамках услуги предоставляются Web- и API-интерфейсы для доступа к платформе и управления SIM-картами. Клиентский web-интерфейс располагается здесь.
Настройка NIDD в М2М-менеджере
Для настройки сервисов NIDD необходимо войти в личный кабинет М2М-менеджера и перейти в раздел NIDD APN, далее создать APN и ID приложения.
В форме потребуется заполнить поля, как показано на рисунке:
• Тип: внутренняя
• APN: произвольно
• APN-профиль: APN_M2M_CONF
• ID приложения: произвольно
Параметры APN можно импортировать из файлов типа *.txt, *.json, *.pdf, *.html. Для импорта нужно нажать «Выберите файл», в открывшемся диалоге выбираем необходимый файл. Далее потребуется перейти в центр управления NB-IoT и выбрать целевую SIM-карту, как показано на рисунке ниже.
В открывшемся окне, содержащем информацию о целевой SIM-карте, переходим в раздел «Профиль», где выбираем «Создать External ID устройства».
Выбор целевой SIM-карты
Создание External ID устройства
Далее нужно перейти в раздел «Услуги», после чего подключить услугу «NB-IoT М2М Менеджер 2.0 SCEF APN». Убедиться, что подключена услуга «NIDD Пакет сообщений». Если услуга не подключена, подключить её.
Подключение услуг
Потом нужно перейти в раздел NIDD APN. Убедиться, что соответствующий APN включён для целевой SIM-карты.
Подключение 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 — это правило, указывающее М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/ абсолютно бесплатно.
Формирование HTTP-запроса в Postman и ответ от M2M-менеджера
В ответном сообщении на POST-запрос М2М-менеджер вышлет идентификатор подписки ID и её статус — ACTIVE. Идентификатор подписки необходимо сохранить, так как он может понадобиться в дальнейшем для изменения или отмены подписки.
Указание параметров аутентификации в Postman
На скриншотах выше приведён пример формирования и отправки при помощи Postman-запроса на создание подписки.
Обратите внимание: Postman самостоятельно сформирует и вставит в заголовок запроса информацию о логине и пароле, предварительно закодировав их в Base64.
Формирование ключей заголовка запроса
После создания подписки устройство может зарегистрироваться в сети 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.
Пример передачи данных на устройство с использованием Postman
Настройка группы SIM-карт
Использование группировки SIM-карт позволяет осуществлять над ними групповые однотипные операции, такие как массовое подключение или отключение услуг, установка externalID по маске и т. д.
Для создания группы SIM-карт необходимо войти в Личный кабинет М2М-менеджера и перейти в раздел «Центр управления NB-IoT», выбрать нужные номера, отметив их галочками, после чего нажать »+».
Выбор SIM-карт для создания группы
В появившемся окне создания группы указать необходимые параметры, нажать «Сохранить».
Указание параметров группы SIM-карт при создании
Далее для созданной группы необходимо назначить APN.
Назначение APN вновь созданной группе SIM-карт
В появившемся окне установить для созданной группы параметры APN. Нажать «Сохранить».
Изменение APN группы SIM-карт Контроль установки нового значения APN
Для того чтобы убедиться, что операция прошла успешно, рекомендуется выполнить контрольную проверку на одном из номеров, входящих в группу.
В разделе «Управление услугами» нужно выбрать услугу «NB-IoT. M2M Менеджер 2.0. SCEF APN», далее активировать её для выбранной группы SIM-карт. А затем проверить правильность выполнения операции на одном из номеров, входящих в группу.
Выбор услуги «NB-IoT. M2M Менеджер 2.0. SCEF APN»
В разделе «Управление услугами» аналогично выбираем услугу «NIDD. Пакет сообщений (год)» и проверяем правильность выполнения операции.
Активация услуги для группы SIM-карт
Проверка успешности активации услуги
На этом всё! Если тема статьи вам интересна, не переключайтесь, вскоре опубликуем новую статью. Если есть вопросы, предложения, задавайте в комментариях, постараемся ответить.