将插件写入语音流"catch"



我在服务器上安装了Asterisk和FreePBX。我已经为测试设置了一些扩展,并为这些扩展配置了语音邮件。我发现语音邮件文件存储在/var/spool/asterisk/voicemail/default/(EXTENSION)/tmp/(TMPFILE).wav中并且它们随后被移动到/var/spool/asterisk/voicemail/default/(EXTENSION)/INBOX/msg####.wav

我想将语音数据实时流式传输到另一台服务器,以便服务器可以开始处理数据。也就是说,我想在Asterisk接到电话后立即开始流式传输数据,我不想在发送声音之前等待挂断。

我正在寻找如何连接到Asterisk以获取语音数据。到目前为止,我有几个想法:

1) 定期检查/tmp目录中的新文件,并在它们可用时立即开始读取。但文件名是随机的,例如,我也想知道是谁在打电话。看起来像是一条死胡同。如果我在Asterisk试图移动文件时读取它们,文件可能也会被卡住?

2) 也许我可以为Asterisk编写一个插件,在正确的步骤中提取文件。如果是这样的话,我需要写这样一个插件吗?我如何配置它,以便在语音邮件模块拿起手机后立即访问语音数据?

您可以使用EAGI程序,该程序可以从#3频道获取声音。

http://www.voip-info.org/wiki/view/Asterisk+EAGI

你也可以为星号做c/c++应用程序,它将进行流化(例如,请参阅应用程序/文件夹中的源代码)

相关内容

  • 没有找到相关文章