Monday, October 30, 2006

SMS Server

I start working in a new project for setting up a server for sending (mainly) SMS. The requirements of the project are:

  1. Send bulk SMS (one message - many recipients)
  2. Send one-2-one SMS (one message - one recipient). This means a message that is personal to the recipient.
  3. Delivery Reports
  4. Ease of use any GSM provider that is cost effective. This is, use of local providers (by using a GSM modem and a SIM card) or use global providers through a TCP/IP connection.
For the project i am working on a Linux (Centos 4.4) machine that provides one serial RS-232 port for the connection of the GSM modem.

The applications used for sending SMS are the following:
  1. Kannel (very reliable and provides delivery reports) - Provides web interface for sending
  2. Playsms (a web-based gui for Kannel) - Provides web interface for sending
  3. SMSLink - Provides web interface and desktop client for sending

The GSM modems tested up to now are:
  1. Ericsson F251m
  2. Wavecom Fastrack M1306
  3. Some Nokia Symbian phones
All the GSM modems i used up to now can send SMS with no problem using any application, BUT the problem that i always have is that i never managed to get back a delivery report. And just to clarify what i mean "delivery report", when an SMS is been sent, the provider reports back to the modem "SENT" that means that the SMS is been accepted by the SMS Center, further the SMS Center forwards the message to the recipient and IF the recipient gets the message correct the SMS Center reports back to the modem that "SMS Delivered". This process is the usual delivery reports we always have with the mobile phones but this time it is crucial because if we send 1000 messages we need to know which of the customers delivered or not the SMS.
So the most reliable modem for this kind of project is the Wavecom (comparing the others available) and looking at the manual of the modem i can see that the delivery reports can be enabled by initializing the modem with a specific option, there is also an example in the manual showing what commands are needed to send an SMS and get back the delivery report but with the Wavecom modem i had in my lab this NEVER happened maybe because of a problem in the firmware of the modem and due to really bad support from the company i stooped trying with this.
The Ericsson by default is not sending back any delivery report and the Nokia phones are not designed for this kind of projects so they also abandoned.

So the status now is that i am still trying to find an appropriate GSM modem.

Move to Hylafax/IaxModem Solution

After many tests and tests and tests the result of the Spandsp/RxFax combination is disapointment since it is always fails to deal with G3 fax machines (e.g. some Canon machines). The received faxes are always craped and a lot of error lines are reported.
All the recent Spandsp snapshots have been applied to the installtion in case of a bug fix but the result is the same since the problem seems to be at the RxFax application.

The next action will be to move to the Hylafax with IaxModem integration since this solution has been reported from many as a high reliable solution providing ECM (since it is implemented by the Hylafax side) and no problems. Using this soltuon (Hylafax & IaxModem) provides many advantages like :

  • The use of the existing TE110P E1 card for connectivity with the PBX
  • The use of Asterisk dialplan for routing
  • The option to use many open source end user interfaces with the choice of web-based or desktop client applications.
  • Support by a group of people that develop Hylafax and IaxModem.
Further notes, problems and impressions of the solution will come.

Sunday, October 15, 2006

Enterprise Fax Server using Open Source Tools, Linux, Asterisk and Spandsp

Using open source tools, like Linux, Asterisk and Spandsp library, i created a complete faxserver machine that can be used as an enterprise class server to send and receive faxes reliable and accurately.

The hardware i used are:
  1. Gigabyte motherboard (the best motherboard for such kind of applications since lets you choose the IRQ for each PCI slot).
  2. Digium TE110P for connection with the Avaya S8700 CM2 PBX
The software parts are:
  1. CentOS 4.4 and the latest updates
  2. Asterisk 1.2.12.1, Libpri 1.2.3, Zaptel 1.2.9.1
  3. Spandsp snapshot 20061007 and rxfax&txfax for Asterisk-1.2 as of September 3, 2006
  4. Samba for folder sharing and user security
  5. Webmin
Problems:
  1. Some Canon g3 fax machines have problem sending to the box resulting crap faxes.
...October 15, 2006...