Функционал авторизации по звонку реализовывается с помощью сервиса sms.ru.
Настройка со стороны sms.ru
Для настройки данного функционала необходимо зарегистрироваться в системе sms.ru, получить api_id и указать адрес callback обработчика.
Получение api_id
После регистрации, api_id будет указан в личном кабинете sms.ru на вкладке "API", в поле "Ваш api_id":
Добавление Callback обработчика
Адрес Callback обработчика указывается в личном кабинете sms.ru на вкладке "API", в разделе "Callback обработчики":
В качестве адреса callback обработчика необходимо указать http://<ip-биллинга>:445/html/smsru_callback.php:
Настройка со стороны биллинга
Основная настройка hotspot выполняется согласно разделу Софт HotSpot. Для работы авторизации по звонку необходимо дополнительно указать api_id сервиса sms.ru для авторизации по звонку. Настройка данного параметра осуществляется через главную страницу веб-интерфейса администратора Carbon Billing 5 в разделе "Личный кабинет" на вкладке "Настройки Hotspot":
Отладка
Логи запросов на регистрацию и авторизацию хранятся в следующих файлах:
/app/asr_billing/var/log/django/system_api.log - включить повышенное логирование /app/asr_cabinet/var/log/smsru_callback.log /app/asr_cabinet/var/log/api.log /app/asr_cabinet/var/log/hotspot_lib.log
Для просмотра лога /app/asr_billing/var/log/django/system_api.log необходимо включить повышенное логирование, как это сделать - описано в этой статье.
Описание регистрации:
1) Абонент получает ip адрес по dhcp, после чего абонент должен быть перенаправлен на 'ip адрес биллинга':445
Редирект должен быть настроен на стороне оборудования.
2) После введения номера телефона и нажатия кнопки "Авторизовать по звонку" биллинг отправит данные по этому номеру в smsru и перенаправит абонента на другую страницу, на которой будет номер телефона.
3) После этого абоненту необходимо набрать данный номер. Данный звонок будет сброшен АТС smsru и в случае, если номер совпадает с тем, который указан на 1 шаге регистрации, smsru отправит запрос на биллинг на обработчик http://<ip-биллинга>:445/html/smsru_callback.php
4) Как только биллинг получит данные на обработчик - будет создан абонент с ip адресом, который обращался на 445 порт и вводил этот номер телефона.
Возможные проблемы
Абонент недоступен для авторизации
Ошибка "Абонент недоступен для авторизации" в логе /app/asr_cabinet/var/log/smsru_callback.log означает, что пришел запрос на авторизацию от удаленного в биллинге абонента