FGSMS Protocol

History

Date: 18/04/01 24/04/01 26/04/01 15/08/01 19/10/01 18/11/2001 25/11/2001 29/11/01

By Francesco Germinara © 2002

Definitions

CC = Call Cellular Phone

RC = Receiver Cellular Phone

PC = Personal Computer

Protocol from CC to RC

1) CC sends to a SMS to RC

2) PC is polling to read RC new incoming messages or to new mails from Internet

3) PC process SMS then, if it was a correct SMS, send the result via SMS

4) If user have enabled the Notify message function, send notify message

FGSMS Language, friendly named “Coffee language”, in honor of my friends Sandro Pisani, Roberto Massa, Paolo Mattiazzi ,Filippo Rame, Salvatore Biazzo, Luca Vailetta.

Reserved character

# diesis ->Start SMS block

- minus -> separator for parameters on command line

% percent -> command option

blank -> command delimiter

// -> comment NOTE: need a blank before //

Command Name

CM = Check for new mail

PM = Put mail send emails (only plain text supported)

GM = Retrieve mail, only plain text supported

VI = Version Information

UI = User identification

BC = Batch Command

SM = Send SMS

SB = Set Bit (OUTPUT signal to fgHWsms interface)

RI = Read Input ( INPUT signal from fgHWsms interface)

Command Syntax

CM = Check for new mail

#CM Retrieve information about new mails arrived

#CM [%xxx] x=Number of divided message that you want to retrieve, note if you

send

[%s] The results was posted in short format

nMsg # From

Return Message from server

NONE: Server not accepted the request.

Number of mails present and for each the size of the plain text. If the length of the response message is greater of 160 characters the server split the response and send you n messages to complete the task

IMPORTANT

You can decide to send only one response message, when send a #CM command. In this case, you receive also, in the first message, the total number of the divided messages then you can decide which message you want, send to the server a #CM %xxx command.

Example:

CC>#CM

Results are for long format

#1-4 300

#2-4 688

#3-4 12300

#4-4 300

Results are for short format

1

2

3

4

N.DivMsg: #4

To retrieve the 3th divided message

CC>#CM %3

CC>#CM %3 //CheckMail

PM = Put mail into server queue to send

#PM -userIDtaddressTO –Subject-Text message

userIDtaddressTO (Mandatory)

Are addresses of mail or user ID assigned from Server

Subject

Is the subject of the message

Text message (Mandatory)

Is the message to be send

Example:

CC>#PM --Info-How are you ?

CC>#PM - Info-New price for new product.

Possible result is

None

GM = Retrieve mail, only plain text supported

#GM -xxx [%nnn] x=number of message to retrieve

n=number of divided message

Example:

CC>#GM -2 (get message # 2)

Possible result is

From: (#2)

Sent: Wed 18 Apr 2001 1:05 pm

Subject: Info

Text: How are you ?

CC>#GM -2 %3 (get message # 2 – 3th part)

Note: Server configuration can allow short response (no date and no subject) are sent.

VI = Version information

#VI

Example:

CC>#VI

Possible result is

FgSMSServerName

FGSMS v. 1.00

(c) Francesco Germinara

Yyyy send

Zzzz received

Cost xxxx valuta

UI = User identification

#UI

CC>#UI -simnumber-password

User must send this command when receive a request message from the server, like this:

Please send me a #UI

command for identification.

Example:

CC>#UI -282839494938-franco

NOTE: If simm number or password is not correct the service is disabled.

If the UI command in send the same day of the expiration date, the server make the renew of the service else server send the information about the service status and enable the service.
BC = Batch Command

#BC –batchcmd[%opt1%opt2%optn]

Execute the batch command specified on the server

Example:

CC>#BC -makebck

CC>#BC -shuthdown#parm1#parm2

SM = Send SMS

#SM -numphone-textmsg //The number must start with + countrycode

#SM -groupID|userID-textmsg

Send a text message as SMS to a phone number specified or to a specified userID or a specified groupID.

The system first search for userID then for groupID.

Example:

CC>#SM -+393483902256-Whassupppp, tonight ?

CC>#SM -allUser-Good morning, having a nice day.

CC>#SM -GFranco-How are you ?

SB = Set Bit ( Set/Reset OUTPUT lines signal of FGHWSMS interface)

#SB -memAddr-bitnumber %on | %off | %sts

%on = Set the specified bit of memory address

%off = Reset the specified bit of memory address

%sts = Return status: ON or OFF (return also other bits info…)

Example:

CC>#SB-0-7 %on //SET bit7 to ON for memory 0

CC>#SB-0-7 %off //SET bit7 to OFF for memory 0

CC>#SB-0-7 %sts

possible result is:

Luce entrata acceso-B3 Out: On= 3,0

NOTE:

memAddr = 0 -> LPT1:

memAddr = 1 -> LPT2:

memAddr = 2 -> LPT3:

RI = Read Input Bit (INPUT lines signal of FGHWSMS interface)

#RI -memAddr-bitnumber

Return status: ON or OFF for the Input specified and actual sts for the other inputs

Example:

CC>#RI-0-7

possible result is:

Luce entrata spento-B7 Inp: On= 7,6,5,2,1,0

FGHWSMS HARDWARE Interface:

MemAddr = 0 is the PARALLEL PORT of server computer (LPT1) if you have connected more FGHWSMS interface on LPTs port you can set memAddr with other value like 1 (LPT2) or 2 (LPT3).

Other different memAddr value are ignorated and are present only for future use.

Every FGHWSMS interface can handle 8 different I/O signal, the maximum I/O that you can allowed to use is 24 I/O (with 3 FGHWSMS inteface).

New hw project are beginning for use PIC to incremente the number of I/O and for use also analaog I/O.

Cost of service

For each user the software maintains this statistics

-N° of messages send from server (RC) to cellular client (CC) for answer to a previous command

-N° of messages send from server (RC) to cellular client (CC) for notify message

-N° of message send from server (RC) to Internet mail server

-N° of times that have used the system

-Log of any access to the system

The pure cost is the SMS send from server (RC) to Cellular Client (CC) of the system.

If the system must relay message over other mail server, there is a cost of this service offered by the Internet provider.

The cost of the this service (it can be free if persons are all of the same organitation.)

Security of service

-User password and logon ID for read mail address are stored on server

-SIM Number and number of cellular are also stored on the server

-Every call made from cellular (CC) to server (RC) and cellular number.

-After the expired date the server send to CC a message that notify the disable of the service

-identification data with the #UI command for on Line renew of service.

-Every operation is logged by the system

All rights reserved.

Francesco Germinara. 2001,2002 © SoftTech di Germinara Francesco