SMS Gateway/Quickstart

From n0r1sk software solutions
Revision as of 20:25, 21 November 2010 by Mario (talk | contribs)
Jump to: navigation, search

Installation / Upgrade

Install a virtual machine

and use the appliance-iso-file to boot from. Keep the network in mind. You have to reach the VM in order to connect to the Web-Admin-Console.

Short Appliance Installation Video:

DB setup/update

Starting with Ver. 1.20 the SMS-Gataway is capable of installing and updating the DB out of the box. When the SMS-Gateway starts up it checks first if the DB is already there and updates all necessary tables. If no DB is found the needed schemas are created automatically. Earlier versions are not fully upgradeable - please send us a short mail if you want to keep the SMS-logs and modem configs.

Refreshing text-constants

Call http://server_ip:8080/smsgateway/multi to load current text constants and their translation.



At initial call of Web-Admin-Console (http://server_ip:8080/smsgateway)you can set admin user and password.


Full User admin will follow.
After Login you are able to configure the SMS-Gateway or check the SMS-Overview.


Configuration screen


==== Functions ====On the Configuration screen you are able to:

  • See the status of the modems and their worker threads
  • Start/Stop the modems of one SMS Gateway
  • Register/Edit/Delete a Modem when they are stopped
  • Setup the parameter needed to send alert mails in case of modem problems
caption caption caption

SMS overview


The SMS overview pages is more or less a log viewer onto the SMS-requests processed by one SMS Gateway.


  • Mobile number ... Starting with country code (e.g. +43 664 1234xxx - an Austrian number)
  • Text ... up to 128 characters
  • State ... Sent/Rejected/New/...
  • Priority ... High/Middle/Low
  • Created ... When was the SMS put into the queue.
  • Send ... When was it sent by the modem
  • Sent by ... IP-address/port of modem used for delivery


  • You can filter the list on each column. (use * as wildcart)
  • Press <Enter> to apply the specified filter.
  • Only the first 500 Results are listened

Start or Stop the SMS Gateway

Use the START/STOP script


and see the help

Create a SMS request

using http request


using curl (Linux)

<syntaxhighlight lang="bash"> curl -s --max-time 20 --connect-timeout 5 -d "content=$TEXT" -d "priority=2" -d "mobile=$DEST" "http://server/smsgateway/sendsms" </syntaxhighlight>

Initial modem setup (using SQL)

When you had to connect to Derby/Jave DB before, you are now able to do the setup on the Configuration screen. (Don't forget ot stop the modem threads before.)

Connect yourself to derby/java DB using port 1527 with an SQL-Engine.

Get the Object-ID from the table 'modem'.
 select * from modem;
Set the IP address of your modem and the sim pin-code.
 update modem set IP='<modem ip>',PIN='<sim pin-code>' where OBJID='<objid in database>';

Serial/USB modems on Linux based systems

auto detection

(e.g. wavecom WM0D2 on serial port) or easier

apt-get install wvdial
Editing `/etc/wvdial.conf'.
 Scanning your serial ports for a modem.
ttyS0<*1>: ATQ0 V1 E1 -- ���
ttyS0<*1>: failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- OK
ttyS0<*1>: ATQ0 V1 E1 Z -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyS0<*1>: Modem Identifier: ATI -- WAVECOM MODEM'#'
ttyS0<*1>: Speed 19200: AT -- ��
ttyS0<*1>: Speed 19200: AT -- x�
ttyS0<*1>: Speed 19200: AT -- 
ttyS0<*1>: Max speed is 9600; that should be safe.
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
Modem Port Scan<*1>: S2   S3   

Found a modem on /dev/ttyS0. Modem configuration written to /etc/wvdial.conf. ttyS0<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

testing the modem

minicom -s
  Serial Port Setup
  A: /dev/ttyS0 (device from above)
  E: 9600 (speed from above)
  save setup as wm0d2

Output: Port /dev/ttyS0
Press CTRL-A Z for help on special keys
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 OK
exit minicom: Strg+A Z,X restart minicom: minocom wm0d2