irihorn95 Опубликовано 11 февраля, 2014 · Жалоба Здравствуйте! Вот уже несколько месяцев тянем с этим скриптом, у кого есть нормально работающий handler.sh от ланбилла, поделитесь для IPoE. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrei Опубликовано 12 февраля, 2014 · Жалоба Вот вроде тема на их форуме - http://forums.lanbilling.ru/board/viewtopic.php?f=5&t=7997&sid=2b1efec190f698bfd914bb11130dc30c Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
irihorn95 Опубликовано 12 февраля, 2014 · Жалоба Andrei Это для pppoe:( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snark Опубликовано 12 февраля, 2014 · Жалоба уже несколько месяцев тянем с этим скриптом За это время уже свой скрипт написали с преферансом и поэтессами. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
irihorn95 Опубликовано 13 февраля, 2014 · Жалоба За это время уже свой скрипт написали с преферансом и поэтессами. Вот вчера начал сам писать. Пришлось. Пока некоторые проблемы с CoA, а так, думаю, на след. неделе будет готов. Если кому-то понадобится, скину. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ArhAngel_John Опубликовано 26 февраля, 2014 (изменено) · Жалоба За это время уже свой скрипт написали с преферансом и поэтессами. Вот вчера начал сам писать. Пришлось. Пока некоторые проблемы с CoA, а так, думаю, на след. неделе будет готов. Если кому-то понадобится, скину. А что там писать-то Нужные VSA подставляй да и всё. Возьми мой с форума ланбиллинга да напиши нужные СоА в нужны процедуры. Там косяк есть один у ЛанБиллинга с этим скриптом. Не достаточно параметров передаётся при определённых действиях Вот тебе мой скрипт для IPoE на основе SE100 #!/bin/bash PARAMS="$*" # all parameters for ./handler from billing LOG='/usr/local/billing/srvctl.log' # no comments echo "Runing handler.sh with: $PARAMS" >> $LOG COA_PORT='3799' # port is default COA_SECRET='xxxxxx' # coa secret key RADCLIENT='/usr/bin/radclient -t1 -r1 -c1 -x' # use mega-special radius client that support CoA :) CONTEXT='ipoe' # zeroing variables ACTION='' REASON='' SESSION='' LOGIN='' NAS='' IPLIST='' SHAPE='' OLDSHAPE='' BNGNAME='' SUBSCRIBER='' GUEST='' PASSWORD='' OLDBLOCKED='' BLOCKED='' log() { echo "[`date +'%d-%m-%Y %H:%M:%S'`] (${LOGIN} ${SUBSCRIBER} ${IP}) - $1" >> $LOG # log regular events } log_error() { echo "[`date +'%d-%m-%Y %H:%M:%S'`] - $1 [$PARAMS]" >> $LOG # log error events } # parsing handler parameters while [ -n "$1" ] do case $1 in "--action") ACTION=$2 ;; "--reason") REASON=$2 ;; "--session") SESSION=$2 ;; "--login") LOGIN=$2 ;; "--nas") NAS=$2 ;; "--ip" | "--net") IP=$2 ;; "--shape") SHAPE=$2 ;; "--oldshape") OLDSHAPE=$2 ;; "--opt-bng-name") BNGNAME=$2 ;; "--mac") SUBSCRIBER=$2 ;; "--guest") GUEST=$2 ;; "--password") PASSWORD=$2 ;; "--oldblocked") OLDBLOCKED=$2 ;; "--blocked") BLOCKED=$2 ;; *) log_error "Unknown parameters: $1, $2" ;; esac shift 2 done case $ACTION in "stop") if [ -z ${SUBSCRIBER} ] then log_error "SUBSCRIBER is not defined" exit 1 fi if [ -z ${SHAPE} ] then log_error "SHAPE is not defined" exit 1 fi if [ -z ${NAS} ] then log_error "NAS is not defined" exit 1 fi _SUBSCRIBER=${SUBSCRIBER:0:2} for((i=2;i<${#SUBSCRIBER};i+=2)) do _SUBSCRIBER=${_SUBSCRIBER}:${SUBSCRIBER:$i:2} done SUBSCRIBER=${_SUBSCRIBER} if [ ${REASON} = 'changed' ] then if [ -n ${OLDSHAPE} ] then log "Changing speed ${OLDSHAPE} => ${SHAPE}" echo "User-name=${SUBSCRIBER} Dynamic-QoS-Param=\"police-circuit-rate rate-absolute ${SHAPE}\" Dynamic-QoS-Param=\"meter-circuit-rate rate-absolute ${SHAPE}\" Dynamic-QoS-Param=\"police-circuit-burst $[sHAPE*125]\" Dynamic-QoS-Param=\"meter-circuit-burst $[sHAPE*125]\" Context-Name=\"${CONTEXT}\"" | ${RADCLIENT} ${NAS}:${COA_PORT} coa ${COA_SECRET} >> ${LOG} fi elif [ ${REASON} = 'managed' ] then log "Stopping VG ${LOGIN}. Reason: managed" echo "Acct-Session-Id=${SESSION} Forward-Policy=\"in:HTTP-REDIRECT\" HTTP-Redirect-Profile-Name=\"CABINET\" Context-Name=\"${CONTEXT}\"" | ${RADCLIENT} ${NAS}:${COA_PORT} coa ${COA_SECRET} >> ${LOG} else log "Logging off subscriber => ${REASON}" echo "User-name=${SUBSCRIBER} Context-Name=\"${CONTEXT}\"" | ${RADCLIENT} ${NAS}:${COA_PORT} disconnect ${COA_SECRET} >> ${LOG} fi ;; "isg-stop") echo "1" > /dev/null ;; "quota") echo "1" > /dev/null ;; "start") if [ -z ${SESSION} ] then log_error "SESSION is not defined" exit 1 fi if [ -z ${SHAPE} ] then log_error "SHAPE is not defined" exit 1 fi if [ -z ${NAS} ] then log_error "NAS is not defined" exit 1 fi log "Starting VG login: ${LOGIN}, session: ${SESSION}, shape: ${SHAPE}" echo "Acct-Session-Id=${SESSION} Dynamic-QoS-Param=\"police-circuit-rate rate-absolute ${SHAPE}\" Dynamic-QoS-Param=\"meter-circuit-rate rate-absolute ${SHAPE}\" Dynamic-QoS-Param=\"police-circuit-burst $[sHAPE*125]\" Dynamic-QoS-Param=\"meter-circuit-burst $[sHAPE*125]\" Context-Name=\"${CONTEXT}\"" | ${RADCLIENT} ${NAS}:${COA_PORT} coa ${COA_SECRET} >> ${LOG} ;; "edit") echo "1" > /dev/null ;; "off") echo "1" > /dev/null ;; "on") if [ -z ${SESSION} ] then SESSION=`mysql -u qqq -pxxxx billbase -s -e "select session_id from sessionsradius where id=4 and vg_id=(select vg_id from vgroups where login like '${LOGIN}');"` if [ -z ${SESSION} ] then log_error "SESSION is not defined" exit 1 else log "VG ON: ${LOGIN}, session: ${SESSION}, shape: ${SHAPE}" echo "Acct-Session-Id=${SESSION} Forward-Policy=\"in:\" Context-Name=\"${CONTEXT}\"" | ${RADCLIENT} ${NAS}:${COA_PORT} coa ${COA_SECRET} >> ${LOG} fi fi echo "1" > /dev/null ;; *) log_error "Unknown action $action" ;; esac Изменено 26 февраля, 2014 пользователем ArhAngel_John Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...