借助sipgate.io, Sipgate创建了一个令人兴奋的云API,通过它可以为Internet电话提供多种选择。 帐户是免费的,还可以选择在Feature Store中免费设置任何免费的发件人号码。 sipgate.io的文档仍然可以扩展,但是只要对官方Sipgate API有所了解,您就可以快速实现令人兴奋的事情。
在下面的代码中,我们实现了以下行为:为了进行测试,我们依次打了十二个电话号码来播放音频文件,然后再次将其挂断。
2e92bf96cdada9545cb8525ec68a7d6b
必须安装 PHP 扩展XML-RPC 。现在已进行调用 - 为了播放音频文件,我们在 Sipgate 后端输入用于传出呼叫(如果我们自己呼叫)和传入呼叫(如果有人回拨)的触发 URL,并激活调试日志:

现在,我们正在准备一个音频文件(根据文档,该文件必须作为单声道16位PCM WAV文件提供)。 为此,我们抛出ffmpeg将MP3文件转换为所需格式:
2e92bf96cdada9545cb8525ec68a7d6b
现在,我们将此WAV文件以及以下XML脚本加载到https://www.tld.com/sipgate:/
2e92bf96cdada9545cb8525ec68a7d6b
如果要更改音频文件,出于缓存原因,建议始终使用新文件名(sound-v * .wav)。
也可以进行并行调用(根据 Sipgate 的官方声明,同时连接的上限为 5 个,但我已经能够建立更多连接),在这种情况下,您应该调整 sleep 值。
更新 03/2022 :Sipgate 现在最终弃用了所使用的XML-RPC 接口。因此上述解决方案不能再使用。例如,一个稳定的替代方案是命令行工具,例如用于 Linux 的baresip (借助alsa 模块和命令/ ausrc aufile,audio.wav )或用于 Windows 的tSIP 。这是 PHP 中的一个小实现,它使用 tSIP 拨打任何号码并播放音频文件:
7d1db430a89467d76748de53cfb438bf