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

Ключ

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

Диагностика соединения

По умолчанию в биллинге используется команда ping для диагностики соединения. Можно расширить инструменты диагностики за счет внешних программ или Perl-модулей при помощи опции INTERNET_EXTERNAL_DIAGNOSTIC

$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='-'Внешняя диагностика соединения.

Объявление для внешней программы:

NAME:CMD ARGS::QINDEX:MODAL_TPL


NAMEИмя команды
CMDКоманда
ARGSАргументы
QINDEXПараметр, указывающий, нужно ли отображать страницу с диагностикой через qindex. "qindex" - отображать через qindex, пустое поле - отображать через index
MODAL_TPLНазвание шаблона с формой. Если задано, при нажатии кнопки диагностики появится всплывающее окно с этой формой. Параметры, введенные пользователем в форме могут быть переданы как параметры программе для диагностики.

Объявление для Perl-модуля:

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
Любые, введенные пользователем. См. MODAL_TPL.

Пример Использование ARP Ping

$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='ARPPING:arping %CALLING_STATION_ID%';

Image Modified


Если нужно обьявить несколько внешних программ - это можно сделать через точку с запятой (;) 

...

$conf{INTERNET_EXTERNAL_DIAGNOSTIC}='TCPDUMP:/usr/bin/ssh -o StrictHostKeyChecking=no -i /usr/abills/Certs/id_rsa.abillsacp_kazna_admin39 abillsacp_kazna_admin@%NAS39@%NAS_IP_ADDRESS% "/usr/bin/sudo /usr/sbin/tcpdump -c 3 -vv host %FRAMED_IP_ADDRESS%"';

...

Запустите visudo, добавьте строку (в этом примере имя пользователя - abillsacp_kazna_admin39):

abillsacp_kazna_admin39   ALL = NOPASSWD: /usr/sbin/tcpdump

...

$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 адреса в аккаунте пользователя

...