forum.bitel.ru
http://forum.bitel.ru/

Разные сервисы(услуги) на одном NAS
http://forum.bitel.ru/viewtopic.php?f=6&t=10611
Страница 1 из 1

Автор:  madmax [ 13 июн 2015, 02:41 ]
Заголовок сообщения:  Разные сервисы(услуги) на одном NAS

Создали два типа услуг (Мобильная связь, справочная) id 10 и 11 в nas прописали service=10,11.
В тарифном плане выбрали услугу и после нее направления, далее выбрали вторую услугу и также направления
При звонке идет ошибка Не найден код услуги.
Как сделать возможность разбития направлений по услугам, чтобы в наработке были разные услуги.
сейчас какое значение стоит в nas далее по такому и значению все проверяется.
А как в nas разрешить сразу несколько услуг?

Автор:  madmax [ 15 июн 2015, 18:20 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Так что это ветка не поддерживается???

Автор:  stark [ 15 июн 2015, 19:06 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

покажите тариф

Автор:  madmax [ 16 июн 2015, 01:29 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Нашел ответ, оказывается модуль древний и все скриптами делается.

Автор:  julik [ 02 мар 2016, 00:51 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

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

Автор:  JIoIIIaDka [ 04 мар 2016, 13:38 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Мы используем предобработку радиус и request.setOption( "service", КОДУСЛУГИ).
А вообще радиус, по идее, должен просто в тарифе найти совпадения по номеру во всех доступных услугах, т.е.:
- в насе service=1,2
- в договоре разрешены услуги с кодами 1 и 2
- в тарифе добавлены обе услуги (с кодами 1 и 2) с непересекающимися префиксами/частями.

Автор:  julik [ 15 мар 2016, 19:08 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

дело в том что в наработке они все в одной куче (по одной услуге)

Автор:  julik [ 15 мар 2016, 19:34 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

если поставить request.setOption( "service", 19 ); в предоработке то услуга-то все равно будет одна... помогите пожалуйста. нужна разная наработка по разным услугам

Автор:  Artur [ 15 мар 2016, 19:48 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

julik писал(а):
если поставить request.setOption( "service", 19 ); в предоработке то услуга-то все равно будет одна... помогите пожалуйста. нужна разная наработка по разным услугам


А после того, как вы меняете скрипт, вы радиус-сервер перезагружаете?

Автор:  julik [ 16 мар 2016, 12:24 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Проблема следующая, есть по модулю VoiceIP 4 услуги:
Международные звонки
Междугородние
Местные
Внутризоновые
И наработку нужно разделить именно таким же образом... в тарифе услуги по направлениям прописаны по зонам аналогично как это делается если бы модуль был PHone
Если в скрипте предоработки или просто в конфигурации наса назначить только один код услуги то все звонки будут считаться в куче одной суммой.
И если даже в скрипте разделить звонки по кодам и назначать в том или ином случае определенный код request.setOption( "service", 19 ), то если
с международкой это будут звонки на 810, местные это коды 8495,8499,8498 то с разделением межгорода и внутризоны большая проблема, внутризоновых кодов куча(более 1000) как можно решить такую проблему?

Автор:  Artur [ 16 мар 2016, 12:50 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

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

Автор:  julik [ 16 мар 2016, 18:37 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Т.е. если я создам 4 карты зон
- Карта зон МГ
- Карта зон МН
- Карта зон ВЗ
- Карта зон Местн связи
то можно будет как-то в скрипте назначать какую услугу присваивать звонку, а можно подробнее код скрипта? пожалуйста :)

Автор:  Artur [ 17 мар 2016, 00:06 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Я могу лишь дать код для обхода деревьев, а там уж сами... Завтра, когда буду на работе, постараюсь не забыть

Автор:  Artur [ 17 мар 2016, 12:33 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Код не рабочий, просто идея

Код:
import ru.bitel.bgbilling.kernel.base.phone.common.bean.CostMapItem;
import ru.bitel.bgbilling.kernel.base.phone.server.CostMapCache;

public class Script
{
   public static void main( String[] args )
   {
      int mgId = 1;//код карты цен для МГ
      CostMapCache cache = CostMapCache.getInstance( con, VOICEIP_MID );//кэш карт цен можно вынести в общие переменные скрипта обработки
      CostMapItem costMap = cache.getTree( mgId );
      boolean isContain = iterateCostMap( costMap, request.getStringAttribute( -1, RadiusDictionary.Calling_Station_Id, null), );
      if(isContain)
      {
         //данная карта цен содержит нужный нам префикс, ставим нужную услугу
         request.setOption( "service", 19 );
      }
      //аналогично для других карт цен
   }
   
      boolean iterateCostMap( CostMapItem costMap, String numA )
      {
         boolean result = false;
         //проверяем, содержит ли строка с номером подстроку с префиксом
         String code = costMap.getCode();
         if( Utils.notBlankString( code ) )
         {
            if ( numA.contains( code ))
            {
               //префикс в карте цен найден
               result = true;
            }
         }
         //ищем в глубь дерева
         List childs = costMap.getChildren();
         if ( childs != null && childs.size() > 0 )
         {
            for ( CostMapItem childItem : childs )
            {
               if ( numA.startsWith( code ) )
               {
                  //обходим рекурсивно детей
                  result = iterateCostMap( childItem, numA );
               }
            }
         }
         return result;
      }
}


Автор:  julik [ 17 мар 2016, 13:56 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

А если с картами зон? то тоже должно получаться?

Автор:  Artur [ 17 мар 2016, 14:07 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

С картами зон тоже можно подобное сделать в принципе. Обход дерева похож. Можно вообще напрямую делать sql-запросы в БД, если не очень много звонков.

Автор:  julik [ 22 апр 2016, 13:27 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

Подскажите пожалуйста как подцепиться к базе данных, я так понимаю что мы обращаемся к voiceip_cost_map_item и по id= нужному ищем код
Напишите пожалуйста описание connection con.

Автор:  Jimson [ 22 апр 2016, 13:43 ]
Заголовок сообщения:  Re: Разные сервисы(услуги) на одном NAS

julik писал(а):
Напишите пожалуйста описание connection con.

Так вот же описание Connection, или вы о чем?

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/