WNAM позволяет осуществлять отправку идентификационных СМС абонентам, используя установленный в сервер USB-модем GSM модем, и утилиту gammu.
Warning |
---|
Внимание: скорость отправки СМС при этом достаточно |
...
низкая: не более 1 СМС за 3 секунды. |
...
Это следует учитывать при планировании нагрузки на систему. Данный метод может быть рекомендован только в целях тестирования WNAM и при низкой нагрузке ( |
...
количество авторизаций). |
Для настройки этого метода необходимо в меню "Конфигурация-Авторизация" " выбрать "Гостевая авторизация" → "Авторизация" и в поле "Провайдер СМС" указать "Локальный сервис gammu (модем)":
Поддерживаются WNAM поддерживает любые модемы, которые распознаются ОС Linux в качестве модемов, то есть доступны в виде портов типа /dev/ttyUSB0. Из моделей подойдут фактически любые "бытовые" устройства. Например, отмечено отсутствие проблем с Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem. Возможно также Также возможно использование модема в сочетании с виртуализацией VMware ESXi, путем "проброса" USB устройства вовнутрь виртуальной машины.
Warning |
---|
Внимание! |
...
Необходимо переключить модем в режим "простой модем" при помощи утилиты usb_modeswitch, если |
...
используемый модем представляется серверу устройством типа USB Flash или CD. |
После переключения модем можно проверить на "отзывчивость" рекомендуется проверить отклик модема при помощи AT-команд и утилит cu или minicom. Модем должен корректно отвечать на команды, заканчивая вывод символами "ОК". Дальнейшая настройка взаимодействия проводится при помощи утилиты gammu. Это стандартное средство организации взаимодействия приложений (таких как WNAM) , и GSM-модемов, подключенных через com/usb порт сервера.
Возможны два сценария работы - через gammu или через gammu-smsd.
1. Взаимодействие через gammu
Этот метод подходит, если требуется только редкая отправка СМС. При этом на каждый запрос WNAM на отправку СМС производится вызов утилиты, инициализация модема, отправка СМС , и отключение от модема.
Warning |
---|
Внимание! Отправка одной СМС таким способом может занимать порядка 10 секунд. |
УбедитесьНеобходимо убедиться, что в /etc/wnam.properties или в /home/wnam/wnam.propertes прописан параметр:
gammu_path=/usr/bin/gammu
Затем установите утилитуследует произвести установку утилиты:
apt-get install gammu
Запустите Далее запустить поиск устройства:
gammu-detect
и Затем произвести настройку устройства:
gammu-config
При этом создастся После выполненных действий будет создан файл конфигурации /root/.gammurcПросмотрите его, скопируйте . Его необходимо скопировать в /etc/gammurc и отредактируйте, при необходимости отредактировать, чтобы он имел следующий вид:
[gammu]
port = /dev/ttyUSB1
model = huawei E3372s
connection = at9600
synchronizetime = no
logfile =
logformat = nothing
use_locking =
gammuloc =
Попробуйте Для проверки работоспособности рекомендуется выполнить тестовую отправку СМС из командной строки:
gammu sendsms TEXT 7987654321 -text TEST
Если она отправка СМС-сообщения произошла, переходите то следует перейти к следующему шагу, если нет, повторите . Если отправка СМС-сообщения не осуществилась, то следует повторить проверку работоспособности с параметрами -d textall -f /tmp/gammu.log и изучайте лог. , а также изучить лог-файл на предмет ошибок.
Warning |
---|
Внимание! Порт |
...
работает в эксклюзивном режиме, значит |
...
не должен быть запущен minicom или gammu-smsd. |
Затем необходимо дать возможность утилите gammu писать в tty порт.
Warning |
---|
Внимание! Выполнение gammu производится от имени пользователя tomcat8 (или |
...
WNAM), который |
...
не имеет |
...
прав записи. Необходимо предоставить право записи в порт при запуске gammu от любого пользователя, установив suid флаг: chmod a+s /usr/bin/gammu |
Проверку отправки СМС от имени WNAM можно сделать при помощи интерфейса http://сервер_wnam/cp/testsend. На этом настройка gammu завершена.
...
Этот метод подходит, если число СМС значительноявляется значительным, и не хочется ставить suid флаги. Суть в том, что за отсутствует необходимость устанавливать suid-флаги. За работу с модемом отвечает сервис, который формирует и обслуживает очередь сообщений, переданных через клиентскую программу.
Установите Первым шагом необходимо установить утилиту:
apt-get install gammu gammu-smsd
Запустите Затем запустить поиск устройства:
gammu-detect
и Далее произвести настройку устройства:
gammu-config
Конфигурационный файл находится в директории /etc/gammu-smsdrc и выглядит следующим образом:
# Configuration file for Gammu SMS Daemon
# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB0
connection = at9600
# Debugging
logformat = nothing# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = files
logfile = syslog
# Increase for debugging information
debuglevel = 0
#RunOnReceive = /root/wnam-gammu-smsd-bridge.pl
CommTimeout = 5# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/
Для отправки СМС-сообщений используется клиентская утилита gammu-smsd-inject, отправку можно протестировать:. Рекомендуется протестировать работоспособность установленной утилиты, выполнив команду:
gammu sendsms TEXT 7987654321 -text TEST
Если СМС дошла, переходите -сообщение дошло, то следует перейти к следующему шагу, если нет, изучайте . Если СМС-сообщение не доставлено, то следует изучить лог-файл /var/log/daemon.log на предмет ошибок.
Теперь Далее необходимо настроить WNAM на отправку СМС через gammu-smsd-inject. Для этого в конфигурационном файле /etc/wnam.properties укажите следует указать параметр:
gammu_path=/usr/bin/gammu-smsd-inject
После таких выполненных изменений перезапустите необходимо перезапустить сервисы tomcat и gammu-smsd. Проверку отправки СМС от имени WNAM можно сделать осуществить при помощи интерфейса http://сервер_wnam/cp/testsend.
В некоторых случаях отмечается возникает проблема с отправкой СМС-сообщений при помощи gammu-smsd-inject (возвращается код ошибки: 3). В таком случае попробуйте также поставить suid При возникновении такой ошибки можно дополнительно установить suid-флаг исполняемому файлу gammu-smsd-inject. На этом настройка gammu-smsd завершена.