gpt4 book ai didi

audio - 通过 VoIP 播放音频文件

转载 作者:行者123 更新时间:2023-12-02 23:00:02 25 4
gpt4 key购买 nike

我想实现一个简单的VoIP系统,可以实现以下目标;

  • 用户上传 mp3 或 wav 文件并提供电话号码。
  • 调用给定的电话号码,拿起电话时,播放上传的 mp3/wav 文件。一旦播放了整个文件,通话就会挂断。

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

    最佳答案

    我为我的工作做了类似的测试。

    我有

  • 在我办公室的盒子上使用 Freeswitch 的测试框架,我在 FreeSWITCH 盒子上创建了一些带有密码的用户。
  • 然后我使用一个 sip 测试工具/客户端来管理与另一个用户的 sip 代理的连接。

  • 例如......说我的freeswitch是ip:120.0.0.7

    我正在以用户 5000 的身份在该 freeswitch 上注册,我想调用也已注册的用户 4000。

    我使用 SIPP (Linux) SIPCLI(窗口)

    西普

    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 个调用。你可能不想要那个。所以 l 说“将调用限制为 #”,m 说“一次只运行 x 个调用”。

    SIPCLI

    更简单的方法是 sipcli (但它是一个仅限 Windows 的工具。)
    在 sipcli 中,您基本上可以发送 wav 文件以及文本到语音。我喜欢它。它有一个内置的库,可以调用号码,你可以通过类似 -t “这是对 sip 和 v o i p 测试的测试工具的测试。”它会在通话中即时将其转换为音频。您还可以构建指向您录制的 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 音调,或者您可以指向 wav 的 dtmf 音调。

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

    SIPP 的好处

    SIPP 可以捕获性能指标(您配置的起点和终点之间的总时间(以毫秒为单位))
    SIPP 可以在您想要的一端驱动数千个调用
    SIPP 可以即时增加调用或减少调用
    SIPP可以生成统计数据和csv文件进行分析
    您编写的 SIPP 场景是自己构建数据包。因此,您可以更好地控制您的数据包在 INVITE 上发送的内容。
    SIPP 是开源的

    SIPP的底片

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

    SIPCLI 的好处

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

    SIPCLI 的负面影响

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

    我也尝试过其他工具,例如 PJSua,但这两个是我测试您所谈论的场景的面包和黄油。

    关于Framework/softwsitch/proxy...我使用Freeswitch。

    关于audio - 通过 VoIP 播放音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4845302/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com