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/ |