forum.bitel.ru http://forum.bitel.ru/ |
|
Параметр mpd-rule http://forum.bitel.ru/viewtopic.php?f=19&t=6946 |
Страница 1 из 1 |
Автор: | id835559 [ 09 июл 2012, 12:32 ] |
Заголовок сообщения: | Параметр mpd-rule |
Снова здравствуйте. Задачу с активацией тарифной опции я решил самостоятельно, сейчас задача такая. При активации тарифной опции должно произойти следующее (опишу ручной способ, который надо запрограммировать): 1. В пункте "Модули" выбираться подпункт "Dial-Up". 2. Далее выбирается вкладка «Атрибуты RADIUS» и подвкладка «Атрибуты». 3. Внизу вкладки необходимо выбрать параметр «mpd-rule». 4. В соседней пустой строке вводится параметр в зависимости от того, какая тарифная опция выбрана. Буду благодарен за подсказки. |
Автор: | id835559 [ 09 июл 2012, 13:23 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Я нашёл в библиотеке функции модуля DialUp, похоже, что надо использовать их. Подскажите, пожалуйста, как, либо где почитать об этом. |
Автор: | Amir [ 09 июл 2012, 14:33 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Помоему лучше использовать наборы атрибутов, чтобы в зависимости от какой-то тарифной опции добавлять атрибуты: http://bgbilling.ru/v5.1/doc/ch13s06.html http://bgbilling.ru/v5.1/doc/ch13s12s08.html |
Автор: | id835559 [ 09 июл 2012, 15:16 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
К сожалению мы не можем под каждый тариф прописывать опции, это пройденный этап, мы считаем его громоздким и неудобным вариантом. Поэтому нам бы хотелось решить задачу именно через скрипты поведения и мы будем благодарны за подсказку как это сделать. Спасибо. |
Автор: | Amir [ 09 июл 2012, 15:57 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Но сейчас нет события на конец действия тарифной опции, т.е. если активировать опцию на час, ровно через час не будет никакого события, что опция закончилась... Код: DialUpLoginManager loginManager = new DialUpLoginManager( con, moduleId );
Login login = loginManager.getLoginById( 123 ); Map<String, List<String[]>> attributeMap = loginManager.loadAVPPairs( login ); List<String[]> list = attributeMap.get( "default" ); if( list == null ) { list = new ArrayList<String[]>(); attributeMap.put( "default", list ); } list.add( new String[]{ "mpd-rule", "xxxxxxxx" } ); List<String[]> attributes = new ArrayList<String[]>(); for( Map.Entry<String, List<String[]> e : attributeMap.entrySet() ) { String realm = e.getKey(); for( String[] avp : e.getValue() ) { attributes.add( new String[] { realm, avp[0], avp[1] } ); } } loginManager.updateAttributes( login.getId(), attributes ); |
Автор: | id835559 [ 09 июл 2012, 17:42 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Спасибо, а не могли бы вы пояснить некоторые моменты этого кода? Например, я не смог понять что делает третья строка. |
Автор: | Amir [ 09 июл 2012, 18:29 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Метод updateAttributes перетирает все атрибуты полностью, поэтому чтобы добавить что-нибудь - нужно получить сначала полный набор, добавить туда и вызвать updateAttributes. Для того чтобы получить атрибуты - нужен объект-логин, поэтому его получаем по id (123). |
Автор: | id835559 [ 10 июл 2012, 12:30 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
А заместо параметров в угловых скобках что указывать? |
Автор: | Amir [ 10 июл 2012, 14:04 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Если beanshell(bsh) скрипты 5.1 - то просто убрать их. |
Автор: | id835559 [ 11 июл 2012, 17:50 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Хорошо, спасибо. Получается что в нашем случае (а у нас надо менять параметр в зависимости от выбранной тарифной опции) следует поставить проверку вместо строки Код: attributes.add( new String[] { realm, avp[0], avp[1] } ); Правильно? |
Автор: | snark [ 12 июл 2012, 00:39 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
id835559 писал(а): не смог понять что делает третья строка id835559 писал(а): заместо параметров в угловых скобках что указывать? Пожалуйста, не поймите неправильно, но ... может все же лучше наборами атрибутов? |
Автор: | id835559 [ 12 июл 2012, 10:45 ] |
Заголовок сообщения: | Re: Параметр mpd-rule |
Вероятно лучше, я предлагал. Но нам сказали так. Тем более, что этот скрипт будет ещё дополняться разрывом сессии и оповещением клиента об этом. Прекрасно понимаю вашу озабоченность, я действительно мало что понимаю, я не ява-программист. Потому и задаю такие вопросы, так как хочу исключить ошибки. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |