1.进入astercc
2.点击拨号列表
3.点击拨号计划
4.点击添加
5.设置context拨号计划方案:
[xt]exten => 00,1,Answer 拨号回应。
exten => 00,n,Set(PCOUNT=C) 设置变量PCOUNT值为C。
exten => 00,n,Noop(${DIALEDLISTID}) 读取变量 ${DIALEDLISTID} 。
exten => 00,n(firstq),Read(FA,demo-thanks,1,,,,5) 读取demo-thanks声音文件(FA为变量,1位最大按键次数,demo-thanks为声音文件,5为超时时间)。
exten => 00,n,Gotoif($[“${FA}”=”1”]?update1) 如果读取声音过程中你所按键的数字跟Gotoif的条件变量”${FA}”=”1″匹配的话,那么会执行标识为update1的流程,如果不匹配的话,那么会跳过当前流程进行下个流程。
exten => 00,n,Gotoif($[“${FA}”=”2”]?update1) 如果读取声音过程中你所按键的数字跟Gotoif的条件变量”${FA}”=”2″匹配的话 ,那么会执行标识为update1的流程,如果不匹配的话,那么会跳过当前流程进行下个流程。
exten => 00,n,Gotoif($[“${PCOUNT}”=”CCC”]?changup) 如果标识为(firstq)流程从重复3次,那么将会执行标识为changup的流程。
exten => 00,n,Set(PCOUNT=${PCOUNT}C) 设置变量PCOUNT值为${PCOUNT}C 。
exten => 00,n,Goto(firstq) 返回到00流程中标识为 (firstq) 流程。
exten => 00,n(update1),system( mysql -pnew-password -e “use astercc; update dialedlist set response=’${FA},’ WHERE id = ‘${DIALEDLISTID}’;”) 用system进行对dialedlist数据库进行更新,设置更新response为${FA}的值,所在位置的ID为${DIALEDLISTID} 。
exten => 00,n(changup),hangup 挂断电话。
exten => 00,n,Set(PCOUNT=C) 设置变量PCOUNT值为C。
exten => 00,n(secondq),Read(FA,queue-youarenext,1,,,,5) 读取queue-youarenext声音文件(FA为变量,1位最大按键次数,queue-uouarenext为声音文件,5为超时时间)。
exten => 00,n,Gotoif($[“${FA}”=”1”]?update2) 如果读取声音过程中你所按键的数字跟Gotoif的条件变量”${FA}”=”1″匹配的话,那么会执行标识为update2的流程,如果不匹配的话,那么会跳过当前流程进行下个流程。
exten => 00,n,Gotoif($[“${FA}”=”2”]?update2) 如果读取声音过程中你所按键的数字跟Gotoif条件变量”${FA}”=”2″匹配的话,那么会执行标识为update2的流程, 如果不匹配的话,那么会跳过当前流程进行下个流程。
exten => 00,n,Gotoif($[“${PCOUNT}”=”CCC”]?changup) 如果标识为(secondq)流程重复3次,那么将会执行标识为changup的流程。
exten => 00,n,Set(PCOUNT=${PCOUNT}C) 设置变量PCOUNT值为 ${PCOUNT}C。
exten => 00,n,Goto(secondq) 返回到00流程中标识为(secondq)流程。
exten => 00,n(update2),system( mysql -pnew-password -e “use astercc; update dialedlist set response=concat(response,’${FA},’) WHERE id = ‘${DIALEDLISTID}’;”) 用system进行对dialedlist数据库进行更新,设置更新response为response值,变量${FA}的值,所在位置ID为${DLALEDLISTID}。
exten => 00,n(changup),Hangup 挂电话。
最后,重起asterisk对context设置进行生效。
/etc/init.d/asterisk restart .





