Audio 通过VoIP播放音频文件

Audio 通过VoIP播放音频文件,audio,voip,Audio,Voip,我想实现一个简单的VoIP系统,可以实现以下功能: 用户上传mp3或wav文件并提供电话号码 拨打给定的电话号码,当拿起电话时,会播放上传的mp3/wav文件。播放完整个文件后,通话就会挂断 我想知道是否有任何开源库支持这个??或者我可以使用的开源软件?是的,您可以使用Asterisk、Freeswitch(我个人的首选)或其他类似的平台 完成freeswitch设置后,请查看此链接以启动: 用于简单测试 请参阅拖缆示例。我在工作中进行了类似的测试 我有 在我办公室的邮箱上使用Freeswitc

我想实现一个简单的VoIP系统,可以实现以下功能:

  • 用户上传mp3或wav文件并提供电话号码
  • 拨打给定的电话号码,当拿起电话时,会播放上传的mp3/wav文件。播放完整个文件后,通话就会挂断

  • 我想知道是否有任何开源库支持这个??或者我可以使用的开源软件?

    是的,您可以使用Asterisk、Freeswitch(我个人的首选)或其他类似的平台

    完成freeswitch设置后,请查看此链接以启动: 用于简单测试


    请参阅拖缆示例。

    我在工作中进行了类似的测试

    我有

  • 在我办公室的邮箱上使用Freeswitch创建了一个测试框架,我已经创建了一些在Freeswitch邮箱上使用密码的用户
  • 然后,我使用一个sip测试工具/客户端来管理到sip代理和另一个用户的连接
  • 例如。。。假设我的自由开关是ip:120.0.0.7

    我在那个freeswitch上注册为用户5000,我想给同样注册的用户4000打电话

    我使用SIPP(linux)SIPCLI(windows)。

    SIPP

    SIPP的好处是它真正强大,可以进行大量的性能测试,等等。但不发送音频这有点挑战性,但它是可行的。您基本上是在某些编解码器(g711、g729等)中发送录制音频的pcap,因此您可以运行如下命令:

    sudo sipp -s [the phone number/ user] [your freeswitch] -sn uac_pcap -mi [your ip] -l 1 -m 1
    
    最后两个参数(l和m)设置负载量,默认情况下sipp每秒发送10次呼叫。你可能不想那样。所以我说“把呼叫限制在#”,m说“一次只运行x个呼叫。”

    SIPCLI

    更简单的方法是sipcli(但它是一个仅限windows的工具) 在sipcli中,基本上可以发送wav文件以及文本到语音。我喜欢它。它有一个内置的库,可以拨打电话号码,你可以通过类似-t的测试“这是对sip和VOIP测试的测试线束的测试。”它可以在通话中动态地将其转换为音频。您还可以构建指向您录制的wav文件的场景

    SIPCLI将使用类似SIPP的命令来连接:

    sipcli [user/phone number] -d [domain or proxy] -t "This is text i want converted to speech on the phone call" 
    
    您还可以传递指向wav的链接

    sipcli还可以发送dtmf音,或者您可以指向dtmf音的wav

    场景编辑器一开始有点复杂,需要一些时间来适应。但是一旦你掌握了制作场景文件的诀窍,就很容易了

    SIPP的好处

    SIPP可以捕获性能指标(在配置的起点和终点之间的所有时间,单位为ms) SIPP可以在您想要的终端上拨打数千个电话 SIPP可以在飞行中增加或减少呼叫 SIPP可以生成统计信息和csv文件进行分析 您编写的SIPP场景正在构建数据包本身。因此,您可以更好地控制数据包在邀请中发送的内容。 SIPP是开源的

    SIPP的负片

    SIPP无法发送wav文件 SIPP无法生成自己的dtmf音调(它使用PCAP,这可能会有问题) SIPP无法生成文本到语音 SIPP的启动有点复杂

    SIPCLI的好处

    SIPCLI可以动态地将文本转换为语音 SIPCLI可以使用录制的wav发送给收件人 SIPCLI易于使用 SIPCLI还可以充当接收者(即播放问候语并接受输入的IVR) SIPCLI有一些逻辑来验证接收到的数据(比如用户按下3,然后按下4。)

    SIPCLI的负片

    SIPCLI不允许您访问它发送的SIP头(因此对测试的控制较少) SIPCLI不执行负载或性能指标 SIPCLI的编辑器一开始有点难,但它并不像学习SIPP的高级功能那么难 SIPCLI不是开源的。。。。它的试用版90%有用。要获得其他10%(更长的电话),您需要以70美元的价格购买

    我也尝试过其他工具,比如PJSua,但这两个工具是我用来测试您所讨论的场景的基本工具


    关于框架/softwsitch/proxy。。。我用自由开关

    什么平台,操作系统,等等?有没有一种简单的方法来播放mp3/ogg/wav来接听来电?啊,我只是更仔细地阅读了你的留言。我的解决方案基于用户调用freeswitch。在您的案例中,请查看: