Турбо режим разрешает пользователю на определённое время поднять скорость интернета. При этом провайдер может списывать дополнительные деньги за использование данной услуги.
Для включения этой функции нужно установить модуль Turbo и указать необходимые параметры в config.pl.
После включения модуля, в пользовательском интерфейсе появляется меню TURBO Режим. В этом меню пользователь может выбрать необходимый тариф (скорость/время на которое предоставляется данный режим). Система сразу открывает доступ пользователю на запрошенной скорости. По истечению времени система понижает скорость до скорости тарифного плана.
Поддерживается:
На данный момент турбо режим поддерживается серверами доступа на базе FreeBSD, Cisco ISG и MikroTik.
Приоритет установки скорости:
Установка модуля:
cp Turbo.pm /usr/abills/Abills/mysql/
Параметры:
| $conf{INTERNET_TURBO_CMD}=' '; | Внешняя команда для включения турбо режима. Запускаться после нажатия пользователем кнопки активации. |
|---|---|
| $conf{INTERNET_TURBO_MODE}=" "; | Режим(мы) турбо скорости. Настраиваются в конфигурационном файле системы: |
При использовании удалённых серверов доступа обязательно установите на них модуль Turbo.pm и укажите в параметрах конфигурационного файла опцию $conf{INTERNET_TURBO_MODE}.
Пример использования:
$conf{INTERNET_TURBO_MODE}="1024:3600:0:Турбо режим 1Мб. на 1 час;1024:7200:2:Турбо режим 1Мб. на 2 часа;";Описание турбо режима (можно указывать несколько):
| 1024 | Предоставляемая скорость. Только фиксированная. |
|---|---|
| 3600 (7200) | Время работы в турбо режиме. Задаётся в секундах. |
| 0 (2) | Сумма, которую нужно снять за предоставление данного режима. Сумма снимается с аккаунта пользователя в момент активации режима. |
| Турбо режим 1Мб. на 1 час (Турбо режим 1Мб. на 2 часа) | Описание сервиса. |
Пример для linux/freebsd NAS
$conf{INTERNET_TURBO_CMD}='/usr/local/bin/sudo /usr/abills/libexec/linkupdown down getif %LOGIN% %IP%; /usr/local/bin/sudo /usr/abills/libexec/linkupdown up getif %LOGIN% %IP%';
Пример для MikroTik
$conf{INTERNET_TURBO_CMD}='/usr/abills/libexec/linkupdown down getif %LOGIN% %IP% NAS_MNG_IP_PORT=%NAS_MNG_IP_PORT% NAS_MNG_USER=%NAS_MNG_USER%; /usr/abills/libexec/linkupdown up getif %LOGIN% %IP% NAS_MNG_IP_PORT=%NAS_MNG_IP_PORT% NAS_MNG_USER=%NAS_MNG_USER%';
Возврат к основной скорости производится путем переподключения абонента, после завершения времени турбо режима. Для этого необходимо в crontab прописать запуск autozh.pl со следующими параметрами (рекомендуется не чаще чем каждые 15 минут):
*/15 * * * * root /usr/abills/misc/autozh.pl TURBO=1 HANGUP=1
альтернативный контроля версии
Turbo controller
/usr/abills/libexec/billd internet_turbo
Отображение в портале абонента и администратора:
Интерфейс «Turbo Режим» отображается в пунктах меню Информация о пользователе и Интернет+.
| 1 | Выберите режим |
|---|---|
| 2 | Активируйте выбранный режим |
Окно с информацией об активированном «Turbo Режим»
Дополнительно для MikroTik:
При использовании MikroTik с Simple Queue (dynamic), изменение скорости "на лету" приводит к изменению очереди на static (очередь test_net).
При отключении PPP Interface, очередь остается в списке (как invalid) с target=unknow и PPPoE соединение не сможет установиться повторно, т.к. не нельзя добавить очередь с таким названием (Ошибка: could not add queue: already have such name (6)).
Для решения данной проблемы необходимо удалить данную очередь из списка. В автоматическом режиме можно использовать скрипт, указав его в Scheduler c интервалом равным минимальному времени турбо режима:
{
:local qname;
:local qtarget;
:foreach i in=[/queue simple find where name ~"<pp.*>"] do={
:set qname ([/queue simple get $i name])
:set qtarget ([/queue simple get $i target])
if ("$qname" = "$qtarget") do={
} else={
[/queue simple remove $qname];
[/log info "=== QUEUE $qname has been removed ==="];
}
}
}Начиная с версии ROS 6.33rc7, появилась возможность менять скорость "на лету" посредством COA
пример с командной строки linux, где окончание строки именно такое coa и после указывается пароль от радиуса на микротике
/bin/echo "User-Name=test_user,Acct-Session-Id=a1b2c3,Framed-IP-Address=xxx.xxx.xxx.xxx,Mikrotik-Rate-Limit=30M" | /usr/bin/radclient -q NAS_IP:PORT coa [password]
/bin/echo "User-Name=test_user,Acct-Session-Id=a1b2c3,Framed-IP-Address=172.16.105.108,Mikrotik-Rate-Limit=30M" | /usr/bin/radclient -q 10.0.0.1:1700 coa [password] Можно просто по Session-Id /bin/echo "Acct-Session-Id=81100004,Mikrotik-Rate-Limit=500M" | /usr/bin/radclient -q 10.0.0.1:1700 coa [password]




