-
Notifications
You must be signed in to change notification settings - Fork 7
WIS about
CAUTION! FOR SECURITY REASONS IT IS AN ABSOLUTLY MUST THAT YOU RUN THE WIS SERVER SSL (HTTPS) ENCRYPTED! CAUTION!
The data inside the server to server communication interfaces is AES entrypted but without SSL (connection encryption) it is possible, that someone could catch this data. It may be impossible that the data itsself gets decrypted but without SSL it is possible to replay the AES encrypted requests whitch can cause various effects!
For example, during a common communication sequence the follwing data may be transferd: u+qFBmiLizCGqSQVww34jGo95Md7etBUc9DpqmVFzeM=
. Without SSL connection encryption (https) someone could catch this sequence because the communication itself it not encryped. The bad guy may not know what this data means but it will be possible to replay it against your servers!
The WIS component of the smsgateway includes two main features.
- Providing a web gui for unsers
- Providing rest based web services for SMS operations
Beside this the WIS component handles additional tasks:
- Transfer routing information (modem) to other WIS server
- Manage routing timeouts
- Work on the SMS table (insert, change, update, ...)
- Retrieve SMS information from other WIS server
The WIS server provides the rest web services for a lot of internal communication parts and for AJAX GUI handling.
A graphical overview of components involved. .
On startup the WIS will try to retrieve routing information from one of his WIS peers as configurated in the configuration file. Afterwards it will start two threads. One thread, called watchdog, and one thread called router
The watchdog thread will be woken up when a SMS is received and stored in the internal SMS database. On run the watchdog continuous to run until there are no more SMS to send. Afterwards it sleeps until interrupted by a new incoming SMS.
During the send process the WIS will evaluate the best modem to use. Based upon mobile number regex testing, load balancing factor and load balancing counts.
The router thread is responsible for distributing and receiving routes. This includes raising the obsolete count of unusable routes and checking if WIS peers are still online.
The PIS server sends a register request to the WIS server including an UUID. This UUID will be filled up with additional information and stored as routing information inside the memory based SQlite table. This information will be distributed and managed by the router thread.
To send an SMS you have to trigger a special URL. In the future it is planned to provide a JSON based rest interface in addition.
For a quick run on a single host installation you don't have to change the configuration. For production use and/or if you want to change things see the configuration help in the smsgateway wiki.
This work is licensed under a Creative Commons Attribution 4.0 International License.