Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • Через глобальный поиск можно искать по 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://it39.su:9443/admin/index.cgi?get_index=internet_online&header=1&NAS_ID=&FILTER=10.55.56.*&FILTER_FIELD=CLIENT_IP&REFRESH=0&SHOW=Показать

    Подобным образом можно открывать и другие страницы, например Maps2:
    Блок кода
    https:/it39.su:9443/admin/index.cgi?header=1&get_index=maps2_main

    get_index можно найти в файлах config каждого модуля:
    Блок кода
    find /usr/abills/ -name config
  • Чтобы скрипт «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 так как он потеряет соединение с базой данных.
  • В меню «Настройка» — «Другое» — «Информационные поля» я добавлял некоторые дополнительные поля, например: «Тип подключения»: 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
  • Если указать debug>8, то операции не выполняются, а просто выводится информация.
  • Чтобы работал гостевой режим, в конфигурации необходимо указать:
    Блок кода
    $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
  • Проверка поля CID и CPE MAC (например чтобы можно было ввести только цифры и маленькие буквы a-f в формате MAC адреса):
    Блок кода
    $conf{INTERNET_CID_FORMAT}="^(([0-9a-f]{2}[:]){5}([0-9a-f]{2});?){1,}\$";
  • Проверка поля «Телефон» и «Мобильный телефон» (например 89876543210, чтобы можно было ввести только 10 цифр):
    Блок кода
    $conf{PHONE_FORMAT}='^\d{10}$';
    $conf{CELL_PHONE_FORMAT}='^\d{10}$';
  • Можно добавить кнопку PING на странице абонента:
    Блок кода
    $conf{INTERNET_EXTERNAL_DIAGNOSTIC}='PING:ping -c 15 -i 0.2 -s 1024 %FRAMED_IP_ADDRESS%';
  • Чтобы в личный кабинет пускало пользователей без ввода пароля (последняя опция указывает что нужно пускать только тех у кого статус «Слишком маленький депозит» и «Приостановление»):
    Блок кода
    $conf{PASSWORDLESS_ACCESS}=1;
    $conf{PASSWORDLESS_GUEST_ACCESS}='3;5';
  • Для указания периода в днях, через который будет очищаться статистика сессий ipoe клиентов (таблицы s_detail_*):
    Блок кода
    $conf{INTERNET_DETAIL_CLEAN_PERIOD}=180;
  • Если необходимо удалить списание денег за определенный день и снова списать, то выполним:
    Блок кода
    /usr/abills/bin/abm_console FEES=1 DEL=1 METHOD=1 DATE="2024-02-16"
    /usr/abills/libexec/periodic daily DATE="2024-02-16"
    /usr/abills/libexec/periodic monthly DATE="2024-02-16"
  • Просмотр списаний денег за определенный день:
    Блок кода
    /usr/abills/bin/abm_console FEES=1 DATE="2019-08-16" METHOD=1
  • На странице клиента в меню «Сервер доступа» можно выбрать сервер доступа чтобы клиент мог авторизоваться только на нем и не мог авторизоваться на других серверах доступа, либо можно в настройках тарифа привязаться тариф к серверу доступа.
  • Порядок расположения модулей в config.pl влияет на порядок их отображение в web интерфейсе и выполнения периодических заданий.
  • Иногда при подключении платежной системы, которая может работать по разным протоколам или поддерживает бесплатный OSMP, можно ее подключить через существующий плагин или OSMP на примерах ниже:
    Блок кода
    $conf{PAYSYS_SUCCESSIONS}="192.168.2.2:46:FcSistema:FcSis:osmp_payments"; $conf{PAYSYS_SUCCESSIONS}="192.168.3.3:85:Name:ShortName:City24.pm";
  • Если в тарифе настроено несколько интервалов с разными скоростями, то на границе интервалов в cron нужно добавить скрипт, например:
    Блок кода
    1     17     *    *     *   root /usr/abills/libexec/billd checkspeed NAS_ID=11 > /dev/null 2>&1
    30     23     *    *     *   root /usr/abills/libexec/billd checkspeed NAS_ID=11 > /dev/null 2>&1
  • Просто посмотреть текущую скорость клиентов можно так:
    Блок кода
    /usr/abills/libexec/billd checkspeed SHOW_SPEED=1 NAS_IDS=11
  • Если используется TrinityTV и активировать одному клиенту больше 4 устройств, то бухгалтерия Trinity будет считать его как два клиента.
  • Чтобы система следила за дублированными сессиями, укажем опцию ниже в файле конфигурации, а также заполним в настройках тарифов параметр «Одновременно»:
    Блок кода
    $conf{hard_simultaneously_control}=1;
    update tarif_plans set logins=1
  • Для того чтобы отметить проценты на оптическом делителе в Maps2+Cablecat, выберем необходимую коммутацию, нажмем левой кнопкой мыши по делителю, выберем «Изменить» и в поле «Затухание» укажем проценты в виде 50/50.
  • Если в Maps2 в названии узла связи указать кириллический апостроф, то в дальнейшем на карте перестанут отображаться кабеля.
  • Если используются динамические ippool, то для лучшей производительности рекомендуется включить опцию GET_IP2, для статических ippool она не нужна, для включения необходимо пересохранить существующие ippool, указать в файле конфигурации опцию ниже и перезапустить freeradius:
    Блок кода
    Режим GET_IP2
    Стал основным, не отключаемым, параметр больше не нужен
    $conf{GET_IP2}=1;
  • Один динамический ippool можно привязывать одновременно к нескольким серверам доступа.
  • Если необходимо найти пользователей которые были зарегистрированы за определенный период времени, то на странице поиска в поле Регистрация укажем например:
    Блок кода
    2019-01-01/2020-01-01
  • Просмотр общего количества строк на удаление или ротацию до указанной даты (из таблиц payments, fees, internet_log):
    Блок кода
    cd /usr/abills/misc/mysql
    ./clear_db.pl SHOW_SUMMARY DATE=2019-01-01
  • Иногда, бывает, падает mysql из-за блокировки таблиц, спасает тюнинг бд, но, бывают моменты, что mysql падает благодаря OOM KILLER (нехватка памяти), чтобы этого избежать нужно сделать следующее:
    • Создаём директорию
      Блок кода
      /etc/systemd/system/mysql.service.d
    • Название должно быть равным названию сервиса mysql. Для mariadb - mariadb.service.d. Вы можете узнать нужное название выполнив
      Блок кода
      systemctl list-unit-files
    • В папке создаём файл oomadjust.conf со следующим содержимым:
      Блок кода
      [Service]
      OOMScoreAdjust=-500
    • Запускаем обновление сервисов
      Блок кода
      systemctl daemon-reload
    • Перезапускаем mysql