Биллинговая система Nodeny
21 Мая 2024, 21:56:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
  Начало Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 4 5 [6]
76  Главная категория / Nodeny Plus / Re: Dhcp + Radius : 27 Октября 2016, 16:30:25
у Accel-ppp есть свой встроенный DHCP
Код:
# netstat -tulpn | grep :67
udp        0      0 0.0.0.0:67              0.0.0.0:*                           6567/accel-pppd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           6567/accel-pppd
77  Главная категория / Nodeny Plus / Re: Nodeny plus + Debain + Accel-ppp : 27 Октября 2016, 11:39:06
В тарифе указываем теги тарифа.
Конечный вариант таков.

Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE usr_tarif VARCHAR(15) DEFAULT NULL;

  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  SELECT tags INTO usr_tarif FROM users_services LIMIT 1;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
  SELECT NULL,login,'Acct-Interim-Interval','60','=';

 IF usr_tarif  LIKE '%,medium,%' THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','21504','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','21504','=';
 END IF;

 IF usr_tarif  LIKE '%,fast,%' THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','51200','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','51200','=';
 END IF;

 IF usr_tarif  LIKE '%,ultra,%' THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','102400','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','102400','=';
  ELSE
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','2048','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','2048','=';
 END IF;

END$$
DELIMITER ;

Заметил особенность или глюк
При изменении тега тарифа в вебе, в mysql он не меняется до тех пор, пока не переназначишь услугу.

К примеру
Код:
mysql> SELECT tags   FROM users_services WHERE tags LIKE '%,speed,%';
+----------------------------------+
| tags                             |
+----------------------------------+
| ,medium,inet,speed,start_traf=0, |
+----------------------------------+
1 row in set (0.00 sec)


Меняем тег в морде на medium_new
получаем
Код:
mysql> SELECT tags   FROM users_services WHERE tags LIKE '%,speed,%';
+----------------------------------+
| tags                             |
+----------------------------------+
| ,medium,inet,speed,start_traf=0, |
+----------------------------------+
1 row in set (0.00 sec)



Переназначачем услугу
И только теперь получаем изменённый тег.
Код:
mysql> SELECT tags   FROM users_services WHERE tags LIKE '%,speed,%';
+--------------------------------------+
| tags                                 |
+--------------------------------------+
| ,medium_new,inet,speed,start_traf=0, |
+--------------------------------------+
1 row in set (0.00 sec)

78  Главная категория / Nodeny Plus / Re: Nodeny plus + Debain + Accel-ppp : 26 Октября 2016, 03:59:16

Как правильно в mysql-процедуре radreply передать эти параметры.

Разобрался, вариант такой годится

Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE usr_tarif VARCHAR(15) DEFAULT NULL;

  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  SELECT service_id INTO usr_tarif from users_services LIMIT 1;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';

 IF usr_tarif = 1 THEN
    SELECT NULL,login,'PPPD-Downstream-Speed-Limit','1024','=';
    SELECT NULL,login,'PPPD-Upstream-Speed-Limit','1024','=';
 END IF;

 IF usr_tarif = 2 THEN
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','2048','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','2048','=';
 END IF;

 IF usr_tarif = 3 THEN
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','4096','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','4096','=';
 END IF;

END$$
DELIMITER ;

Завтра надо с тегами попробовать
Не зря же они в тарифе указаны.
79  Главная категория / Nodeny Plus / Re: Nodeny plus + Debain + Accel-ppp : 25 Октября 2016, 18:52:11
А как правильно выдрать тариф через радиус.

Код:
mysql> select param from services;
 $VAR1 = {'script' => '','min_traf' => '','period' => 2592000,'mode' => '2','speed_out4' => '','speed_in4' => '','speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium','speed_out3' => '','speed_out2' => '','speed_in2' => '','wait_pos_balance' => '0','speed_in3' => ''};
есть такие значение в тарифе  'speed_out1' => 1024000,'speed_in1' => 1024000,'tags' => 'medium'

Как правильно в mysql-процедуре radreply передать эти параметры.

Нечто, вроде
Код:
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE s_param VARCHAR(15) DEFAULT 1024;

  SELECT users.id,services.param INTO usr_id,s_param  FROM users,services WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
  SELECT NULL,login,'PPPD-Downstream-Speed-Limit','s_param','=';
  SELECT NULL,login,'PPPD-Upstream-Speed-Limit','s_param','=';


END$$
DELIMITER ;



80  Главная категория / Nodeny Plus / Re: Nodeny plus + Debain + Accel-ppp : 25 Октября 2016, 16:29:27
Где можно взять модуль COA?
Есть описание?
Готов купить.
81  Главная категория / Nodeny Plus / Re: Модуль PON для N+ : 19 Февраля 2016, 14:26:22
Можно не отвязывать

Код:
OLT-derevnya1# write ifindex 
Now saving current ifindex to flash memory...
OK!
OLT-derevnya1#


wr ifindex и ону которая была зарегестрирована появится на том же порту, даже после перезагрузки олта.
82  Главная категория / Nodeny Plus / Re: Модуль PON для N+ : 19 Февраля 2016, 11:49:46
Примерное ТЗ, что было бы полезно для PON
Данные можно выдирать непосрдественно с олта через telnet или snmp.

Олт - концентратор (на каждый порт цепляется до 64 ону)
Чтобы не углубляться Ону представляет в простом случае тупой конвертор, с одной стороны у неё пон интерфейс оптики, с другой у неё медный порт куда включено уже железо абона, больше от неё нефига не надо.

В нашем билинге для удобства ведения абонентов в билинге
Добавлено 3 поля в данных клиента.
OLT ( OLT-derevnya1 -  к какому из олтов bdcom подключен абонент)
PORT_OLT (epon0/1:4 - на каком порту олта зарегестрировалась ону ))
ONUID ( a0c6.ec00.1461 собственно мак самой ону)

1. Кнопка опрос по telnet
2. Кнопка опрос по snmp

1.1 Нам необходимо узнать в онлайне ли абонентское устройсвто или нет (onu)
Заходим на олт
  
Код:
  
telnet 192.168.0.1
login
pass
OLT-derevnya1# show epon onu-information interface epON 0/1 4
    Interface EPON0/1 has registered 1 ONUs:
    IntfName   VendorID  ModelID  MAC Address    Description     BindType  Status          Dereg Reason    
    ---------- --------- -------- -------------- --------------- --------- --------------- -----------------
    EPON0/1:4                     a0c6.ec00.1461 N/A             static    auto_configured N/A  

a0c6.ec00.1461 - мак-адрес ону

Параметр auto_configured говорит нам о том, что ону в онлайне, в противном случае
Код:
OLT-derevnya1# show epon onu-information interface epON 0/1 14
Interface EPON0/1 has registered 1 ONUs:
IntfName   VendorID  ModelID  MAC Address    Description     BindType  Status          Dereg Reason    
---------- --------- -------- -------------- --------------- --------- --------------- -----------------
EPON0/1:14 BDCM      3024     fcfa.f796.6763 N/A             static    deregistered    power off  

В Случае если ону deregistered - дальнейшие действия производить не надо (выключена ону, порван оптич кабель, нет короче физики).
В случае если ону в онлайне выводим статус (зелёный цвет)  в статусе клиента поле onu is online

1.2 Узнаём какой уровень сигнала у данной onu
Код:
OLT-derevnya1# show epon optical-transceiver-diagnosis interface epON 0/1:4
 interface    RxPower(dBm)
-----------  --------------
epon0/1:4    -19.2  

Вплоть до -26 иногда до -28 дбм уровень сигнала приемлим, всё что меньше считается low signal / абонент в таком случае может работать со сбоями, потерями, лагами etc..
Выводим в поле под статусом ону, её уровень сигнала

// Примечание, имеем большой парк ону, некоторые в виду своей китайчатины не способны отдавать корректные данные по уровню сигнала

1.3 Теперь нам надо знать, а есть ли физика уже от ону по меди до клиентского устройства, это также может отдать олт
Код:
OLT-derevnya1# show epon interface ePON 0/1:4 onu port 1 state
    Hardware state is Link-Up

onu port 1 state показывает какраз 1 медный порт, в случае если стоит 4-портовая (1 оптич порт и 4 медных порта) ону соотвественно будет
 show epon interface ePON 0/1:4 onu port 2 state    для второго порта, 3 и 4.

1.4 Нам нужна необходимость перезагрузить абонентское ону, и такое олт умеет (2-мя способами)
Нужна кнопка reset там же в данных об абоненте.

Способ 1
Код:
OLT-derevnya1# epon reboot onu mac-address a0c6.ec00.1461
Are you sure to reboot the ONU(y/n)?y
OLT-derevnya1#

Способ 2
Код:
OLT-derevnya1#epon reboot onu interface epON 0/1:4
Are you sure to reboot the ONU(y/n)?y
OLT-derevnya1#

Перегружается достаточно быстро, до 10 сек на вскидку.

1.5 Смотрим приходят ли мак-адреса абонента / иключая мак-адрес самой ону
Код:
OLT-derevnya1# show mac address-table dynamic interface epON 0/1:4 | exclude a0c6.ec00.1461
        Mac Address Table (Total 2)
------------------------------------------

Vlan    Mac Address       Type       Ports
----    -----------       ----       -----
7 f81a.678b.f765  DYNAMIC    epon0/1:4


Вот первые мысли, что пришли в голову.
Про snmp можно выдрать всю туже информацию, если надо поищу позже.
Страниц: 1 ... 4 5 [6]
Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!