SMS

Home

 

Up
Revision List

 

                                                                                                                            Last update: 29-Oct-2024

SMS Client

1.1       Focus

This instruction is specific to the SMS Client 2012 application.  This application operates in the MDS suite to deliver SMS messages to 3G and GSM modems.

The revision list is here.

1.2       Overview

The SMS application provides connection to 3G or GSM modems for the purpose of sending SMS messages directly to the cellular networks.

 

Changes to the Client include;

  1. The Client has two small text boxes on the top right which indicate the position of the input and output pointers in the queue. The left is the input pointer and the current queue size is 101.

  2. The textbox to the left of these is the information from the modem to the Client.

  3. The log information has been increased to show the the input string handling from the modem.

  4. The configuration to the modems has been changed as the Intermax requires additional strings to initialise the modem to SMS text mode.

  5. The Client will detect ERROR messages from the modem and try to reinitialise the modem.

  6. The Client availability is now linked to the watchdog. If the modem is in CheckSMSRx or SendSMS modes it will send to the Switch it is available when the watchdog activates.

  7. The comms routines have been greatly enhanced to cater for split packets in TCP mode as a result of the terminal server operation. The serial port has also been enhanced.

  8. Tested Intermax to 115200 baud.

  9. Added a reset external modem command in the Status tab

 

 

1.3        Setting up the SMSC application MDS SQL tables

The new Client requires changes to two tables to make it operate successfully.

 

MDSModule table

The latest SMS Client uses a new module type. Create a group with a new Title field called TELSTRASMS.

 

MDSClient table

The SMS modems communicates using either a direct comms port or a TCP port via a terminal server such as a Moxa.

The settings for this are in the Client Table. Note there are new PortClass and PortType values and the Destination Field is not used.

To set up on a terminal server for an Intermax modem;

  1. Set PortClass to SMS.

  2. Set PortType to SMSIntermax.

  3. Set HostAddress and HostPort

  4. Set OutputType to TCP

To set up on a directly connected serial port for an Intermax modem;

  1. Set PortClass to SMS.

  2. Set PortType to SMSIntermax.

  3. Set SerialPort

  4. Set OutputType to SERIAL or COMPORT

  5. Set the SETTINGS string parameter in the StartUp Field.

To set up on a terminal server for a Wavecom modem;

  1. Set PortClass to SMS.

  2. Set PortType to SMSWavecom.

  3. Set HostAddress and HostPort

  4. Set OutputType to TCP

To set up on a directly connected serial port for a Wavecom modem;

  1. Set PortClass to SMS.

  2. Set PortType to SMSWavecom.

  3. Set SerialPort

  4. Set OutputType to SERIAL or COMPORT

  5. Set the SETTINGS string parameter in the StartUp Field.

 

 

The SMS modems also require regular resets to register them on the cell sites. This is done by the Client at a fixed time every day. The time of day the modem is reset must be set in the StartUp field as well. The first parameter is RESETTIME and is the time of day the reset is to be performed. This should be different for each Intermax modem in the MDS system.

The RESETTIME is in 24 hour format. (00:00:00 to 23:59:59). When the client first starts it takes the current date and adds this time to it. The reset timer is then set to activate at this time. If the time is is less then the current time it adds 24 hours to the timer so that the reset occurs at the correct time on the next day.

The Intermax modems have an additional feature in that they can auto reset themselves. This is useful if the client is unable to communicate with the modem to reset it. The autoreset period is defined in the StartUp field as well and is called the RESETPERIOD. This value is in seconds with a minimum of 120 seconds and a maximum of 172,800 seconds. (2 minutes to 2 days) Values smaller or larger than these will be converted to 43200 seconds (12hours). The setting is actually sent to the modem when the client first starts up.

In version build (70) and newer this function is to be set to 0 seconds to disable the autoreset. The autoreset feature does not work correctly in the current version of Intermax

In general the Client will be responsible for the reset of the modem so no messages will be inadvertently lost. This means the RESETPERIOD should be just greater than the daily reset time. It is recommended to set this to somewhere between 86400 and 172,800. The preference is 24 hours.

If the auto reset activates or the modem is power cycled the Client will pick up the modem power up signature string "EM770W READY"  which is sent when the modem goes on line. The Client will then send a new modem initialisation sequence as shown below.

 

 

The settings in the StartUp field are RESETTIME and RESETPERIOD. Examples of these settings are shown below.

 

 

    The external modem can be reset manually by the Status tab, Reset External Modem frame as shown below. The last time the modem was reset will also be displayed. This time is when the reset string is sent to the modem. It does not indicate that the reset string was received or accepted by the modem.

1.4        Operation of the SMSC application

The SMS Client performs two tasks after initialisation. These are either sending SMS messages or Receiving them. These tasks are indicated by a global modem status which is shown in the diagram below.

Sending Messages:

The queue is checked every second for valid messages. If any are found the SMS state machine is started and the message is delivered in two steps using the +CMGS command. The first stage sends the number and the second sends the text. During a normal message a Busy update is sent when a message is detected in the queue, then a STX update is sent when the packet is sent to the mobile network, then finally the result such as ACK is sent when the mobile network has responded with +CMGS indication. The Switch then sends a delete command to the application.

If an error occurs during this process, an error update is sent to the Switch. The Switch will then send a delete to the application. The message will then be directed to a backup network.

Receiving Messages:

The modem is initially set using the +CNMI command to simply pass any received messages directly to the application. Other methods store the message and the index is sent to the application. The modem then has to recall the message via the index. Since the application runs non-stop the first method is used.

Every 5 seconds, and when not processing a SMS message, the application checks the input for +CMT indications. This is indicated in the global modem status with the message "Are there any messages". If there are no responses after 5 seconds the status displays "No response to PASR". If a +CMT indication is found it is stripped and saved to the messages table.

 

Resetting the modem:

The modem is reset every day at the same time as set up by the parameters above. If the "EM770W READY" message is sent from the modem on the reset it will be picked up by the receiver routine and interpreted that the modem has been reset. The initialisation strings are then sent to the modem.

 

1.3        Illegal Characters

The Intermax does not conform to the 7bit ASCII data set for messages.

The table below is a list of illegal characters and the replacement character substituted. The replacement is performed by the SMS Client just before sending the message to the mobile network. This is done for Intermax modems only.

Illegal Replacement Description
[ ( left bracket
] ) right bracket
{ ( left bracket
} ) right bracket
~ space space
^ space space
\ space space
/ space space
` ' Single quote

 

 

Home ] Up ] Revision List ]  
Copyright © 2012-2021 MTEL Communications Pty Ltd
Last modified: 01-Jun-2022