The PBX supported email notifications practically from day one. Many administrators and users are using this powerful feature to stay up-do-date with events that are important to them, like server restarts or voicemail messages.
In version 5.1.1 a new way to inform administrators and users has silently crept in: good old text messaging has been added to the PBX. First only for administrators, this new feature is testing out how productivity can be increased by sending short messages to the administrator's cell phone. Once this has stabilized, we are ready to also offer the feature for user events.
Text messaging has its own little protocol for sending those messages. The short message peer to peer (SMPP) protocol is used for blasting out lots of messages, but this protocol only has practical relevance for mass text messaging with high volume. Most text messaging providers offer a HTTP-based interface as well, which simply uses a GET request with URL-encoded parameters to get the job done in a very simple way. We decided to start with HTTP first, as it's easy to set up and troubleshoot. The PBX sends only occasional messages, so HTTP is completely sufficient for the job. The URL can be defined at system and domain level; if defined on the domain level, only the domain administrators get notified. This is useful in multi-tenant environments wherein the customer has to set up and pay for the text messaging.
For example, for clickatell the following URL can be used: http://api.clickatell.com/http/sendmsg?api_id=3431425&user=vodia1234&password=tHhDHdduasJAShds&from=13434534345&mo=1&to={to-e164}&text={text}. The variable parts in the URL are encoded between curly brackets and contain the text and the destination. Other parameters, like the password, can be hard-coded there and are transparent to the PBX.
To increase the reliability of the sending process, we have also made small changes to the HTTP client subsystem. If the delivery fails, it reschedules the request again and tries again later (up to three times).