WNAM позволяет осуществлять отправку идентификационных СМС абонентам используя установленный в сервер USB GSM модем, и утилиту gammu.
Внимание: скорость отправки СМС при этом достаточно низка: не более 1 СМС за 3 секунды. Учитывайте это при планировании нагрузки на систему. Данный метод может быть рекомендован только в целях тестирования WNAM и при низкой нагрузке (числе авторизаций).
Для настройки этого метода необходимо в меню "Конфигурация-Авторизация" указать "Локальный сервис gammu (модем)":
Поддерживаются любые модемы, которые распознаются ОС Linux в качестве модемов, то есть доступны в виде портов типа /dev/ttyUSB0
Из моделей подойдут фактически любые "бытовые" устройства. Например, отмечено отсутствие проблем с Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem.
Возможно также использование модема в сочетании с виртуализацией VMware ESXi, путем проброса USB устройства вовнутрь виртуальной машины.
Внимание! Вы должны переключить модем в режим "простой модем" при помощи утилиты usb_modeswitch, если ваш модем представляется серверу устройством типа USB Flash или CD.
После переключения модем можно проверить на "отзывчивость" при помощи AT-команд и утилит cu или minicom. Модем должен корректно отвечать на команды, заканчивая вывод символами "ОК".
Дальнейшая настройка взаимодействия проводится при помощи утилиты gammu. Это стандартное средство организации взаимодействия приложений (таких как WNAM), и GSM модемов, подключенных через com/usb порт сервера.
Возможны два сценария работы - через gammu или через gammu-smsd
1. Взаимодействие через gammu
Этот метод подходит, если требуется только редкая отправка СМС. При этом на каждый запрос WNAM на отправку СМС производится вызов утилиты, инициализация модема, отправка СМС, отключение от модема.
Установите утилиту:
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 и изучайте лог.
Затем необходимо дать возможность утилите gammu писать в tty порт. Внимание! Выполнение gammu производится от имени пользователя tomcat8, который таких прав не имеет. Вы обязаны дать право записи в порт при запуске gammu от любого пользователя, установив suid флаг:
chmod a+s /usr/bin/gammu
ls -la /usr/bin/gammu
-rwsr-sr-x 1 root root 339600 июл 25 2013 /usr/bin/gammu
Проверку отправки СС от имени WNAM можно сделать при помощи интерфейса http://сервер_wnam/cp/testsend
На этом настройка gammu завершена.