У пользователей могут возникнуть проблемы с доставкой СМС-сообщений при аутентификации. Проблема может проявляться по нескольким причинам.

1. Проблема не связана с доставкой СМС-сообщений

Первым делом следует определить, связана ли проблема проблемой с доставкой СМС-сообщений. Вполне возможно, что не работает сам сервер авторизации системы WNAM, например, из-за проблем с сервером, на котором он работает. Или не работает беспроводное оборудование и/или отсутствует канал сети Интернет. Всё это вы можете увидеть, попав в интерфейс администратора системы WNAM либо контроллера беспроводной сети.

2. Проблема с доставкой СМС-сообщений

Следует определить, является ли проблема с доставкой СМС-сообщений и, вообще, с авторизацией. Также проблема может являться частным случаем одного или группы абонентов, либо вообще всех абонентов.

Проще всего выяснить, к чему относится проблема, перейдя в интерфейс администратора системы WNAM в раздел "Пользователи". В данном разделе следует выбрать фильтр "Созданные ... за последние 5 минут" (либо за 1 час). Если в полученном списке есть записи, свидетельствующие об успешной авторизации МАС-адресов посредством СМС-сообщений (ваучеры не учитываются),следовательно функция авторизации посредством СМС-сообщений функционирует, но может не работать только для какого-то конкретного пользователя.

Если же в списке полностью отсутствуют авторизованные абоненты, а полный список абонентов показывает, что последний абонент был авторизован давно (после чего и начались жалобы), значит действительно произошел сбой взаимодействия с СМС-провайдером либо сбой отправки идентификационных СМС-сообщений. Причин этого может быть несколько:

  1. Закончились деньги на счету у провайдера. В этом случае система WNAM будет пытаться отправить СМС-сообщение для абонента, но данное сообщение не будет доставлено. В этом случае необходимо перейти в личный кабинет вашего провайдера и проверить баланс счета.
  2. Пропал маршрут до сервера СМС-провайдера, либо трафик был заблокирован межсетевым экраном. В этом случае система WNAM будет пытаться отправить СМСсообщение для абонента, но отправка будет безуспешной. Для решения данной проблемы следует воспользоваться одним из способов:
    1. если используется HTTP-метод отправки, проще всего выполнить команду: telnet имя_шлюза_провайдера 443, после чего проверить, будет ли ответ. Имя шлюза можно взять в настройках личного кабинета этого провайдера;
    2. если  используется SMPP-метод отправки, проще всего выполнить команду: telnet имя_шлюза_провайдера порт_smpp_шлюза, при этом, адрес и номер порта можно найти в настройках в файле /etc/kannel/kannel.conf. Зачастую SMPP-провайдеры требуют явного указания IP-адреса в настройках в личном кабинете, откуда принимать соединения. Если используемый публичный IP-адрес изменился, возможны проблемы.
  3. Если с маршрутами и трафиком все в порядке, следует проверить лог файл kannel (при SMPP-подключении). В файле /var/log/kannel/bearerbox.log должны быть следующие строки:

2022-02-28 22:31:19 [640] [6] DEBUG: SMPP[provider]: Sending enquire link:
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP PDU 0x7f08e0000f60 dump:
2022-02-28 22:31:19 [640] [6] DEBUG: type_name: enquire_link
2022-02-28 22:31:19 [640] [6] DEBUG: command_id: 21 = 0x00000015
2022-02-28 22:31:19 [640] [6] DEBUG: command_status: 0 = 0x00000000
2022-02-28 22:31:19 [640] [6] DEBUG: sequence_number: 1357198 = 0x0014b58e
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP PDU dump ends.
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP[provider]: throughput (0.00,0.00)
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP[provider]: throughput (0.00,0.00)
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP[provider]: Got PDU:
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP PDU 0x7f08e0000f60 dump:
2022-02-28 22:31:19 [640] [6] DEBUG: type_name: enquire_link_resp
2022-02-28 22:31:19 [640] [6] DEBUG: command_id: 2147483669 = 0x80000015
2022-02-28 22:31:19 [640] [6] DEBUG: command_status: 0 = 0x00000000
2022-02-28 22:31:19 [640] [6] DEBUG: sequence_number: 1357198 = 0x0014b58e
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP PDU dump ends.
2022-02-28 22:31:19 [640] [6] DEBUG: SMPP[provider]: throughput (0.00,0.00)

Следует обратить внимание на возвращаемый удаленным SMPP-шлюзом ответ - command_status: 0. Если статус не равен 0, значит в SMPP-соединении проблема (в этом случае необходимо обратиться к провайдеру). Если диагностика показывает, что СМС-сообщения провайдеру отправляются, но проблемы есть у группы абонентов, с большой вероятностью дело обстоит в принадлежности пользователей к этой группе: скорее всего все получатели являются либо клиентами одного сотового оператора, либо из одной страны. СМС-провайдеры могут иметь разные маршруты для клиентов разных операторов, и некоторые из них могут сломаться. В этом случае следует собрать номера телефонов "проблемных" абонентов и обратиться к провайдеру. Также возможно, что отправка СМС-сообщений ведется от незарегистрированного имени отправителя: все провайдеры так или иначе требуют регистрации имени ("от кого будет СМС", причем, это стоит денег). Это можно увидеть, если перейти в личный кабинет провайдера.

В таком случае необходимо обратиться к провайдеру по поводу регистрации имени и/или проверки маршрута. Также можно воспользоваться отчетами системы WNAM из раздела "Телефонные номера", например, "Отправка и подтверждение СМС", особенно, если в SMPP настроены уведомления о доставке, а также другими отчетами из этого раздела.

3. Сбой работы у единичного абонента

Если выяснено, что причина "не работы" абонента - не массовый или групповой сбой, необходимо понять, почему не работает авторизация у заданного абонента. В первую очередь, необходимо узнать идентификатор, МАС-адрес или телефон абонента.  Надежнее всего проводить диагностику в командной строке на сервере системы WNAM. Для этого следует перейти в каталог с логами. Далее выполнить команду grep номертелефона wnam.log:

root@wnam-srv1:/home/wnam/logs# grep 7916177хххх wnam.log

19:49:35.920 DEBUG [c.n.w.web.cp.CaptivePortalController:915] - postSms: site_id=001, username=78:2B:46:4F:AA:ХХ, phone=7916177хххх, smscode=null, ci.key=e8a516d8-f270-4ce1-96d1-0ddfabb96fa7
19:49:35.927 DEBUG [com.netams.wnam.web.cp.SmsHandler:92] - CP SMS phase 1: mac=78:2B:46:4F:AA:ХХ, ip=10.202.180.171, phone=7916177хххх, smscode=6861, lang=null, ci.lang=ru

С помощью данной команды можно определить МАС-адрес устройства абонента. Если в этом поиске ничего не нашлось, значит абонент даже не дошел до стадии ввода своего номера телефона (либо он ошибся при вводе). Теперь стоит сделать более детальный поиск, по МАС-адресу:

root@wnam-srv1:/home/wnam/logs# grep 78:2B:46:4F:AA:ХХ wnam.log

19:49:16.033 DEBUG [c.n.wnam.services.WnamCmdService:1324] - Authorization request for nonexisting customer, MAC=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3
19:49:22.935 DEBUG [c.n.w.services.vendors.HuaweiService:211] - CP huawei redirect: mac=78:2B:46:4F:AA:XX, ip=10.202.180.171, ap=9c:71:3a:a7:c8:e0 [Guests], server=AC6605-00-B0408-01-00-OkWiFi, 10.202.1.3
19:49:23.114 DEBUG [com.netams.wnam.web.cp.PageGenerator:634] - processAuthRequest HUAWEI: username=78:2B:46:4F:AA:XX, ip=10.202.180.171, server=AC6605-00-B0408-01-00-OkWiFi, site_id=001, dst='https://moscow.ru' adv curr/max=1/1
19:49:23.117 DEBUG [com.netams.wnam.web.cp.PageGenerator:1131] - captive portal redirected to SMS page, username=78:2B:46:4F:AA:XX, cust=new, form='5fa3b48f162c656da9e7399d'
19:49:35.920 DEBUG [c.n.w.web.cp.CaptivePortalController:915] - postSms: site_id=001, username=78:2B:46:4F:AA:XX, phone=7916177xxxx, smscode=null, ci.key=e8a516d8-f270-4ce1-96d1-0ddfabb96fa7
19:49:35.927 DEBUG [com.netams.wnam.web.cp.SmsHandler:92] - CP SMS phase 1: mac=78:2B:46:4F:AA:XX, ip=10.202.180.171, phone=7916177xxxx, smscode=6861, lang=null, ci.lang=ru
19:49:49.933 DEBUG [c.n.w.web.cp.CaptivePortalController:915] - postSms: site_id=001, username=78:2B:46:4F:AA:XX, phone=7916177xxxx, smscode=6861, ci.key=e8a516d8-f270-4ce1-96d1-0ddfabb96fa7
19:49:49.938 DEBUG [c.n.w.web.cp.CaptivePortalController:1050] - postSmsPhase2 phone=7916177xxxx, code=6861, r={ ip=10.202.180.171, mac=78:2B:46:4F:AA:XX, phone=7916177xxxx, code=6861, attempts=0 }, r_ir=false, ap_m=SMS
19:49:49.942 DEBUG [c.n.w.web.cp.CaptivePortalController:1072] - CP SMS phase 2: mac=78:2B:46:4F:AA:XX, ip=10.202.180.171, phone=7916177xxxx, smscode=6861 CORRECT in 14014 ms.
19:49:49.944 DEBUG [com.netams.wnam.web.cp.PageGenerator:762] - loginAtNasCi HUAWEI mac=78:2B:46:4F:AA:XX, ip=10.202.180.171, server=AC6605-00-B0408-01-00-OkWiFi, dst='https://moscow.ru'
19:49:49.948 DEBUG [c.n.w.services.vendors.HuaweiService:113] - backToHUAWEI login, server='172.19.2.3', username=78:2B:46:4F:AA:XX, IP=10.202.180.171, password=password, dst='https://moscow.ru'
19:49:50.081 DEBUG [c.n.wnam.services.WnamCmdService:1235] - AUTH transparent next session MAC=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001, back=43200 s., counter=0, DENY
19:49:50.081 DEBUG [c.n.wnam.services.WnamCmdService:1439] - AUTH for new session ID=AC6605-00000000002340b9841a02019bf, request MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, cust_clientid=null, site_id=001
19:49:50.255 DEBUG [c.n.wnam.services.WnamCmdService:673] - ACCT Start new session ID=AC6605-00000000002340b9841a02019bf, MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, User=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001
19:54:50.255 DEBUG [c.n.wnam.services.WnamCmdService:673] - ACCT Interim-Update existing session ID=AC6605-00000000002340b9841a02019bf, duration=00:05:00, MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, User=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001
19:59:50.247 DEBUG [c.n.wnam.services.WnamCmdService:673] - ACCT Interim-Update existing session ID=AC6605-00000000002340b9841a02019bf, duration=00:09:59, MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, User=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001
20:04:50.254 DEBUG [c.n.wnam.services.WnamCmdService:673] - ACCT Interim-Update existing session ID=AC6605-00000000002340b9841a02019bf, duration=00:14:59, MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, User=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001
20:09:50.242 DEBUG [c.n.wnam.services.WnamCmdService:673] - ACCT Interim-Update existing session ID=AC6605-00000000002340b9841a02019bf, duration=00:19:59, MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, User=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001
20:14:50.307 DEBUG [c.n.wnam.services.WnamCmdService:673] - ACCT Interim-Update existing session ID=AC6605-00000000002340b9841a02019bf, duration=00:25:00, MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, User=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001
20:19:50.243 DEBUG [c.n.wnam.services.WnamCmdService:673] - ACCT Stop existing session ID=AC6605-00000000002340b9841a02019bf, duration=00:29:59, MAC=78:2B:46:4F:AA:XX, IP=10.202.180.171, User=78:2B:46:4F:AA:XX, NAS_IP=172.19.2.3, site_id=001

Из приведенного лога видно, что абонент успешно прошел авторизацию, а затем получил доступ в сеть Интернет через контроллер Huawei, причем его трафик и сессия корректно посчитались. Если же у одного конкретного абонента возникают проблемы, скорее всего,  лог будет выглядеть иначе (постоянные перезапросы страницы авторизации, неправильно указанный (по сути, чужой) номер телефона, неправильно введенный (с ошибкой) СМС-код, превышение лимита на смену номера, число сессий, и т.п.).

Далее приведен пример лога СМС-провайдера, когда абонент, скорее всего, указал неверный номер (на том номере, куда отправили СМС-сообщение, нет сервиса).

В любом случае следует помнить, что система WNAM не делает кому-то преференций на основе номера телефона (кроме настройки Провайдеры SMPP), и поэтому, если у какого-то из абонентов что-то не работает, скорее всего виноват сам пользователь, а не система WNAM или используемый сервер.


  • No labels