Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

DISA проверка CallerID

0

Здравствуйте, меня интересует такой вопрос.

Есть DISA, есть список callerid с passcode. Возможно ли в DISA, проверять входящий звонок по callerid, и автоматически подставлять passcode?

exten => _000000,1,Answer
exten
=> _000000,2,Authenticate(pin)
exten
=> _000000,3,DISA(passcode,context)

Или оно так не умеет и необходимо каждый раз набирать этот passcode на тел. аппарате?

спросил Dec 11 '13

Vlvoi Gravatar Vlvoi
11 5 3

обновил Dec 11 '13

Comments

Проверку CallerID, как я понял, можно сделать при помощи GotoIf(), а вот как потом автоматически сравнить в файле этот CallerID с passcode ему принадлежащем и подставить этот passcode, пока что непонятно.

Vlvoi (Dec 11 '13)edit

использовать базу. если вы против базы - использовать через odbc базы в файлах. или AGI

meral (Dec 11 '13)edit

Базу я только думаю вводить, пока что не силен в такой связке. Вот если бы посмотреть на приблизительный пример, был бы благодарен.

Vlvoi (Dec 12 '13)edit

3 Ответа

1

вообщето если в чемто несилен,надо нанимать консультанта. но вообещ както так.

extconfig.conf

disa_cids=>mysql,general

resconfigmysql.conf - вписать доступ к базе.

в базу выложить табличку

CREATE TABLE disa_cids 
( id serial,
 cid varchar
(20) not null unique,
 accountcode varchar
(20),
 context varchar
(20) default 'disaout'
);

extensions.conf

[disa_cid_base]

exten
=>s,1,Noop(disa cid check CID=${CALLERID(num)})
;REALTIME_FIELD(family,fieldmatch,matchvalue,fieldname)
exten
=>s,n,Set(account=${REALTIME_FIELD(disa_cids,cid,${CALLERID(num)},accountcode)
exten
=>s,n,GotoIF($[ "${account}" == "" ]?disa_simple,1)
exten
=>s,n,Set(context=${REALTIME_FIELD(disa_cids,cid,${CALLERID(num)},context)
exten
=>s,n,Set(CDR(accountcode)=${account}); записываем аккаунт для биллинга
exten
=>s,n,Disa(no-password,${context});запрашиваем номер(можно через Read/dial)

exten
=> disa_simple,1,Noop; тут пишите что делать если не сошлось по cid
ссылка удалить спам редактировать

ответил Dec 12 '13

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил Dec 12 '13

0

А еще есть старая добрая пауза при наборе (P).

Работает со всеми сервисами где необходимо проходить аутентификацию.

ссылка удалить спам редактировать

ответил Dec 13 '13

bolshoy_plohish Gravatar bolshoy_plohish
1388 25 20 38

Comments

А вообще к дизе доступ лучше давать через Callback.

В ffreepbx уже все готовое для этого есть.

bolshoy_plohish (Dec 13 '13)edit
0

приложение DISA вообще не имеет смысла, хз зачем его вообще сделали. Его функции легко реализуются диалпланом:

[first]
;эти без пароля
exten
=> 000000/9177514345,1,goto(second,s,1)
;эти с паролем
exten
=> 000000,1,Answer
exten
=> 000000,n,BackGround(exterPin)
exten
=> 000000,n,WaitExten(10)
;тут пароли
exten
=> 123,1,goto(second,s,1)
exten
=> 334,1,goto(second,s,1)
exten
=> 219,1,goto(second,s,1)

[second]
exten
=> s,1,BackGround(ExterNumber)
exten
=> s,n,WaitExten(10)
exten
=> _XXX,1,GoTo(From-internal,${EXTEN},1)
ссылка удалить спам редактировать

ответил Dec 11 '13

switch Gravatar switch
8334 11 7 92
http://lynks.ru/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: Dec 11 '13

Просмотрен: 521 раз

Обновлен: Dec 13 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.