You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Ваши пользователи могут жаловаться, что "ваш сервис не работает, потому что не приходят СМС".

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


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