1. Introduction


 

1.1. Product Overview

SMS Messaging Server is an SMS messaging framework that enables companies to send, receive and process SMS messages. The framework is designed to support virtually any scenario where low-and high volume SMS messaging is required.

Use SMS Messaging Server in the following scenarios:
  • Mobile Users are able to query databases for stock quantities, new orders or customer information;
  • Mobile users can receive critical information while they are away from the office;
  • Mobile users can receive notifications when important e-mails (from specific users or with specific subjects) have arrived;
  • Companies can route urgent calls to the service personnel;
  • Companies can send daily (stock) prices to their personnel or customers;
  • Remote workers can update their time sheets;
  • IT personnel can remotely restart services or reboot servers;
  • Multimedia companies - like radio stations and television stations - can setup their own voting system, enabling customers to bring out votes and request voting reports;
  • Entertainment companies - like bars and dancing's - can send out information about special events to their customers;
  • Emergency Response Centers can offer a service to locals to report crime by a short message.
This is just selection of scenarios. There are a lot of other scenarios where SMS Messaging Server can be used.

SMS Messaging Server consists of the following components:
  • A Windows Service, running in the background. This service is responsible for sending, receiving and processing SMS- and e-mail messages;
  • A Configuration Database, containing all configuration parameters. Can be any OLE/DB compliant database, like MS Access, MS SQL and Oracle;
  • A Message Database, containing all in- and outgoing messages. Can be any OLE/DB compliant database, including MS Access, MS SQL and Oracle;
  • A Manager application to make changes to the configuration and view messages;
  • A Channel Wizard to detect and test attached GSM devices and to setup and test an SMPP account;
  • A Monitor application to view real-time what's happening inside the system;
  • An ASP-based Web interface to allow access from any where in the world;
  • An API (Application Programming Interface) to allow custom scripting;
  • A collection of samples showing how to broadcast SMS messages and how to process incoming messages.


 

1.2. Product Features

SMS Messaging Server features the following:
  • SMS Send and SMS Receive, on multiple channels simultaneously;
  • Support for GSM Modems and GSM phones (GSM 07.05 and GSM 07.07 specifications) for low- and medium volume messaging;
  • Support for SMPP-compliant SMSC centers (SMPP 3.x) for high-volume messaging;
  • Central, vendor-independent database to store messages;
  • Support for Unicode messages, to support messages in Arabic, Chinese, etc.;
  • Support for multi-part messages to allow messages larger than 160 characters;
  • Support for WAP Push messages and WAP Bookmark messages;
  • Support for SMS delivery verification (also known as 'delivery reports' or 'status reports');
  • Full TAPI (Windows Telephony) support;
  • SMTP- and POP3 support;
  • Advanced logging and tracing;
  • Integration of VBScript to process incoming messages;
  • Multi-threading architecture; allows sending/receiving messages on multiple channels (modems, SMPP providers, SMTP, POP3) simultaneously;
  • Framework which can be fully customized.


 

1.3. About the Short Message Service (SMS)


1.3.1. Introduction

The Short Message Service (SMS) is part of the GSM specification and allows messages to be sent to and from GSM mobile networks throughout the world. A single short message can contain up to 160 characters and comprise of words, numbers or an alphanumeric combination.

Short messages can be received with voice, data and fax calls. SMS also provides confirmation that a short message has been delivered to its destination. Non-textual short messages can also be sent to carry 8-bit binary data. Messages comprising of Unicode character sets which include Arabic and Chinese characters can also be carrier in SMS.

SMS is a store and forward service where a short message is sent via a Short Message Service Center (SMSC). An advantage of this is that the destination mobile device does not have to be on the network at the time when the message is sent. If a destination mobile device is not available at the time the message is sent, the SMSC service center will retry to deliver the message.
Delivery of a short message takes only a few seconds from SMSC to the mobile device.

SMS messages can be up to 140 octets or 160 characters in length and can carry information coded in different ways. The most common 'coding scheme' is the GSM default alphabet. This allows a simplified text alphabet to be coded into 7 bits per character.

Most advanced applications will typically use 8-bit data where the SMSC makes no assumptions on the coding scheme and allows applications to use the 140 octets as they wish.



1.3.2. GSM modems

SMS Messaging Server supports GSM modems to send and receive SMS Messages. It supports a broad range of GSM modems that support the ETSI GSM 07.05 guidelines. Modern GSM devices (made by Nokia, Siemens, Sony Ericsson, etc.) use the similar subset of AT+C command set and are - as a result - also supported by ActiveXperts SMS Messaging Server. You can connect a GSM modem through one of the following interfaces:
  • Serial port;
  • USB interface;
  • Bluetooth;
  • Infrared.
SMS Messaging Server supports TAPI drivers (like 'Standard 9600 bps Modem') to make configuration of GSM modems easier. Using TAPI, you can configure the baud rate, initialization strings, etc. through the standard Windows Control Panel.

ActiveXperts recommends MultiTech MTCBA-G-UFx modems and WaveCom 1306B GSM modems.
ActiveXperts bundles the SMS Messaging Server software with a MultiTech modem:
  • License of ActiveXperts SMS Messaging Server;
  • MultiTech MTCBA-G-UF1 (900/1800 MHz, Europe) or MultiTech MTCBA-G-UF2 (850/1900 MHz, North America).
For more information and pricing, please check the ActiveXperts web site at www.activexperts.com/sales/bx008/.



1.3.3. SMPP Providers

SMS Messaging Server supports SMPP 3.x compliant SMSC providers.

The SMPP protocol allows a client (i.e. ActiveXperts SMS Message Server) to access the SMSC's ('Short Message Server Center') systems to send and/or receive SMS messages. To allow connection between SMS Messaging Server and an SMPP compliant SMSC center, an IP connection between these two systems is required, either directly or through the Internet.

Usually, an SMSC center provides multiple sites, to ensure that the service is always available. An SMSC provider ensures high-volume messaging, usually around 10 SMS messages per second, or even more.

You need to sign-up with an SMPP-compliant center before you can actually use their service. It normally requires a small sign-up free, and a fee for an SMS bundle per month.

SMS Messaging Server provides free SMPP messaging for a limited number of SMS messages. You can connect to the ActiveXperts SMPP server and send/receive messages right after installation, without the need to sign-up with an SMSC center first.

If you want to know about a list of SMPP providers recommended by ActiveXperts Software, click here.



 

1.4. SMS Messaging Server Design


1.4.1. Introdution

The SMS Messaging consists of the following components:
  • SMS Messaging Server service - multi-threading SMS Messaging engine;
  • Configuration Database - a vendor independent configuration database;
  • Message Database - vendor independent database where all incoming and outgoing messages are stored;
  • Applications and Scripts;
  • GSM Modem channels and SMPP Provider channels;
  • SMTP and POP3 channels;
  • VBScript Triggers - to process incoming messages;


The configuration information is stored in a database. This database can be any OLE/DB compliant database, including MS SQL Server. By default, SMS Messaging Server is shipped with an MS Access configuration database: Configuration.mdb.

Messages are also stored in an OLE/DB compliant database, separate from the configuration. By default, SMS Messaging Server shipped with an MS Access message database: Messages.mdb. Migration to MS SQL Server can be done easily.

The SMS Messaging Server service is responsible for controlling the so called 'Channels'. A Channel is a communication device or communication protocol.
The SMS Messaging Server service reads messages from the Message Database and provides these to the designated channel; it also polls the channels regularly to see if there are any new incoming messages.
The SMS Messaging Server triggers VBScript programs whenever there are new messages in the Message Database. Scripts are only triggered when a certain condition is matched.

A Channel is a communication device or a communication protocol. You can define a 'Channel' for each GSM Modem, SMPP provider, POP3 connection and SMTP connection. These Channels are stored in the Configuration Database. The SMS Messaging Server service reads the Channel configuration from the Configuration Database and controls each Channel by a separate process (also called 'thread').

The SMS Messaging Server Manager enables you to change the Configuration Database. Using this Manager application, you can create new Channels, modify existing Channels, delete Channels and modify general options. This Manager application can also be used to view Messages and define Filters on the Message database.

SMS Messaging Server is shipped with a selection of ActiveX/COM objects to manage the Configuration Database and the Message Database. This way, Administrators can fully customize the User Interface of the product; it also enables them to generate new messages themselves from a script or a custom application.

The configuration database includes information about the channels (GSM channels, SMPP channels, POP3 channels and SMTP channels) as well as information about.
Messages are also stored in an OLE/DB compliant, central database. By default, SMS Messaging Server is shipped with an MS Access message database (Messages.mdb).



1.4.2. Channels

A 'Channel' is a communication device or a communication protocol. Messages are sent and received by such a Channel. You can define 'Channels' for each of the following devices/protocols:
  • GSM Modem;
  • SMPP compliant SMSC provider;
  • POP3 server;
  • SMTP server.
The properties of a channel depend on the type of channel.

You can define a 'Channel' for each GSM Modem, SMPP provider, POP3 connection and SMTP connection. These channels are stored in the Configuration Database. The SMS Messaging Server service reads the Channel configuration from the Configuration Database and controls each Channel by a separate process (also called 'thread').



1.4.3. Triggers

Incoming messages can be processed by VBScript programs. As soon as a new message is received by the system, VBScript program(s) are launched based on certain condition(s).
A trigger is a pair that consists of a SQL-like condition and a VBScript program. If the trigger's condition is matched, the associated VBScript program is called.




 

1.5. Send an SMS Message

Before you can send an SMS message, you must first setup an SMS Channel. You can either setup a GSM Channel or an SMPP Channel.

After the SMS Channel has been setup, you can send an SMS message in three ways:
  1. Using the SMS Messaging Server Manager;
  2. Using the ASP Web Interface;
  3. From any other application using the SMS Messaging Server API;.
For more information about sending SMS (and e-mail) messgaes, see Chapter 3: Send and Receive Messages.

IMPORTANT: It is the ActiveXperts SMS Messaging Server serivce (Engine) that actually sends the SMS message, through one of the configured channels.
The Manager (or ASP web interface, or SMS Messaging Server API) is just reads/writes the messages to the message database.




 

1.6. Process Messages

You can process SMS and E-mail Messages by the use of Triggers.
To read more about triggers, please read Chapter 9: Projects and Triggers.