我正在尝试使用sipp重播捕获的pcap文件,如下所示:
在Sending.xml
中...
<recv response="200" rrs="true">
<action>
<ereg regexp="(.*)" search_in="hdr" header="To:" assign_to="TO_REQUEST"/>
</action>
</recv>
<send >
<![CDATA[
ACK [next_url] SIP/2.0
To: [$TO_REQUEST]
From: [$FROM_REQUEST]
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
Call-ID: [call_id]
CSeq: [last_cseq_number] ACK
Contact: <sip:[local_ip]:[local_port]>
[routes]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<nop>
<action>
<exec play_pcap_audio="pcap/g711a.pcap"/>
</action>
</nop>
...
但是,我总是得到同样的错误: extract_rtp_remote_addr:在SDP消息体中找不到IP地址。
我尝试使用其他* .pcap和* .raw文件进行测试并编辑我的脚本,但我仍然不能。 当我只发送信号而不是RTP时,呼叫成功。
任何人都可以帮我发送SIPP的RTP吗? 提前致谢!
答案 0 :(得分:0)
我记得在某些时候我遇到了类似的问题,因为我的.pcap不是很“干净”。
你确定pcap只包含RTP数据包吗?
有关sipp播放的pcap的工作示例,您可以查看webrtc-test project,更具体地说:.pcap和相关的sipp xml
另请注意,sipp通常只播放RTP媒体的一个方向,因此最好在两个方向都有媒体流动以确保。
希望这有帮助。
祝你好运, Antonis Tsakiridis
答案 1 :(得分:0)
这可能与您的INVITE中的SDP有关。 extract_rtp_remote_addr将寻找一个IP地址来发送RTP。
检查XML中的INVITE在c行中是否具有正确的IP地址。