Справка и советы по ABillS

В этой статье я напишу немного информации про ABillS, которая пригодится операторам и системным администраторам.

По каждому администратору ведется история действий которую можно увидеть в меню «Отчёт» — «События».

Логи неверных подключений администраторов, SQL запросов и прочих изменений настроек можно увидеть в меню «Отчёт» — «Настройка».

При добавлении NAS сервера «NAS Alive» должно быть равно «DHCP Lease Time», при изменении параметров NAS сервера необходимо повторно ввести пароль.

Чтобы включить бесплатно интернет абоненту, например по акции, то нужно в поле «Скидка» указать 100 и напротив справа указать дату окончания скидки, а также чтобы не отключало абонентов с нулевым балансом, в настройках тарифа укажем кредит 0.01.

Кредит абоненту ставится без минуса и нужно обязательно указать напротив дату окончания, после этой даты он обнулится, если дату не указать, то кредит будет всегда, пока не уберется вручную.

Если необходимо запретить клиенту доступ к кнопке получения кредита, то можно создать группу без доступа к кредиту («Клиенты» — «Группы», снять галочку «Разрешено Кредит») и добавить пользователя в эту группу.

Чтобы не листать информацию на странице в постраничном режиме, а отобразить все, можно указать в профиле администратора количество отображаемых строк или в конце ссылки добавить &PAGE_ROWS=50000

Иногда чтобы перезапустить сервер доступа, например Accel-ipoe, необходимо обязательно очистить активные сессии, чтобы после запуска сервера доступа быстро поднялись новые, иначе будут дубли и будут долго подниматься. Для этого откроем меню «Мониторинг+» — «Internet+», сделаем «Zap ALL», потом откроем список Zap сессий, отметим все первой галочкой и удалим. У меня было такое, что после Zap All в списке пропал сервер доступа и не видно было zap сессии, в этом случае добавим к ссылке &ZAPED=1, например https://ixnfo.com:9443/admin/index.cgi?index=155&NAS_ID=11&ZAPED=1

Страница «заглушка» с информацией об отрицательном балансе должна быть запущена на отдельном веб-сервере и на NGINX, если ее запустить на том же веб-сервере Apache2 где биллинг, то при малейших нагрузках, например при достижения 250 подключений по умолчанию из-за флуда вирусов у клиентов, биллинг перестанет открываться в браузере, а оптимизировать Apache2 под эту страницу я не вижу смысла, так как nginx справляется лучше, либо можно настроить еще HAProxy перед Apache2.
Смотрите мои статьи:
Установка и настройка Nginx
Как настроить доступ по IP в nginx
Установка и настройка HAProxy

В новых версиях ABillS функции модулей dv, dhcphost, ipn и vlan перенесены в модуль Internet+, поэтому эти модули не должны быть активированы.

Если пользователь много раз вводил неверный пароль, заблокировался и его нужно разблокировать, то можно удалить записи в «Отчет» — «User portal».

Через универсальный поиск удобнее искать чем через обычный, например:
улица 15,5
ули*15*5
фамилия*имя
Через глобальный поиск можно искать по MAC, IP, номеру телефона, тексту в комментариях и т.д.
Через обычный поиск в поле ФИО нужно в начале и в конце слова добавить *
Чтобы увидеть клиентов у кого добавлено больше 1 сервиса, откроем «Клиенты» — «Логины» — «Интернет» и при поиске в блоке «Дополнительно» где «Сервисы» укажем >1

Если нужно определенным клиентам массово изменить тариф, то сделаем поиск услуг этих клиентов через меню «Клиент» — «Логины» — «Интернет+», после чего внизу списка будет вкладка «Многопользовательские операции», в которой отметит галочкой «Тарифный план» и выберем новый тарифный план. При таком изменении абонентская плата, дата активации не снимается и никаких других действий кроме, прямого изменения тарифного плана, не происходит.

При смене статуса услуги на «Активно» с тарифами с дневным начислением не списываются деньги так как услуга была приостановлена на половине дня и включена тоже на половине дня, списание выполнит billd ночью уже за следующий день.

В услуге пользователя, в поле «Скорость (kb)» можно указать индивидуальную скорость, приоритет которой выше чем у тарифного плана, скорость указывается одним числом в обе стороны, например 50000, в поле «Фильтр» можно указать для клиента индивидуальные Radius параметры, например скорость на закачку, а исходящая скорость останется по тарифу, так как она не указана:

RAD: PPPD-Downstream-Speed-Limit=20000

С accel-ipoe биллинг отключает и включает клиентов в течении 5-10 минут, это зависит от периодического задания «billd» в cron, обычно оно выполняется каждые 5 минут, а также от времени аренды IP адреса по DHCP, то есть если услуга клиента была отключена и клиент пополнил счет, billd завершит гостевую сессию, а когда клиенту пошлет запрос на продление аренды, accel-ipoe ответит DHCP Nak, что заставить клиента послать DHCP Request и в следствии чего поднимется новая рабочая сессия.

Новый тариф применяется при авторизации клиента, а если он уже был в сети, то на протяжении 5-10 минут, время зависит также как описано выше от billd и времени аренды IP адреса по DHCP.

Биллинг не даст указать одинаковый IP адрес абонентам, но можно указать одинаковые MAC адреса, например если настроена привязка к порту коммутатора или VLAN на пользователя, то клиенты могут получать разные IP адреса, даже если у них всех будут одинаковые MAC-адреса, но в разных VLAN, если авторизация только по MAC-адресу и клиенты в одном VLAN, то интернет работать будет только у того кто подключился первым и будут проблемы.

Отчет платежей, общий и по каждому оператору можно увидеть в «Отчет» — «Оплаты» (выбрать «Тип:Администраторы»), также можно в «Отчет» — «Документы» — «Квитанции» (в поле «Администратор:» можно указать логин оператора).
В «Отчёт» — «Оплаты» также можно посмотреть оплаты по району или улице, а также по другим критериям.

Отчет ошибок подключения можно посмотреть в меню «Отчёт» — «Интернет+» — «Последнее подключение», на стартовой странице биллинга администратору можно настроить индивидуальный блок с топ ошибками, что удобно обнаруживать проблемы.

В настройках прав администраторов модули не нужно отмечать галочками если нужно дать доступ ко всем (когда не отмечен ни один из модулей, это аналогично когда отмечены все), отметить можно только тогда когда необходимо запретить доступ к некоторым, тогда отмечаем те к которым нужно разрешить доступ и не отмечаем те к которым нужно запретить.

Если необходимо создать например годовой тариф, то при создании тарифа укажем «Время существования: 365», а где «Тарифный план Следующий учётный период:» укажем тариф которым применится по истечении «Время существования».

Если в биллинге отображается что пользователь Online, значит он сейчас в сети или был в сети за последние X минут (X=NASAlive*3). то есть если пользователь выключил свое устройство и не в сети, то скрипт billd перенесет сессию в zap спустя nas alive*3.
Напротив сессии отображается ее длительность, когда сессия завершается, то эта информация попадает в статистику.

Если у абонента несколько IP адресов, то для каждого IP начислится отдельная абонентская плата, либо можно ставить специальный тариф, например «Доп.IP» со стоимостью 0.01, но желательно чтобы на клиента был заведен только один IP адрес, тем более если настраивать QinQ, а если нужно больше — пусть клиент ставит маршрутизатор.

Приведу пример прямой ссылки просмотра сессий с определенными IP адресами, например я так смотрю гостевые сессии неизвестных и не заведенных устройств:
https://ixnfo.com:9443/admin/index.cgi?get_index=internet_online&header=1&NAS_ID=&FILTER=10.55.56.*&FILTER_FIELD=CLIENT_IP&REFRESH=0&SHOW=Показать

Чтобы скрипт «periodic» не присылал отчеты на email можно указать «NO_ADM_REPORT=1», например:
/usr/abills/libexec/periodic monthly NO_ADM_REPORT=1 > /dev/null 2>&1

Можно ограничить процесс регистрации пользователя для администратора, например отображая только первый шаг или первый и заведение сервиса:

$conf{REG_WIZARD}="user_form::Добавить Пользователя;";
$conf{REG_WIZARD}="user_form::Добавить Пользователя;internet_user:Internet:Internet+;";

Если необходимо перезагрузить MySQL сервер, то обязательно потребуется также перезагрузить Freeradius так как он потеряет соединение с базой данных.

Логотип Abills это не картинка, а просто текст, например чтобы изменить его нужно отредактировать header.tpl и form_client_start.tpl через меню в биллинге Настройка — Другое — Шаблоны.

В ABillS есть две схемы ведения адресов, старая, это когда в address_street название улицы и т.д. (устарела в версиях 0.5х) и новая, через журнал адресов. Учитывается только location_id, который совпадает с адресом дома. Когда я писал sql запрос чтобы выбрать клиентов по адресам, то соединял в запросе по location_id с домами, улицами и районам.

Для тестов уже установленный Abills есть в docker контейнере, который можно скачать по ссылке:
http://abills.net.ua:8090/plugins/servlet/mobile?contentId=11403447#content/view/11403447

В меню «Настройка» — «Другое» — «Информационные поля» я добавлял некоторые дополнительные поля, например: «Тип подключения»: Ethernet, GPON, WiFi и т.д.», потом чекбокс «Актуальный тел.», благодаря этому полю мои скрипты для рассылки СМС клиентам проверяли кому отправлять, а кому нет. Актуальность мобильного телефона могут проверять работники на кассе, когда клиент приходит оплачивать интернет услуги, и можно снять галочку тем кто не хочет получать СМС.

Можно завершать сессии используя autozh.pl, например:

cd /usr/abills/misc/
./autozh.pl help
./autozh.pl DEBUG=1 HANGUP=1
./autozh.pl DEBUG=2 NEGATIVE_DEPOSIT=1

Чтобы работал гостевой режим, в конфигурации необходимо указать:

$conf{INTERNET_STATUS_NEG_DEPOSIT}=1;

Ротация оплат, снятий, документов и статистики за предыдущие периоды (SELECT — отображение удаляемых данных без удаления, DELETE — удаление данных, ROTATE — перемещение данных в отдельные таблицы, SHOW — просмотр запросов на удаление, SHOW_SUMMARY — просмотр статистики строк на удаление):

/usr/abills/misc/mysql/clear_db.pl SELECT DATE=2018-08-01
/usr/abills/misc/mysql/clear_db.pl SHOW DATE=2018-08-01
/usr/abills/misc/mysql/clear_db.pl SHOW_SUMMARY DATE=2018-08-01
Did my article help you? How about buying me a cup of coffee as an encouragement? Buy me a coffe.

Оставьте комментарий

Добавить комментарий