SMS channel solutions
Requirement
Send a notification using SMS as a channel.
Solutions
Kannel | Jasmin | RapidPro | Nexmo | Twilio | TextIt | |
---|---|---|---|---|---|---|
Last release | 2018-19-06 | 2015-07-12 | 2018-19-10 | |||
Website | https://www.kannel.org/ | https://www.jasminsms.com/ | https://rapidpro.github.io/rapidpro/ | https://www.nexmo.com/ | https://www.twilio.com/ | https://textit.in/ |
Last website update | 2018-19-06 | 2015-07-12 | ||||
Configuration method | configuration file | Telnet console | website | website | website | website |
Cost per SMS | based on the SMS provider cost (can be covered by a government agreement) | based on the SMS provider cost (can be covered by a government agreement) | based on the Kannel/Jasmin/Nexmo/Twilio cost | based on the country | based on the country (from $0.0075) | $0.015 + the cost of Kannel/Jasmin/Nexmo/Twilio |
Supported interfaces | SMPP 3.3, 3.4 and 5.0 Nokia CIMD 1.37 and 2.0 CMG UCP/EMI 4.0 and 3.5 Sema Group SMS2000 OIS 4.0, 5.0 and 5.8 SM/ASI (for CriticalPath InVoke SMS Center 4.x) GSMA OneAPI v1.0 ParlayX SMS SOAP GSM modem | SMPP | ||||
Customizable messages | No | No | Yes, by creating a flow from the website but not the REST API | No | No | Yes, by creating a flow from the website but not the REST API |
REST API | Yes | Yes | Yes | Yes | Yes | Yes |
SDK | No | No | Yes, but python only | Yes | Yes | Yes, but python only |
Docker image | Yes, but non-official, might be outdated, last updated 2 years ago | Yes, official | Yes, official |
Proposed solution
Kannel combined with MessageFormat seems like the best approach for our requirement as it seems to be the most versatile one. It should satisfy most of our implementers due to the sheer amount of supported interfaces and the possibility of costs being covered by the government agreements with SMS providers. It also has little to none requirements (though those might be outdated they are still coming from the official user guide) and is configurable with a single config file, which should make it easy to incorporate with our docker environment.
OpenLMIS: the global initiative for powerful LMIS software