Hello how are you?
I have a small problem, I already installed the modem for slot 1, it recognizes it and everything fine, but now I want to know how to make the device change sim automatically with some script, in addition to knowing how to activate the sms, to achieve that when receiving An SMS with the secret followed by some command, I resent the information with the sender's number, but you can help me with this, thank you.
This is the script that I had found in
https://wiki.mikrotik.com/wiki/Dual_SIM_Application but I do not understand very well, I created the script and a task in netwach but it does not make the change, it remains marking error.
{
# 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
}
}