我已经在服务器上安装了 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 编写一个插件,它可以在正确的过程中提取文件。如果是这样,我需要编写这样的插件吗?如何配置它以在语音邮件模块拿起电话后立即访问语音数据?