0

発信者 ID をデータベースと照合する bash スクリプトを実行して発信者の位置を特定するアスタリスク ダイヤルプランがあります (国コードと市外局番を照合することによって)。データベースは非常に大きい (グローバル スケール) ため、完了するまでに最大 15 秒かかります。

通話に応答した直後にこのスクリプトを実行する必要がありますが (通話が終了する前にユーザーが電話を切った場合)、スクリプトの実行をユーザーに待たせたくありません。戻り値は、理想的には、ハングアップの直前にダイヤルプランの最後で処理する必要があります。

Q1: http://www.voip-info.org/wiki/view/Asterisk+AGI#Forkandcontinuedialplanを見つけました。これは perl スクリプトに関する私の問題を扱っています。bashで同じことを達成するにはどうすればよいですか? 最後に「&」を追加することで、任意の bash スクリプトをバックグラウンドに送信できることはわかっていますが、dialplan / AGI スクリプトを使用するときにそれを行う方法がわかりません。

Q2: ダイヤルプランが「0 以外で終了」する前にユーザーが電話を切った場合でも、値を処理するにはどうすればよいですか?

ご協力いただきありがとうございます!

4

1 に答える 1

2

fastagi インターフェイスを使用します。または、AMI リスナーで UserEvent を起動します。

AGI は思い通りに動作するように設計されていないため、動作しません。

確かに nohup コマンドを使用して不滅の bash スクリプトを取得できますが、それはそうではありません。

于 2013-11-07T16:40:39.497 に答える