Asterisk 中dialplan实现去电黑名单
2011-05-27 17:47
621 查看
回想之前客户有这样的一个需求,要求添加一个去电黑名单,以防止业务人员频繁拨该号码,以带来不必要的麻烦。
现在突然想起来了怎么来去做了,先分析:
我们在数据库中建立一个表,以存储去电话黑名单的电话,然后在程序中去进行查询,根据去电拨打的按键号码进行查询,如果查询有该结果,则提示一段语音给业务人员,或直接挂机,如果没有查到结果,则执行正常电话呼出流程。
下面我以一个sip 分机为例,以模拟外线的号码
首先看下数据库中表的结构:(保存去电黑名单的表)
t_id t_back
2 8111
... .....
Dialplan 代码实现:
复制代码
[globals]
;................................................mysql
DBCurrentHost=localhost
DBuser=root
DBpass=888888
DBname=asterisk_test
[macro-conmysql]
exten => s,1,Answer()
exten => s,n,NoOp(${MACRO_EXTEN})
exten => s,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})
exten => s,n,MySql(query resultidr ${connid} select t_back from toback where t_back=${MACRO_EXTEN})
exten => s,n,MySql(Fetch foundrow ${resultidr} t_back)
exten => s,n,MySql(clear ${resultidr})
exten => s,n,MySql(disconnect ${connid})
[jh]
exten => _x.,1,Macro(conmysql)
exten => _x.,n,Gotoif($["${t_back}"="${EXTEN}"]?hn:dial)
exten => _x.,n(dial),Dial(SIP/${EXTEN})
exten => _x.,n(hn),Hangup()
现在突然想起来了怎么来去做了,先分析:
我们在数据库中建立一个表,以存储去电话黑名单的电话,然后在程序中去进行查询,根据去电拨打的按键号码进行查询,如果查询有该结果,则提示一段语音给业务人员,或直接挂机,如果没有查到结果,则执行正常电话呼出流程。
下面我以一个sip 分机为例,以模拟外线的号码
首先看下数据库中表的结构:(保存去电黑名单的表)
t_id t_back
2 8111
... .....
Dialplan 代码实现:
复制代码
[globals]
;................................................mysql
DBCurrentHost=localhost
DBuser=root
DBpass=888888
DBname=asterisk_test
[macro-conmysql]
exten => s,1,Answer()
exten => s,n,NoOp(${MACRO_EXTEN})
exten => s,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})
exten => s,n,MySql(query resultidr ${connid} select t_back from toback where t_back=${MACRO_EXTEN})
exten => s,n,MySql(Fetch foundrow ${resultidr} t_back)
exten => s,n,MySql(clear ${resultidr})
exten => s,n,MySql(disconnect ${connid})
[jh]
exten => _x.,1,Macro(conmysql)
exten => _x.,n,Gotoif($["${t_back}"="${EXTEN}"]?hn:dial)
exten => _x.,n(dial),Dial(SIP/${EXTEN})
exten => _x.,n(hn),Hangup()
相关文章推荐
- Asterisk 中之Dialplan 的时间条件(GotoIfTime)实现
- asterisk dialplan 转换成 freeswitch
- Dialplan 实现 IVR(自动语音应答)功能
- (asterisk)dialplan 中 函数介绍 --拨号方案
- Asterisk Dialplan命令中文翻译
- asterisk 中实现去电黑名单
- Asterisk Dialplan Commands
- 扩展Asterisk1.8.7的Dialplan Applications
- Asterisk 1.2 Demo dialplan
- Asterisk Dialplan命令中文翻译
- Asterisk DialPlan Switch
- (asterisk)dialplan 中 Application 函数介绍(个人笔记二)
- 用 Dialplan 实现IVR交互
- Asterisk Dialplan命令中文翻译(转载)
- Asterisk Dialplan 之 Read()和SayDigits()命令详解
- asterisk 之 IVR 设置中英文语言选择 (dialplan)
- Asterisk Dialplan Commands
- asterisk dialplan详解
- (asterisk)dialplan 中 Application 函数介绍(个人笔记一)
- asterisk dialplan中MYSQL命令的使用