REVISION HISTORY
EDITION | DATE OF REVISION | REMARK |
---|---|---|
8th | 27th of February , 2020 | revised "INSTALLATION of SMS ENGINE ENTERPRISE EDITION" |
7th | 2nd of October, 2019 | Updated "INSTALLATION of SMS ENGINE ENTERPRISE EDITION" , "TERMS AND CONDITIONS ON SUPPORT"; revised fonts |
6th | 18th of September, 2018 | Updated “APPENDIX 1: RELEASE NOTES” |
5th | 26th of March, 2018 | Removed "Q24"; removed "APPENDIX 2: GUIDE TO ADD 1 OR MORE SMS MODEM TO EXISTING SMS ENGINE"; removed "APPENDIX 3: GUIDE TO INCREASE MODEM ACCESS LICENSE FROM 4 TO 8" |
4th | 26th of February, 2018 | Updated “APPENDIX 1: RELEASE NOTE” |
3rd | 11th of October, 2006 | Removed “SMS Monitor”; Revised “ 5. New: support Oracle 11g (not in standard package, separate license is required)”; Added “ 3. New: manual routing” |
2nd | 13th of November, 2015 | Added “APPENDIX 5: HOW TO SET-UP MySQL DATABASE” |
1st | 20th of June, 2015 | Draft release |
COPYRIGHT
Copyright © 2015 – 2019 MOBITEK System Sdn. Bhd. All rights reserved.
No part of this document may be reproduced, distributed, stored in a retrieval system or translated into any language, in any form or by any means, electronic, mechanical, magnetic, optical, photocopying, manual or otherwise, without the prior written permission of MOBITEK System Sdn. Bhd.
TRADEMARKS
MOBITEK® is a registered trademark owns by MOBITEK System Sdn. Bhd.
Product names, logos, brands and other trademarks referred in this document are the property of their respective trademark holders and are used only to directly describe the products being provided.
DISCLAIMER
MOBITEK makes no representations or warranties with respect to the contents hereof and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose.
Furthermore, MOBITEK reserves the right to revise this publication and to make changes from time to time in the contents hereof without obligation to notify any person of such revision or changes.
ACKNOWLEDGEMENT
We like to extend our appreciation to the following persons for their contribution in revising this manual:-
- Mr. Muhamad Faezudin bin Hairuddin, UNIVERSITY SAINS MALAYSIA
- Ms. Nur Shafiqah binti Muhamad Baharum, UNIVERSITI PERTAHANAN NASIONAL MALAYSIA
INTRODUCTION
MOBITEK® SMS Engine – Enterprise Edition is a Windows Service that sends and receives SMS. System integrator and software developer (SI/SD) do not need to write any code to build a SMS Gateway. The MOBITEK® SMS Engine – Enterprise Edition uses MS SQL 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 “outbox” table to send out SMS, and retrieve record from “inbox” table to read SMS. The MOBITEK® SMS Engine – Enterprise Edition has taken care all SMS transactions.
FEATURES
- Release – version 6.2
- Running as Windows Service.
- New: manual routing
- New: concatenate multiple SMS, i.e. support sending SMS longer than 160 characters and joining them into 1 SMS
- New: support Oracle 11g (not in standard package, separate license is required)
- MOBITEK® SMS Engine – Enterprise Edition will always try to initialize connection with modem, e.g. If PC/server is rebooted, the service will automatically establish connection with GSM modem.
- 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.
- Works in Windows Server 2003 / 2008 / 2012 32 bit and 64 bit.
- Uses Microsoft SQL Server, MySQL Server or Oracle 11g to store incoming SMS, and to process outgoing SMS in database. Support both Windows and SQL authentication mode.
- Prevention of any lost of SMS:–
- During initialization, 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”
- Prioritization 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 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 Engine – support 1 or more MOBITEK®MobiGATETM without any need to reinstall Engine.
- Load balancing – 4 modems 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 initialized then queue size will be increased.
- Configurable maximum queue size – the maximum queue size can be changed, default size is 8 SMS/records per modem.
- Routing – sophisticated and intelligent routing logic that can be easily configured:-
- Modem will send to designated prefix mobile number. Good for cost saving as SMS sent within the intra-network is cheaper than inter-network.
- Modem will be or not be used.
- Number of retries – can be configured. If SMS fails to be send, it will retry until the specified time.
LIMITATION
Sending of SMS in alphanumeric character with maximum of 160 characters length.- Sending of SMS in Chinese character with maximum of 70 characters length.
- Does not support receiving concatenate or long SMS. Receiving of SMS is limited to 160 characters (ASCII) or 70 characters (Unicode) per record in the “inbox” table; if exceeded then the incoming SMS will be stored in multiple records in the “inbox” table.
REQUIREMENT
- System integrators and software developers must posses knowledge of:
- SQL Database Administration for:-
- Microsoft SQL Server, Microsoft SQL Server Enterprise Manager, Microsoft SQL Server Query Analyzer;
- MySQL Database Server; or
- Oracle Database Server
- Database programming:-
- ODBC, ADO, ADO.net; and
- SQL statement
- Windows Service Administration
- SQL Database Administration for:-
- MOBITEK®MobiGATETM
- SIM card(s)
- Supported operating system: –
- Windows Server 2003 / 2008 / 2012 / 2016 Server 32-bit and 64-bit;
- Windows XP / Vista / 7 / 8 / 10 32-bit and 64-bit.
- Microsoft .NET Framework Version 2.0
- Microsoft .NET Framework Version 4.0 if using Oracle 11g
- Support SQL Database Server:-
- Microsoft SQL Server 2000 / 2003 / 2008 Enterprise Edition;
- Microsoft SQL Server 2005 Express Edition;
- MySQL version 4.1 and above with MySQL ODBC driver version 5.1 in Windows OS;
- MySQL version 4.1 and above with MySQL ODBC driver version 5.1 in Linux OS; or
- Oracle 11g (separate license required)
SYSTEM ARCHITECTURE
INSTALLATION of SMS ENGINE ENTERPRISE EDITION
- Install Microsoft .NET Framework Version 2.0
- install it from the USB thumb drive; or
- download from (http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en)
- Add a new database or use existing database.
- Execute SQL script (in USB thumb driveCD) to add new tables to a new database or existing database.
- For MS SQL database server, the sql script is “mssql-smsee6.sql”;
- For MySQL database server, the sql script is “mysql-smsee6.sql”.
- The SQL script will generate 4 tables:
- inbox
- outbox
- modem_state
- retry_send
Note: Please make sure you have back-up your database before executing “smsengine.sql”. We will not be held responsible for any data loss nor data corruption.
- Find out the COM port number of each modems of MOBITEK® MobiGATETM .
- Install MOBITEK® SMS Engine by running the file “Setup_SMSEngine6.exe”. Go to the SMS Engine installation folder located at
C:\Program Files (x86)\SMS Engine Enterprise Edition
right-click on the folder and select “Properties”. Click on “Security” tab -> “Edit”.
- Select “Users” and check for “Full Control”. Click “Apply”.
- Using Notepad, edit the configuration file “config.xml”, located at
C:\Program Files (x86)\SMS Engine Enterprise Edition
. The contents of config.xml is as follows:
<SMSConfig>
<RETRY_SEND>3</RETRY_SEND>
<QUEUE_SIZE>16</QUEUE_SIZE><ROUTING>P</ROUTING>
<MODEM_LIST>
<MODEM><ID>1</ID>
<PORT>41</PORT><ENABLED>true</ENABLED>
<MODE>B</MODE>
<TARGET_PREFIX>*</TARGET_PREFIX></MODEM><MODEM>
<ID>2</ID>
<PORT>42</PORT><ENABLED>true</ENABLED>
<MODE>B</MODE>
<TARGET_PREFIX>*</TARGET_PREFIX></MODEM><MODEM>
<ID>3</ID>
<PORT>43</PORT><ENABLED>true</ENABLED>
<MODE>B</MODE>
<TARGET_PREFIX>*</TARGET_PREFIX></MODEM><MODEM>
<ID>4</ID>
<PORT>44</PORT><ENABLED>true</ENABLED><MODE>B</MODE>
<TARGET_PREFIX>*</TARGET_PREFIX>
</MODEM>
</MODEM_LIST>
<DATASOURCE>
<DBTYPE>MySQL</DBTYPE>
<SERVER>localhost</SERVER>
<USERNAME>root</USERNAME>
<PASSWORD>root</PASSWORD>
<DATABASENAME>smseee6</DATABASENAME>
<AUTHMODE>SQL</AUTHMODE>
</DATASOURCE>
</SMSConfig>
This table explains the node in the “config.xml” file:
NODE VALUE DESCRIPTION <RETRY_SEND>
A number, starting from 0 <RETRY_SEND>0</RETRY_SEND>
= no retry<RETRY_SEND>3</RETRY_SEND>
= retry 3 timesEnter the number of retry in the event if SMS cannot be sent. The total number of sending is 1 + number of retry. This is a global setting that will affect all modems. <QUEUE_SIZE>
A number, default is 16. <QUEUE_SIZE>16</QUEUE_SIZE>
= Engine will select 16 records from outbox tableMinimum is 16.
Maximum is unlimited
Maximum number of records that the Engine will select from the outbox table. The larger the queue size, the lesser connection/query is made to the SQL Database.
<ROUTING>
Value can be “A”, “P” or “M”. <ROUTING>A</ROUTING>
= automatic routing and load balancing<ROUTING>P</ROUTING>
= routing by pre-fix based on value in <TARGET_PREFIX><ROUTING>M</ROUTING>
= manual routing based on value in the outbox.target_modemTo set the routing mode. This is a global setting that will affect all modems.
<MODEM>
N/A Setting for each modem. If there are 8 modems in MobiGATE, then there must be 8 <MODEM>
nodes. If there are 4 modems, then there must be 4 <MODEM> nodes.<ID>
A number starting from 1. <ID>1</ID>
= this modem’s ID or number is 1<ID>2</ID>
= this modem’s ID or number is 2ID of modem or modem number. Depending on the model of MobiGATE, the range of ID can be from 1 to 4 or 1 to 8. <PORT>
A number, starting from 1 <PORT>9</PORT>
= this modem is connected to COM port number 9COM port of which the modem is connected. Please refer to “Device Manager > Ports” to find out the COM port numbers.
<ENABLED>
Value is either “True” or “False”. <ENABLED>True</ENABLED>
= modem is enabled<ENABLED>False</ENABLED>
= modem is disabled, neither SMS will be send nor read on this modemTo enable or disable a modem. Engine will need to be restarted to take effect.
<MODE>
Value can be “B”, “R” or “S”. <MODE>B</MODE>
= bi-directional, modem will read and send SMS<MODE>R</MODE>
= one way read SMS only<MODE>S</MODE>
= one way send SMS onlyTo set the direction mode of modem. <TARGET_PREFIX>
- A number
- List of numbers, separated by comma
- blank
- “*” wild card
<TARGET_PREFIX>016</TARGET_PREFIX>
= this modem will only send out SMS to mobile numbers with 016 prefix<TARGET_PREFIX>017,012</TARGET_PREFIX>
= this modem will only send out SMS to numbers with 017 and 012 prefix<TARGET_PREFIX></TARGET_PREFIX>
= this modem will NOT send out any SMS<TARGET_PREFIX>*</TARGET_PREFIX>
= this modem will send SMS to any mobile numbersTo configure the prefix rule, modem will only send out SMS if prefix rule is matched. The routing must be set to
<ROUTING>P</ROUTING>
in order for the target prefix to work, else it will be ignored<MODEM>
<ID>1</ID>
<PORT>41</PORT>
<ENABLED>true</ENABLED>
<MODE>B</MODE>
<TARGET_PREFIX>17,012</TARGET_PREFIX>
</MODEM>
N/A Modem ID 1 is connected to COM port number 41. It is enabled, and the mode is send and read SMS.
It will only send SMS to numbers with 017 and 012 prefix.
<DATASOURCE>
N/A Settings for SQL Database Server <DBTYPE>
“MYSQL” or “MSSQL” <DBTYPE>MYSQL</DBTYPE>
= Database server is MySQL<DBTYPE>MSSQL</DBTYPE>
= Database server is MS SQLTo set which type of database server is used. <SERVER>
“IP address” or “name of server” <SERVER>192.168.1.66</SERVER>
= IP address of the database server<SERVER>localhost</SERVER>
= database server is on local server<SERVER>127.0.0.1SQLEXPRESS
</SERVER>
= IP address of MS SQL Express database server
(note: for MS SQL Express Edition, add a suffix – “SQLEXPRESS” , e.g. 127.0.0.1SQLEXPRESS)To set the IP address or name of database server. <USERNAME>
<USERNAME>root</USERNAME>
= user name is “root”; default for MySQL<USERNAME>sa</USERNAME>
= user name is “sa”; default for MS SQLTo set the user name of the login account of the database server <PASSWORD>
<PASSWORD>root</PASSWORD>
= password is “root”; default for MySQL<PASSWORD>sa</PASSWORD>
= password is “sa”; default for MS SQLTo set the password of the login account of the database server <DATABASENAME>
Alpanumeric. <DATABASENAME>smseee6</DATABASENAME>
= name of the database used is “smseee6”To set the database name used. <AUTHMODE>
Value can be “SQL”, “WIN” or blank <AUTHMODE>SQL</AUTHMODE>
= MS SQL Server will use SQL authentication mode<AUTHMODE>WIN</AUTHMODE>
= MS SQL Server will use Windows authentication mode<AUTHMODE></AUTHMODE>
= leave blank if using MySQL Database ServerTo set the authentication mode, only applies for MS SQL Database Server. For MySQL, leave it blank.
- Save “config.xml” after all changes are made.
- Make sure MOBITEK® MobiGATETM is powered on.
- Start the service.
- Go to “Administrative Tools > Services”, look for service called “SMS Engine Enterprise Edition”, and click start.
- At later stage, you can configure the service to start automatically at “Start-up type: Automatic”.
- Open log file to see if service is successfully started.
- Goto “C:Program FilesSMS Engine Enterprise Editionlog”, log file is saved as “yyyy_mm_dd.log”.
- Open current log file. If service is successfully started, then you will see this message:
-
18:44:59 SMS Engine Enterprise Edition service (version 6.0.0) started 18:45:01 Modem ID 1 : initialized
OUTBOX TABLE – 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 send out SMS by manual routing via modem ID 4 (provided that <ROUTING>M</ROUTING>
is set), the SQL statement is:
Insert into Outbox (message, destination, target_modem) values ('Hello!', '+60172233111', '4')
To schedule a SMS to be send out at a predetermined date, the SQL statement is:
Insert into Outbox (message, destination, datetime_schedule) VALUES ('Happy New Year!', '+60176096718', '2020-01-01 00:01:00');
SMS Engine implements FIFO (first in first out) rule for processing messages to be send out. That is the 1st message that is inserted into the table will be the 1st message to be send out.
FILED NAME | DATA TYPE | DESCRIPTION | REMARK |
---|---|---|---|
msg_id | bigint
(primary key) |
Outgoing SMS unique identifier key. | Automatically increased. Reserved. Do not modified. |
message | text | Outgoing message (SMS) | Maximum length is 160 characters or more.
If exceed 160, then it will be concatenated. Only valid for text format, not valid for unicde. For unicode (Chinese), the maximum number of character is 70. Value ‘U’ must be entered into “msg_type” field. |
msg_ref | integer | Message reference given by the SMSC. | Automatically generated by SMS Engine. Reserved. Do not modified. |
datetime_queued | datetime | Date and time of outgoing SMS queued to be send. Format according to system’s setting. | Automatically generated by SMS Engine. Reserved. Do not modified. |
destination | varchar | Recipient’s mobile number | Value required to send out SMS.
The format must be ‘+country code then prefix then number’ e.g. +60123477527 +6598770270 If you do not insert +country code, e.g. 0123477527, the message can still be send out but there will not be any delivery report. |
sent_status | varchar | Status of outgoing SMS
‘P’ – Pending ‘L’ – Processing ‘S’ – Sent ‘R’ – Retry ‘F’ – Fail to send |
Default value is ‘P’. Automatically generated by SMS Engine. Reserved. Do not modified. |
datetime_sent | datetime | Date and time of outgoing SMS being sent. | Automatically generated by SMS Engine. Reserved. Do not modified. |
delivery_status | varchar | ‘D’ – delivered
‘F’ – fail to deliver ‘U’ – unknown status |
Whenever there is a delivery status report from the network, it will be automatically inserted by SMS Engine. Reserved. Do not modified. |
datetime_delivered | datetime | Date and time of outgoing SMS being delivered to recipient. | Whenever there is a delivery status report from the network, it will be automatically inserted by SMS Engine. Reserved. Do not modified. |
modem_id | varchar | Modem that sends out SMS.
Correspond to the modem ID as described in “config.xml”. |
Automatically generated by SMS Engine. Reserved. Do not modified. |
msg_type | varchar | To indicate whether to send out this SMS in text or unicode (Chinese) format. | Default value is ‘P’.
Insert ‘U’ to send out SMS in unicode format. |
datetime_schedule | datetime | To indicate when this message/record is to be send. | Default value “null”.
Scheduling: insert date and time if you want to schedule this message to be send out later. Prioritization: earliest “datetime_schedule” will be send out, and all “datetime_schedule = null” will be last to send out. The Engine will query the outbox 2 times, 1st time for scheduled records and 2nd time for unscheduled records. All unscheduled records will be send only after current scheduled records are send. |
target_modem | varchar | To indicate which modem to be used for sending out SMS | Default value “null”. |
INBOX TABLE – READ SMS
SQL Statement:
- 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'
FILED NAME | DATA TYPE | DESCRIPTION | REMARK |
---|---|---|---|
msg_id | varchar | Incoming SMS unique identifier key. | Automatically increased. Reserved. Do not modified. |
message | varchar | Incoming SMS. Maximum of 160 characters. | Whenever there is an incoming SMS, it will be automatically inserted by SMS Engine. Reserved. Do not modified. |
datetime_recv | datetime | Date and time of incoming SMS received by server. | Whenever there is an incoming SMS, it will be automatically inserted by SMS Engine. Reserved. Do not modified. |
receive_from | varchar | Sender Mobile number of incoming SMS . | Whenever there is an incoming SMS, it will be automatically inserted by SMS Engine. Reserved. Do not modified. |
read_status | varchar | Status of incoming SMS. ‘N’ – New (default value) |
Whenever there is an incoming SMS, ‘N’ will be automatically inserted by SMS Engine.SI/SD can change the value after reading the SMS. Value can be modified. |
modem_id | varchar | Modem that receives incoming SMS. Correspond to the modem ID as described in “config.xml”. |
Automatically generated by SMS Engine. Reserved. Do not modified. |
scts | datetime | Date and time of incoming SMS received by SMS centre. It is NOT the date, and time of the server. | Automatically generated by SMS Engine. Reserved. Do not modified. |
RETRY SEND TABLE
This table is used for logging number of retries for a message.
FILED NAME | DATA TYPE | DESCRIPTION | REMARK |
---|---|---|---|
id | automatic increment | Automatically increased. Reserved. Do not modified. | |
msg_id | varchar | The message ID of the outbox table.
[outbox].[msg_id] |
Automatically generated by SMS Engine. Reserved. Do not modified. |
modem_id | varchar | The modem used for retrying
Correspond to the modem ID as described in “config.xml”. |
Automatically generated by SMS Engine. Reserved. Do not modified. |
total_retry | integer | Number of retries done by the particular modem.
The number should be less than or equal to <RETRY_SEND>3</RETRY_SEND> as described in “config.xml”. |
Automatically generated by SMS Engine. Reserved. Do not modified. |
For example, if a record with ID “118” has this value:-
FILED NAME | VALUE |
---|---|
id | 118 |
msg_id | A3210 |
modem_id | 1 |
total_retry | 3 |
It means – modem with ID number 1 had retried 3 times to send out the message having ID “A3210”.
FREQUENTLY ASKED QUESTIONS
Last updated on 22nd of July, 2015
Q: I am using U Mobile post-paid, why does the Engine’s log shows “not able to connect to GSM network” and the red LED on modem is on but not blinking?
A: U Mobile post-paid is 3G only. Therefore, the modem is unable to connect to GSM network using a 3G SIM card. Please request a 2G SIM card from U Mobile.
Q: We are facing issue – when sending the symbol “~”, the SMS received on hand phone shows “ű” or a “square” or a “?”, what is wrong?
A: These characters are NOT the default alphabet defined by the GSM standard:-
{}[]~| and the Euro symbol: €
If you want to use the above character/alphabet, then you need to set “msg_type=U” and limit your maximum number of character per SMS to 70.
Q: The light of the first modem is not blinking but constantly on, while the rest are blinking.
A: Do the following:-
- Make sure the SIM lock is disabled. Use your hand phone to disable the SIM lock function.
- Remove SIM cards, use a rubber or eraser, gently rub the gold area of the SIM card to clean it.
- The SIM card may be defective exchange for another one.
- Check your balance or expiry date if you are using pre-paid.
Q: I am using SIM cards having prepaid, how do I check my balance without stopping the service?
A: You can goto the web site of the GSM network operator (TELCO/CELCO/carrier) and check the balance on-line. Here are a list of the web sites for each of the CELCO:-
-
Hotlink http://www.hotlink.com.my/ Digi https://www.digi.com.my/ocs/myaccount/main/home.do
Xpax http://www.xpax.com.my/index.php
U Mobile http://www.u.com.my
Q: I am using SIM cards having prepaid, I want to reload or top-up my account, how do I do so without stopping the service or removing the SIM card?
A: You can goto the web site of the GSM network operator (TELCO/CELCO/carrier).
Q: The log file is good for trouble shooting. Any setting for us to control the size of the file?
A: It is good to keep log for audit and trouble shooting purposes. And nowadays, server has large hard disk capacity, so the log file hogging space is not an issue.
Q: The service will always try to initialize with MOBITEK® MobiGATETM. What about database connection? What if the service started before SQL Server started? Will the service try to re-connect with SQL server?
A: Yes, it will. When the SMS Engine Enterprise Edition service is started, it will always try to initialize the GSM modem, and will always try to connect to SQL server.
In order that the service is not stopped (for whatever reasons), goto “Administrative Tools > Services”, right click on “SMS Engine > Properties > Recovery tab”.
Under “First failure:” select “Restart service”
Under “Second failure:” select “Restart service”
Under “Subsequent failures:” select “Restart service”
This will make sure that the SMS Engine – Enterprise Edition service is always running, and it will always attempt to initialise the GSM modem and to connect to the database.
However, if your SQL Server fails, then not only SMS Engine – Enterprise Edition will not run properly, other applications are affected as well. Therefore, it is your responsibility to ensure that SQL Server does not fail.
Q: Can I modify the structure database or tables?
A: It is important that the database schema or structure of 3 tables (inbox, outbox, modem_state, retry_send) are intact. You must not modify the fields nor data type. Otherwise the SMS Engine will fail to operate properly.
You must use the SQL script provided to create 3 tables, and you must back-up your database before you do so. We do not assume any liability if there are any data corruption or data loss.
Q: How does the SMS Engine process each record in outbox table in order to send out SMS?
A: The process flow is as follows
P > L > S
or
P > L > R > S
or
P > L > R > F
The final value is either ‘S’ or ‘F’.
Note: System Integrator must not enter any values into “sent_status” field, doing so will disrupt the flow or will cause SMS Engine to process the record improperly.
Q: Do I need to enter “P” in “sent_status” field?
A: You do not need to enter the value ‘P’ for “sent_status”, it is automatically inserted. The SMS Engine will automatically update the “sent_status” field.
Q: May we know how to sequence the SMS Engine process the records in “outbox” table? In other words, which message is sent out first.
A: The rule for processing record in “outbox” table is FIFO. The first record inserted into “outbox” table will be the 1st record sent out.
Q: What is the delay for next retry?
A: There is a delay of 2 seconds.
Note: if you have 3 records in outbox, if the 1st record fail to send out, it will retry until the number of times stated in 3 before moving to 2nd record, will do the same, before moving to 3rd record.
Q: What is the purpose of “modem_state” table?
A: You must not touch the “modem_state” table, it is irrelevant to your application. It used by the SMS Engine Monitor for reporting purpose.
Q: Can we have a centralised database if we install the SMS Engine in a 2×2 configuration?
A: The current SMS Engine – Enterprise Edition does not support centralised database. I.e. if 2 or more Engines are installed on different servers, then each Engine must have its own database.
Nevertheless, if you need a “centralised database mode”, we are able to develop a special edition with a centralised queue manager. Please let us know, we will quote the license fee to you.
An alternative solution is that your application will manage the queue — you will decide whether to insert record into “database 1” or “database 2”.
TIPS
These are import factors to ensure SMS Engine operates smoothly:
- config.xml properly configured
- Choose the correct SQL script to be executed, and 3 tables (inbox, outbox, modem_state) are created or added to your preferred database name
- SMS Engine service is started
- Other factors which are beyond are our control that will also affect SMS Engine are:
- whether SQL Database Server is running
- whether LAN is running, and firewall is opened for SMS Engine (if database server and SMS Engine are on separate machines)
- whether there is database connection
- whether PC / server / Windows is running
- whether GSM network is running
- whether SIM card is barred
- whether SIM card has money
TERMS AND CONDITIONS ON SUPPORT
Please write to support@mobitek.my with:
- company name
- invoice number (located at back of modem)
- description of problem
- version number of the SMS Engine – Enterprise Edition (right click on “C:Program FilesSMS Engine Enterprise EditionSMSSvc.exe”, select “Properties > Version tab”)
- attach screen capture of “VCOM” showing all COM ports and its IP address
- attach log file (located at “C:Program FilesSMS Engine Enterprise Editionlog”)
- attach “config.xml” file
APPENDIX 1: RELEASE NOTES
VERSION | DESCRIPTION |
---|---|
6.2.1 |
|
6.1 |
|
6.0 |
|
5.8.1 |
|
5.8 |
|
5.7 |
|
5.6 |
|
5.5 |
|
5.4 |
|
5.3 |
|
5.2 |
|
5.1 |
|
APPENDIX 2: GUIDE TO ADD 1 OR MORE SMS MODEM TO EXISTING SMS ENGINE
(removed)
APPENDIX 3: GUIDE TO INCREASE MODEM ACCESS LICENSE FROM 4 TO 8
(removed)
APPENDIX 4: HOW TO SET-UP MSSQL SERVER EXPRESS
- Install Microsoft SQL Server 2008 R2, you can get it from Microsoft official site.
- Run Microsoft SQL Server Management Studio.
- On the first run, “Connect to Server” will pop-up
- On “object explorer” → right click on databases → create new database.
- Give it a name “smseee” and press OK
- On “object explorer” → right click on your new created database → New Query
- <plang=”en-US”>Copy and paste the sql command from “mssql.sql”
- The database is set up, in case you want to know about the detail of you database for further use in MOBITEK® SMS Engine (Enterprise Edition), right click on your database → properties
- In “config.xml” file, edit as follows:-
<DATASOURCE>
<DBTYPE>MSSQL</DBTYPE>
<SERVER>DELL-D630SQLEXPRESS</SERVER>
<USERNAME>abc</USERNAME>
<PASSWORD>abc</PASSWORD>
<DATABASENAME>smseee5</DATABASENAME>
<AUTHMODE>WIN</AUTHMODE>
</DATASOURCE>
APPENDIX 5: HOW TO SET-UP MySQL DATABASE
-
Run the “WampServer64” to install Apache, MySQL Database and PHP.
-
After successful installation, at the taskbar, click “Start All Services”.
-
Go to your folder and open up your mysql-smsee6. Right click and click edit with “Notepad++” or “Notepad”.