我想在通话终止后将通话会话的录制文件发送到 REST API。我通读了 Freeswitch 文档,并且能够录制通话并将其保存到 .wav 文件中。现在我想将文件 POST 到远程服务器上的 REST API,我认为 Dialplan 和 mod_curl 中的后处理记录会对我有一些帮助,但我无法理解如何让两者一起工作来实现我想要的是。我是 Freeswitch 的新手,这些是我关注的链接:
https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+record_session
https://freeswitch.org/confluence/display/FREESWITCH/mod_curl
几种方法:
1 编写lua Dualplan。 以下是如何在lua中读取文件:https://stackoverflow.com/a/11204889/827704
然后你可以使用 mod_curl 从 lua dialplan 发送文件
2 写服务,发送文件 您可以创建简单的后端服务,与 freeswitch 位于同一台机器上,并使用 freeswitch 的 API。
然后您从 freeswitch 中使用记录名称调用此本地服务的方法。
然后这个新的后端服务处理这个请求加载文件,然后调用目标api的方法。
所以
您可以尝试使用
mod_httapi
<action application="record" data="http://(file=recording.wav,name=part1.PCMU,method=POST)your_domain.com/recording_upload"/>
显然,您需要替换 URL 等,但您只需提取 POSTed 文件即可,无需在每个 FreeSWITCH 实例上存储任何录音。