freepbx で Asterisk IVR をプログラムすると、従業員が電話を切ったときにプログラムの問題が引き続き発生します。

freepbx で Asterisk IVR をプログラムすると、従業員が電話を切ったときにプログラムの問題が引き続き発生します。

IVR関連の問題を解決しようとしており、評価目的で従業員が電話を切ったときに通話を継続する方法を把握しようとしています。

素晴らしい...

私はqueueコマンドがいくつかの特定のオプションを使ってこれを行うことができることに気づきました。問題は、queueコマンドがアスタリスクを破るためにCPUの100%を使用することです...(したがってqueueコマンドはまったく機能しません)

この作業コードを置き換えると:

exten => 1235,n,Goto(ext-queues,2026,1)

だから:

exten => 1235,n,queue(2026,c)

キューは大丈夫に見え、音楽が再生され始めますが、電話が鳴らず、CPUが100%ブレーキアスタリスクの状態になります。

FreePBXフォーラムでは、新しいFreePBXバージョンのFreePBXコンテキストでは、私がやりたいことができないというフィードバックを受けました。このコンテキストを逸脱したり、ある種のダウングレードを実行したり、この問題を解決するために一部の埋め込みスクリプトを編集したりするにはどうすればよいですか。 ?

キューコマンドを使用するか、従業員が電話を切ってアスタリスクプログラムが続くまでプログラムを続行するには、他にどのようなオプションが必要ですか?

答え1

長い研究の終わりに解決策を見つけました。

スクリプトの作成/usr/local/bin/freepbx_fix_queue_members.sh次の行を使用してください。

#!/bin/bash
cp /etc/asterisk/queues_additional.conf /etc/asterisk/queues_additional.conf-freepbx
sed 's/member=Local\/\([0-9a-zA-Z_]*\).*,\(.*\)/member=SIP\/\1,\2/' </etc/asterisk/queues_additional.conf-freepbx >/etc/asterisk/queues_additional.conf
asterisk -rx "reload"

実行権限を付与します。

chmod +x /usr/local/bin/freepbx_fix_queue_members.sh

/etc/amportal.confでPOST_RELOADパラメータを変更して新しいスクリプトをロードします。

# POST_RELOAD Script
# Default Value:
POST_RELOAD=/usr/local/bin/freepbx_fix_queue_members.sh

ASTERISKを再起動し、初めてスクリプトを実行します。

/usr/local/bin/freepbx_fix_queue_members.sh

これでキューコマンドが機能します!

これで、カスタムコードでキューcオプションを使用して、従業員が電話を切った後でもスクリプトの実行を続行できます。

exten => 1235,n,queue(2026,c)
exten => 1235,n,goto(evaluation)

関連情報