[ ] Asterisk func_odbc ael |
[cid]
dsn=asterisk
readsql=SELECT cid FROM sipusers WHERE username = ${ARG1}
dsn=asterisk
DSN Asterisk , /etc/odbc.ini. readsql=SELECT cid FROM sipusers WHERE username = ${ARG1}
sql, ._89. => {
Set(cid=${ODBC_cid(${CALLERID(num)})});
SET(CALLERID(num)=${cid});
SET(CALLERID(name)=${cid});
......
}
Set(cid=${ODBC_cid(${CALLERID(num)})}); - SELECT cid FROM sipusers WHERE username = ${CALLERID(num)})} , .
SET(CALLERID(num)=${cid}) - CALLERID(num)
SET(CALLERID(name)=${cid}) - CALLERID(name)
[forward]
dsn=asterisk
readsql=SELECT numforward, `type` FROM call_forwarding WHERE number = ${ARG1}
macro redirect(number, from){
Set(ARRAY(forward,type)=${ODBC_forward(${number})});
}
if (${EXISTS(${forward})}) {
switch(${type}) {
case all:
....
case noanswer:
....
case noanswer-worktime:
....
break;
default:
break;
}
hangup;
}
return;
};
Set(ARRAY(forward,type)=${ODBC_forward(${number})});
, , . if (${EXISTS(${forward})})
, switch(${type})
, .