Страница 1 из 2

SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 11:11
borisk
Добрый день!

Господа, есть ГАТС, подключено несколько местных операторов. Причем для некоторых из них мы обеспечиваем транзит на некоторые направления. Например:
МО1 может делать транзит на МО2 (МС) и Мегафон (МС/ЗВ/МГ/МН)
МО2 может делать транзит только на МО1 (МС)

И я вот голову сломал как бы элегантнее все это решить. Кто-то сталкивался с подобным, есть идеи?

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 11:55
Dmitriy_eltex
Здравствуйте.
Решение для вас - категории доступа.

Чтобы стало понятно, опишу на фоне примера другого клиента:
каждый оператор это исходящее направление(транковая группа), т.е. на каждого оператора заведен префикс в плане нумерации, чтобы выйти на него.

Для каждого префикса вы создаете свою категорию доступа, с названиями к примеру:
"Выход на РТК"
"Выход на МТС"
"Выход на вымпелком"
"Выход на Мегафон"
и присваиваете данные категории на соответсвующие префиксы в плане нумерации.

Далее создаете категории, которые будете назначать на входящие направления (т.е. откуда приходит вызов)
это могут быть SIP абоненты, SIP интерфейсы, потоки е1. Разберем на примере SIP абонентов:
имеются номера 7001, 7002, 7003, 7004, 7005.
7001 - должен звонить на все направления
7002 - должен звонить только на вымпелком, на все остальные запрет
7003 - должен звонить только на РТК и МТС, на все остальные запрет
7004 - должен звонить только на МТС, вымпелком, Мегафон, на все остальные запрет
7005 - должен звонить на все.

Создаем след категории доступа:
"Все направления" - ставим галочки напротив всех категорий "Выход на РТК", "Выход на МТС", "Выход на вымпелком", "Выход на Мегафон"
"РТК и МТС" - ставим галочки напротив "Выход на РТК", "Выход на МТС"
"МТС Вымпелком Мегафон" - ставим галочки напротив категорий "Выход на МТС", "Выход на вымпелком", "Выход на Мегафон"

Далее назначаем абонентам категории:
7001 - "Все направления"
7002 - "Выход на вымпелком"
7003 - "РТК и МТС"
7004 - "МТС Вымпелком Мегафон"
7005 - "Все направления"

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 12:06
borisk
Понятно. Но монстроидально. В том плане, что каждый новый оператор будет плодить количество перекрестных ACL. На freeswitch я эту проблему решал проще: на префикс назначалась "группа", а у пользователя прописывался "список групп" к которым он имеет доступ. Подумайте, может это будет более логичным развитием системы ACL?

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 12:38
borisk
А еще вопрос - у вас категории случайно не наследуются?
По типу:
- категория 16 включает в себя доступ к категориям 1,2,3
- категория 17 в ключает в себя доступ к категории 16 (что автоматически дает ей доступ к категориям 1,2,3) ?

это бы упростило задачу

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 13:45
Dmitriy_eltex
Нет, наследования нет.
Категории доступа это универсальный инструмент, предназначенный не только для пользователей, но и для транков тоже.
Не понятно предложенное вами развитие:
Зачем каждый раз на каждом пользователе отмечать несколько групп доступа? - это же не удобно.
Ведь можно 1 раз создать категорию и развешать ее на группу пользователей.

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 15:55
borisk
Давайте рассмотрим ситуацию, когда у нас 16 подключенных местных операторов. И у каждого свои правила транзита. Плюс еще абоненты. Сколько мне придется категорий доступа создать? А теперь в эту конфигурацию добавим еще одного оператора. Сколько мне категорий доступа придется изменить?

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 16:55
Dmitriy_eltex
borisk писал(а):Давайте рассмотрим ситуацию, когда у нас 16 подключенных местных операторов. И у каждого свои правила транзита. Плюс еще абоненты. Сколько мне придется категорий доступа создать? А теперь в эту конфигурацию добавим еще одного оператора. Сколько мне категорий доступа придется изменить?


По мне вы все усложняете.
При добавлении ОДНОГО оператора вам нужно создать всего ОДНУ категорию доступа.
Далее расставить галочки в тех категориях, куда она будет входить - по сути тоже самое если бы вы расставляли теже галочки только в настройках абонентов.

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

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

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 18 мар 2016 19:25
borisk
Хорошо. Я еще раз все обдумаю, и если моя точка зрения мне покажется правильной - обязательно отпишусь в комм. отдел.

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 13 апр 2016 18:22
borisk
Хочу снова вернуться к этой теме. Предложенное Дмитрием решение не работает по причине того, что нельзя создавать два одинаковых префикса. То есть, получается, единственно верный способ разносить каждого оператора в свой номерной план? Но это жутко не удобно :(

Если кто-то захочет предложить "а сделай какой-нибудь технический префикс для каждого оператора" скажу что думал об этом, но как тогда быть с СОРМ? У меня что-то не придумалось и префикс на оператора и СОРМ чтоб работал согласно приказа 268.

Мне видится более правильное решение задачи:
1) создавать одинаковые префиксы можно
2) при поиске по CdPN система выбирает ВСЕ подходящие под маску префиксы и сортирует их согласно приоритетам. Далее звонок проходит по префиксу у которого совпадает COS.
3) И при этом хотелось бы чтобы система еще и отбирала по наибольшему совпадению сначала. Например есть 3 префикса: 7343x{7} cos=0, 7x{10} cos=0, 7x{10} cos=1. У клиента cos=1 и звонит он на номер 73433727272. Так вот вызов должен пойти на префикс №3, а если cos=0 у клиента, то на префикс №1.

P.S. По наибольшему совпадению сейчас почитал документацию и сделал ряд экспериментов. Отбор наибольшего совпадения работает только при одинаковых приоритетах префиксов. Т. е. префикс 7x{10} pri=95 будет все равно лучше префикса 7343x{7} pri=100. Что вроде бы как не очень правильно, imho.

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 13 апр 2016 18:39
Bokrenok
borisk писал(а):3) И при этом хотелось бы чтобы система еще и отбирала по наибольшему совпадению сначала. Например есть 3 префикса: 7343x{7} cos=0, 7x{10} cos=0, 7x{10} cos=1. У клиента cos=1 и звонит он на номер 73433727272. Так вот вызов должен пойти на префикс №3, а если cos=0 у клиента, то на префикс №1.


т.е. имея набор предварительно подходящих масок надо:
1. отсеять по COS
2. остаток от п.1 отсеять по приоритетам
3. остаток от п.2 отсеять по точности маски
4. после п.3 должен остаться только один префикс, его и использовать.

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 13 апр 2016 18:42
borisk
Bokrenok, вы очень точно и элегантно выразили мою мысль :)

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 13 апр 2016 20:03
borisk
Хотя нет, пункты 2 и 3 надо поменять местами. Более точная маска должна выигрывать вне зависимости от приоритета.

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 26 апр 2016 20:49
borisk
Уважаемые разработчики, здравая ли мысль? Занесли ли в TODO? Или может даже уже есть видение когда будет реализовано?

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 27 апр 2016 17:45
Dmitriy_eltex
borisk писал(а):Уважаемые разработчики, здравая ли мысль? Занесли ли в TODO? Или может даже уже есть видение когда будет реализовано?

Здравствуйте.
Насколько я понял, вы хотите отбирать вызов сначала по точности маски, а затем по приоритету?
Перечитал всю историю и не понятно на самом деле, что вы хотите...
Ведь план нумерации не даст вам создать одинаковые маски, если бы он это позволял делать, то возникли бы проблемы с маршрутизацией, например при одинаковых приоритетах вызов всегда уходил бы на первый попавшийся префикс.
Также неизвестно как бы эта правка повлияла на работу уже сконфигурированных по приоритетам SMG, маршрутизация точно поломается на них.

Re: SMG-2016. Как элегантнее решить транзит

Добавлено: 28 апр 2016 10:00
borisk
Давайте тогда с самого начала :)
У меня (на текущий момент) 5 прямых стыков с МГ операторами. Абоненты по преселекту могут выбрать любого. Как я понимаю - в текущей версии софта единственным для меня способом является нарисовать отдельный план нумерации для каждого МГ оператора? Но бог с ним, переживу 5 планов нумерации (хотя, imho, бред). А как все это правильно подружить с СОРМ то?

Теперь мое видение:
1) Да, я хотел бы возможность создавать одинаковые префиксы в плане нумерации
2) Система должна выбирать подходящий префикс для маршрутизации из числа одинаковых основываясь на COS. Поэтому и не возникнет проблем с маршрутизацией. Кроме маски мы еще анализируем COS.
3) Нет, это ни коим образом ничего не поломает в текущих конфигурациях пользователей, так как сейчас такой возможности у них просто нет.
И в любом случае - в "что нового" вы всегда пишите предупреждения о возможных последствиях, даже, если они и минимальны :)

P.S. У меня под рукой РТУ, где это все реализовано и прекрасно работает и ни каких конфликтов с маршрутизацией не возникает.