SMS¶
ASAB IRIS can send SMS notifications by using SMSBrána SMS Connect.
Use SMS when LogMan.io notifications must reach a phone number outside email or chat tools, for example for high-priority operational alerts.
IRIS renders the configured SMS template, normalizes the message text, and sends it to the configured SMS API.
Prerequisites¶
Before configuring SMS, make sure that:
- an SMSBrána account with SMS Connect enabled is available
- the SMSBrána login and password are available
- the LogMan.io server can reach the SMS API over HTTPS
- the SMSBrána account has enough credit to send messages
- the recipient phone number is known, either from the notification request or tenant configuration
- SMSBrána allows requests from the LogMan.io server IP address, if IP restrictions are enabled
- a secure place is available for storing the SMSBrána password
Required configuration fields¶
| Field | Description |
|---|---|
login |
SMSBrána login. |
password |
SMSBrána password. |
api_url |
SMSBrána SMS Connect API URL. |
Configuration sample¶
Edit model.yaml to configure the asab-iris service:
define:
type: rc/model
services:
asab-iris:
instances:
- node1
asab:
config:
sms:
login: "{{SMSBRANA_LOGIN}}"
password: "{{SMSBRANA_PASSWORD}}"
api_url: "https://api.smsbrana.cz/smsconnect/http.php"
secrets:
SMSBRANA_LOGIN: {}
SMSBRANA_PASSWORD: {}
SMSBrána setup¶
- Open SMSBrána administration.
- Enable SMS Connect for the account that IRIS will use.
- Copy the SMSBrána login to
sms.login. - Store the SMSBrána password in Vault or in the deployment secret store used by the LogMan.io installation.
- Confirm the SMS Connect API URL. The default is
https://api.smsbrana.cz/smsconnect/http.php. - If SMSBrána restricts API calls by IP address, allow the LogMan.io server IP address.
- Confirm that the account has enough credit.
- Update
/Site/model.yaml. - Apply the model from the Library, or run the deployment apply command used by the installation.
- Send a test SMS notification.
Verify the configuration¶
The configuration is ready when:
- ASAB IRIS starts without SMS configuration errors
- SMSBrána accepts the API request
- a test SMS is delivered to the expected phone number
- the ASAB IRIS service logs do not contain SMSBrána authentication or delivery errors
- long messages are delivered as numbered SMS parts, if the message exceeds one SMS segment
SMS templates¶
SMS templates must be stored in the /Templates/SMS/ directory in the Library.
Example template:
{{ severity }}: {{ message }}
Keep SMS templates short and use ASCII text only. IRIS rejects SMS messages that contain non-ASCII characters.
Web request example¶
{
"phone": "+420123456789",
"body": {
"template": "/Templates/SMS/alert.md",
"params": {
"severity": "High",
"message": "New security notification"
}
}
}
Kafka notification example¶
When sending through Kafka, set type to sms.
{
"type": "sms",
"phone": "+420123456789",
"body": {
"template": "/Templates/SMS/alert.md",
"params": {
"severity": "High",
"message": "New security notification"
}
}
}
Message length¶
IRIS splits long SMS messages into parts:
- the first part can contain up to 160 characters
- following parts can contain up to 153 characters
- each part is prefixed with numbering such as
1/2
SMSBrána rejects messages that are longer than its accepted limits. Keep alert text short and focused.