SMS gateway

SMS gateway

SMS Gateway communication protocol

Description
Communication line configuration
Communication station configuration
I/O tag configuration
Document revisions

Description


SMS Gateway protocol supports:

  • sending SMS

  • receiving SMS

  • dialing calls

  • receiving calls

 

The implementation is based on the sending and processing of AT commands that are changed through asynchronous serial line.

Communication line configuration


Communication line category: Modem

Communication line parameters:

Parameter

Default value

Meaning

Parameter

Default value

Meaning

Device

 

Name of communication port.

Init command

AT&F

AT command that reinitializes a device.
In case of some GSM modems (e.g. HUAWEI E3372) this command needs to be enhanced to  AT&F^CURC=0 so that the modem stops reporting signal levels (RSSI- Radio Signal Strength Indication) by sending spontaneous messages e.g.  <CR><LF>^RSSI:28<CR><LF>.

Dial command

ATD

AT command used when dialing of a telephone number.

Hangup

+++~~~~ATH

AT command to hang up the connection.

DTR

Checked

DTR signal is used to hang up connection instead of AT command.

Communication station configuration


Parameter

Default value

Meaning

Trace Data

YES

Both received and sent data are written to log file.

PIN Code

0000

PIN code of SIM card (GSM modem).

Use Semicolon

YES

Semicolon is inserted at the end of ATD command.

Hang Up Incoming Call

YES

Enable to hang up the incoming call in a defined time.

Hang Up Time

35 sec

Defines a duration of incoming call.

Delay Between Rings

3 sec

Some of the modems do not inform about change of status: "ringing -> received", "ringing -> hung up". In "ringing" status, the flags that indicates ringing are sent. If during the set interval the ringing is not indicated, status automat of protocol will change its status to "hang up". Zero disables to use this indication.

Outgoing Call Duration

3 sec

The time after which the outgoing call is terminated.

Modem Is Ready Interval

600 sec

After elapsing of this time, the modem is reinitiated.

Acknowledgment of Receipt

YES

It switches receipts when sending SMS messages.

Service Center Address

+421905303303

Phone number of service center for SMS messages.
O2: +421 949 909 909
Orange: +421 905 303 303
Telekom (T-Mobile): +421 903 333 000

Read From Modem SMS

60 sec

Interval of checking the received messages and receipts in modem.

Expect OK After Dial

YES

Indicates whether a device sends the answer "OK" after dialing the phone number.

I/O tag configuration


I/O tags: Ci, Co, Di , Do, TxtI, TxtO

Value type

Address

Meaning

Outgoing calls

TxtO

OUTGOINGTELNUM

it sets the phone number of outgoing call.

TxtI

OUTGOINGRESULTNUMBER

The protocol can send multiple requests to dial a phone number at the same time. These requests are saved to the list and they are dialed gradually. In the I/O tad, the value of the last dialed number is saved. Together with I/O tag with OUTGOINGRESULTFLAG address it informs about a result of call.

Co

OUTGOINGRINGTIME

It sets duration of outgoing call including the dialing. It can be used as trigger to start dialing. If the phone number (the value of I/O tag with BUSY address is TRUE) cannot be dialed at that time, the values of I/O tags keep in a queue and postponed for later processing.

Di

OUTGOINGRESULTFLAG

It informs about the result of call. If outgoing call has been received, the value is TRUE, otherwise FALSE.

Incoming calls

TxtI

INCOMMINGTELNUM

Contains the phone number of incoming call.

Di

INCOMMINGRINGING

It indicates that the incoming call is active. At a given moment the value INCOMMINGTELNUM is not valid yet.

Outgoing SMS messages

TxtO

OUTGOINGSMSNUMBER

Sets the phone number to which SMS message will be sent.

TxtO

OUTGOINGSMSID

It keeps the value of own unique identifier of message. This value helps to find out whether the message could have been sent. It also couples the message receipts with the sent message.

TxtO

OUTGOINGSMSBODY

Sets the text of SMS message. It is a trigger of sending the message, which means that its value must be set as the last. After starting the trigger, the values of necessary I/O tags are saved into the queue. SMS message is ready to send.

Di

OUTGOINGSMSRESULT

Together with the identifier, which is set in I/O tag with address OUTGOINGSMSRESULTID it informs about the status of sending the SMS message.

TxtI

OUTGOINGSMSRESULTID

If there are multiple SMS messages in the queue, there is necessary, together with the identifier, which is set in I/O tag with address, to inform about the status of each SMS message.

Incoming SMS messages

Txti

INCOMMINGSMSNUMBER

It contains the phone number of received SMS message.

Txti

INCOMMINGSMSBODY

It contains the text of received SMS message.

Ci

INCOMMINGSMSTRIGGERIN

If the new SMS message has been received, the value is incremented by 1. It may be used as the trigger of receiving the new SMS message.

Co

INCOMMINGSMSTRIGGEROUT

It confirms the reading of SMS message. The value from the I/O tag with address INCOMMINGSMSTRIGGERIN is set up in this I/O tag.

SMS receipts

TxtI

INCOMMINGRECEIPTID

It keeps the unique identifier of SMS message, which was chosen during its sending.

Ci

INCOMMINGRECEIPTTRIGGERIN

If the new SMS receipt has been received, the value is incremented by 1. The value of identifier INCOMMINGRECEIPTID is valid at the particular moment.

Co

INCOMMINGRECEIPTTRIGGEROUT

It confirms the reading of SMS receipt. The value from the I/O tag with address INCOMMINGRECEIPTTRIGGERIN is set up in this I/O tag.

Common

Di

BUSY

It informs about modem status.