2

PHP のアスタリスク マネージャー インターフェイスを使用して、QueueStatusAction を発行することにより、現在のキューの状態をアスタリスクに問い合わせることができます。これにより、次のような有用な統計が得られます。

  1. ホールドタイム
  2. 放棄された通話
  3. 通話完了
  4. 平均通話時間。

私が理解している限り、これらの統計はサーバー上のアスタリスク プロセスの有効期間に対してのみ計算され、プロセスが停止すると失われます。

私のアプリケーションでは、過去 {日|週|月|年} のキューに関する前述の統計を表示したいと考えています。アスタリスク マネージャー インターフェイスまたはその上にある抽象化を介して履歴統計を取得する方法はありますか?それとも、アスタリスク queue_log テーブルのデータからこれらの統計を作成する方法をプログラムするのは私次第ですか?

誰かがこれを行った場合、またはこの問題に取り組む方法について何らかの考えを持っている場合は、共有してください.

4

1 に答える 1

4

あなたは間違った方向に進んでいます。

アスタリスクは PBX ソフトウェアです。キューに関する情報を保存/記録/管理する責任はありません。キューに関する情報をアスタリスク内に保存するようには設計されておらず、代わりに次の方法を提供します。

  1. マネージャー API を介したエージェントのログイン/ログオフ/通話などのイベント
  2. /var/log/asterisk/queue_log のイベント ログ
  3. 2 と同じですが、データベースの queue_log (推奨される方法)。これを参照してください:

データを配置したら、SQL クエリ言語を使用して必要なレポートを作成できます。実際には、SQL スキルを持つ人にとっては単純な SQL です。

たとえば、保留時間を取得するには、キュー番号とイベント CONNECT を持つすべてのイベントを選択する必要があり、待機時間を提供します。通話時間については、CONNECT を確認し、同じ uniqueid を持つ次のイベント COMPLETECALLER/COMPLETEAGENT を確認する必要があります。

なんらかの理由で SQL が苦手な場合は、Asternic Call Center Stats などのオープンソース プロジェクト (キュー管理/レポートによる google) をチェックして、それが使用する SQL をチェックするか、SQL の部分を実行するために誰かを雇うことができます。

于 2013-03-13T06:37:42.040 に答える