|
|
Documentation
- Features
- Configuring a connection to a modem/phone
- Settings
- SMS to Web, SMS to HTTP
- Sending reply SMS messages
- SMS to Email
- SMS to text file(s)
- Supported modems/phones
- Autostart
Features
-
Uses a GSM or UMTS phone or modem, connected to a computer, to receive SMS messages and send replies. The phone/modem can be connected to a PC via cable, Bluetooth or infrared (IR).
-
Supports automatic forwarding of received SMS text messages as email messages to one or more addresses using the SMTP protocol. Messages can be forwarded to different email addresses depending on the content of the message and/or the sender's number.
-
Supports automatically dispatching received SMS text messages to a web server via HTTP, so those messages can be handled by a server-side script. The script can be written in any web programming language, such as PHP, ASP.NET and so forth. Secure HTTP (HTTPS) is also supported.
-
Allows incoming SMS messages to be automatically saved into a text/CSV file, or multiple files, for real-time processing and logging. Three modes are supported: a) 'single file'; b) 'file per day'; and c) 'file per message'.
-
Supports automatic SMS message reply to the sender. The reply message text can be predefined in the settings, or generated dynamically by a web script.
-
Designed to run continuously without user intervention.
-
Automatically reconnects to the phone/modem upon loss of connection.
-
Supports long (linked/concatenated) messages.
-
Supports Unicode SMS messages.
- Logging.
- Supports Windows 2000, Windows XP, Windows Vista, Windows 7, and Windows Server 2003/2008.
NOTE: If you want to use SMS Enabler with a GSM/UMTS modem, disable your SIM PIN code. (Insert your SIM card in a cell phone, then disable the PIN using the cell phone's configuration menus). You do not need to do this for a cell phone.
Configuring a Connection to a Modem or Phone
Connecting Using a USB Cable
First, install the USB modem drivers for your phone/modem. Next, plug your phone/modem into your computer using a USB cable or cradle. Open the Settings dialog box in SMS Enabler, and select the Connection page. In the Connect using list, select the name of your phone/modem. Change the Baud rate and/or RTS/CTS flow control settings if necessary.
NOTES:
- Some modems require a particular baud rate and flow control mode. This information is usually mentioned in the modem's documentation.
- Some phones and USB modems support dual mode operation: as a storage medium or a modem. These devices should be switched to modem mode.
Connecting Using a USB-to-RS232 Adapter
Install the drivers for your USB-to-RS232 adapter, then plug the modem into your computer using the adapter. Open the Device Manager in Windows, and in the Ports section, find the serial (COM) port name that is assigned to the virtual COM port created for the adapter.
 Open SMS Enabler's Settings dialog box, and select the same COM port name in the Connect using list on the Connection page.
Change the Baud rate and/or RTS/CTS flow control settings if necessary.
NOTE: Some modems require a particular baud rate and flow control mode. This information is usually mentioned in the modem's documentation.
Connecting via Bluetooth
Install the drivers for your Bluetooth adapter. Turn on your phone's Bluetooth interface and pair your phone and Windows Bluetooth. Go to the properties page of the phone Bluetooth device in Windows Bluetooth Settings, and enable the Dial-Up Networking profile; this will install the Windows Bluetooth Modem driver.
Open the Settings dialog box in SMS Enabler and select the Connection page. In the Connect using list, select the Bluetooth modem. Finally, change the Baud rate and/or RTS/CTS flow control settings if needed.
Connecting via RS232 (Hardware COM Port)
Plug your modem into your computer using an RS232 cable. Open SMS Enabler's Settings dialog box and select the Connection page. In the Connect using list, select the COM port to which your modem is connected. Change the Baud rate and/or RTS/CTS flow control settings if required.
NOTE: Some modems require a particular baud rate and flow control mode. This information is usually mentioned in the modem's documentation.
Connecting via Infrared (IR)
Install the drivers for your IR adapter, and plug the adapter into your computer. Turn on your phone's IR interface, and place it near the IR adapter. Open the Settings dialog box in SMS Enabler and select the Connection page. In the Connect using list, select the COM port or modem that has been created for the IR link. Change the Baud rate and/or RTS/CTS flow control settings if needed.
Connecting to NOKIA Phones
To use SMS Enabler with most NOKIA phones, you must have Nokia PC Suite installed on your PC. (You can use Nokia OVI Suite as well.) You can download Nokia PC Suite here.
Start by adding your phone within PC Suite. To do so, open PC Suite, and from its main menu, select Settings->Add more phones.... Then follow the instructions provided.
After adding your phone, open SMS Enabler's Settings dialog box and select the Connection page. Select your phone in the Connect using list. The phone will have the same name as in PC Suite, but prefixed with "(Nokia PC Suite)". For example, if your phone is labeled "Nokia 6233" in PC Suite, it will be named "(Nokia PC Suite) Nokia 6233" in the Connect using list. Set other settings if necessary, and click OK.
NOTE: Some older Nokia phones, such as the Nokia 6230 and 6610, can be used with SMS Enabler without having Nokia PC Suite installed. These phones can be connected using the same methods as non-Nokia phones/modems.
Settings
- Connect using
Select which modem/phone you want to use with SMS Enabler, or via which COM port this modem/phone is connected to your PC.
- Baud rate
Enter the baud rate to use to connect to your modem/phone, or select the appropriate value from the list.
- RTS/CTS flow control
RTS/CTS flow control is a hardware flow control protocol for serial communications. Select "On" to enable RTS/CTS flow control, or "Off" to disable it.
- Autostart
Check this if you want SMS Enabler to automatically start receiving when it launches.

- Forward incoming SMS messages to Email address(es)
Check this if you want SMS Enabler to automatically forward received SMS messages as emails.
- From
The email address of the outgoing email account.1) 2)
- Subject
The subject line to use for emails.2)
- Recipients
The recipient email addresses to which received SMS messages are to be forwarded. 1)
- Server
The name or address of the outgoing mail server (SMTP).
- Port
The outgoing mail server (SMTP) port.
- Server requires a secure connection (SSL)
Specifies whether to use the Secure Sockets Layer (SSL) protocol when connecting to this server. Note: only implicit TLS mode is supported (generally using port 465).
- Server requires authentication
Check this option if the SMTP server requires authentication.
- Account name
The outgoing mail account name.
- Password
The outgoing mail account password.
NOTES:
1) You can specify a display name for the email address, as in the following example: "George Kinsella" <gkins@domain.com>
2) You can use the special "%sender" keyword in the From and Subject fields; it will be replaced by the SMS message sender's phone number. Examples: From: "%sender" <addr@domain.com> Subject: SMS from %sender
- Forward incoming SMS messages to HTTP server
Check this if you want SMS Enabler to automatically forward received SMS messages to a server-side script via HTTP POST requests.
- URL
Specifies the URL of the server-side script that handles incoming SMS messages dispatched to it via HTTP by SMS Enabler.
- Use proxy
Check this if a proxy server must be used.
- Address
Address of the proxy server.
- Port
The proxy server's port number.
- Retry timeout
The number of seconds to wait before retrying, if the previous attempt to forward a received message to the HTTP server failed.
- Tag
Specifies the tag field value passed to the script along with SMS messages. This field can be used to pass additional information. For more details, see HTTP Forwarding
- Save incoming SMS messages into a text file(s)
Check this if you want SMS Enabler to automatically save incoming SMS messages to a file(s).
- Text file(s) location
The location of the folder where received SMS messages should be saved into single or multiple files. If you leave this field empty, SMS Enabler will use the "My Documents\SMS Enabler" directory by default.
- Field separator
The character used to separate fields in CSV format. CSV is used in text files when the 'single file' or 'file per day' mode is selected.
- File mode
single file - One file is created for all messages.
file per day - Each day a new file is created. If no messages are received on a particular day, a file is not created for that day.
file per message - Each message is saved into a separate file.
-
Encoding
Text file encoding.
UTF-8 - Messages are saved in UTF-8, a variable-length character Unicode encoding.
Unicode - Messages are saved using Unicode (UTF-16 little-endian) encoding.
ANSI - Messages are saved in ANSI encoding. ANSI is the default codepage on Windows. Western/US systems use "windows-1252" encoding; on Hebrew Windows it is "windows-1255"; on Russian Windows it is "windows-1251", etc. Note that if a particular character cannot be represented in ANSI encoding, it will be replaced by the "?" character.
- None (disable replying)
Disables the sending of reply SMS messages.
- HTTP response content
Select this option if you want SMS Enabler to send the text contained within the HTTP response back to the sender as a reply SMS message.
- Predefined text
Select if you want a predefined SMS message to be sent back to the sender each time a new message arrives. The message text must be specified in the edit box below.
- Maximum number of retries
The maximum number of attempts to send an SMS reply if the first attempt fails.
- The time period to wait for all parts of a multipart messages to come (in minutes)
Messages that are longer than 160 symbols (for 7-bit encoding) or 70 symbols (for Unicode encoding) are actually sent as multiple messages (multiple parts). The recipient phone automatically reassembles these partial messages and displays them to the user as a single message. SMS Enabler also reassembles such messages and presents them as a single message, but sometimes not all parts of the message arrive (due to technical reasons having nothing to do with SMS Enabler). This parameter specifies how much time SMS Enabler will wait for all parts of a split message to arrive; if all portions of the message are not received within this timeframe, SMS Enabler presents the message using the information it has received, replacing missing portions with the label "<missing text>".
- The max. number of last messages to display
The maximum number of messages to display. If the application window already contains this number of messages and a new one arrives, SMS Enabler will delete the oldest message from the screen to keep the number of displayed messages constant.
- Only get unread messages from the phone/modem
If this box is checked, SMS Enabler does not receive SMS messages that have been manually read on the phone/modem, and does not delete such messages from the phone/modem's SMS memory. It is recommended that this box remain unchecked.
SMS to HTTP
You can configure SMS Enabler to automatically forward incoming SMS messages to a web server via HTTP, so that the messages can be processed by a server-side script.
In this chapter, you will find information to help you to create such scripts. You can also find PHP and ASP.NET sample scripts in the SMS Enabler package.
After creating a script and installing it on your web server, you must enable SMS to HTTP forwarding and set your script URL in the Settings dialog box in the SMS to HTTP tab.
HTTP Request and Response
SMS Enabler uses HTTP POST requests to forward received SMS messages to a web server. The server must return 200 OK or 204 No Content status to indicate success. Any other status code is taken by SMS Enabler as a failure, and causes the program to retry the request. The retry timeout interval is defined in the settings; the default is 30 seconds.
The request content type is application/x-www-form-urlencoded. This is the same content type that HTML forms use to post data to a web server. Without going into too much detail, the application/x-www-form-urlencoded content type is a set of field names and their corresponding values, which are used by SMS Enabler to carry all SMS message information. You can easily retrieve field values by their names using almost any modern web programming language. See the code samples and field descriptions below.
Sending a Reply SMS from the Script
To enable replies from the script, you must set the source for the reply message text to HTTP response content in the Settings dialog box in the Reply SMS tab.
To send a reply SMS, your script should return it as plain text in the content of the HTTP response. The content length must be greater than 0, and the content type set to 'text/plain' or any other 'text/*' MIME type. The response status code must be 200 OK. If you are sending non-ASCII characters, it's important to set the correct character encoding.
Code samples
PHP
/* Getting sender's phone number and message text */
$senderPhone = $_POST['sender'];
$messageText = $_POST['text'];
/* Sending a reply SMS. */
/* Setting the HTTP response content type and charset */
header('Content-Type: text/plain; charset=utf-8');
/* Comment the next line out if you do not want to send a reply */
echo 'Reply message text';
Download PHP sample script
ASP.NET (C#)
// Getting sender's phone number and message text
string senderPhone = Request.Form["sender"];
string messageText = Request.Form["text"];
Response.Clear();
Response.ContentType = "text/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
/* Sending a reply SMS. Comment the next line out if you do not want to send a reply */
Response.Write("Reply message text");
/*The next line is necessary whether or not you are sending a reply*/
Response.End();
Download Visual Studio ASP.NET sample project
You can find complete PHP and ASP.NET example scripts in the SMS Enabler package.
Character encoding
All text values are converted to UTF-8 before encoding them to application/x-www-form-urlencoded.
Field descriptions:
| Field name | Description |
| sender | Sender phone number. |
| text | SMS message text. |
| scts | SMS center time stamp, in UTC, expressed using "YYYY-MM-DD HH:MM:SS" format. You can consider this as the time when the sender sent the message. |
| tag | Tag value. You can define this in SMS Enabler's settings, and use it to pass additional information. |
| has_missing_parts | This field can be set to "yes" or "no". "yes" - Indicates that an SMS message is a multipart message and not all of its parts have arrived (i.e., the message is incomplete). "no" - Means the message is complete. The maximum time period to wait for all parts to be received is defined in the program's settings. |
Sending Reply SMS messages
SMS Enabler can be configured to automatically send reply SMS messages back to the sender. The text of reply messages can be predefined in the settings, or generated dynamically by a script running on a local or remote web server.
Predefined Replies
To configure SMS Enabler to send predefined replies, open the Settings dialog box, select the Reply SMS tab, and select Predefined text as the source of the reply messages' text. Enter the reply message text in the edit box.
Dynamic Generaion of Replies
Dynamic generation of reply message text is done in conjuction with the SMS to HTTP forwarding feature.
Here's how it works:
- After receiving a new SMS message, SMS Enabler dispatches it to your script running on an HTTP server.
- Your script sends an HTTP response containing a reply message back to SMS Enabler.
- SMS Enabler sends the text contained in the HTTP response back to the sender as a reply SMS message.
To implement dynamic generation of reply messages you should:
- Create a script and install it on your web server.
- In the Settings dialog box, select the SMS to HTTP tab and enable and set up SMS to HTTP forwarding.
- In the Settings dialog box, select the Reply SMS tab and set HTTP response content as the source for reply message text.
See here for more details on creating a script and SMS to HTTP forwarding.
SMS to Text File(s)
SMS Enabler can automatically save received SMS messages into a single text file or a set of multiple files. Depending on the File mode setting,
it can save all messages into a single file, create a new file for each day, or save each message to a separate file.
By default, SMS Enabler saves messages in the My Documents\SMS Enabler directory. You can change this location in the settings dialog box.
File Format for the single file and file per day File Modes
In the single file and file per day modes, the file format is CSV. Each line corresponds to a message, containing four fields separated by the field separator character.
The separator character can be set to tab, comma or semicolon in SMS Enabler's settings.
The CSV fields are as follows:
- Sender phone number
- Message text
- SMS center time stamp (the time the sender sent the message)
- The date and time this message was saved to this file
The sender phone and message text fields are enclosed in double quotes("), and each of the double quotes embeded in these fields is doubled. Date/time fields are the local date/time represented in this format: "YYYY-MM-DD HH:MM:SS".
File Format for the file per message File Mode
In this mode, each file corresponds to a single message. A message file has at least four lines:
- First line: The SMS center time stamp (the time the sender has sent the message).
- Second line: The date and time that this message was saved to this file.
- Third line: The sender's phone number.
- Fourth and subsequent lines: The message text.
Note: If you use the file per message mode for processing messages in your application, there is a small chance that your application will try to open a message file before SMS Enabler has finished writing to it. This may cause your application to receive an access error opening the file. If this occurs, your application should skip this file and process it in the next itteration, or wait a short period of time (such as a half second or one second) and try again.
File Naming
For the single file file mode, the file name is messages.txt
For the file per day file mode, the file name is messagesYYYYMMDD.txt where:
YYYY = year
MM = month
DD = day
For the file per message file mode, the file name is messageYYYYMMDD_HHmmSS_N.txt where:
YYYY = year
MM = month
DD = day
HH = hour (based on a 24-hour clock)
mm = minutes
SS = seconds
N = file number since the program last started
Supported modems/phones
Below you will find a partial list of the phones and modems that have been successfully tested with SMS Enabler.
Note: this is not a full list of supported phones/modems, just a list of the devices that have been tested. If your phone/modem is not in this list, this does not mean that it is unsupported. You can test your phone/modem with the trial version of SMS Enabler to determine if it is supported or not.
Tested modems:
Audiotel Industrial Base GSM, Audiotel Industrial Plus GPRS
Siemens TC35, TC35i, TC65, TC65i, MC35i, MC39i, MC45, MC75
Fargo Maestro
Wavecom Fasttrack, Wavecom Multiband 900e 1800
Option GlobeTrotter GPRS PCMCIA Card
Sierra AirCard 880U
Simcom SIM300, SIM508
SonyEricsson GC89, PC300
ZTE MF626, MF636, K3565-Z
Huawei E156B, E156G, E169, E272, E1552
Novatel Expedite EU870D MiniCard
Tested phones:
SonyEricsson D750, G502, K310, K320, K510, K550, K750, K800, K810, P990, T630, T700, W200, W300, W380, W550, W580, W700, W810, W910
Samsung SGH-D500, SGH-D880, SGH-D900i, SGH-E250i, SGH-E830, SGH-T459, F480, B2100, M2710, GT-S5233A
Nokia 6310i, 6230, 6021, 6233, 2760
LG KS360
Siemens C55, ME45
Autostart
There are two ways to make SMS Enabler start receiving automatically when it launches:
- Check the Autostart option in the Settings dialog box on the Connection tab page.
- Use the /start command line option, as follows:
smsenabler.exe /start
|