Asterisk 中 队列的简单实现

 

 所谓队列,个人理解是一个什么什么电话组,可以实现呼入电话在座席分机上轮询呼叫及其它控制,一般用于呼叫中心。你可以在 freepbx 中 图形界面去控制队列,下面是简单的 纯代码实现 队列,简要把我的理解写到上面。

.............................................................................................................................................................................................

一: 编辑 queues.conf ,添加静态座席及其它控制参数  (简要介绍几个常用的参数)
[general]  ;这些是系统默认的
persistentmembers = yes
autofill = yes
monitor-type = MixMonitor
[jh]
musicclass=default      //默认播放的音乐
strategy= ringall       //振铃策略
timeout=15              //每个座席分机的振铃时间
retry=0          // 表示队列呼叫失败后,给多少秒再重新呼叫分机的振铃时间,一般我设置为0
weight=0          //权重,一般设置默认为0,好像没看到所有什么特别之处
wrapuptime=0
member => SIP/8111,1
member => SIP/8112,n
。。。。。。。。。。  //这里还可以写很多队列分机
  二: 添加一个 Dialplan 呼叫规则到 队列中应用
exten => 9999,1,Answer()
exten => 9999,n,Queue(jh,t,,,30)   ;jh 为上面的队列名称,30秒为呼叫整个该队列的超时时间
exten => 9999,n,Hangup()
  添加后。。最好重启下asterisk               cli>   restart now

当我们把呼入路由指向某一队列时,我们需要对队列中的分机呼叫分配振铃方式,例如说是当某一电话呼入进来的时候,是所有分机电话同时响,还是一个一个滴响,直到有人接听为止.那么在freepbx的队列中,很方便的提供了队列的振铃方式,说明如下:

...............................................................................................................................................................................................

 

队列振铃方式有:ringallroundrobinleastrecentfewestcallsrandomrrmemory


ringall
是呼叫所有可到达的分机直到有接听的。


roundrobin
是轮流呼叫每一个可以达到的分机。


leastrecent
是呼叫最近被这个队列呼叫的最少的分机。


fewestcalls
是呼叫这个队列完成电话数最少的分机。


random
是随机呼叫分机。


rrmemory
是使用内存进行roundrobin呼叫,记住上次呼叫的分机。

 

 

 

 

你可能感兴趣的:(队列)