0

拨打电话的用户被要求拨打分机。这是通过 1#playing背景提示然后 2#wait_for_digit 来完成的。根据已拨打的分机,确定目标号码并将呼叫转移到该号码。

如果被叫方未接听,则使用Playback 播放提示,要求用户录制语音消息;录制语音消息是使用录制应用程序完成的。

这个Record应用程序总是生成空的 wav 文件,大小为 44 字节。如果我删除 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 回答