sip-使用sipp重播pcap文件
我正在尝试用sipp重播捕获的pcap文件。 我的设置有两台电脑和一个代理。接收pc具有linphone,并且应该能够接听另一台pc的呼叫,该另一台pc通过sipp发送pcap文件。 我已使用wireshark录制了媒体,并将其保存为*.pcapsip-使用sipp重播pcap文件,sip,Sip,我正在尝试用sipp重播捕获的pcap文件。 我的设置有两台电脑和一个代理。接收pc具有linphone,并且应该能够接听另一台pc的呼叫,该另一台pc通过sipp发送pcap文件。 我已使用wireshark录制了媒体,并将其保存为*.pcap <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <scenario name="UAC with m
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<scenario name="UAC with media">
<!-- In client mode (sipp placing calls), the Call-ID MUST be -->
<!-- generated by sipp. To do so, use [call_id] keyword. -->
<send retrans="500">
<![CDATA[
REGISTER sip:[remote_ip] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch]
From: <sip:[field0]@[field2]>;tag=[call_number]
To: <sip:[field0]@[field2]>
Call-ID: [call_id]
CSeq: [cseq] REGISTER
Contact: <sip:[field0]@[local_ip]:[local_port]>
Max-Forwards: 10
Expires: 120
User-Agent: SIPp/Win32
Content-Length: 0
]]>
</send>
<!-- asterisk -->
<recv response="100" optional="true">
</recv>
<recv response="401" auth="true">
</recv>
<send retrans="500">
<![CDATA[
REGISTER sip:[remote_ip] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: <sip:[field0]@[field2]>;tag=[call_number]
To: <sip:[field0]@[field2]>
Call-ID: [call_id]
CSeq: [cseq] REGISTER
Contact: <sip:[field0]@[local_ip]>
[field3]
Max-Forwards: 10
Expires: 120
User-Agent: SIPp/Win32
Content-Length: 0
]]>
</send>
<!-- asterisk -->
<recv response="100" optional="true">
</recv>
<recv response="200">
</recv>
<send retrans="500">
<![CDATA[
INVITE sip:[field1]@[field2] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch]
From: <sip:[field0]@[field2]>;tag=[call_number]
To: <sip:[field1]@[field2]>
Call-ID: [call_id]
CSeq: 20 INVITE
Contact: <sip:[field0]@[local_ip]:[local_port]>
Content-Type: application/sdp
Max-Forwards: 70
Subject: Phone Call
Content-Length: [len]
v=0
o=user1 123456 654321 IN IP[media_ip_type] [media_ip]
s=-
c=IN IP[local_ip_type] [local_ip]
t=0 0
m=audio [media_port] RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000/1
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000/1
a=fmtp:101 0-11
a=sendrecv
m=video [media_port+2] RTP/AVP 99 98 34 100
a=rtpmap:99 MP4V-ES/90000
a=fmtp:99 profile-level-id=3
a=rtpmap:98 H263-1998/90000
a=fmtp:98 CIF=1;QCIF=1
a=rtpmap:34 H263/90000
a=rtpmap:100 x-snow/90000
a=sendrecv
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="180" optional="true">
</recv>
<!-- By adding rrs="true" (Record Route Sets), the route sets -->
<!-- are saved and used for following messages sent. Useful to test -->
<!-- against stateful SIP proxies/B2BUAs. -->
<recv response="200" rtd="true" crlf="true">
</recv>
<!-- Packet lost can be simulated in any send/recv message by -->
<!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
<send>
<![CDATA[
ACK sip:[field1]@[field2] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=[branch]
Route: <sip:[remote_ip]:[remote_port];lr=on>
From: <sip:[field0]@[field2]>;tag=[call_number]
To: <sip:[field1]@[field2]>
Call-ID: [call_id]
CSeq: 20 ACK
Contact: <sip:[field0]@[local_ip]:[local_port]>
Max-Forwards: 70
Subject: Phone Call
Content-Length: [len]
]]>
</send>
<!-- Play a pre-recorded PCAP file (RTP stream) -->
<nop>
<action>
<exec play_pcap_audio="/home/MM08-T/Desktop/owntest.pcap"/>
</action>
</nop>
<pause milliseconds="10000"/>
<!-- The 'crlf' option inserts a blank line in the statistics report. -->
<send retrans="500">
<![CDATA[
BYE sip:[field1]@[field2] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
Route: <sip:[remote_ip]:[remote_port];lr=on>
From: <sip:[field0]@[field2]>;tag=[call_number]
To: <sip:[field1]@[field2]>
Call-ID: [call_id]
CSeq: 21 BYE
Contact: <sip:[field0]@[local_ip]:[local_port]>
Max-Forwards: 70
Subject: Phone Call
Content-Length: 0
]]>
</send>
<recv response="200" crlf="true">
</recv>
<!-- definition of the response time repartition table (unit is ms) -->
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
<!-- definition of the call length repartition table (unit is ms) -->
<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>
;标签=[呼叫号码]
致:
呼叫ID:[呼叫ID]
CSeq:[CSeq]寄存器
联系人:
最大前锋数:10
有效期:120
用户代理:SIPp/Win32
内容长度:0
]]>
;标签=[呼叫号码]
致:
呼叫ID:[呼叫ID]
CSeq:[CSeq]寄存器
联系人:
[现场3]
最大前锋数:10
有效期:120
用户代理:SIPp/Win32
内容长度:0
]]>
;标签=[呼叫号码]
致:
呼叫ID:[呼叫ID]
CSeq:20邀请
联系人:
内容类型:应用程序/sdp
最大前锋:70
主题:电话
内容长度:[len]
v=0
o=IP[媒体IP类型][媒体IP]中的用户1 123456 654321
=-
c=在IP中[本地IP类型][本地IP]
t=0
m=音频[媒体端口]RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000/1
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101电话事件/8000/1
a=fmtp:101 0-11
a=sendrecv
m=视频[媒体端口+2]RTP/AVP 99 98 34 100
a=rtpmap:99 MP4V-ES/90000
a=fmtp:99配置文件级别id=3
a=rtpmap:98 H263-1998/90000
a=fmtp:98 CIF=1;QCIF=1
a=rtpmap:34 H263/90000
a=rtpmap:100 x雪/90000
a=sendrecv
]]>
发件人:;标签=[呼叫号码]
致:
呼叫ID:[呼叫ID]
CSeq:20确认
联系人:
最大前锋:70
主题:电话
内容长度:[len]
]]>
发件人:;标签=[呼叫号码]
致:
呼叫ID:[呼叫ID]
CSeq:21再见
联系人:
最大前锋:70
主题:电话
内容长度:0
]]>
和注入文件:
顺序MM08-T;MM08-O;lab.ibk.tuwien.ac.at;[认证
用户名=MM08-T密码=UHzd7wv0]
问题是我总是收到错误消息:
2014-05-28 16:27:32:278 1401287252.278473:在意外情况下中止呼叫
呼叫Id“10”的消息-12715@192.168.108.105“:预期为“180”
(索引8),通过以下方式接收“SIP/2.0 101对话建立”:
SIP/2.0/UDP 192.168.108.105:5061;rport=5061;分支=z9hG4bK-12715-10-6
记录路线:从:
;标签=10至:
;tag=1157919833呼叫ID:
10-12715@192.168.108.105CSeq:20邀请联系人:
用户代理:Linphone/3.3.99.6
(eXosip2/3.3.0)内容长度:0 P-hint:
"。sipp:有更多错误,请启用-trace_err来记录它们
在我看来,场景文件似乎有一些问题,但我就是找不到任何错误。
有人有任何线索吗?根据您在此处发布的错误消息,SIPP xml脚本不处理来自Linphone的“101对话建立”响应。 您可以尝试在XML文件中添加101响应处理(可选),然后重试
<recv response="101" optional="true">
</recv>