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(passcode=${REALTIME_FIELD(disa_cids,cid,${CALLERID(num)},accountcode)
exten =>s,n,GotoIF($[ "${passcode}" == "" ]?disa_simple,1)
exten =>s,n,Set(context=${REALTIME_FIELD(disa_cids,cid,${CALLERID(num)},context)
exten =>s,n,Disa(no-password,${context})
exten => disa_simple,1,Noop; тут пишите что делать если не сошлось по cid
2 | No.2 Revision редактировать |
вообщето если в чемто несилен,надо нанимать консультанта. но вообещ както так.
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(passcode=${REALTIME_FIELD(disa_cids,cid,${CALLERID(num)},accountcode)
=>s,n,Set(account=${REALTIME_FIELD(disa_cids,cid,${CALLERID(num)},accountcode)
exten =>s,n,GotoIF($[ "${passcode}" "${account}" == "" ]?disa_simple,1)
exten =>s,n,Set(context=${REALTIME_FIELD(disa_cids,cid,${CALLERID(num)},context)
exten =>s,n,Disa(no-password,${context})
=>s,n,Set(CDR(accountcode)=${account}); записываем аккаунт для биллинга
exten =>s,n,Disa(no-password,${context});запрашиваем номер(можно через Read/dial)
exten => disa_simple,1,Noop; тут пишите что делать если не сошлось по cid
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.