Hatred's Log Place

DON'T PANIC!

Jun 3, 2007 - 4 minute read

readme

Руководство пользователя

Intro

SMS Notification System ( далее просто SNS) - Платформа для организации SMS рассылки.

Как это работает

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

Настройка

Настройка сводится к конфигурированию gammu, утановке путей к базе с пользователями.

Настройка Gammu

Перво наперво прочитайте документацию к этому пакету. Суть то что ниже будет, это краткие выдержки для того что бы понять, будет ли работать ваш телефон или нет.

Эти настройки подходят для того телефона Motorola, что был у меня как тестовый, а так же для большинства Сименсов, подробности смотрите в документации к Gammu

При наличии USB кабеля

Для начала сойдайте файл %%~/.gammurc.template%%:

  • если у вас уже есть настроенная система %%Gammu%% то делается этот файл так:
cp ~/.gammurc ~/.gammurc.template
  • иначе делам так:
touch ~/.gammurc.template

Далее, открываем %%~/.gammurc.template%% на редактирование, и добавляем туда примерно следующее:

[gammu1]
port = ##USBDEV##
connection = at

Не забудьте в конфиге указать номер кофигурационной секции, указывающий на секцию с ##USBDEV##. Сделано это так нерадиво по одной причине: при подключении нескольких USB устройств, мы не можем получить гарантированно стабильное имя для нашего устройства, на котором сидит телефон. А так, перебираются все доступные USB устройства и проверяется их соответствие требованиям посредством проверки SIM IMSI номера. Обратите внимание что в случае такой настройки gammu (для работы с телефоном по USB порту) необходимо использовать секцию 1 конфигурации: [gammu1] и только её! Такой вариант рассматривается как временный, позже будет сделано два варианта:

  1. посредством udev
  2. скрипт который будет пробегать по USB устройствам по расписанию (необходимо внести в список заданий cron) и создавать символические ссылки на устройства.

При наличии COM кабеля

Просто укажите порт в любой секции файла ~/.gammurc и все, примерный вид:

[gammu]
port = /dev/ttyS0
connection = at

Настройка sns (для версий 0.1.х)

Откройте в любом текстовом редакторе файл %%~/.sns.conf%% и пропишите туда примерно следующее:

temp_dir="/tmp"                                                                                                               
data_dir="/home/hatred/Projects/SNS/sns-current/OUT/etc/sns"                                                                  
check_inbox_delay="5"

где:

  • temp_dir – путь к временному каталогу
  • data_dir – каталог, где находится файл с обонентской базой
  • check_inbox_delay – промежуток времени в секундах через который проверяетются входящие сообщения на телефоне

Настройка sns (для версий 0.2.х)

Пример файла конфигурации находится в файле <prefix>/etc/sns/sns.conf.example. Сделайте следующее:

cp /etc/sns/sns.conf.example /etc/sns/sns.conf

и откройте файл /etc/sns/sns.conf в любом текстовом редакторе.

Переменные:

  • sns_user – пользователь от которого стартует система
  • sns_phone – фередальный номер телефона sns-центра
  • sns_sim_imsi – SIM IMSI, нужно для детекта телефона на USB портах, что бы узнать, выполните gammu --identify
  • gammu_config_section – номер секции в конфигурационном файле gammu, в случае USB кабеля проставить сюда номер 1, и озаботиться что бы был темплейт конфига и в этой секции вместо порта стояло ##USBDEV##
  • data_dir – директория где лежит база, файлы ответа на регистрацию, пинг и т.п.
  • spool_dir – спул, тут же лежит файл log.html

Файл пользотельской базы

Сей файл имеет имя abon.db и лежит в data_dir либо в каталоге с программой, представляет собой обыкновенный текстовый файл, стуктура которого такая:

<телефонный номер>:<ник>:<флаг>:<группа>:<черная метка>

где:

  • <телефонный номер> - федеральный телефонный номер, примерно такой: +79242000000, пробелов и других раздилителей быть не должно!
  • <ник> - ник пользователя, пробелы не допускаются
  • <флаг> - тут может быть записано: on - пользователь принимает рассылку, off - пользователь не принимает рассылку, эти поля посредством смс пользователь сам может устанавливать
  • <группа> - группа для пользователя, может быть пустым. для админов должна стоять группа admin
  • <черная метка> - тут стоит или 0 или 1, если поле пустое считается что стоит 0 - метки нет, если 1 - метка есть

Пример файла:

503:megafon_sms:off:1
+79242000000:vasya:on:admin:0

Как работать с системой

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

Команды

Команды деляться на пользовательский и админские:

  1. Пользовательские: * on / off - включает/выключает рассылку смс на номер отправителя
  2. Админские: * del <номер> - удаляет пользователя из базы * add <номер> <имя> - добавляет пользователя в базу, пользователю отсылается СМС с уведомлением, админу в ответ высылается уведомление о завершении операции. Повторная регистрация блокируется. * black <номер> - ставит на данный номер черную метку - пользователь больше не сможет рассылать сообщения * unblack <номер> - снимает с пользователя черную метку * ping - пинг системы

все команды чувствительны к регистру, все команды только маленькими латинскими буквами.

install

comments powered by Disqus