Notifications
The router checks itself every minute (Alarms and the wall). With notifications on, what changed in a check is sent out at once: one message per check and channel, with every alarm raised and cleared in it.
| Channel | What you need | Cost |
|---|---|---|
| An SMTP server: your mail provider’s, or your own | Free | |
| Telegram | A bot (from @BotFather) added to your NOC group | Free |
| Meta’s WhatsApp Cloud API: a business number, a token and an approved template | Free up to Meta’s monthly allowance, then per message | |
| SMS | A Twilio account and number | Per message |
Set everything with dtvsol notify …, the API or the monitor’s
Settings → Notifications. Passwords and tokens are stored encrypted on the router and never
shown again.
What is sent
Section titled “What is sent”- Critical alarms by default (add warnings or info with
dtvsol notify level). - Every change that failed on the router (see Changes that failed), whatever its level.
- When an alarm clears, so nobody drives to a problem that is already gone.
One check’s raises and clears go together, at most 15 lines, then … and N more. A channel sends at most 30 messages an hour; the 30th says so, and the rest of that hour stays in the monitor.
[DTVSOL router-1] CRITICAL: 1 alarm(s) raised, 1 clearedCRITICAL: bond0 (uplink) is downCLEARED: DHCP service is not runninghttps://XXX.XXX.XXX.10:8881/Turning it on
Section titled “Turning it on”dtvsol notify ondtvsol notify level critical warning # which levels (critical only by default)dtvsol notify link https://XXX.XXX.XXX.10:8881/ # the monitor, at the end of each messagedtvsol notify # the settings, and how the last message wentdtvsol notify changes off stops the failed changes, dtvsol notify clears off the clears.
dtvsol notify email to noc@your-isp.com,boss@your-isp.comdtvsol notify email server smtp.your-isp.com 587 starttlsdtvsol notify email user alarms@your-isp.comdtvsol notify email password # asked for, not echoeddtvsol notify email ondtvsol notify test emailsecurity:starttls(port 587, the usual),tls(port 465) ornone(port 25, a relay inside your network).from: the sender (dtvsol notify email from …); the login when not set.- Gmail and Microsoft 365 want an app password, not the account’s own.
Telegram
Section titled “Telegram”- In Telegram, talk to @BotFather, send
/newbot, and keep the token it gives. - Add the bot to your NOC group and send a message in the group.
- Find the group’s chat id: open
https://api.telegram.org/bot<token>/getUpdatesin a browser and read"chat":{"id":-100…}(a negative number).
dtvsol notify telegram token # asked for, not echoeddtvsol notify telegram chat add -1001234567890dtvsol notify telegram ondtvsol notify test telegramWhatsApp only lets a business start a conversation with an approved template, so the router sends each alarm message as the one parameter of your template.
-
In Meta for Developers, create an app with WhatsApp, and add your business phone number.
-
From WhatsApp → API setup, note the phone number ID.
-
Create a permanent token: in Meta Business settings, a system user with the
whatsapp_business_messagingpermission. -
In WhatsApp Manager, create a template of category Utility, named
dtvsol_alarm(or another name), in your language, with a body such as:Router alarm: {{1}}Wait until Meta approves it.
dtvsol notify whatsapp phone-id 123456789012345dtvsol notify whatsapp token # asked for, not echoeddtvsol notify whatsapp template dtvsol_alarm es # the template's name and languagedtvsol notify whatsapp to add +573001234567dtvsol notify whatsapp ondtvsol notify test whatsappThe numbers are written with + and the country code. A WhatsApp parameter is one line, so the
alarm lines are joined with ·.
SMS (Twilio)
Section titled “SMS (Twilio)”dtvsol notify sms sid ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdtvsol notify sms token # the auth token, asked for, not echoeddtvsol notify sms from +15005550006 # your Twilio numberdtvsol notify sms to add +573001234567dtvsol notify sms ondtvsol notify test smsAn SMS carries the first 480 characters of the message (up to 3 SMS).
When a channel fails
Section titled “When a channel fails”Each channel keeps how its last message went (dtvsol notify, and the monitor). A channel whose
last message failed is an alarm itself, Alarm notifications by telegram fail: …, sent by the
other channels. It clears when a message on that channel works again, for example
dtvsol notify test telegram.
dtvsol notify telegram reset (or Forget in the monitor) removes a channel’s settings,
its token included.
Safe by design
Section titled “Safe by design”- Tokens and passwords are sealed with the router’s vault key, bound to this machine: a copy of the database does not open them elsewhere. They are never shown by the API, the CLI or the monitor.
- The router sends with
curl, its settings on a private file removed after each message: no secret appears on a command line or in a process list. - A slow mail server never holds the alarm checks: messages are sent on their own.
This site was written with the help of AI and checked by our team.