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
Device   Name of communication port.
Init command ATEO AT command that restarts a device.
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.

Document revisions


  • Ver. 1.0 – January 23, 2012 – Creation of document.
Napíšte komentár