使用sipp播放音频文件

BTR*_*idu 5 sip sipp

所以使用类似的语法

../sipp -sn uac SERVER_IP -s DESTINATION_NUMBER -ap AUTH_PASSWORD -aa -m 1 -l 1 -d 10000
Run Code Online (Sandbox Code Playgroud)

我能够发起一个SIP呼叫.我想要实现的是,在被叫方选择呼叫之后,播放.wav文件并在文件播放完毕后终止呼叫.

我想使用命令行参数来实现这一点.有人曾经这样做过吗?

rkd*_*day 12

最新的SIPp版本(3.4)现在支持来自正确编码的WAV文件的直接RTP流.

您将需要创建自定义方案文件(使用将-sd uac样本UAC方案转储为起点的选项)并添加<action><exec rtp_stream="file.wav" /></action><recv response="200"></recv>XML块内部,以便在收到200 OK时触发通过RTP播放的WAV文件.

http://sipp.sourceforge.net/doc/reference.html#Media%2FRTP+commands提供了有关设置的更多详细信息(例如循环或非PCMA有效负载类型).

(我是SIPp的当前维护者.)

  • 从音频样本中生成正确编码的WAV对我来说不是自我解释.我花了很多时间才发现如何使用gstreamer重新编码和转换它们.gst-launch filesrc location = piano1.wav \!wavparse \!audioconvert \!audioresample \!alawenc \!audio/x-alaw,rate = 8000,channels = 1 \!wavenc \!filesink location = piano2.wav希望这可以节省某人发现的时间 (2认同)

yot*_*mmy 4

SIPp 支持通过指令发送预先记录的 RTP 数据包流的能力exec play_pcap_audio。(请参阅内置uac_pcap场景作为您的场景的模型。)要发送的数据包存储在 PCAP 格式的文件中。例如,可以从测试调用的 Wireshark 捕获中提取数据包。

$ sipp -sf custom_with_pcap_audio.xml SERVER_IP -s DESTINATION_NUMBER -ap AUTH_PASSWORD -aa -m 1 -l 1 -d 10000
Run Code Online (Sandbox Code Playgroud)

要创建custom_with_pcap_audio.xml,请从这里开始:

$ sipp -sd uac_pcap > custom_with_pcap_audio.xml
Run Code Online (Sandbox Code Playgroud)

然后编辑场景以引用您的 pcap 文件(通过之前链接的技术之一获得)。您还需要将延迟设置为适合您的 pcap 录制的长度(而不是示例中给出的 10000)。