Asterisk Queue呼叫中心的实现
1.先在sip.conf中建立若干个sip账号
?
?? 如:
?? [2207]
type=friend
mailbox=2207
dtmfmode=rfc2833
callgroup=
host=dynamic
username=2207
secret=2207
canreinvite=yes
context=internal
callerid=sch<2207>
pickupgroup=
accountcode=
nat=yes
disallow=all
allow=ilbc
allow=alaw
allow=g729
?
其他的账号就不一一写出来了。
?
2. 将这些sip账号加入了座席(Agent)中,在agents.conf中加入
?
?? agent => 2207,2207,Agent one
?
?? 即 agent => 账号,密码,座席名(任意定义)
?
?? 其他的成员也以这样的方式加入.
?
3.将座席加入到队列(Queue)中,即在queues.conf中加入
?
?? (1),先定义一个队列名 ,
?? (2),然后将座席加入
?
? 如下:
?
? [myqueue]
? member => Agent/2207
?
? 同理再将其他的座席也加入
?
?
?
? 4. 在拨号方案中加入登录到队列的操作,在extension.conf中的sip指定的[internal]中加入以下语句
?
?? [internal]
?
?? exten => 6100,1,AgentCallbackLogin(,,${CALLERID(num)}@internal)?
?
?? 在sip账号登录之后,再呼叫6100,然后系统会提示输入座席号及密码,然后就会提示已经进入队列了。?
?
?? 即具体的AgentCallbackLogin的参数的使用,就请各位在http://www.voip-info.org查询一下了。
?
?? 大致就是指 AgentCallbackLogin([AgentNo][|[options][|[exten]@context]]):
?
?? 即 AgentNo 就是指 座席号,由于本流程中,是希望所有的座席都可以登录,所以就省去了这个参数。
?
?? options这里没有使用,也空着
?
?? [exten]@context 这个就是指,在哪个context和exten 中接收进入到队列的流程。
?
?? 如我们这里设置的,即是在internal中。
?
?? 因为我们要在internal的context中加入
?
?? exten => _22XX,1,Dial(${EXTEN})??
?
?? 在呼叫座席,所以要这样定义。
?
?? 如果想在其他的context中接收进入队列的流程时,可以自己调整
?
?
?
?? 5. 在拨号方案 internal中接收呼叫
?
?? [internal]
?
?? 加入
?
?? exten => _22XX,1,Dial(${EXTEN})
?
?
?? 6.在拨号方案中,增加进入队列的流程
?
?? [internal]
?? 增加
?
?? exten => 999,1,Queue(myqueue)
?
?
?? 整个呼叫中心就是这样完成了。