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

Разрешения доступов. А как это делаете Вы?

Добавлено: 20 окт 2014, 20:37
rioakaanhell
День добрый.

На * настроены разрешения дл определенных добавочных звонить на определенный направления таким способом:
Пример:

Код: Выделить всё

exten => _372XXXXXXXX,1,NoOp()
same => n,GotoIf($[${CALLERID(num)} = 100 ]?calltrue)
same => n,GotoIf($[${CALLERID(num)} = 101 ]?calltrue)
same => n,Playback(/var/lib/asterisk/sounds/ru/nomer&/var/lib/asterisk/sounds/ru/deaktivirovan)
same => n,Hangup()
same => n(calltrue),Macro(mixmon)
same => n,Macro(dialtrunk,trunkname)
same => n,Macro(dialstatus)
Т.е. проверка идет по добавочному проверяя каждый можно или нет.

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


По этому прошу Вас поделится, какими методами Вы решаете данную задачу.
Спасибо.

Re: Разрешения доступов. А как это делаете Вы?

Добавлено: 20 окт 2014, 23:32
ded
Стандартными методами, вестимо!

Код: Выделить всё

exten => _372XXXXXXXX/_10[01],1,Macro(mixmon)
same => n,Macro(dialtrunk,trunkname)
same => n,Macro(dialstatus)

exten => _372XXXXXXXX,1,Answer()
same => n,Playback(/var/lib/asterisk/sounds/ru/nomer&/var/lib/asterisk/sounds/ru/deaktivirovan)
same => n,Hangup()

; Разрешить все двухсотые 2ХХ
exten => _372XXXXXXXX/_2XX,1,Macro(mixmon)
same => n,Macro(dialtrunk,trunkname)
same => n,Macro(dialstatus)
rioakaanhell, прошу высказаться - почему не читали Азбуку (про будущее телефонии)? Это азбучный пример маршрутизации по CID.

Re: Разрешения доступов. А как это делаете Вы?

Добавлено: 21 окт 2014, 07:28
Vlad1983
разбить пользаков по группам интересов и посадить в разные контексты
меньше возни с диалпланом будет при переводе из группы в группу

Re: Разрешения доступов. А как это делаете Вы?

Добавлено: 21 окт 2014, 10:07
rioakaanhell
Данный азбучный метод мне знаком, но не подходит, из-за слишком разношерстного набора добавочных.
Разбивка по контекстам используется, но в другом. Т.е. стандартная схема:
[локальный контекст] - только локальные добавочные
[контекст по умолчанию для всех] - направления, которые доступны всем + инклудит в себя локальный
[расширеный] - звонки на международные направления определенным пользователям. инклдудит в себя предыдущие контексты.

Азбучный метод хорош, когда надо группе хоть чем-то похожих добавочных дать доступ. Например те же 2ХХ или 3[45]X и так далее. Если набор добавочных идет например 103 213 215 346 513 753 и т.д., то их по дмаску объеденить уже сложнее, а создавать для каждого разрешение - как-то не красиво и много текста.

Плюс на текущий момент требуется это автоматизировать, что бы в другом ПО (например 1С) поставить галочку, что пользователь 123 может звонить в Бельгию, а оно куда-то что-то сгенерировало, изменило в базе и пр.

Вот собственно и интересуюсь как это делают другие :) Может у кого-то есть красивые не стандартные решения. Интересует привязка к MySQL либо AstDB.

Как-то так.

Re: Разрешения доступов. А как это делаете Вы?

Добавлено: 21 окт 2014, 10:18
Vlad1983
тогда вам к func_odbc или через agi, eagi
последними двумя можно WS-сервисы из 1С дергать напрямую