Introduction
MOBITEK® SMS Engine Enterprise Edition is a SMS engine used by MOBITEK® MobiGATETM. System integrator and software developer (SI/SD) do not need to write any code to build a SMS Gateway. The MOBITEK® SMS Engine uses MS SQL Server or MySQL Server database to store incoming SMS, and to check if there is any pending SMS to be send out. SI/SD only needs to insert record into database to send out SMS, and retrieve record from database to read SMS. The MOBITEK® SMS Engine has taken care all SMS transactions.
Features
- Running as Windows Service.
- Supports both SMS and USSD.
- Concatenate multiple SMS, i.e. support sending SMS longer than 160 characters and joining them into 1 SMS.
- MOBITEK® SMS Engine – Enterprise Edition will always try to initialise connection with MOBITEK® MobiGATE™ SMS Gateway e.g. If PC/server is rebooted, the engine service will automatically establish connection with SMS gateway .
- Auto-reconnection with modem – if modem is disconnected from PC/server (for whatever reasons), and then re-connected at later stage, service will automatically establish connection with modem.
- Uses Microsoft SQL Server, MySQL Server or Oracle Database to store incoming SMS, and to process outgoing SMS in database. Support both Windows and SQL authentication mode.
- support for Oracle 11g requires separate license
- Prevention of any lost of SMS:–
- During initialisation, if there are any database error, it will not send nor read SMS, therefore no message will be lost.
- Auto-reconnection with database server.
- Sending of SMS in alphanumeric character (text) and in Chinese character (Unicode).
- Intelligent SMS Sending Logic:-
- Scheduling of outgoing SMS – based on the date and time set in “datetime_schedule”
- Prioritisation of outgoing SMS – earliest “datetime_schedule” will be send out, and all “datetime_schedule = null” will be last to send out
- FIFO – if there is neither scheduling nor prioritization, then “FIFO” rule will be applied – SMS Engine will process the 1st record in the “outbox” table until the last record.
- Configure the direction of individual modem:-
- 2 way send and read SMS;
- 1 way read SMS; or
- 1 way send SMS.
- Scalable – support 1 or more MOBITEK® MobiGATE™ SMS Gateway without any need to reinstall Engine.
- Concurrency and Load balancing – all modems in MOBITEK® MobiGATE™ SMS Gateway work together to broadcast message. It is NOT on “round-robin” basis.
- Fail-over – if modem no.1 cannot send out the SMS, modem no. 2 will take over, and so on until modem no. 4.
- Dynamic queue size – the Engine will dynamically allocate queue size, if more modems are successfully initialised then queue size will be increased.
- Configurable maximum queue size – the maximum queue size can be changed, default minimum size is 64 SMS/records per modem.
- Routing – sophisticated and intelligent routing logic that defines:-
- automatic routing;
- prefix routing – which modem to use for sending out SMS to designated prefix mobile number. Good for cost saving as SMS sent within the intra-network is cheaper than inter-network;
- manual routing – specify which modem to send out SMS manually.
- Number of retries – can be configured. If SMS fails to be send, it will retry until the specified time.
How To Send SMS
To send out SMS in text mode, the SQL statement is:
Insert into Outbox (message, destination) values ('Hello!', '+60172233111')
To send out SMS having Chinese character, the SQL statement is:
Insert into Outbox (message, destination, msg_type) values ('你好', '+60172233111', 'U')
To out SMS in bulk:
Insert into Outbox (message, destination) values ('Hello!', '+60172233111'), ('Hello!', '+60172233112'), ('Hello!', '+60172233113'), ('Hello!', '+60172233114'), ('Hello!', '+60172233115');
To out SMS in bulk (MS SQL):
BULK INSERT Outbox FROM 'C:\\MSSQLTextFile.txt' WITH(FIELDTERMINATOR=',',ROWTERMINATOR='\n'
Contents of “MSSQLTextFile.txt”:-
,Hello!,,,+60172233111,,,,,,,, ,Hello!,,,+60172233112,,,,,,,, ,Hello!,,,+60172233113,,,,,,,, ,Hello!,,,+60172233114,,,,,,,, ,Hello!,,,+60172233115,,,,,,,,
To out SMS in bulk (MySQL):
LOAD DATA INFILE 'C:\\MySQLTextFile.txt' INTO Table Outbox FIELDS TERMINATED BY ',';
Contents of “MySQLTextFile.txt”:-
,Hello!,,2015-12-17 09:33:29,+60172233111,P,NULL,NULL,NULL,NULL,T,NULL, ,Hello!,,2015-12-17 09:33:29,+60172233112,P,NULL,NULL,NULL,NULL,T,NULL, ,Hello!,,2015-12-17 09:33:29,+60172233113,P,NULL,NULL,NULL,NULL,T,NULL, ,Hello!,,2015-12-17 09:33:29,+60172233114,P,NULL,NULL,NULL,NULL,T,NULL, ,Hello!,,2015-12-17 09:33:29,+60172233115,P,NULL,NULL,NULL,NULL,T,NULL,
How To Read SMS
To read all new SMS
Select * from Inbox where read_status = 'N'
To change the status of new SMS to “read”
Update Inbox Set read_status = 'Read' Where Status = 'N' or Update Inbox Set read_status = 'Read' Where msg_id = 'ID of the message that SI/SD is processing'
Requirements
- Microsoft .NET Framework Version 2.0
- Windows Operating System:
- Windows XP Pro / Vista / 7 / 8 / 10; 32 bit and 64 bit
- Windows Server 64-bit 2003 / 2008 / 2012 / 2016
- Database server:-
- Microsoft SQL Server Enterprise Edition 2000 / 2003 / 2008;
- Microsoft SQL Server Express Edition 2005;
- MySQL Server version 4.1 and above with MySQL ODBC Connector version 5.1; or
- Oracle 11g and above (special license is required)