使用sipp播放音频文件

时间:2013-11-21 13:42:38

标签: sip sipp

所以使用类似

的语法
../sipp -sn uac SERVER_IP -s DESTINATION_NUMBER -ap AUTH_PASSWORD -aa -m 1 -l 1 -d 10000

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

我想使用命令行参数实现此目的。有人曾经这样做过吗?

2 个答案:

答案 0 :(得分:11)

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

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

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

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

答案 1 :(得分:2)

SIPp通过exec play_pcap_audio指令支持send a stream of pre-recorded RTP packets的功能。 (请参阅内置uac_pcap方案作为您的方案的模型。)要发送的数据包存储在具有PCAP格式的文件中。例如,数据包可以是测试呼叫的extracted from a Wireshark capture

$ sipp -sf custom_with_pcap_audio.xml SERVER_IP -s DESTINATION_NUMBER -ap AUTH_PASSWORD -aa -m 1 -l 1 -d 10000

要创建custom_with_pcap_audio.xml,请从此处开始:

$ sipp -sd uac_pcap > custom_with_pcap_audio.xml

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