INTERNET_USER_ACTIVATE_DATE
Table of Contents |
---|
Диагностика соединения
По умолчанию в биллинге используется команда ping для диагностики соединения. Можно расширить инструменты диагностики за счет внешних программ или Perl-модулей при помощи опции INTERNET_EXTERNAL_DIAGNOSTIC
$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='-' | Внешняя диагностика соединения. |
---|
Объявление для внешней программы:
Code Block | ||
---|---|---|
| ||
NAME:CMD ARGS |
NAME | Имя команды |
---|---|
CMD | Команда |
ARGS | Аргументы |
Объявление для Perl-модуля:
Code Block | ||
---|---|---|
| ||
NAME:package:MODULE:QINDEX |
NAME | Имя команды |
---|---|
MODULE | Название Perl-модуля |
QINDEX | Параметр, указывающий, нужно ли отображать страницу с диагностикой через qindex. "qindex" - отображать через qindex, пустое поле - отображать через index. |
Для разделения диагностических команд используется точка с запятой (;)
Список возможных аргументов:
USER_NAME
SESSION_START
ACCT_SESSION_TIME
ACCT_INPUT_OCTETS
ACCT_OUTPUT_OCTETS
EX_INPUT_OCTETS
EX_OUTPUT_OCTETS
CONNECT_TERM_REASON
FRAMED_IP_ADDRESS
LAST_UPDATE
NAS_PORT
NAS_IP_ADDRESS
CALLING_STATION_ID
CONNECT_INFO
ACCT_SESSION_ID
NAS_ID
ACCT_SESSION_STARTED
ACCT_INPUT_GIGAWORDS
ACCT_OUTPUT_GIGAWORDS
FILTER_ID
Пример Использование ARP Ping
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='ARPPING:arping %CALLING_STATION_ID%'; |
Если нужно обьявить несколько внешних программ - это можно сделать через точку с запятой (;)
ARP Ping для mikrotik
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='/usr/abills/Abills/modules/Internet/arping.pl ACCT_SESSION_ID=%ACCT_SESSION_ID%'; |
Возможно включить расширенную диагностику:
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='/usr/abills/Abills/modules/Internet/arping.pl ACCT_SESSION_ID=%ACCT_SESSION_ID% EXTENDED=1'; |
Тогда будут дополнительно выводиться IP пользователя, должник ли он, address list на mikrotik, ARP-запись, будет проводиться и arping, и обычный ping.
TCPDUMP на Linux
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='TCPDUMP:/usr/bin/sudo /usr/sbin/tcpdump -c 3 -vv host %FRAMED_IP_ADDRESS%'; |
в файле /etc/sudoers пропишите
Code Block |
---|
www-data ALL = NOPASSWD: /usr/sbin/tcpdump |
Если нужно работать с удаленным хостом
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='TCPDUMP:/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_rsa.abills_admin abills_admin@%NAS_IP_ADDRESS% "/usr/bin/sudo /usr/sbin/tcpdump -c 3 -vv host %FRAMED_IP_ADDRESS%"'; |
На удаленном хосте откройте доступ по сертификату и пропишите /etc/sudoers
Code Block |
---|
www-data ALL = NOPASSWD: /usr/sbin/tcpdump |
Tcpdump в реальном времени
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='TCPDUMP:package:Tcpdump:qindex'; |
в файле /etc/sudoers пропишите
Code Block |
---|
www-data ALL = NOPASSWD: /usr/sbin/tcpdump |
Дополнительный пароль сервиса
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_PASSWORD}=1; |
При включении данной опции система будет использовать для подключения пароль сервиса интернет. Если пароль не заполнен - будет использоваться основной пароль абонента. Данный пароль можно изменить только с админ формы.
Дополнительный логин сервиса
Code Block | ||
---|---|---|
| ||
$conf{INTERNET_LOGIN}=1; |
При включении данной опции система будет использовать для подключения логин сервиса интернет. Если логин не заполнен - будет использоваться основной логин абонента. Данный логин можно изменить только с админ формы.
Изменение даты активации при платеже
$conf{INTERNET_PAY_ACTIVATE}=1;
Изменение даты активации (если дата активации клиента выставлена). Дата активации клиента меняется если соблюдаются следующие условия:
На момент пополнения счета баланс клиента должен быть отрицательным (баланс=депозит+кредит).
После пополнения счета баланс абонента должен быть положительным.
При соблюдении выше указанных условий дата активации изменяется на дату платежа.
Установка даты активации при первом подключении абонента
$conf{INTERNET_USER_ACTIVATE_DATE}=1;
Установка даты активации при первом подключении абонента со статусом «Не активировано». Абонент подключается, статус меняется на Активно и устанавливается текущая дата активации.
Активировать только при депозите не ниже полного месяца
$conf{INTERNET_FULL_MONTH}=1;
- Для тарифных планов с месячной распределённой абон. платой производить активацию только при наличии полной суммы абон. платы на месяц.
- Для тарифных планов с приостановкой услуги снимать при активации со статуса лишком маленький депозит не за оставшиеся дни, а за весь период
Внешний информатор услуги
В случае, если штатные сообщения системы не устраивают, можно их заменить собственными через опцию $conf{INTERNET_WARNING_EXPR} . Если указать в ней текст, он будет отображаться в информационной панели. Также можно запустить внешнюю программу, а вывод показать абоненту и администратору.
Code Block |
---|
$conf{INTERNET_WARNING_EXPR}='CMD:/usr/abills/Abills/modules/Internet/internet_warning.pl LOGIN=%LOGIN% LANGUAGE=%language% USER_PORTAL=%USER_PORTAL%'; |
LOGIN= | Логин абонента |
LANGUAGE= | язык интерфейса |
USER_PORTAL= | 0 - Запуск с админ. интерфейса 1 - Запуск с портала абонента |
Привязка MAC адреса в аккаунте пользователя
$conf{MAC_AUTO_ASSIGN}=1;
Заполнять поле CID при соединении, если оно не заполнено. Если при включённой опции не надо определённому пользователю присваивать CID, нужно поставить в поле слово ANY. Система анализирует RADIUS параметр Calling-Station-Id и если он в формате MAC xx:xx:xx:xx:xx:xx запоминает его.
Игнорировать параметр Calling-Station-Id
$conf{INTERNET_CID_SKIP}=1;
Не проводить дополнительную авторизацию по параметру Calling-Station-Id
Время хранения логов детализации
$conf{INTERNET_LOG_CLEAN_PERIOD}=90;
Время хранения логов детализации. Указывается в днях. Таблица s_detail
Контроль активности сессий
$conf{ERROR_ALIVE_COUNT}=3;
Количество периодов не пришедших Alive пакетов после которого сессия автоматом попадает в Zap таблицу. Время Alive периода выставляется в
/ System configuration/ NAS/ [Alive]
Если сессия находится в Zap таблице больше двух $conf{ERROR_ALIVE_COUNT} (2 * $conf{ERROR_ALIVE_COUNT}) интервалов система автоматически её закрывает и рассчитывает время сессии и суму. Временем такой сессии считает время от старта до поучения последнего Alive пакета. (По умолчанию 3 периода)
Перенос в Zap журнал: Nas Alive * $conf{ERROR_ALIVE_COUNT}
Занесении сессии в статистику: Nas Alive * ($conf{ERROR_ALIVE_COUNT} * 2)
Разрешить дублирование CPE MAC
$conf{INTERNET_ALLOW_MAC_DUPS}=1;