Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Начиная с версии 1.1.510 WNAM позволяет осуществлять идентификацию абонентов беспроводной сети не только путём отправки им СМС-сообщений, но и при помощи приёма СМС-сообщений, отправленных абонентами. Таким образом вы, как владелец системы , экономите экономит на отправке идентификационных сообщений. Оплата за отправляемые сообщения перекладывается непосредственно на абонента , по тарифу его сотового оператора.

Внимание! В качестве допустимых способов получения сообщений в настоящий момент поддерживаются два:

...

Warning

Поддерживается три способа получения сообщений:

  • приём сообщений на USB-модем с

...

  • SIM-картой, установленный на Linux-сервере

...

  • (работа осуществляется посредством утилиты gammu);
  • приём

...

  • сообщений от провайдера СМС (smsc.ru

...

  • ) посредством отправки HTTP-сообщения от сервера провайдера к серверу WNAM;
  • приём сообщений от любого провайдера СМС, работающего по протоколу SMPP.

Для включения приёма сообщений вы должнынеобходимо выполнить ряд действий:

1.

...

Настройка способа авторизации абонентов через "получение СМС"

...

Для этого необходимо перейти в глобальные настройки ("Конфигурация" → "Гостевая авторизация"

...

→ "Авторизация"), либо

...

в настройки для выбранной площадки. Во втором случае настройка производиться для каждой площадки

...

отдельно.

Image Added

При этом все настройки СМС игнорируются, кроме следующих:

  • ответный код;
  • запомнить авторизацию на (длительность авторизации номера);
  • имя страницы;

Поле выбора провайдера также игнорируется, так как оба способа приёма (gammu и smsc) активны одновременно.

2. Настройка утилиты gammu при

Image Removed

...

использования собственного 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),но также следует учитывать и требования используемого провайдера.

5. Проверка работоспособности !3. Проверить работу системы

Независимо от выбранного вами способа приёма сообщений с точки зрения абонента механизм работы авторизации будет одинаковым и составлять следующие шаги:

...

1) Подключение абонента к сети

...

(абонент переходит на какую-

...

либо внешнюю ссылку,

...

hot-spot перенаправляет сессию пользователя на страницу авторизации).

...

2) Ввод номера телефона абонента:

Image Modified

...

3)Сообщение абоненту с просьбой отправить с

...

указанного номера произвольное СМС на указанный номер шлюза:

Image Modified

...

При этом в лог-файле /

...

home/

...

wnam/

...

logs/wnam.log

...

 появляется сообщение: 

CP SMSRECV phase 1: mac=87:A5:1C:EC:3B:AF, ip=10.130.3.218, phone=79159993322

...

4) Нажатие абонентом на зеленую кнопку с изображенным номером телефона, переход в приложение отправки СМС,

...

отправка сообщения (текст сообщения не важен):

Image Modified

...

При получении сообщения в лог-файле /

...

home/

...

wnam/

...

logs/wnam.log

...

 появляется такая запись:

...

SMS_RECV from 79168877777, confirmed phone 79159993322, MAC=87:A5:1C:EC:3B:AF, CODE=3469

...

5) Возвращение абонента в браузер и

...

нажатие на кнопку перехода в сеть Интернет. Если СМС

...

-сообщение ещё не получено сервером WNAM,

...

то появится сообщение об ошибке "Ваше СМС пока не пришло":

Image Modified

...

6) Перенаправление абонента на страницу согласия с условиями и/или рекламой (при успешном получении СМС-сообщения):

Image Modified

...

При этом в лог-файле /

...

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) При последующих подключениях этого абонента происходит только перенаправление на страницу с рекламой.