Asterisk 中Dialplan 应用于mysql查询的简单实例
废话不多说:
例:欢迎致电XXXX查询系统,请输入XX2位的ID号。然后系统会根据你输入的2为ID号把对于的订单号查询出来(简单演示下,原来都一样)
先大概看下Mysql 表中是个什么样子
例如:
c_id c_name c_dingdid
11 haozi 1234
12 xhaozi 4321
..... ........ .......
代码实现:
view plaincopy to clipboardprint?
1.[globals] //定义全局变量,先设置好mysql的常用连接变量
2.DBCurrentHost=localhost
3.DBuser=root
4.DBpass=123456
5.DBname=asterisk
6.[from-internal]
7.exten => _x.,1,Answer()
8.exten => _x.,n,NoOp(${EXTEN})
9.exten => _x.,n,Read(dit,welcome,2,,2,5) //这里是欢迎语音,让用输入ID号
10.exten => _x.,n,Set(ID=${dit}) //把用户输入的两为ID号给变量ID,后面会根据该
ID进行查询的
11.exten => _x.,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${D
Bname}) //连接mysql 操作
12.exten => _x.,n,MySql(query resultidr ${connid} select c_dingdid from jh wher
e c_id=${ID}) //进行查询
13.exten => _x.,n,MySql(Fetch foundrow ${resultidr} c_dingdid) //
读取
14.exten => _x.,n,MySql(clear ${resultidr}) //清除什么什么东东
15.exten => _x.,n,MySql(disconnect ${connid}) //关闭连接
16.exten => _x.,n.Playback(cn/111) //用语音文件提示:如您的订单号是
17.exten => _x.,n,saydigits(${c_dingdid}) //这里播放数字