2011-01-27 8 views
0

私はアスタリスクで私extensions.confファイルに次の操作を実行したい:機能 - アスタリスク

  1. 読むユーザーが入力した数インチ - 簡単に
  2. この番号をwavファイルを返すスクリプトに入力します。
  3. このwavファイルが再生されます。

私はsystemコマンドを知っていますが、値を返す方法を見つけ出すことができませんでした。

ほとんどのヘルプは大歓迎です。
ありがとう、
Sriram

答えて

0

プログラム/スクリプトに値をファイルに書き込ませてから、アスタリスク内の関数を使用してReadFileなどの値を取得することができます。スクリプト内

:これはそうのように行うことができます
echo -n ${value} > ${fileName}

アスタリスク内から:
exten => 0,n,ReadFile(ValueReadFromFile=${fileName},${MAX_FILE_CHAR})

${MAX_FILE_CHAR}は最大です。ファイルから読み取る必要がある文字${fileName}。読みたい値はValueReadFromFileに保存されます。

1

私は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}) 
関連する問題