SMS Messaging Server 4.0 Administrator’s Manual June 2005 © 1999-2005 - ActiveXperts Software B.V. http://www.activexperts.com info@activexperts.
1. INTRODUCING ACTIVEXPERTS SMS MESSAGING SERVER 3 1.1. PRODUCT OVERVIEW 1.1. PRODUCT FEATURES 3 3 2. SHORT MESSAGE SERVICE (SMS) 2.1. INTRODUCTION 2.2. GSM MODEMS 2.3. SMPP PROVIDERS 5 5 6 3. SMS MESSAGING SERVER DESIGN 3.1. INTRODUCTION 3.2. CHANNELS 3.3. TRIGGERS 5 7 7 8 8 4. INSTALLING ACTIVEXPERTS SMS MESSAGING SERVER 10 4.1. HARDWARE REQUIREMENTS 10 4.2. INSTALLING ACTIVEXPERTS SMS MESSAGING SERVER 10 5. CONFIGURING ACTIVEXPERTS SMS MESSAGING SERVER 12 5.1. 5.2. 5.3. 5.4.
Chapter 3. SMS Messaging Server design 1. Introducing ActiveXperts SMS Messaging Server 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 support virtually any scenario where low-and high volume SMS messaging is required.
Chapter 3. SMS Messaging Server design 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.
Chapter 3. SMS Messaging Server design 2. Short Message Service (SMS) 2.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.
Chapter 3. SMS Messaging Server design 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/multitechsmsserver/. 2.3. SMPP providers SMS Messaging Server supports SMPP 3.x compliant SMSC providers. The SMPP protocol allows a client (i.e.
Chapter 3. SMS Messaging Server design 3. SMS Messaging Server design 3.1.
Chapter 3. SMS Messaging Server design 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.
Chapter 3. SMS Messaging Server design checks if there is any unprocessed messages. As soon as there’s an unprocessed message, it will trigger all scripts that match a predefined condition. Let’s demonstrate this with a small sample: A system is running ActiveXperts SMS Messaging Server. It has several projects running simultaneously; one of the projects is a workflow system, where 3 pre-defined persons (+4400000001, +4400000002 and +4400000003) can enter their workflow through SMS.
Chapter 4. Installing ActiveXperts SMS Messaging Server 4. Installing ActiveXperts SMS Messaging Server 4.1.
Chapter 4. Installing ActiveXperts SMS Messaging Server Step 2 – Registration information Here, you can enter your Registration code. If you want to try the software, enter ‘EVALUATION’ as the registration code. You will be able to use the full-functioning software for 30 days. When you decide to buy after 30 days, you don’t need to re-install the product; the Manager application allows you to enter the registration code. Step 3 – Choose Destination Folder Choose a destination folder.
Chapter 5. Configuring SMS Messaging Server 5. Configuring ActiveXperts SMS Messaging Server 5.1. Introduction ActiveXperts SMS Messaging Server’s configuration information is stored in the ‘Configuration Database’. This database is stored in a files called CONFIGURATION.MDB, and is located in the \CFG directory.
Chapter 5. Configuring SMS Messaging Server Queue Files Directory – Location of the directory where the service writes incoming and outgoing messages. To improve performance, you can assign a different directory (for instance: a high-speed RAID configuration); Message Database Connection String – Indicates the location of the message database. By default, this connection string is set to \MSG\MESSAGES.MDB.
Chapter 5. Configuring SMS Messaging Server To enter the properties of a GSM Modem, launch the Manager application from the Start menu an open the ‘Channels’ folder. Here, you can add new channels, delete channels, and make modifications to a channel. The following information can be configured for a GSM Modem Channel: Enable/Disable channel – You can enable/disable a channel at any time.
Chapter 5. Configuring SMS Messaging Server ActiveXperts SMS Messaging Server provides free SMPP messaging for a limited number of SMS messages. You can connect to an 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.
Chapter 5. Configuring SMS Messaging Server Acknowledgement Timeout – Specifies how long the SMS Messaging Server should wait for an acknowledgement of a sent message. If the acknowledgement is not received within the time frame, it will be set to ‘failed’ ▼ POP3 Channel SMS Messaging Server is capable of receiving e-mails on different POP3 accounts and process these e-mails. A POP3 Channel describes the POP3 server settings as well as a list of POP3 accounts that need to be checked for incoming e-mail.
Chapter 5. Configuring SMS Messaging Server The configuration of one single SMTP server is stored in the Channel_SMTP table in the Configuration Database, as one single record. The Channel_SMTP table can have multiple records. 5.4. Triggers (Processing incoming messages) Triggers are defined to process incoming messages. It is a combination of a condition and an associated script. The condition is a SQL-like condition that selects a set of unprocessed, incoming messages.
Chapter 6. Message Database 6. Message Database 6.1. Introduction The Message Database contains incoming and outgoing SMS- and e-mail messages. The location of the messages is indicated by a DSN connection string, defined in the Options of the software. To see the location of the database: Start the Manager application; Open the Configuration Folder and select Options; Click on the icon next to Message Database.
Chapter 6. Message Database ScheduleTimeSecs Number LastUpdateSecs Number Sender String Scheduled time (in seconds after 01/01/1970). Used for outgoing messages only. 0 indicates: immediate send. Last update time (in seconds after 01/01/1970). Each time a record is updated by the software, this property is updated automatically. Sender address of the message. Recipient String Recipient address of the message.
Chapter 6. Message Database The 'Status' table is a static table; it contains definitions for each status. Each status is described by a separate record: Direction Description 0 Undefined 1 12 Received / Not processed. Message has just received and will be processed soon. Received / Processed Message has been processed. Received / Processing failure Message has been processed but there was an error during processing.
Chapter 6. Message Database Delivered (ACK received) means that the message was submitted successfully and – according to the properties of the Channel – an acknowledgement was requested and – indeed - received. To require an acknowledgement, go to the properties of a particular Channel, and change the timeout value in the ACK time-out field. Table: Type The 'Type' table contains the following fields: Property Type Description Type Number Numeric value of a type.
Chapter 6. Message Database 6.4. Migrating to MS SQL You can migrate the Message Database to MS SQL using the ‘MS SQL Migration Wizard’. To start the MS SQL Migration Wizard, select the Migrate to MS SQL Migration Wizard from the Tools and Utilities Folder in the Manager application. The Migration Wizard will perform the following actions: Create new Database – The wizard will ask for a database name to store tables and properties.
Chapter 7. Troubleshooting 7. Troubleshooting 7.1. Introduction ActiveXperts SMS Messaging Server is designed with a special thing in mind: let the user have complete control over the product. This means, that the system must show exactly what it is doing, why things work, and why things do not work.
Chapter 7. Troubleshooting To enable tracing for a particular channel or thread, you must enable it through the registry, by assigning a Log File to it: Open a registry editor (REGEDIT.EXE or REGEDT32.EXE); Open the HKLM\Software\ActiveXperts\SMS Messaging Server\Trace key; Open the key of the item that you want to trace, and specify a valid trace filename; Restart the Service. It’s important to restart the service after changing one of the Trace items.
Chapter 8. Performance Tuning 8. Performance Tuning 8.1. Introduction ActiveXperts SMS Messaging Server can be tuned to improve performance. When we talk about performance, we mean: the performance of the ActiveXperts SMS Messaging Server service. This service is doing the actual job of managing the Message Database, controlling the Channels and executing the Triggers. ActiveXperts SMS Messaging Service has different sub-processes (so called ‘threads’). Each thread is running as a separate process. 8.2.
Chapter 8. Performance Tuning 8.3. Queue directory ActiveXperts SMS Messaging Server uses a file oriented mechanism to queue incoming and outgoing messages. By default, messages are stored as plain ASCII files in the \Queue directory. If you have a much faster drive (or a fast RAID configuration) other than the drive that you are currently using, consider moving the Queue directory to the other drive. To do so, go to Options and edit the Directory options.
Chapter 10. Case Studies 9. SMS Messaging Server API 9.1. Introduction ActiveXperts SMS Messaging Server defines interfaces to its Configuration Database and its Messages Database, to make it a so called Open System. The interfaces are defined and implemented in the SMS Messaging Server API. The API is primary used for Database Triggers (see also Chapter 5): as soon as a new message arrives in the system, the SMS Messaging Server will trigger a VBScript program (or multiple VBScript programs).
Chapter 10.
Chapter 10.
Chapter 10. Case Studies ID Number RW Direction Number RW Record primary key. This value is automatically generated when a new record is inserted.
Chapter 10.
Chapter 10. Case Studies FindNextGsmModem None Find the next GSM Modem Channel FindFirstSmpp Filter (String) Find the first SMPP Channel in the database. Optionally specify a filter (SQL-like notation) Find the next SMPP Channel FindNextSmpp None FindFirstPop3 Filter (String) FindNextPop3 None FindFirstSmtp Filter (String) FindNextSmtp None Find the first POP2 Channel in the database.
Chapter 10. Case Studies EnableSend Boolean RW Device String RW DeviceSpeed Number RW PinCode String RW MultiPart Boolean RW DailyLimit Number RW SubscriberID String RW LeaveMessageOnDevice Boolean RW LastError Number R EnableReceive disabling a channel, SMS Messaging Server will not be able to send/receive SMS messages on this channel.
Chapter 10. Case Studies 9.8. ‘SmppChannel’ object Properties: Property Type R/W Description ID Number R Database record key Description String RW SMPP provider’s friendly name Enabled Boolean RW EnableSend Boolean RW Server String RW Specifies if the SMPP provers is enabled or not. By disabling a channel, SMS Messaging Server will not be able to send/receive SMS messages on this channel.
Chapter 10. Case Studies Delete ChannelID (Number) configuration database Remove a SMPP Modem Channel from the configuration database Example: ' Load an SMPP Channel, change some properties and save it Set objChannel = CreateObject( "AxSmsServer.SmppChannel" ) objChannel.Load( 1001 ) WScript.Echo "Load, result: " & objChannel.LastError If( objChannel.LastError = 0 ) Then objChannel.System = "smpp.activexperts-labs.com" objChannel.SystemPort = 2775 objChannel.SystemID = "testuser" objChannel.
Chapter 10. Case Studies Delete ChannelID (Number) Remove a POP3 Channel from the configuration database Example: ' Load a POP3 Channel, change some properties and save it Set objChannel = CreateObject( "AxSmsServer.Pop3Channel" ) objChannel.Load( 3001 ) WScript.Echo "Load, result: " & objChannel.LastError If( objChannel.LastError = 0 ) Then objChannel.Host = "pop3.myserver.com" objChannel.Save WScript.Echo "Save, result: " & objChannel.LastError End If 9.10.
Chapter 10. Case Studies ' Load an SMTP Channel, change some properties and save it Set objChannel = CreateObject( "AxSmsServer.SmtpChannel" ) objChannel.Load( 4001 ) WScript.Echo "Load, result: " & objChannel.LastError If( objChannel.LastError = 0 ) Then objChannel.Host = "pop3.myserver.com" objChannel.Save WScript.Echo "Save, result: " & objChannel.LastError End If 9.11.
Chapter 10. Case Studies Sub PrintTrigger( objTrigger ) WScript.Echo "TRIGGER ID: " & objScript.ID WScript.Echo " Enabled: " & objScript.Enabled WScript.Echo " ProcessingOrder: " & objScript.ProcessingOrder WScript.Echo " Description: " & objScript.Description WScript.Echo " Condition: " & objScript.Condition WScript.Echo " Script: " & objScript.Script End Sub 9.12.
Chapter 10. Case Studies objTrigger.Save WScript.Echo "Save, result: " & End If objTrigger.LastError 9.13. Samples ActiveXperts SMS Messaging Server includes various samples that show how to use the API. To browse through the samples, click on the SMS Messaging Server API icon in the Tools and Utilities map of the Manager application. Here, you will find API samples to access the Configuration Database and the Message Database.
Chapter 10. Case Studies 10. Case Studies SMS Messaging Server uses a ‘SMPP Channel’ to send/receive SMS messages using an SMPPcompliant SMSC provider. In the online Case Studies section, you find implementations of ActiveXperts SMS Messaging Server at customers of ActiveXperts. Each Case Study is provided with background information of the company, together with a problem statement, design goals and finally the implementation. You can find a list of case studies at: www.activexperts.