Начиная с версии 1.1.510 WNAM позволяет осуществлять идентификацию абонентов беспроводной сети не только путём отправки им СМС-сообщений, но и при помощи приёма СМС-сообщений, отправленных абонентами. Таким образом вы, как владелец системы , экономите экономит на отправке идентификационных сообщений. Оплата за отправляемые сообщения перекладывается непосредственно на абонента , по тарифу его сотового оператора.
Внимание! В качестве допустимых способов получения сообщений в настоящий момент поддерживаются три:
...
Warning |
---|
Поддерживается три способа получения сообщений:
|
...
|
...
|
...
|
...
|
...
|
Для включения приёма сообщений вы должнынеобходимо выполнить ряд действий:
1.
...
Настройка способа авторизации абонентов через "получение СМС"
...
Для этого необходимо перейти в глобальные настройки ("Конфигурация" → "Гостевая авторизация"
...
→ "Авторизация"), либо
...
в настройки для выбранной площадки. Во втором случае настройка производиться для каждой площадки отдельно.
При этом все выбранные ниже настройки СМС игнорируются, кроме следующих:
- Ответный ответный код;
- Длительность запомнить авторизацию на (длительность авторизации номера);
- имя страницы;Имя формы
Поле выбора провайдера также игнорируется, потому что так как оба способа приёма (gammu и smsc) активны одновременно.
2.
...
Настройка утилиты gammu при использования собственного USB-модема и SIM-карты
...
Необходимо предварительно Предварительно, настроить сам модем (usb_modeswitch), при этом "проброс" физического USB-устройства в виртуальную машину вы должны следует выполнить самостоятельно .в соответствии с эксплуатационной документацией на USB-устройство.
Настройка сервиса smsd заключается в редактировании файла Необходимо настроить сервис smsd, отредактировав файл /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 = textall# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = files
logfile = syslog
# Increase for debugging information
debuglevel = 0
RunOnReceive = /usr/local/bin/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/
При этом вы должны необходимо указать путь до исполняемого файла скрипта, который будет осуществлять передачу принятых СМС-сообщений в сервер WNAM (wnam-gammu-smsd-bridge.pl). В режиме настройки укажите debuglevel требуется указать: debuglevel = 2. Текст скрипта приведен ниже, также он содержится в каталоге со вспомогательными файлами на сервере (http://www.netams.com/files/wnam/misc/wnam-gammu-smsd-bridge.pl):
#!/usr/bin/perl
#
# wnam-gammu-smsd-bridge
...
# http://www.netams.com/
# see http://wammu.eu/docs/manual/smsd/run.html
#use constant WNAM_HOST => "127.0.0.1";
use IO::Socket::INET;
$| = 1;
my $sock = new IO::Socket::INET(PeerAddr => WNAM_HOST, PeerPort => 20001, Proto => 'tcp', Timeout => 0.5) or undef $sock;
if (defined $sock) {
my $msgs=$ENV{"SMS_MESSAGES"};
if (defined $msgs) {
for (my $i=1; $i<=$msgs; $i++) {
...
my $tel = $ENV{"SMS_".$i."_NUMBER"};
...
my $code = $ENV{"SMS_".$i."_TEXT"};
...
print $sock "SMSRECV PHONE=$tel TEXT=$code\n";
...
print "SMSRECV PHONE=$tel TEXT=$code\n";
...
}
}
$sock->close;
}
После окончания настроек перезапустите gammu и убедитесьнастройки требуется перезапустить утилиту gammu и убедиться, что в лог-файле /var/log/daemon.log отображаются нормальные корректные события обмена данными с модемом. Перезапуск утилиты осуществляется командой:
/etc/init.d/gammu-smsd restart
Пусть номер телефона на SIM-карте +7 (910) 012-34-56. Вы должны Необходимо соответствующим образом отредактировать шаблон формы sms_recv (или её клона) для того, чтобы пользователь имел возможность отправить вам отправлять сообщение прямо с телефона. Найдите и отредактируйте следующие строкиДля этого в форме sms_recv требуется отредактировать следующие строки ( в качестве примера взят произвольный номер +7 (910) 012-34-56, при настройке необходимо вводить реальный номер телефона пользователя):
<p>Отправьте СМС с любым текстом на номер:</p>
<!-- Form Inputs -->
<div class="form-group">
<a href="sms:+79100123456"><button type="button" class="btn btn-success btn-lg btn-block">+7 910 012-34-
...
56</button></a>
Вам необходимо заменить шаблонный номер на свой собственный.
Вручную Возможно вручную эмулировать доставку входящего СМС-сообщения в WNAM можно путем запуска такой командыкоманды, при этом код в сообщении не важен и игнорируется:
echo "SMSRECV PHONE=79991234567 TEXT=0000" | nc -w 1 wnam_ip_address 20001
...
3.
...
Настройка провайдера SMSC для получения
...
сообщений
В личном кабинете на сайте smsc.ru в разделе меню "Настройки" подключить возможность приёма сообщений с пересылкой уведомлений на
...
сервер WNAM:
Вы должны Необходимо указать HTTP-путь до вашего сервера WNAM в форматеhttp: http://имя_вашего_сервера:порт/cp/smsc_recv Внимание! .
Warning |
---|
Это специальная статическая ссылка сервиса WNAM, не имеет отношение к форме sms_recv. |
Сервер WNAM , не путайте!Ваш сервер должен быть доступен из сети Интернет (напрямую, или через публикацию на межсетевом экране) для серверов компании SMSC. Подробное описание механизма работы SMSC API приведено на сайте компании SMSC в соответствующем разделе (здесь).
Для приёма сообщений вы можете возможно использовать три варианта:
- Публичные номера провайдера SMSC, опубликованные на сайте компании SMSC в разделе "Услуги" (здесь). При этом вы должны требовать от пользователей отправки требуется отправка сообщений с текстом, начинающимся с вашего идентификатора на сайте smsc.ru, например vasyapupkin:. Текст Текст сообщения не важен. Это не очень удобно, ибо пользователи могут не понять таких сложностей.Такой способ является не удобным для пользователей.
- Использование у провайдера SMSC приватного мобильного номера, что влечет его покупку и оплату аренды Купить у провайдера SMSC приватный мобильный номер, и оплачивать его его аренду (порядка 1000р/мес.). При этом все поступающие сообщения на него сообщения приватный номер передаются вам, префикс не требуется.
- Передать провайдеру SMSC Передача провайдеру SMSC на хостинг свою зарегистрированной собственной SIM-карту, карты и оплачивать оплата услуг хостинга (порядка 2000р/мес.). При этом все поступающие сообщения на ваш указанный номер сообщения передаются вам, префикс не требуется.
Пусть выбранный номер телефона SMSC +7 (916) 887-77-77. Вы должны Необходимо соответствующим образом отредактировать шаблон формы smsформы sms_recv recv (или её клона) для того, чтобы пользователь имел возможность отправить вам отправлять сообщение прямо с телефона (реализуется переход на приложение отправки СМС по ссылке вида sms://+79168877777). Найдите и отредактируйте следующие строкиДля этого в форме sms_recv требуется отредактировать следующие строки ( в качестве примера взят произвольный номер +7 (916) 887-77-77, при настройке необходимо вводить реальный номер телефона пользователя):
<p>Отправьте СМС с любым текстом на номер:</p>
<!-- Form Inputs -->
<div class="form-group">
<a href="sms:+79168877777&body=vasyapupkin:%20$(smscode)"><button type="button" class="btn btn-success btn-lg btn-block">+7 (916) 887-77-77</button></a>
При этом вы должны необходимо вписать в параметр body префикс (ваш логин в smsc.ru), если вы выбрали использование выбран метод использования публичных номеров.Внимание! будет ли в действительности использоваться этот параметр или нет,
Warning |
---|
Использование параметра body зависит от версии операционной системы абонентского устройства |
...
. |
...
4. Настройка приема сообщений от любого провайдера СМС, работающего по протоколу SMPP
...
Для включения этого режима
...
необходимо проверить поддержку используемого SMPP-провайдер получения
...
сообщений.
...
Для этого потребуется приобрести выделенный номер или отдать на хостинг
...
уже зарегистрированную собственную SIM-карту для приёма сообщений (
...
выше приведен пример настройки для SMSC).
...
Вам Затем необходимо установить и настроить утилиту kannel так, как описано в разделе Отправка СМС по протоколу SMPP настоящего документа. Необходимо дополнительно Дополнительно требуется включить приём сообщений и пересылку их в WNAM в конфигурационном файле /etc/kannel/kannel.conf:
group = sms-service
keyword = default
catch-all = yes
max-messages = 0
post-url = "http://127.0.0.1:8080/cp/kannel_recv?phone=%p&to=%P&mes=%a"
В качестве ссылки вы должны следует указать IP-адрес и порт сервиса веб-интерфейса WNAM.Настройки Настройки формы авторизации соответствуют предыдущему варианту (как настройка для провайдера SMSC), с учётом требований вашего но также следует учитывать и требования используемого провайдера.
4. Проверить работу 5. Проверка работоспособности системы
Независимо от выбранного вами способа приёма сообщений с точки зрения абонента механизм работы авторизации будет одинаковым и составлять следующие шаги:
...
1) Подключение абонента к сети
...
(абонент переходит на какую-
...
либо внешнюю ссылку,
...
hot-spot перенаправляет сессию пользователя на страницу авторизации).
...
2) Ввод номера телефона абонента:
...
3)Сообщение абоненту с просьбой отправить с
...
указанного номера произвольное СМС на указанный номер шлюза:
...
При этом в лог-файле /
...
home/
...
wnam/
...
logs/wnam.log
...
появляется сообщение:
CP SMSRECV phase 1: mac=87:A5:1C:EC:3B:AF, ip=10.130.3.218, phone=79159993322
...
4) Нажатие абонентом на зеленую кнопку с изображенным номером телефона, переход в приложение отправки СМС,
...
отправка сообщения (текст сообщения не важен):
...
При получении сообщения в лог-файле /
...
home/
...
wnam/
...
logs/wnam.log
...
появляется такая запись:
SMS_RECV from 79168877777, confirmed phone 79159993322, MAC=87:A5:1C:EC:3B:AF, CODE=3469
...
5) Возвращение абонента в браузер и
...
нажатие на кнопку перехода в сеть Интернет. Если СМС
...
-сообщение ещё не получено сервером WNAM,
...
то появится сообщение об ошибке "Ваше СМС пока не пришло":
...
6) Перенаправление абонента на страницу согласия с условиями и/или рекламой (при успешном получении СМС-сообщения):
...
При этом в лог-файле /
...
home/
...
wnam/
...
logs/wnam.log
...
появляется такое сообщение:
CP SMSRECV phase 2: mac=87:A5:1C:EC:3B:AF, ip=10.130.3.218, phone=79159993322, smscode=3469 VERIFIED
7) При последующих подключениях этого абонента происходит только перенаправление на страницу с рекламой.