Mass SMS

Boris Samorodov bsam at ipt.ru
Thu Jun 1 14:52:58 PDT 2006


On Thu, 1 Jun 2006 22:33:20 +0300 Odhiambo Washington wrote:
> * On 01/06/06 23:13 +0400, Boris Samorodov wrote:
> | On Thu, 1 Jun 2006 18:24:35 +0300 Odhiambo Washington wrote:
> | 
> | > I have a few hundred VIP clients (yes, some are more VIP than others)
> | > who I'd like to notify, via SMS, whenever we have any network problem
> | > and also immediately such a
> | > problem is resolved.
> | 
> | > What I'm looking for is some software that I can use to do this,
> | > within FreeBSD. I hope one of the experts in this area has done
> | > one so I don't have to wait for the invention.
> | > `make search key=sms` from within the ports did give some apps,
> | > but I did not see one that is capable of looking at a database
> | > of contact numbers and sending that one sms to all of them.
> | > Of course I do expect a reply/delivery report after sending the sms.
> | 
> | > Any good pointers will be appreciated.
> | 
> | We use:
> | /usr/ports/net-mgmt/nagios
> | /usr/ports/mail/exim
> | /usr/ports/comms/gammu
> | 
> | Nagios is used to lookup on host and services. When a problem occures,
> | it sends a letter to address <user-sms>@domain. Exim has router:
> | sms_posting:
> |   transport = mail2sms
> |   driver = manualroute
> |   local_part_suffix = -sms
> |   route_list = *
> | 
> | ...and transport:
> | mail2sms:
> |   driver = pipe
> |   user = mailnull
> |   command = /usr/local/bin/mail2sms.py 
> | 
> | The last script is at the attachement. It uses a Subject field as a
> | text to send via sms and write an outgoing message to
> | /var/spool/sms/outbox. Gammu smsd daemon is scanning this directory
> | for any existing files and send them via GSM phone. This phone is
> | connected to our server via COM or USB port (Prolific Technology chip
> | USB-to-COM cable for the latter).
> | 
> | /var/spool/sms/db/phones is the file with lines
> | <target-phone-number>\tab<user-sms at domain>:
> | +7495NNNNNNN    bsam-sms at domain.ru
> | 
> | We have been using this technology for a year and don't have any
> | claims so far.

> Hi Boris,

> This is great!!! After looking at the Nagios contacts, I believe this
> solution is almost akin to K.I.S.S.
> However, e-mail being e-mail, I thought about spammers, but that looks
> like something I can take care of within Exim using some rules to ensure 
> that only valid senders can get mail into the SMS...
> I have two concerns:

> (1). Your router's route_list line seems incomplete to me, no?

It just works. What made you think so?

> (2). Assuming SMSes are charged, how do you monitor the charges?
>      (phone must have credit in order to send SMS, no?)

We have a special SMS account with rather expensive voice calls
(which we don't use) but very cheap SMS messages. We don't monitor
the charges but our account always have some extra money -- we receive
a billing every month.

> (3). Suppose someone sent a reply to the system, where does it go?

Currently we don't take care about incoming messages. It is at my TODO
list but ENOTIME to really do it. But the message is not lost. It goes
to /var/spool/sms/incoming directory and you may process it. BTW it is
a standard gammu-smsd behaviour.

> (4). You mention that mail2sms.py "uses a Subject field as a text to 
>      send via sms and write an outgoing message to /var/spool/sms/outbox...."
>      It is still not yet clear to me where the "Subject field" comes 
>      from.

The subject is taken from the email message. The body of the message
goes to /dev/null. It was done so because an SMS message has limited
length but we use this system to send urgent messages from standard
MUA. When a human writes the subject he do it as short as possible but
not when writing a body of the message. ;-)

> Thank you so much for making public this solution!

You are welcome. The power to serve! ;-)


WBR
-- 
Boris B. Samorodov, Research Engineer
InPharmTech Co,     http://www.ipt.ru
Telephone & Internet Service Provider


More information about the freebsd-isp mailing list