Початкові налаштування
Спочатку переконайтеся, що ви правильно налаштували параметри мережі LTE (надані оператором мобільної мережі) для кожної SIM-карти. Ви можете використовувати профіль APN за замовчуванням або створити два окремих, перейдіть за цим посиланням: Приклад швидкого налаштування. У цьому прикладі використовується профіль APN за замовчуванням.
Після цього ввімкніть роумінг даних для підключення до постачальників даних інших країн за допомогою такої команди. Це дозволяє відстежувати стан роумінгу.
/interface lte set [find name=lte1] allow-roaming=yes
Потім виберіть, які слоти для SIM-карти використовуватимуться для домашньої мережі та мережі в роумінгу. У цьому прикладі ми використовуємо слот «вниз» для домашньої мережі та слот «вгору» для мережі в роумінгу. Використовуйте наступну команду для перемикання між активними слотами.
Примітка: команда для вибору слота SIM змінюється у v6.45.1. А деякі моделі пристроїв,
як-от SXT, мають слоти для SIM-карт із назвами «a» і «b» замість «up» і down»
Команда до 6.45.1:
/system routerboard sim set sim-slot=down
Команда після 6.45.1:
/system routerboard modem set sim-slot=down
Команда у RouterOS v7:
/interface lte settings set sim-slot=down
Після зміни SIM-слотів LTE-модем буде перезапущено. Повна ініціалізація може зайняти деякий час (залежно від модему та плати, близько 30 секунд), тому переконайтеся, що ви протестували свій модем.
Приклад скрипту роумінгу
Тепер створіть скрипт, який працюватиме з планувальником. Цей приклад сценарію розглядає кілька ключових моментів:
- Перевірте, чи ініціалізовано інтерфейс LTE (відображається в списку /interface lte), інакше спробуйте скинути живлення
- Перевірте, чи встановлено з’єднання LTE (інтерфейс у стані «запущено»), інакше створіть запис у журналі та просто дочекайтеся наступного планувальника
- Прочитайте поточний використовуваний слот LTE і прийміть рішення, чи змінювати слоти SIM на основі статусу роумінгу
Давайте назвемо цей скрипт”roamingScript” і перегляньте джерело нижче:
{ # Setup and read current values, "up" SIM slot will be used for roaming, "down" for home network :global simSlot [/system routerboard sim get sim-slot] :global timeoutLTE 60 :global timeoutConnect 60 # Wait for LTE to initialize for maximum "timeoutLTE" seconds :local i 0 :local isLTEinit false :while ($i<$timeoutLTE) do={ :foreach n in=[/interface lte find] do={:set $isLTEinit true} :if ($isLTEinit=true) do={ :set $i $timeoutLTE } :set $i ($i+1) :delay 1s } # Check if LTE is initialized, or try power-reset the modem :if ($isLTEinit=true) do={ # Wait for LTE interface to connect to mobile network for maximum "timeoutConnet" seconds :local isConnected false :set $i 0 :while ($i<$timeoutConnect) do={ :if ([/interface lte get [find name="lte1"] running]=true) do={ :set $isConnected true :set $i $timeoutConnect } :set $i ($i+1) :delay 1s } # Check if LTE is connected if ($isConnected=true) do={ :local Info [/interface lte info [find name="lte1"] once as-value] :local isRoaming ($Info->"roaming") # Check which SIM slot is used :if ($simSlot="down") do={ # If "down" (home) slot, check roaming status :if ($isRoaming=true) do={ :log info message="Roaming detected, switching to SIM UP (Roaming)" /system routerboard sim set sim-slot=up } } else={ # Else "up" (roaming) slot, check roaming status :if (!$isRoaming=true) do={ :log info message="Not roaming, switching to SIM DOWN (Home)" /system routerboard sim set sim-slot=down } } } else={ :log info message="LTE interface did not connect to network, wait for next scheduler" } } else={ :log info message="LTE modem did not appear, trying power-reset" /system routerboard usb power-reset duration=5s } }
Налаштування планувальника
Нарешті, створіть свій планувальник, який запускатиме раніше створений сценарій. Виберіть правильний інтервал планувальника, щоб дві або більше подій не накладалися одна на одну. Для цього прикладу вище буде достатньо 3 хвилин.
/system scheduler add interval=3m on-event=roamingScript name=Roaming
Майте на увазі, що «домашня» SIM-карта споживатиме певну кількість даних у роумінгу, оскільки зміна SIM-слотів не відбувається миттєво.