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

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2013-12-13 01:52:16 +0400

meral Gravatar meral flag of Ukraine

http://pro-sip.net/

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

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

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

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.