ACD機能を試す

概要   Asteriskは、標準でACD機能を持っています。
ACDとは、Automated Call Distributorの略で、ようするに普通は電話は
かかってきたら鳴るだけですが、ACDを使うとAsteriskがどの電話機に着信させるかを
自動的に決めてくれる仕組みのことです。

ACDの着信方法でポピュラーなものは一番待ち時間が長い電話機に着信させるという
ものですが、Asteriskではこの他に以下の着信モードがあります。

ringall すべてのエージェントの電話機を鳴らす
roundrobin 順繰りにエージェントに着信させる
leastrecent一番待ち時間の長いエージェントに着信させる
fewestcalls一番着信呼が少ないエージェントに着信させる
random ランダムに着信させる

ACD機能を使うために変更する必要のあるファイルは以下の通りです。
/etc/asterisk/agents.conf
/etc/asterisk/queues.conf
/etc/asterisk/extensions.conf

ACDテストの概要を書いておきます。

PC1とPC2をエージェントとして登録します。

端末名 内線番号 エージェント名 ログインID パスワード
PC1 5001 Test1 3000 1234
PC2 5002 Test2 3001 1234

通常のACDの設定   まずは agents.conf を設定します。


[agents]
agent => 3000, 1234, Test1
agent => 3001, 1234, Test2 

次は、 queues.conf を設定します。


[test-queue]
strategy=leastrecent
member => Agent/3000
member => Agent/3001 

最後に extensions.conf を設定します。


exten => 2000, 1, AgentLogin()
exten => 2001, 1, Queue(test-queue) 

2000をダイヤルするとACDエージェントとしてログインできるようになります。
2001をダイヤルするとACDキューに電話を掛けることができます。

まずは、X-Liteから2000をダイヤルしてACDにログインし、
別のSIP電話機から2001をダイヤルするとACDで待機中のエージェントに
電話を掛けることができます。

エージェントのログイン状態は、Asteriskのコンソールから、「agent show」または
「agent show online」または「queue show」などで確認できます。

コールバックACD   最初にやったACDのテストでは、一度ACDにエージェントがログインすると、
そのエージェントはずっと保留状態になり、コールが入ってきたらすぐさま保留が解除されて
通話ができるようになりました。

今度試すのは、一度ログインすると電話はそのまま切れますが、ログイン状態になります。
そこでACDに電話がかかってくると、ログインしていたエージェントの電話機が鳴動し、
エージェントが電話に出ると通話が確立するようになります。

コールバックログインの設定(extensions.conf)


exten => 2002,1,AddQueueMember(test-queue)
exten => 2003,1,RemoveQueueMember(test-queue)

2002をダイヤルすると、エージェントがログインできます。
2003をダイヤルすると、エージェントをログオフします。

エージェントのログイン状態は「queue show」で確認できます。