---
title: SMS Notification System (SNS)
---

Создание платформы для множественного дублирования смс. Есть компьютер под управлением Linux,
к нему подключен телефон по дата-кабелю (irda, BT & etc). На телефон приходит СМС, программа считывает это смс,
считывается номер отправителя, он ищется в базе, если находится - смс рассылается всем остальным пользователям из базы.

Подробности:

* База пользователей заполняется автоматически. На определённый e-mail приходит **номер телефона** пробел **ник**.
* Сообщения могут приходить через смс и / или по почте.
* Отправка сообщений только по смс, почта не подходит из-за малой надёжности / оперативности.
* Во избежание Flood`а может быть задействован модератор. Ему присылаются все входящие сообщения, необходимые он пересылает на номер рассылки.
* Служебные сообщения
  * Модератора:
    * **flon / floff** - защита от Flood`а
    * **syson / sysoff** - включение системы
    * **del <номер телефона>** - удаление спамера
  * Пользователя:
    * **on / off** - включение / выключение рассылки сообщений на ваш номер  

Цели:

* Оперативное оповещение группы пользователей. (Противоборство угонам, экстренная помощь.)

Минусы:

* Сообщения платные
* Может быть использована для спама. (Частичная защита - предыдущий пункт).

Документация
------------

* [Руководство пользователя](/projects/sns/readme/)
* [Хронометраж изменений, дневник](/projects/sns/diary/)

Руководство по установке
------------------------

- Скачайте и настройке работу вашего телефона с [Gammu](http://www.gammu.org/wiki/index.php?title=Gammu:Main_Page)
- Скачайте последнюю версию SNS
- Распакуйте исходники ``tar xzf sns-<version>.tar.gz``
- Определитесь куда вы хотите ставить систему, по умолчанию, исполняемые модули хранятся в ``/usr/local/bin``, а база и файл настроек ищутся в ``/usr/local/etc/sns``
- Сделайте ``make`` или ``make prefix=<prefix> datadir=<datadir>`` чтобы сконфигурировать и построить все необходмые модули
- Сделайте ``make install`` или ``make prefix=<prefix> datadir=<datadir> install`` чтобы установить программу

Запустите программу:

    # sns

TODO
----

Список планируемых изменений

* Доделать командный режим, попробывать сделать его расширяемым
* По команде **del** не удалять пользователя, а перемещать его в черный список
* Фича: если у оператора есть возможность запрашивать баланс смс-кой, сделать периодический опрос (допустим раз в сутки, настраиваемо) программа запрашивает баланс, результат пересылает операторам.

Список изменений
----------------

**[!]** - Важное замечание

**[+]** - Новая функциональность

**[*]** - Изменения в существующей функциональности

**[-]** - Исправление багов

* Version 0.1
  * **[!]** Релиз первой рабочей версии
  * **[+]** Работает рассылка на всех абонентов из базы от всех абонентов из базы
  * **[+]** Работают команды **on**, **off**, **del**

Roadmap
-------

- Version 0.1, срок до 2006.12.01:
  * Рабочий прототип на базе: gammu+bash-script+rusconv
  * Управление, командный режим
  * База пользователей в текстовом файле
- Version 0.2:
  * Рабочий прототип, переписанный с использованием движка gammu на C++
  * Управление и командный режим, то что не реализовано на шаге 0.1
  * База пользователей в базе данных MySQL
- Version 0.3:
  * Исправление багов (если багов нет, то это уже баг!)
  * Доработка отказоустойчивости системы, внедрение масштабирования

Download
--------

* Version 0.1: [sns-0.1.tar.gz](sns-0.1.tar.gz)

Авторы
------

* Alexander Drozdov aka Hatred: programmer
* Yuriy Lapshin aka RZ: manager

Полезные материалы по теме
--------------------------

* [developershome.com](http://www.developershome.com/sms/)
* [gammu.org](http://www.gammu.org/wiki/)
* [gnokii.org](http://www.gnokii.org)
* [juraj.bednar.sk](http://juraj.bednar.sk/work/software/smstools/gnokii-smstools/)
* [sinus.vl.ru](http://sinus.vl.ru/forum/showthread.php?t=8284)