Revisiting Kerala eSMS service for updated versions of Koha ILS

If you are a Koha user from Kerala using the eSMS send driver written by us and found out that your SMS alerts have stopped after upgrading to 17.05 or later, then you should definitely read this.

For the impatient: Koha users from Kerala using the SMS::Send::IN::eSMS send driver, often find that after upgrading from 16.11 or earlier versions, their SMS alerts from Koha had stopped working. Usually this affects users who had used this previous blog post as the installation guide. This post addresses that and shows how to get SMS working again for eSMS service on 18.11 or later versions.

For the *really* impatient: Jump directly to the section Handling SMS::Send::IN:eSMS on supported versions of Koha

Background

About 3 years back, in early February 2017, we had published the only open-source SMS::Send driver implementation for Kerala Government’s eSMS transactional bulk SMS service for use with Koha ILS. The development was sponsored courtesy the State Librarian, Kerala State Central Library, Thiruvananthapuram, Kerala.

That time the latest stable version of Koha was 16.11. Up until then Koha’s C4/SMS.pm which acts as a wrapper against SMS::Send posed a small problem for Indian users thanks to a the requirement of senderid by Telecom Regulatory Authority of India (TRAI). Koha provided only two fields – the login and password fields. We in India needed three. So, we had to hack C4/SMS.pm as documented here.

The big change

At the end of May 2017, Koha 17.05 was released and with it came Bug id #13029. In the Release Notes, bug 13029 was defined as “Allow to pass additional parameters to SMS::Send drivers”.

This was a game-changer. We no longer needed to hack C4/SMS.pm. Handling extra parameters like SenderIDs, API keys or for that matter any arbitrary parameter(s) specific to a particular bulk transactional message provider could now be handled using a simple YAML file. The path to this YAML file is defined in koha-conf.xml and therefore making it instance-specific and multi-tenant friendly. <sms_send_config>/etc/koha/sites/<your_instance_name>/sms_send/</sms_send_config>

Handling SMS::Send::IN:eSMS on supported versions of Koha

At the time of writing, the supported versions of Koha are 19.11, 19.05 and 18.11. If your version is lower than 18.11, you should really upgrade. There are just three things to keep in mind; (a) there is no change in the SMS::Send::IN::eSMS code, it works out of the box provided you took care of “c” below; (b) no more hand editing C4/SMS.pm to handle the senderid parameter; and (c) you now need to create a YAML file eSMS.yaml at /etc/koha/sites/<your_instance_name>/sms_send/IN/eSMS.yaml with just the following text:

senderid: <put_your_senderid_here>

Well, that’s it! It just works!

P.S. The lawyer says we must add this – L2C2 Technologies or everyone associated with it, disclaims any and all responsibilities in the event of someone facing loss, damages either financial, operational or any problem whatsoever, due to or in course of following this blog post or any other on this blog. The information presented here is on AS-IS basis for personal educational purpose alone. This post is licensed under CC 4.0 BY-SA.

Good news for Koha users in Kerala : SMS Send driver for eSMS Kerala service released as Free Software (FOSS)

ANNOUNCEMENT: L2C2 Technologies has released the SMS::Send::IN::eSMS driver required by Koha ILS users using the eSMS Kerala service provided by the Kerala State IT Mission under a Free Software license. The development of the driver was made possible by the funding support of the State Librarian, State Central Library, Thiruvananthapurm (Trivandrum), Kerala, with KELTRON (Kerala State Electronics Development Corporation Ltd) acting as the facilitator. Any Koha library in the state of Kerala who are eligible to use the eSMS Kerala SMS service (provided by KSITM) can now freely implement SMS support using this driver.

With this release, it becomes the second open source regional SMS::Send driver now available to Indian Koha users that can be freely downloaded from the Comprehensive Perl Archive Network or CPAN.

Sending SMSes from Koha

For a long time now Koha has supported sending of SMS (short message service) text messages to library patrons and users about account creation, issue, return, fines, holds, overdues, purchase suggestions etc. To send out SMSes from Koha, we have to use the SMS service of a bulk transactional SMS service provider who provides that service.

What are SMS::Send drivers and why does Koha need them?

In order to communicate with the service provider’s messaging sending interface (also called messaging API), Koha uses a type of software called “SMS::Send driver”. The “catch” being that each service provider requires a different SMS Send driver. Sort of like the SIM card in our cellphones e.g. if we wish to use a Vodafone number we must have a Vodafone SIM card. However, unlike a SIM card the SMS::Send driver which is a software module written in the PERL language is not provided by the SMS service provider. Either one has to use a Free & Open Source send driver that already exists OR one has to write one by referring to (usually) the HTTP API of the SMS provider.

About eSMS Kerala

eSMS is an exclusive SMS Gateway established by the Kerala State IT Mission for use by various government departments for providing departmental services over mobile phones.

Downloading the driver

The SMS::Send::IN:eSMS driver can directly downloaded from CPAN by visiting http://search.cpan.org/~indradg/SMS-Send-IN-eSMS-0.01/lib/SMS/Send/IN/eSMS.pm or from L2C2 Technologies’s public repository on Github at https://github.com/l2c2technologies/sms-send-in-esms.

See also

1. “Koha and key lessons of using transactional SMS in India” – https://www.facebook.com/notes/l2c2-technologies/koha-and-key-lessons-of-using-transactional-sms-in-india/805775296178372