cold as you下载:学员信息电话查询系统

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 16:50:55
下面为简单的一个电话查询系统,功能很小,练练手,功能基本OK,但不够尽善尽美,只能满足基本的功能。



IVR:欢迎致电学员成绩电话查询系统,学员成绩查询请按1,人工查询请按2,学员管理请按3(管理员使用)。。。按其它键提示错误或重新回到什么什么按1或2
      按键1:请输入学员编号,如果输入没有该编号,提示不存在或再提示回到请输入学员拨号,输入正确后提示“您的成绩为多少多少分”然后挂机.(当然这里还很多什么什么重新查询啊。什么的。。原理一样.我就没继续做了)
     按键2: 转某个分机,或者队列。。。
     按键3:(先提示输入管理员密码)修改学员成绩请按1,删除错误学员成绩请按2(添加学员编号就没做了。)
                按1:请输入要修改学员的编号(与数据库查询,同样输入不存在的编号,提示错误,或重新提示),然后提示请输入要修改次学员的成绩,输入后提示修改成功,并重新读取数据,提示修改后的成绩为多少多少
                按2: 请输入要删除学员成绩的编号,(与数据库查询,同样输入不存在的编号,提示错误,或重新提示),输入正确后,提示删除成功。。什么什么


...................................................................................................................................................................................................................................
数据库结构:
        s_uid             s_name           s_relts
         (学员编号)      (学员姓名)      (学员成绩)                      
       1000                  浩子               888
       1001                voip                 666
       ........                ........                 .......
...................................................................................................................................................................................................................................

下面为整个实现功能的Dialplan 代码,有点乱,程序当然还可以优化,先这么整吧。。

复制代码
  1. [globals]                                                         ;定义全局变量  
  2. ;................................................mysql  
  3. DBCurrentHost=localhost  
  4. DBuser=root  
  5. DBpass=888888  
  6. DBname=asterisk_test  
  7. ;........................................  
  8. [from-internal]                                                ;欢迎提示,xxxxxx按1或按2  
  9. exten => _x.,1,Answer(${EXTEN})  
  10. exten => _x.,n,NoOP(${EXTEN})  
  11. exten => _x.,n(read1),Read(a,stu/welcome,1,,2,5)  
  12. exten => _x.,n(lan1),Gotoif($["${a}"="1"]?menu1,${EXTEN},1:lan2)  
  13. exten => _x.,n(lan2),Gotoif($["${a}"="2"]?menu2,${EXTEN},1:lan0)  
  14. exten => _x.,n(lan0),Gotoif($["${a}"="0"]?menu0,${EXTEN},1:exen0,${EXTEN},1)  
  15. [exen0]                                                           ;欢迎提示按其它键的报错提示,然后重新回到welcome  
  16. exten => _x.,1,Answer(${EXTEN})  
  17. exten => _x.,n,NoOP(${EXTEN})  
  18. exten => _x.,n,wait(1)  
  19. exten => _x.,n,Playback(stu/exen0)  
  20. exten => _x.,n,Gotoif($["1"="1"]?from-internal,${EXTEN},read1)  
  21. [menu1]                                                  ;按1键后的操作,输入学员拨号,进行查询  
  22. exten => _x.,1,Answer(${EXTEN})  
  23. exten => _x.,n,NoOP(${EXTEN})  
  24. exten => _x.,n,wait(1)  
  25. exten => _x.,n(read1),Read(bhao,stu/stubhao,20,,2,5)  
  26. exten => _x.,n,Set(ID=${bhao})  
  27. exten => _x.,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})  
  28. exten => _x.,n,MySql(query resultidr ${connid} select s_uid\,s_relts from stu where s_uid=${ID})  
  29. exten => _x.,n,MySql(Fetch foundrow ${resultidr} s_uid s_relts)  
  30. exten => _x.,n,MySql(clear ${resultidr})  
  31. exten => _x.,n,MySql(disconnect ${connid})  
  32. exten => _x.,n,Gotoif($["${ID}"="${s_uid}"]?jieg:read1)  
  33. exten => _x.,n(jieg),playback(stu/jieg)  
  34. ;exten => _x.,n,Dial(SIP/${s_relts})  
  35. exten => _x.,n,SayNumber(${s_relts})  
  36. exten => _x.,n,Playback(stu/fen)  
  37. exten => _x.,n,Hangup()  
  38. [menu2]                                                ;人工查询后的操作  
  39. exten => _x.,1,Answer(${EXTEN})  
  40. exten => _x.,n,NoOP(${EXTEN})  
  41. exten => _x.,n,Dial(SIP/8111,10)  
  42. exten => _x.,n,playback(stu/mang)  
  43. exten => _x.,n,Hangup()  
  44. [menu0]                                                  ;按0键后的操作,管理员使用  
  45. exten => _x.,1,Answer(${EXTEN})  
  46. exten => _x.,n,NoOP(${EXTEN})  
  47. exten => _x.,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})  
  48. exten => _x.,n,MySql(query result ${connid} select s_pass from ampuser)  
  49. exten => _x.,n,MySql(Fetch foundrow ${result} s_pass)  
  50. exten => _x.,n,MySql(clear ${result})  
  51. exten => _x.,n,MySql(disconnect ${connid})  
  52. exten => _x.,n,Authenticate(${s_pass})  
  53. exten => _x.,n(read1),Read(stubhao,stu/stucjivr,1,,2,5)  
  54. exten => _x.,n(lan1),Gotoif($["${stubhao}"="1"]?update,${EXTEN},1:lan2)  
  55. exten => _x.,n(lan2),Gotoif($["${stubhao}"="2"]?delete,${EXTEN},1:read1)  
  56. [update]                                       ;修改学员成绩拨号  
  57. exten => _x.,1,Answer(${EXTEN})  
  58. exten => _x.,n,NoOP(${EXTEN})  
  59. exten => _x.,n(read1),Read(update,stu/update_stu,10,,2,5)  
  60. exten => _x.,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})  
  61. exten => _x.,n,MySql(query resultidr ${connid} select s_uid\,s_relts from stu where s_uid=${update})  
  62. exten => _x.,n,MySql(Fetch foundrow ${resultidr} s_uid s_relts)  
  63. exten => _x.,n,MySql(clear ${resultidr})  
  64. exten => _x.,n,MySql(disconnect ${connid})  
  65. exten => _x.,n,Gotoif($["${update}"="${s_uid}"]?lanup:read1)  
  66. exten => _x.,n(lanup),Read(cj,stu/xhao1,10,,2,5)  
  67. exten => _x.,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})  
  68. exten => _x.,n,MySql(query resultidr ${connid} update stu set s_relts ='${cj}' where s_uid=${s_uid})  
  69. exten => _x.,n,MySql(disconnect ${connid})  
  70. exten => _x.,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})  
  71. exten => _x.,n,MySql(query resultidr ${connid} select s_uid\,s_relts from stu where s_uid=${update})  
  72. exten => _x.,n,MySql(Fetch foundrow ${resultidr} s_uid s_relts)  
  73. exten => _x.,n,MySql(clear ${resultidr})  
  74. exten => _x.,n,MySql(disconnect ${connid})  
  75. exten => _x.,n,playback(stu/update_cj)  
  76. exten => _x.,n,SayNumber(${s_relts})  
  77. exten => _x.,n,Playback(stu/fen)  
  78. exten => _x.,n,Hangup()  
  79.   
  80. [delete]                                                   ;删除错误的学员信息操作  
  81. exten => _x.,1,Answer(${EXTEN})  
  82. exten => _x.,n,NoOP(${EXTEN})  
  83. exten => _x.,n(delete1),Read(deletebhao,stu/delete_bhao,10,,2,5)  
  84. exten => _x.,n,MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})  
  85. exten => _x.,n,MySql(query resultidr ${connid} select s_uid\,s_relts from stu where s_uid=${deletebhao})  
  86. exten => _x.,n,MySql(Fetch foundrow ${resultidr} s_uid s_relts)  
  87. exten => _x.,n,MySql(clear ${resultidr})  
  88. exten => _x.,n,MySql(disconnect ${connid})  
  89. exten => _x.,n,Gotoif($["${deletebhao}"="${s_uid}"]?delete:delete1)  
  90. exten => _x.,n(delete),MySql(connect connid ${DBCurrentHost} ${DBuser} ${DBpass} ${DBname})  
  91. exten => _x.,n,MySql(query resultidr ${connid} delete from stu where s_uid=${deletebhao})  
  92. exten => _x.,n,MySql(disconnect ${connid})  
  93. exten => _x.,n,Playback(stu/delbhao)  
  94. exten => _x.,n,SayAlpha(${deletebhao})  
  95. exten => _x.,n,Playback(stu/deletejg)  
  96. exten => _x.,n,Hangup()  
  97.   
  98. ; 添加就木做了