2020-03-27 20:50:27 +00:00
|
|
|
|
Forward received SMS
|
|
|
|
|
====================
|
|
|
|
|
|
|
|
|
|
[◀ Go back to main README](../README.md)
|
|
|
|
|
|
2022-02-12 12:05:56 +00:00
|
|
|
|
> ℹ️ **Info**: This script can not be used on its own but requires the base
|
2022-02-11 22:34:39 +00:00
|
|
|
|
> installation. See [main README](../README.md) for details.
|
2021-05-03 13:07:50 +00:00
|
|
|
|
|
2020-03-27 20:50:27 +00:00
|
|
|
|
Description
|
|
|
|
|
-----------
|
|
|
|
|
|
|
|
|
|
RouterOS can receive SMS. This script forwards SMS as notification.
|
|
|
|
|
|
|
|
|
|
A broadband interface with SMS support is required.
|
|
|
|
|
|
2021-06-17 13:23:51 +00:00
|
|
|
|
### Sample notification
|
|
|
|
|
|
2022-10-20 08:58:48 +00:00
|
|
|
|
![sms-forward notification](sms-forward.d/notification.avif)
|
2021-06-17 13:23:51 +00:00
|
|
|
|
|
2020-03-27 20:50:27 +00:00
|
|
|
|
Requirements and installation
|
|
|
|
|
-----------------------------
|
|
|
|
|
|
|
|
|
|
Just install the script:
|
|
|
|
|
|
|
|
|
|
$ScriptInstallUpdate sms-forward;
|
|
|
|
|
|
|
|
|
|
... and add a scheduler to run it periodically:
|
|
|
|
|
|
2022-05-11 08:28:35 +00:00
|
|
|
|
/system/scheduler/add interval=2m name=sms-forward on-event="/system/script/run sms-forward;" start-time=startup;
|
2020-03-27 20:50:27 +00:00
|
|
|
|
|
|
|
|
|
Configuration
|
|
|
|
|
-------------
|
|
|
|
|
|
2023-01-09 14:35:57 +00:00
|
|
|
|
You have to enable receiving of SMS:
|
|
|
|
|
|
|
|
|
|
/tool/sms/set receive-enabled=yes;
|
|
|
|
|
|
2022-11-03 22:43:08 +00:00
|
|
|
|
The configuration goes to `global-config-overlay`, this is the only parameter:
|
|
|
|
|
|
|
|
|
|
* `SmsForwardHooks`: an array with pre-defined hooks, where each hook consists
|
|
|
|
|
of `match` (which is matched against the received message), `allowed-number`
|
|
|
|
|
(which is matched against the sending phone number or name) and `command`.
|
|
|
|
|
For `match` and `allowed-number` regular expressions are supported.
|
|
|
|
|
|
2022-09-23 13:07:30 +00:00
|
|
|
|
Notification settings are required for
|
|
|
|
|
[e-mail](mod/notification-email.md),
|
2021-11-16 15:03:25 +00:00
|
|
|
|
[matrix](mod/notification-matrix.md) and/or
|
2022-09-23 13:07:30 +00:00
|
|
|
|
[telegram](mod/notification-telegram.md).
|
2020-03-27 20:50:27 +00:00
|
|
|
|
|
2022-11-03 22:43:08 +00:00
|
|
|
|
Tips & Tricks
|
|
|
|
|
-------------
|
|
|
|
|
|
2023-01-09 15:22:18 +00:00
|
|
|
|
### Take care of harmful commands!
|
|
|
|
|
|
|
|
|
|
It is easy to fake the sending phone number! So make sure you do not rely on
|
|
|
|
|
that number for potentially harmful commands. Add a shared secret to match
|
|
|
|
|
into the text instead, for example: `reboot-53cr3t-5tr1n9` instead of just
|
|
|
|
|
`reboot`.
|
|
|
|
|
|
2022-11-03 22:43:08 +00:00
|
|
|
|
### Order new volume
|
|
|
|
|
|
|
|
|
|
Most broadband providers include a volume limit for their data plans. The
|
|
|
|
|
hook functionality can be used to order new volume automatically.
|
|
|
|
|
|
|
|
|
|
Let's assume an imaginary provider **ABC** sends a message when the available
|
|
|
|
|
volume is about to deplete. The message is sent from `ABC` and the text
|
|
|
|
|
contains the string `80%`. New volume can be ordered by sending a SMS back to
|
|
|
|
|
the phone number `1234` with the text `data-plan`.
|
|
|
|
|
|
|
|
|
|
:global SmsForwardHooks {
|
|
|
|
|
{ match="80%";
|
|
|
|
|
allowed-number="ABC";
|
|
|
|
|
command="/tool/sms/send lte1 phone-number=1234 message=\"data-plan\";" };
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Adjust the values to your own needs.
|
|
|
|
|
|
2020-03-27 20:50:27 +00:00
|
|
|
|
See also
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
* [Act on received SMS](sms-action.md)
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
[◀ Go back to main README](../README.md)
|
|
|
|
|
[▲ Go back to top](#top)
|