Skip to content
Markus Neuhold edited this page Sep 26, 2015 · 10 revisions

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

GUI functions

Behind the scene technology

The WIS server provides the rest web services for a lot of internal communication parts and for AJAX GUI handling.

Overview

A graphical overview of components involved. .

Threads

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

watchdog thread

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.

router thread

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.

PIS interfaces

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.

SMS interfaces

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.

Configuration

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.