Asterisk Dialplan 之 Read()和SayDigits()命令详解

来源:互联网 发布:java趣味编程题 编辑:程序博客网 时间:2024/05/19 23:14

http://www.asterisk-help.com/

1:Read()   读取用户输入的一个或多个以 #-结尾的数字字符串到指定的变量。

   Read(variable[,filename][,maxdigits][,option][,attempts][,timeout])

  • variable: variable是存储用户按键的地方.
  •   filename: 读取按键之前要播放的文件.
  •   maxdigits: 接收按键的最大个数. 当收到maxdigits个按键后就停止读取按键 (不需要用户按键 '#' ). 默认是 0 - 无限制 - 等待用户   按 '#' 键. 任何低于0的值表示0,最大值是255.
  • option:  'skip'表示如果线路没摘机就立即返回, 'noanswer' 表示线路没起来也读按键。
  •   attempts: 如果大于1, 在没有用户按键的情况下会多次重复执行。
  •   timeout: 超时时长(秒). 如果大于 0, 这个值就会覆盖默认的超时时长.

示例:

[c-sharp] view plaincopy
  1. exten => 0000,1,Answer()  
  2. exten => 0000,n,Read(digito,goodbye,2,,3,5)  
  3. exten => 0000,n,Hangup()  
  4. // 说明一下:  
  5. //Read 中,我设置了 digito 变量接收用户输入的按键,  
  6. // goodbye :在用户按键前播放的语音文件  
  7. // 2: 代表用户最多可输入2个数,如按1和2,按一个数字必须要以#号结束。  
  8. //  :这里默认不填,我还没搞懂啥意思  
  9. // 3:用户若没有按键,重复3次播放3次语音  
  10. // 5:超时秒数,在没任何动作的情况下  
 

2:SayDigits()    读出数字

[php] view plaincopy
  1. exten => 0000,1,Answer()  
  2. exten => 0000,n,SayDigits(123)  
  3. // 系统将会读出1,2,3   

read 和 SayDigits 的综合

例子:  

[c-sharp] view plaincopy
  1. exten => 0000,1,Answer()  
  2. exten => 0000,n,Read(digiot,goodbye,2,,3,5)  
  3. exten => 0000,n,SayDigits(${digiot})  
  4. exten => 0000,n,Hangup()  
  5. //SayDigits将读出用户输入的按键在digito变量中  
 

 转自:http://blog.csdn.net/jianghao616/article/details/6131504


www.asterisk-help.com

0 0
原创粉丝点击