One of the coolest things to happen to banking is the advent of mobile phones. One of the advantages is the ability to use SMS messages for your banking. Though there are other options, it's the most widely available one and it is really easy to setup if you have Cyclos running on Jelastic.

Recently, we wrote about how to deploy Cyclos, a really popular on-line payment system, to Jelastic. Here's a follow up how-to for those of you that would like to activate and use the SMS functionality of Cyclos. The Cyclos SMS module uses plain SMS messages, which means that it's mobile phone handset agnostic. It is a separate module that connects to Cyclos at one end and to a mobile phone operator or SMS gateway provider at the other end.

Installing the Cyclos SMS Module

1. Create an environment in Jelastic and deploy Cyclos there. You can find a detailed tutorial on how to do this here.

2. Go to Cyclos web-site and download Cyclos SMS module.

3. Extract the files from the package, you have just downloaded.

4. Create a WAR file from the simulator folder contents (just put the contents of the simulator folder into a zip archive file, for example sms.zip, and rename it to sms.war or any name with the .war extension).

5. Upload your Java package to the Deployment manager.

6. Once the package is in Jelastic, deploy it to the environment you have created earlier. Notice: You have to specify another context (for example sms), because cyclos.war has been already deployed to the ROOT context.

Configure the database

1. While you were creating the environment, Jelastic sent you an email with credentials to your database. Using these credentials login to the MySQL admin page and create a new database named cyclos3_sms_aio.


2. Now import sms_driver.ddl, sms_controller.ddl and session_keys_en.dml schemas which can be found in the db folder in the zip package you have downloaded.

Note: Make sure you import the schemas in the above listed order.

Configure the SMS simulator

1. Go back to Jelastic dashboard and click the Config button for Tomcat.


2. Modify the database settings in the baseDriverConfig.properties file (webapps/sms /WEB-INF/classes/baseDriverConfig.properties) according to your installation.

For example:

db.connection.url=jdbc:mysql://mysql-cyclostest.hoster's_domain/cyclos3_sms_aio 
db.connection.username=root 
db.connection.password=password


2. In the same file, edit the value of the phone.with.area.code.len property if necessary: this must be the number of digits of the phone number together with the area code.
For example:

phone.with.area.code.len=9

Please leave the phone.area.code.prefix and phone.country.code empty, otherwise the simulator will not work correct.

3. Navigate to config.xml (webapps/sms/WEB-INF/classes/config.xml) and in the section controller > cyclosInstances > cyclosInstance > connection settings change the value of the attribute rootUrl to point to the installed Cyclos instance.
For example:

rootUrl=" http://cyclostest.hoster's_domain"


4. In the section cyclosInstance > memberSettings edit the line:

<principalSettings regexp="^(d){<amountOfPhoneNumberDigits>}$"/>

Put the max and min for the amount of digits separated by a comma.
For example:

<principalSettings regexp="^(d){7,9}$"/>

If the amount of digits of the mobile phone numbers are always the same just put in one number.
For example:

<principalSettings regexp="^(d){9}$"/>


5. Open simulatorDriverConfig.properties file (WEB-INF/classes/simulatorDriverConfig.properties) and insert the URL to your Cyclos instance.
For example:

cyclos.ws.baseUrl= http://cyclostest.hoster's_domain

6. Define the number of digits for phone numbers, by default the configuration is set to 9 digit mobile phone numbers.
For example:

simulator.phoneLength=9

Make sure that number defined the setting 'tx.sendTo' has a mapping to a valid Cyclos instance. The Cyclos instance name can be set in Admin menu > Settings > Local Settings > Identification for external channels.

7. Restart Tomcat.

Now you can open the SMS simulator in a web browser and start using it to test the SMS functionality of Cyclos without the need of connectivity to a mobile phone operator or SMS gateway provider.

Once you have finished testing you have to decide how you want to send and receive the SMS messages. You have a number of options: a gateway on a mobile phone or an external SMS gateway provider. Here are instructions on how to Install gateway on a mobile phone and Connect to an SMS gateway provider.

Related article