3

内線から通話を開始することは可能ですか?私の拡張機能は次のようになります。

[read_text]
    exten => s,1,Answer( )
    exten => s,n,Dial(SIP/1,G(99))
    exten => s,n,Dial(SIP/2,G(99))
    exten => s,n,Goto(1)
    exten => s,100,System(echo '${text}' | /usr/bin/espeak  --stdout |sox -t  wav - -r 8000  /tmp/voice.wav)
    exten => s,n,Playback(/tmp/voice)
    exten => s,n,System(rm /tmp/voice.wav)
    exten => s,n,Hangup( )

したがって、SIP/1またはSIP/2が応答した場合、テキストとハングアップが再生され、誰も応答しなかった場合、ダイヤルを続行します。ファイルを作成しようとしましたが、チャネルを設定する必要があるため、ローカルを使用しようとしましたが、失敗しました。また、キューがあることもわかりましたが、呼び出しファイルからキューへの呼び出しを開始する方法が見つかりません。アスタリスクは初めてです。

4

1 に答える 1

3

あなたがやろうとしていることは、ダイヤルプランからかなり厄介になる可能性があります。これらの線に沿って何かを試してください:

[call_read_text]
exten => s,1,Dial(SIP/1,gG(read_text,s,1))
exten => s,n,Dial(SIP/2,gG(read_text,s,1))
exten => s,n,Goto(1)

[read_text]
exten => s,1,System(echo '${text}' | /usr/bin/espeak  --stdout |sox -t  wav - -r 8000  /tmp/voice.wav)
exten => s,n,Playback(/tmp/voice)
exten => s,n,System(rm /tmp/voice.wav)
exten => s,n,Hangup()
  • 始める前に電話に出ないでください!
  • g通話に応答がない場合はダイヤルプランを続行し、次の内線に電話します
  • G()read_text,s,1通話に応答するとジャンプしてハントを終了します
  • 最初のコンテキストを2番目のコンテキストに接続することで、呼び出しファイルを使用してこれらすべてをジャンプスタートできます(応答時に発生します)。

これらの線に沿った何か:

Channel: Local/s@call_read_text
Context: read_text
Extension: s
Priority: 1

コールファイルの詳細については、http ://www.voip-info.org/wiki/view/Asterisk+auto-dial+outをご覧ください。Set: foo=bar呼び出しファイルで使用して設定する${text}

于 2011-11-06T10:16:30.143 に答える