BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 17:37

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 27 мар 2009, 15:41 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
Подскажите как из скрипта поведения изменить состояние шлюза
и как можно запретить изменение параметров модуля IPN в договоре если статус шлюза не находится в статусе "удален".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 09:35 
Не в сети

Зарегистрирован: 17 июн 2008, 09:44
Сообщения: 25
Карма: 0
Поддерживаю, как можно в скрипте поведения управлять состоянием шлюза в договоре?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 13:10 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
+1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 15:24 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
http://www.bgbilling.ru/v4.5/javadoc/bi ... %20boolean)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 15:46 
Не в сети

Зарегистрирован: 17 июн 2008, 09:44
Сообщения: 25
Карма: 0
Это конечно хорошо, а как статус получить шлюза? И кто такой int userID ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 16:05 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
Это конечно хорошо, а как статус получить шлюза?

Вам его получить надо или изменить?
Цитата:
И кто такой int userID ?

Код пользователя биллинга, можете ставить 0 - значит сервер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 16:11 
Не в сети

Зарегистрирован: 17 июн 2008, 09:44
Сообщения: 25
Карма: 0
Администратор писал(а):
Вам его получить надо или изменить?

И получить и изменить :)

Цитата:
И кто такой int userID ?

Код пользователя биллинга, можете ставить 0 - значит сервер.[/quote]
Понял, спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 16:22 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Ну в том же классе есть метод получения статуса..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 16:41 
Не в сети

Зарегистрирован: 17 июн 2008, 09:44
Сообщения: 25
Карма: 0
Простите, называется смотрю в книгу вижу фигу :)

А теперь другая проблема, яву я знаю поскольку постольку, много времени на изучение нету:( Скрипт есть:
Код:
import java.sql.*;
import java.util.*;

import bitel.billing.server.script.event.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.tariff.*;
import bitel.billing.server.util.*;
import bitel.billing.server.ipn.bean.*;
import bitel.billing.common.module.ipn.IPNContractStatus;
cid = event.getContractID();
ipnstat = new IPNContractStatusManager(con,5).getContractStatus(cid);
print (ipnstat);


выдает вот такое:
Код:
Sourced file: Function [id:13; title:GateIPN] : Constructor error: Can't find constructor: bitel.billing.server.ipn.bean.IPNContractStatusManager( org.apache.commons.dbcp.PoolableConnection, int ) in class: bitel.billing.server.ipn.bean.IPNContractStatusManagerSourced file: Function [id:13; title:GateIPN] : Constructor error: Can't find constructor: bitel.billing.server.ipn.bean.IPNContractStatusManager( org.apache.commons.dbcp.PoolableConnection, int ) in class: bitel.billing.server.ipn.bean.IPNContractStatusManager : at Line: 11 : in file: Function [id:13; title:GateIPN] : new IPNContractStatusManager ( con , 5 )

   at bsh.BSHAllocationExpression.constructObject(Unknown Source)
   at bsh.BSHAllocationExpression.objectAllocation(Unknown Source)
   at bsh.BSHAllocationExpression.eval(Unknown Source)
   at bsh.BSHPrimarySuffix.doSuffix(Unknown Source)
   at bsh.BSHPrimaryExpression.eval(Unknown Source)
   at bsh.BSHPrimaryExpression.eval(Unknown Source)
   at bsh.BSHAssignment.eval(Unknown Source)
   at bsh.Interpreter.eval(Unknown Source)
   at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310)
   at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:60)
   at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128)
   at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:238)
   at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:152)

Подскажите почему? что я делаю не так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 20:10 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
KaDaBRa писал(а):
Подскажите почему? что я делаю не так?

у вас версия 4.6 ? там поменялось api - нет такого конструктора там нужно ещ добавить тритий параметр ModuleSetup. его можно получать так : Setup.getSetup().getModuleSetup( mid ), где mid - код модуля IPN


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 апр 2009, 20:26 
Не в сети

Зарегистрирован: 17 июн 2008, 09:44
Сообщения: 25
Карма: 0
stark писал(а):
у вас версия 4.6 ? там поменялось api - нет такого конструктора там нужно ещ добавить тритий параметр ModuleSetup. его можно получать так : Setup.getSetup().getModuleSetup( mid ), где mid - код модуля IPN

Ага, именно 4.6, спасибо большое :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 апр 2009, 16:34 
Не в сети

Зарегистрирован: 10 дек 2008, 17:32
Сообщения: 5
Карма: 0
stark писал(а):
у вас версия 4.6 ? там поменялось api - нет такого конструктора там нужно ещ добавить тритий параметр ModuleSetup. его можно получать так : Setup.getSetup().getModuleSetup( mid ), где mid - код модуля IPN


Разработчики, что такое bundleName в конструкторе класса Setup??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 апр 2009, 18:13 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
bundleName - имя файла *.properties с данными


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 апр 2009, 14:16 
Не в сети

Зарегистрирован: 10 дек 2008, 17:32
Сообщения: 5
Карма: 0
skn писал(а):
bundleName - имя файла *.properties с данными

А нельзя ли подробнее?? Где этот файл лежит? Что в нем должно быть?
Писать с полным путем или как? В документации по API про это вообще ничего нет. Напишите пример если не сложно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 апр 2009, 17:11 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
DeusInversus писал(а):
skn писал(а):
bundleName - имя файла *.properties с данными

А нельзя ли подробнее?? Где этот файл лежит? Что в нем должно быть?
Писать с полным путем или как? В документации по API про это вообще ничего нет. Напишите пример если не сложно.


это путь от текущего classpath ..Для сервера это папка classes и корневая папка биллинга (обе сразу).. Обычно пишут new Setup(data.data) и он находит файл data/data.properties .. это для создания , но вам это не надо ..Вам достатьнчо скоре всего вызывать статически метод Setup.getSetup() и получить текущий Setup


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 май 2009, 21:33 
Не в сети

Зарегистрирован: 28 июл 2007, 22:57
Сообщения: 110
Карма: 0
ODV писал(а):
как можно запретить изменение параметров модуля IPN в договоре если статус шлюза не находится в статусе "удален".


было бы полезно, а то иногда забывают и оставляют свитчи в озадаченном состоянии


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 май 2009, 17:51 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
ODV писал(а):
Подскажите как из скрипта поведения изменить состояние шлюза.


Подскажите, пожалуйста
как выполнить скрипт с набором команд относящейся к шлюзу состояние которого изменили из скрипта поведения?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 май 2009, 16:30 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
ODV писал(а):
ODV писал(а):
Подскажите как из скрипта поведения изменить состояние шлюза.


Подскажите, пожалуйста
как выполнить скрипт с набором команд относящейся к шлюзу состояние которого изменили из скрипта поведения?

не понял вопроса, вам уже выше отчетили как зменеть состояние шлюза, при этом если шлюз скриптовый, то отработает его скрипт


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 май 2009, 17:04 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
разобрался
спасибо, все работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 авг 2009, 23:29 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
Что то не могу понять. Пишу так выходит ошибка
module = Setup.getSetup().getModuleSetup(1);
ipn = new IPNContractStatusManager( con, 1, module);
ipn_status = ipn.getContractStatus( cid );

Можно примерчик


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 авг 2009, 01:45 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
// Переводим шлюз в стату "закрыт"
modset = new ModuleSetup(con, mid);
(new IPNContractStatusManager(con, mid, modset)).changeStatus(cid, 0, 0, true);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 авг 2009, 22:56 
Не в сети

Зарегистрирован: 19 дек 2008, 17:46
Сообщения: 749
Карма: 10
Что-то прописываю в скрипте, а все равно выходит ошибка
Unknown class: ModuleSetup : at Line: 30 :


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 авг 2009, 12:36 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
madmax писал(а):
Что-то прописываю в скрипте, а все равно выходит ошибка
Unknown class: ModuleSetup : at Line: 30 :


import ru.bitel.bgbilling.server.util.ModuleSetup;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 авг 2009, 16:41 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Тоже вставлю свою часть вопроса с вашего позволения :)

А можно ли производить какие либо действия со шлюзами, не привязанными к конкретному договору? Задача раскидать по группе шлюзов (набор, порядка 5-10 шт) создание пользовательского вилана.

Для себя это виделось примерно так:

1. Группируем комутаторы в папки - одна папка, это одна группа
2. Пользователю привязываем один из комутаторов из этой папки
3. При открытии шлюза, пробегаемся по всем комутаторам в папке и так же открываем персональный вилан.
4. При "удалении" шлюза, удаляем из всех комутаторов группы.

В п.3 идеально конечно было бы иметь не просто "открытие", а "создание"... но это уже не раз обсуждалось, и вроде все решили, что должно быть только "открытие" шлюза.

Все это необходимо для автоматического создания пользовательского вилана на кольце комутаторов, соединенных по stp. Понимаю, что скажете - а не проще ли VTP поднять? Но к сожалению, оборудование неоднородное и приходится извращаться.

Что скажете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 24 авг 2009, 15:41 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
mikos писал(а):
Тоже вставлю свою часть вопроса с вашего позволения :)

А можно ли производить какие либо действия со шлюзами, не привязанными к конкретному договору? Задача раскидать по группе шлюзов (набор, порядка 5-10 шт) создание пользовательского вилана.

Для себя это виделось примерно так:

1. Группируем комутаторы в папки - одна папка, это одна группа
2. Пользователю привязываем один из комутаторов из этой папки
3. При открытии шлюза, пробегаемся по всем комутаторам в папке и так же открываем персональный вилан.
4. При "удалении" шлюза, удаляем из всех комутаторов группы.

В п.3 идеально конечно было бы иметь не просто "открытие", а "создание"... но это уже не раз обсуждалось, и вроде все решили, что должно быть только "открытие" шлюза.

Все это необходимо для автоматического создания пользовательского вилана на кольце комутаторов, соединенных по stp. Понимаю, что скажете - а не проще ли VTP поднять? Но к сожалению, оборудование неоднородное и приходится извращаться.

Что скажете?


а GVRP тоже не подойдет ?

вообще теоретически ваш вариант заработает . Только мне вот кажется лучше делать иерархию шлюзов, а не группы . Т.е клиенту добалять конченый шлюз, и синхронизация будет вызываться у него и всех его родителей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 авг 2009, 01:05 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
GVRP к сожалению не поддерживает часть оборудования, так же как и VTP :(

Иерархию не знаю как построить, т.к. по сути группы - это есть кольца STP, дерева там не получается. А группа как раз оно - Делаю папку и в нее запихиваю все комутаторы кольца. В итогде все в кольце (в группе) должны иметь виланы на транковых портах. Транковые порты в свою очередь пропишу у каждого шлюза в конфигурации.

Подскажите пожалуйста, как управлять комутатором, который не привязан к договору? Саму группу комутаторов я выбиру из базы ручками запросом, получу их ID. Что дальше делать? Надо вызвать метод конкретного шлюза (открыть/закрыть его). Как это сделать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 авг 2009, 11:14 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
mikos писал(а):
Подскажите пожалуйста, как управлять комутатором, который не привязан к договору? Саму группу комутаторов я выбиру из базы ручками запросом, получу их ID. Что дальше делать? Надо вызвать метод конкретного шлюза (открыть/закрыть его). Как это сделать?


GateTypeManager gateTypeManager = new GateTypeManager( con, mid );
RuleTypeManager ruleTypeManager = new RuleTypeManager( con, mid );

Map gateTypeMap = gateTypeManager.getTypeMap();

допутсим вы получили спискл шлюзов :
List gates ;

далее в цикле :

for( Gate gate : gates )
{

GateType type = gateTypeMap.get( gate.getTypeId() );
GateWorker worker = (GateWorker)Utils.classByName( type.getGateManager() );
gate.setGateType( type );
worker.init( gate, ruleTypeManager.getTypeMap( gate.getTypeId() ), gateTypeMap, con, mid );

worker.start();
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 авг 2009, 14:31 
Не в сети

Зарегистрирован: 17 апр 2009, 15:21
Сообщения: 68
Карма: 0
mikos писал(а):
GVRP к сожалению не поддерживает часть оборудования, так же как и VTP :(

Иерархию не знаю как построить, т.к. по сути группы - это есть кольца STP, дерева там не получается. А группа как раз оно - Делаю папку и в нее запихиваю все комутаторы кольца. В итогде все в кольце (в группе) должны иметь виланы на транковых портах. Транковые порты в свою очередь пропишу у каждого шлюза в конфигурации.

Подскажите пожалуйста, как управлять комутатором, который не привязан к договору? Саму группу комутаторов я выбиру из базы ручками запросом, получу их ID. Что дальше делать? Надо вызвать метод конкретного шлюза (открыть/закрыть его). Как это сделать?


как вариант,
влан навсегда "прибивается" к порту коммутатора доступа,
заранее конфигурится и получаем жесткую связку
порт доступа -> номер влан - >транк->виртуальный интерфейс L3 на агрегации.

В этом случае совершенно неважно какого производителя свичи
доступа, могут быть даже конфигурируемые через консольный порт
информация записывается туда один раз.

Схема упрощается, в договор добавляется только агрегатор.

одна проблемка номер влан должен вводится вручную, а он берется из списка по порядку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 авг 2009, 16:08 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
tee писал(а):

одна проблемка номер влан должен вводится вручную, а он берется из списка по порядку.


Редактировать vlan можно в 5.0 . кстатит ее night- build-ы уже доступны : ftp://bgbilling.ru/pub/bgbilling/5.0/

а пока можете использовать параметр договора в качестве vlan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 26 авг 2009, 23:00 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
tee писал(а):
mikos писал(а):
GVRP к сожалению не поддерживает часть оборудования, так же как и VTP :(

Иерархию не знаю как построить, т.к. по сути группы - это есть кольца STP, дерева там не получается. А группа как раз оно - Делаю папку и в нее запихиваю все комутаторы кольца. В итогде все в кольце (в группе) должны иметь виланы на транковых портах. Транковые порты в свою очередь пропишу у каждого шлюза в конфигурации.

Подскажите пожалуйста, как управлять комутатором, который не привязан к договору? Саму группу комутаторов я выбиру из базы ручками запросом, получу их ID. Что дальше делать? Надо вызвать метод конкретного шлюза (открыть/закрыть его). Как это сделать?


как вариант,
влан навсегда "прибивается" к порту коммутатора доступа,
заранее конфигурится и получаем жесткую связку
порт доступа -> номер влан - >транк->виртуальный интерфейс L3 на агрегации.

В этом случае совершенно неважно какого производителя свичи
доступа, могут быть даже конфигурируемые через консольный порт
информация записывается туда один раз.

Схема упрощается, в договор добавляется только агрегатор.

одна проблемка номер влан должен вводится вручную, а он берется из списка по порядку.


В общем-то сейчас так и делаем, виланы берем по порядку. Вся заворушка что расписывал как раз для раскидывания конфигов по комутаторам кольца.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 46 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.224s | 78 Queries | GZIP : On ]