0

電話をかけるユーザーは、内線番号をダイヤルするよう求められます。これは、1#バックグラウンドでプロンプトを再生し、次に 2#wait_for_digit によって行われます。ダイヤルされた内線番号に基づいて宛先番号が決定され、コールはその番号に転送されます。

着信者が応答しない場合は、Playbackを使用してプロンプトを再生し、ユーザーに音声メッセージを録音するように求めます。音声メッセージの録音は、録音アプリケーションで行われます。

このレコードアプリケーションは常に、サイズが 44 バイトの空の wav ファイルを生成します。1#playing a prompt with Backgroundを削除すると、Recordアプリケーションは適切なファイルを生成しています。背景が含まれている場合、すべての記録は空です。

Perl Asterisk::AGI モジュールを使用しています。

$agi->exec('Answer');
....
.....
$agi->exec('Background', 'en/extra/please-enter-the-extension,n'); # this is the troubling part
my $my_extension = $agi->wait_for_digit(5000);
....
.....
$agi->exec('Playback', 'en/extra/the-party-you-are-calling&en/extra/is-curntly-busy,noanswer');
$agi->exec('Playback', 'en/vm-intro,noanswer');
my $file = 'xyz.wav';
$agi->exec('Record', "$file,0,10,k");
...
...

やりたいように動作させるにはどうすればよいですか?

ありがとうございました。

更新 1: 同じスクリプトが問題なく動作しています。スクリプトに関係のない何かが変更されたかどうかはわかりません。

4

1 に答える 1

0

ほとんどの場合、コーデックを確認しています。g729 または g723 を使用し、トランスコーダーを使用しない場合、wav 形式で書き込むことはできません。

于 2013-03-01T15:17:36.260 に答える