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

доступ на международную линию через пароль

Добавлено: 11 янв 2016, 17:00
bagrintsev
Вечер добрый, добрые гуру.

Хочу сделать доступ на междугороднюю линию не для всех, а только для избранных. Ибо нефиг.
Нарисовал такой вот тестовый эктеншен:

exten => 321,1,Answer()
exten => 321,n,Authenticate(1234)
exten => 321,n,Playback(privacy-prompt)
... здесь абонент уже проверенный
exten => 321,n,Hangup()

Набираешь 321, девочка просит набрать пароль, набираешь 1234# и собственно можно уже пускать дальше - набирать международные коды.
И тут затык, я не понимаю, что нужно написать, чтобы система стала ждать от абонента цифры, а потом произвела вызов.

Подскажите плз, если знаете куда копать.

Re: доступ на международную линию через пароль

Добавлено: 11 янв 2016, 17:06
ded
Не надо усложнять.
Если хотите дать доступ к международным кодам только абоненту 321, то
exten => _801ZX./321,1,Dial(SIP/operator/${EXTEN})

можно и с маской
exten => _801ZX./_32[12,4-79],1,Dial(SIP/operator/${EXTEN}) ; доступ только для абонентов 321, 322, 324-327, и 329

Re: доступ на международную линию через пароль

Добавлено: 11 янв 2016, 17:09
Glukinho
Не надо усложнять.
exten => +801ZX./_32[12,4-79],1,Dial(SIP/operator/${EXTEN}) ; доступ только для абонентов 321, 322, 324-327, и 329
:-)


Автору,
core show application Read
core show application DISA

Re: доступ на международную линию через пароль

Добавлено: 11 янв 2016, 17:49
Aven

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

  same => n,Read(PIN_READ)
  same => n,GotoIf(${PIN_READ} == 1234]?pin_ok:pin_bad)

Re: доступ на международную линию через пароль

Добавлено: 11 янв 2016, 18:36
ded
Доступ через пароль (пин) - это нажатие лишних кнопок + пароль в голове, это всё не нужно.

Re: доступ на международную линию через пароль

Добавлено: 11 янв 2016, 23:34
Glukinho
Все зависит от условий. Зато можно позвонить с любого телефона без перенастройки.

Re: доступ на международную линию через пароль

Добавлено: 11 янв 2016, 23:46
ded
Зато если Васечкин шепнёт PIN Петечкину, то пойдёт гулять по конторе секрет Полишинеля, эффективность = 0.

Re: доступ на международную линию через пароль

Добавлено: 12 янв 2016, 01:31
Samael28
Если уж хочется через пароль, то с DISA упражняться - лишнее. Просто по маске типа

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

exten => _00.,1,Answer
 same => n,Authenticate(4321#)
 same => n,Dial(SIP/LongDistanceOper/${EXTEN})
P.S. A какое тогда решение лучше? Если привязывать к номеру телефона, то тоже никто не гарантирует, что с телефона Пети Вася не позвонит любимой бабушке на Кубу.

Re: доступ на международную линию через пароль

Добавлено: 12 янв 2016, 02:56
whoim
Объединить оба решения - каждому юзеру свой пароль.
Данные держать в mysql или текстовом файле, скриптом генерить кусок диаплана в отдельном файле, который инклайдить в основной. Или один контекст на всех, с "доставанием" пароля из mysql в переменную, которую и проверять.
Есть и другие варианты.

Re: доступ на международную линию через пароль

Добавлено: 12 янв 2016, 03:07
ded
каждому юзеру свой генератор разовых pass codes, типа брелка Digipass.
При указании своего личного PIN система запрашивает разовый код доступа, который надо сгенерировать на своём Digipass.
А доступ в него защищён сертификатом RSA c обменом ключей по схеме Curve25519.
Для избранных. Ибо нефиг.
[sardonic smile]