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 RemovedImage Added

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

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

Поле выбора провайдера также игнорируется, потому что так как оба способа приёма (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) Ввод номера телефона абонента:

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