私はアスタリスクで私extensions.confファイルに次の操作を実行したい:機能 - アスタリスク
- 読むユーザーが入力した数インチ - 簡単に
- この番号をwavファイルを返すスクリプトに入力します。
- このwavファイルが再生されます。
私はsystem
コマンドを知っていますが、値を返す方法を見つけ出すことができませんでした。
ほとんどのヘルプは大歓迎です。
ありがとう、
Sriram
私はアスタリスクで私extensions.confファイルに次の操作を実行したい:機能 - アスタリスク
私はsystem
コマンドを知っていますが、値を返す方法を見つけ出すことができませんでした。
ほとんどのヘルプは大歓迎です。
ありがとう、
Sriram
プログラム/スクリプトに値をファイルに書き込ませてから、アスタリスク内の関数を使用してReadFile
などの値を取得することができます。スクリプト内
:これはそうのように行うことができます
echo -n ${value} > ${fileName}
アスタリスク内から:
exten => 0,n,ReadFile(ValueReadFromFile=${fileName},${MAX_FILE_CHAR})
:${MAX_FILE_CHAR}
は最大です。ファイルから読み取る必要がある文字${fileName}
。読みたい値はValueReadFromFile
に保存されます。
私はAsterisk AGIを使用しています。アイデアはWebサーバー用のCGIスクリプトに似ています。さまざまな言語を使用できますが、私はpyst: Python for AsteriskライブラリでPythonを使用しています。このようなAGIスクリプト/プログラムは、チャンネル変数を読み取ったり設定したりすることができ、この方法でアスタリスクのダイヤルプランと通信します。 pyst agilib
と、このようなコードの
例:
wav_to_play = 'other.wav'
user_nr = agilib.get_variable('user_entered_number')
if not user_nr:
wav_to_play = 'nothing.wav'
elif user_nr.endswith('0'):
wav_to_play = 'zero.wav'
# ...
agilib.set_variable('wav_selected', wav_to_play)
wav_selector.agi
でこのようなコードを保存した後(あなたがLIBSなど、通常のPythonのヘッダを追加する必要があります)あなたのようなダイヤルプランでそれを使用することができます。
exten => s,n,Set(user_entered_number=5)
exten => s,n,AGI(wav_selector.agi)
exten => s,n,Background((${wav_selected})