Node SMS Terminal is designed to handle GSM communication such as sending or receiving short message (SMS), querying USSD data from network provider. It utilizes modem dongle usually used to connect to data network from provider, so it doesn't need special or expensive hardware.
Node SMS Terminal doesn't provide direct method to handle its functionality, but it uses socket communication to provide those functionality to other party.
Currently, there is Node SMS Gateway other party implementation for this terminal.
Stand alone installation is available using GIT.
$ cd ~
$ git clone https://github.com/tohenk/node-sms-terminal.git
$ cd node-sms-terminal
$ npm install
A web interface installation is needed as its now a separate package.
$ npm install @ntlab/sms-terminal-ui
To run application (On some Linux distribution replace node
with nodejs
)
$ node app.js --auto
Node SMS Terminal uses JSON configuration named config.json
in the working
directory, but it can be told to use configuration elsewhere.
Set Sequelize database connection parameter.
{
"database": {
"dialect": "mysql",
"host": "localhost",
"port": 3306,
"user": "username",
"password": "password",
"database": "smsgw",
"timezone": "Asia/Jakarta"
}
}
Set socket connection secret. Each socket client must send auth
with secret
and will be checked against this value. If it matches, connection accepted,
otherwise connection will be closed.
{
"secret": "CHANGEME"
}
Set web interface username and password. Default username and password is both
admin
. To secure your instance, it is advised to change default password.
{
"security": {
"username": "admin",
"password": "admin"
}
}
$ node app.js --help
Usage:
node app.js [options]
Options:
--config=config-file Read app configuration from file
--driver=driver-file Read driver from file
--port=port, -p=port Set web server port to listen
--logdir=directory Set the log file location
--auto, -a Automatically open all available ports
--read-new-message Once the terminal opened, try to read new messages
--log-ussd, -u Add ussd command to activity
Node SMS Terminal web interface can be accessed via port 8000
(default) or as
specified by the command line options above.
- Text SMS mode currently not supported
- STK functionality still missing
- Socket and web interface currently doesn't support https