Product overview
The A2P services like Infobip or MessageBird were used for SMS dispatch in Boomerang 3 from the beginning.
It turned out that this method has disadvantages like high SMS cost and technical issues in certain countries. Therefore a decision was made to create an additional solution for B3 SMS dispatch based on a router with SMS functionality that works as an SMS dispatcher for a B3 system group. The product name of this device is B3 SMS device.
The B3 SMS device is typically used by a single customer. It uses a SIM card obtained from the local GSM provider. This card must be arranged by the customer and the customer is also handling all costs associated with it. The plan used must guarantee that SMS sending will not be stopped due to e.g. insufficient funds.
Teltonika GSM routers have the functionalities that can be used to create such a device. This manual describes the implementation done for RUT955 Teltonika router.
The communication between B3 and B3 SMS device works as follows:
A webhook is created in B3 alarm group. This webhook sends alarms from the group to the group users as described below. There can be multiple alarm groups with webhooks directed to the same B3 SMS device.
If alarm is triggered in the group, a JSON POST is sent to B3 License server where a dedicated SMS server adds the information from the POST to the SMS database. The POST contains APIUniqueID that identifies the B3 SMS device that will collect a given SMS request. If the SMS shall be sent to multiple numbers, a new row is created for every number, with the same SMS text.
All the B3 SMS devices run a script which requests update from the SMS server every 60 seconds. Every request contains APIUniqueID that identifies the B3 SMS device. If the SMS database contains a row that has the APIUniqueID from the request and was not yet dispatched then an answer to the router contains the details of SMS recipient and contents.
When the B3 SMS device receives SMS details, it sends an SMS to a user. After SMS send is successful, the router confirms the SMS was dispatched and this marks the row in the database as being handled.
In the example below there are 3 B3 SMS devices located in 3 different countries (Saudi Arabia, Vietnam and USA). Their APIUniqueIDs are saudib3, vietnamb3 and renbiob3.

Last updated
