nhsms utility sends short text messages (sms) using a modem (or cell phone) connected to the PC. Internet connection is not required.
nhsms also reads incoming text messages from the modem and can execute USSD queries.
Sending text messages through a modem has some benefits comparing to Internet services:
- no Internet access required – sending messages will work even if Internet connection is down
- operators process such text messages as normal messages without filtering them as commercial messages sent through Internet gateways
Sent messages cost according to cell operator’s plan.
The utility sends text messages composed in other applications through text files and can be used in:
- IT to notify personnel on power breaks, communications losses, and executing commands entered through sms.
- Sales to inform customers on order status etc.
- Schools to inform parents.
More information:
Modem
A GSM modem or GSM cell phone supporting AT Command Set will be required. The utility can work with modems and phones connected through Bluetooth, RS-232C, USB, manufactured by Huawei, Nokia, Siemens, Sony Ericsson, ZTE etc.
When the modem supports reading of incoming messages, other applications are possible, for example, clients can request a call back, or an IT administrator can remotely execute commands on the server.
Sending text messages
nhsms offers these features when sending messages:
- Supports long messages exceeding 160 characters in English or 70 characters in Unicode.
- Automatic switching to 7-bit GSM Alphabet or 16-bit Unicode character set according to the characters used individually for each message.
- Character set includes formatting characters: newline, tab, quotes, brackets, etc bot in 7-bit GSM Alphabet and Unicode, allowing you to create user friendly text messages.
- Flash SMS supported. Flash message will be displayed on the phone screen immediately after received, good for emergency notifications.
- Texting to short numbers allows executing service commands, such as connecting and disconnecting services, payment options etc
nhsms can send text messages from:
- command line arguments
- text files, one file can contain unlimited number of outgoing messages
- table in a database
After a message is sent, result and identification code can be saved in a text file and passed on to external programs for processing.
Receiving text messages
nhsms reads incoming text messages from the connected modem:
- Incoming messages from other phones and from cellular operator. Long messages consisting of several standard messages are automatically combined into one.
- Status reports on sent messages.
All received messages are passed to external programs and scripts for processing. Commands are configured in nhsms configuration file. Each message has detailed information: send time, receive time, sender phone number, message identification number, etc.
Executing USSD
nhsms can request USSD which can be used for automated managing account options at cellular network:
- managing payment options
- managing service options
Response from the network will be stored in a text file and passed on to the external programs for processing.
Download, install, and run
Latest version of nhsms is available for downloading from download page.
nhsms-setup installer includes GUI and command line interface programs, which are installed into the current user’s profile, no administrative privileges are required. Several copies can be launched simultaneously (each communicating with its own modem) and with different configuration files.
nhsms-binaries package includes all the program files, it has no installer and needs manual installation. The Windows service also needs to be created manually.
nhsms has three ways to run:
GUI application nhsms.exe
- dialog boxes
- icon on system panel
- for users
CLI application nhsmscl.exe
- command line interface
- for bat files and scripts
Windows service nhsmssvc.exe
- starts with Windows
- for servers
Licensing
A license is required to work with the maximum number of outgoing text messages. After a license is purchased, the license code is generated to be pasted into nhsms configuration file.
nhsms has three license types: modem license, SIM card license, and computer license. Purchased licenses work with GUI, CLI, and Windows service, have no date limitation and are valid for newer versions of nhsms.
GSM modem license
Linked to modem IMEI code (International Mobile Equipment Identity).
SIM card license
Linked to SIM card IMSI code (International Mobile Subscriber Identity).
computer license
Linked to CHI, Computer Hardware Identity (motherboard and CPUs).
Multiple copies can run under one license.
Non licensed mode
nhsms can work without any license:
- Feature set and working time are not limited
- Sending text messages or USSD requests limited to 3 per minute.
- Message content is not affected.
How to use nhsms
Send one message from command line
This command shows how to send one text message by specifying phone number and message content in command line arguments.
nhsms -com:1 -phone:1234567890 ATTENTION!\nSERV004 high temperature alert
Send a group of text messages from text file
nhsms configuration file should point to files with outgoing messages, for example:
[Connection]
com=1
[Parameters]
Runmode=once
SmsFile=C:\Outgoing\*.*
SmsFileOnComplete=delete
Below is an example of text file containing messages to be sent:
[message1]
phone=1234567890,1234567891
text=ALERT!\nSERV004 high temperature alert
alert=1
[message2]
phone=1234567890,1234567891
text=WARNING!\nSERV017 has less than 10% of disk storage
This text file is to be created in C:\Outgoing\, and nhsms will read it and send messages one by one.
Receiving incoming text messages
nhsms configuration file needs to have at least one command in Read
section:
[Read]
commandline=process_incoming.bat "%sms_sender%" "%sms_messagetext%"
According to the configuration file, nhsms will read all the messages from modem / phone memory and from SIM card memory. For each incoming message nhsms will start the command specified in the configuration file.
For example, content of process_incoming.bat to restart or shutdown the computer:
if not %sms_sender%==1234567890 exit /b 0
if "%sms_messagetext%"=="restart" powershell restart-computer
if "%sms_messagetext%"=="shutdown" powershell stop-computer