Thank you again for your help!
1. :D
2. Ah! Sorry, I was tinkering on a second test.xml(based on uac.xml)
and checking to see if that had the same issue & I copied+pasted from
the wrong screen. Here is the test-case I'm working on again below.
3. ... goes back to verify protocol validation is enabled... Yup, TCP
and UDP are enabled and they are valid packets so it may be my tcpdump
is being funky.
My topology/test-cases for reference. All of them are returning the
same SIPp results. Having typed out the scenarios I'm wondering if
sipp is doing it's job right but I don't understand how to format the
options for the xml. [-s who-I'm-calling] [-au myPhoneNumber(for
authentication)] [-ap myPhonePassword(for authentication)] and that's it?
Scenario A: Computer running sipp to my desk phone (Test case only) -
my computer is fed off phone so I can't simplify this test-case any
further(at least not that I know of). Having sipp directly call the
phone I can get the phone to ring, appear to answer(as far as the
phone's UI shows) but sipp doesn't see the 100 or anything beyond.
Scenario B: Computer running sipp to production proxy to my desk phone
(Test case only) - I needed to do this so I could capture packets via
wireshark. I see the traffic from sipp to the proxy, and then the
proxy to the phones; but no traffic from the proxy back to sipp.
According to the phone UI it rings and appears to pick up(and will
even forward to my cell if I let it ring) but again sipp doesn't see
any of this.
Scenario C: Computer running sipp to production proxy to
voicemail(which is routed through office365 SBC) - This is the
test-case I'm trying to work on, the others are to help reduce
variables. I see the 100 invite from sipp to the proxy; and that's it
wireshark doesn't see anything more(it's positioned reading data
to/from my phone).
--- 100 Invite from Scenario C ---
15:03:29.894306 IP (tos 0x0, ttl 64, id 45171, offset 0, flags [DF],
proto UDP (17), length 893)
129.82.3.26.sip > 129.82.254.250.sip: [bad udp cksum 0x0834 ->
0x3a2e!] SIP, length: 865
INVITE sip:15500@129.82.254.250;user=phone;transport=tcp SIP/2.0
Via: SIP/2.0/UDP 129.82.3.26;branch=z9hG4bK-28277-1-0
From: "Robert Remsik" <sip:17...@otc.colostate.edu>;tag=1
To: <sip:15500@129.82.254.250;user=phone>
CSeq: 1 INVITE
Call-ID: 1-28277@129.82.3.26
Contact: <sip:17120@129.82.3.26;transport=UDP>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE,
SUBSCRIBE, NOTIFY, PRACK, UPDATE, REFER
User-Agent: PolycomVVX-VVX_410-UA/4.1.8.0628
Accept-Language: en
Supported: 100rel,replaces
Allow-Events: conference,talk,hold
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 245
v=0
o=- 1470166919 1470166919 IN IP4 129.82.3.26
s=Polycom IP Phone
c=IN IP4 129.82.3.26
t=0 0
a=sendrecv
m=audio 6000 RTP/AVP 9 0 8 101
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
--- 100 Invite from Scenario C ---
My TCPdump version for reference to future generations:
root@localhost:~ $ yum list | grep tcpdump
tcpdump.x86_64 14:4.7.4-2.fc21
@updates
Messages Retrans Timeout
Unexpected-Msg
INVITE ----------> 1 0
100 <---------- 0 0 0 0
401 <---------- 0 0 0 0
407 <---------- 0 0 0 0
ACK ----------> 0 0
INVITE ----------> 0 0
100 <---------- 0 0 0 0
---- test1.xml ----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<scenario name="Default scenario">
<send>
<![CDATA[
INVITE sip:[service]@[remote_ip];user=phone;transport=tcp SIP/2.0
Via: SIP/2.0/[transport] [local_ip];branch=[branch]
From: "Robert Remsik" <sip:17...@otc.colostate.edu>;tag=[call_number]
To: <sip:[service]@[remote_ip];user=phone>
CSeq: [cseq] INVITE
Call-ID: [call_id]
Contact: <sip:17120@[local_ip];transport=[transport]>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE,
NOTIFY, PRACK, UPDATE, REFER
User-Agent: PolycomVVX-VVX_410-UA/4.1.8.0628
Accept-Language: en
Supported: 100rel,replaces
Allow-Events: conference,talk,hold
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: [len]
v=0
o=- 1470166919 1470166919 IN IP[local_ip_type] [local_ip]
s=Polycom IP Phone
c=IN IP[media_ip_type] [media_ip]
t=0 0
a=sendrecv
m=audio [media_port] RTP/AVP 9 0 8 101
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
]]>
</send>
<recv response="100" optional="true"/>
<recv response="401" optional="true" auth="true"
next="auth_challenge_received"/>
<recv response="407" auth="true"/>
<label id="auth_challenge_received"/>
<send>
<![CDATA[
ACK sip:[service]@[remote_ip];user=phone;transport=tcp SIP/2.0
Via: SIP/2.0/[transport] [local_ip];branch=[branch]
From: "Robert Remsik" <sip:17...@otc.colostate.edu>;tag=[call_number]
To: <sip:[service]@[remote_ip];user=phone>;[peer_tag_param]
CSeq: [cseq] ACK
Call-ID: [call_id]
Contact: <sip:17120@[local_ip];transport=[transport]>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE,
NOTIFY, PRACK, UPDATE, REFER
User-Agent: PolycomVVX-VVX_410-UA/4.1.8.0628
Accept-Language: en
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<send>
<![CDATA[
INVITE sip:[service]@[remote_ip];user=phone;transport=tcp SIP/2.0
Via: SIP/2.0/[transport] [local_ip];branch=[branch]
From: "Robert Remsik" <sip:17...@otc.colostate.edu>;tag=[call_number]
To: <sip:[service]@[remote_ip];user=phone>
CSeq: [cseq] INVITE
Call-ID: [call_id]
Contact: <sip:17120@[local_ip];transport=[transport]>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE,
NOTIFY, PRACK, UPDATE, REFER
User-Agent: PolycomVVX-VVX_410-UA/4.1.8.0628
Accept-Language: en
Supported: 100rel,replaces
Allow-Events: conference,talk,hold
[authentication username="abc" password="abc"]
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: [len]
v=0
o=- 1470166919 1470166919 IN IP[local_ip_type] [local_ip]
s=Polycom IP Phone
c=IN IP[media_ip_type] [media_ip]
t=0 0
a=sendrecv
m=audio [media_port] RTP/AVP 9 0 8 101
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
]]>
</send>
<recv response="100" optional="true"/>
</recv>
<recv response="180" optional="true"/>
</recv>
<recv response="183" optional="true"/>
</recv>
<recv response="200" />
</recv>
<send>
<![CDATA[
ACK
sip:e4PGFkEVw6krpgtHyWyvFNr4mi60DsxLQcG4Err5hfzg.@[remote_ip];transport=tcp
SIP/2.0
Via: SIP/2.0/[transport] [local_ip];branch=[branch]
From: "Robert Remsik" <sip:17...@otc.colostate.edu>;tag=[call_number]
To: <sip:[service]@[remote_ip];user=phone>;[peer_tag_param]
Route:
<sip:129.82.254.250:5060;lr;sipXecs-CallDest=VM;sipXecs-rs=%2Aauth%7E.%2Afrom%7EODEyRjdFOTMtNzY4ODg1Rjk%60.900_ntap%2Aid%7ENDE4OS04Mjg0%21ea26a124f1f3352fdb0bcb790663f8a6;x-sipX-done>
CSeq: [cseq] ACK
Call-ID: [call_id]
Contact: <sip:17120@[local_ip];transport=[transport]>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE, SUBSCRIBE,
NOTIFY, PRACK, UPDATE, REFER
User-Agent: PolycomVVX-VVX_410-UA/4.1.8.0628
Accept-Language: en
Max-Forwards: 70
Content-Length: 0
]]>
</send>
<send>
<![CDATA[
BYE
sip:e4PGFkEVw6krpgtHyWyvFNr4mi60DsxLQcG4Err5hfzg.@[remote_ip];transport=tcp
SIP/2.0
Via: SIP/2.0/[transport] [local_ip];branch=[branch]
From: "Robert Remsik" <sip:17...@otc.colostate.edu>;tag=[call_number]
To: <sip:[service]@[remote_ip];user=phone>;[peer_tag_param]
Route:
<sip:129.82.254.250:5060;lr;sipXecs-CallDest=VM;sipXecs-rs=%2Aauth%7E.%2Afrom%7EODEyRjdFOTMtNzY4ODg1Rjk%60.900_ntap%2Aid%7ENDE4OS04Mjg0%21ea26a124f1f3352fdb0bcb790663f8a6;x-sipX-done>
CSeq: [cseq] BYE
Call-ID: [call_id]
Contact: <sip:17120@[local_ip]>
User-Agent: PolycomVVX-VVX_410-UA/4.1.8.0628
Accept-Language: en
Max-Forwards: 70
Content-Length: 0
]]>
</send>
</scenario>
---- test1.xml ----
Robert Remsik
ACNS
Desk Phone: 970 491 7120
robert.rem...@colostate.edu
------------------------------------------------------------------------
*From:* sindelka <sinde...@ttc.cz>
*Sent:* Thursday, August 4, 2016 2:28 PM
*To:* Remsik,Robert; sipp-users@lists.sourceforge.net
*Subject:* Re: [Sipp-users] Troubleshooting a basic call
Hi Robert,
1. as written - the long form is the only one possible in many cases;
where both can be used, the short one is often preferred by
keyboard-savvy (or lazy, like me) people.
2. where has the authentication part (INVITE, 100, 401, 407) gone? Not
that its absence would explain why there is no response from the VM,
it just differs from the scenario as you've shown it initially.
3. if Wireshark explicitly says that the UDP checksum is correct in
the packet dissection pane (not just that it doesn't show the packet
in red), then it is possible that your version of tcpdump has an issue
with UDP checksum calculation. Otherwise, UDP checksum evaluation is
often switched off by default in Wireshark. Go
Edit->Preferences->Protocols->UDP and check whether the "validate UDP
checksum if possible" is ticked.
4. looking at your /etc/hosts, I don't get how your tcpdump translates
129.82.3.26 to localhost.localdomain, but the source address of the
packets seems to be OK, so the UDP checksum is more likely to be the
reason why the voicemail does not respond (I suppose that there is no
firewall and that the voicemail does listen at UDP/5060).
P.
Dne 4.8.2016 v 22:03 Remsik,Robert napsal(a):
1. Ah, that helps explain it! Thank you. �� Is the long form or
short form generally preferred?
2. Thank you, that did the trick. It now sees the entire scenario.
Messages Retrans Timeout
Unexpected-Msg
INVITE ----------> 1 5 1
100 <---------- 0 0 0 0
180 <---------- 0 0 0 0
183 <---------- 0 0 0 0
200 <---------- E-RTD1 0 0 0 0
ACK ----------> 0 0
Pause [ 0ms] 0 0
BYE ----------> 0 0 0
200 <---------- 0 0 0 0
3. Interesting... I'll sniff traffic as it exits towards voicemail
and verify if it detects a checksum error.... No checksum errors
showing up in Wireshark. I'll try to comb through some more logs to
see if I can turn anything up.
4.
$ grep localhost /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6
localhost6.localdomain6
13:40:50.338851 IP (tos 0x0, ttl 64, id 14685, offset 0, flags [DF],
proto UDP (17), length 551)
129.82.3.26.sip > 10.20.128.149.sip: [bad udp cksum 0x113a ->
0x15d2!] SIP, length: 523
INVITE sip:15500@10.20.128.149:5060 SIP/2.0
Via: SIP/2.0/UDP 129.82.3.26:5060;branch=z9hG4bK-21667-1-0
From: sipp <sip:sipp@129.82.3.26:5060>;tag=21667SIPpTag001
To: 15500 <sip:15500@10.20.128.149:5060>
Call-ID: 1-21667@129.82.3.26
CSeq: 1 INVITE
Contact: sip:sipp@129.82.3.26:5060
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
Content-Length: 133
v=0
o=user1 53655765 2353687637 IN IP4 129.82.3.26
s=-
c=IN IP4 129.82.3.26
t=0 0
m=audio 6000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
Robert Remsik
ACNS
Desk Phone: 970 491 7120
robert.rem...@colostate.edu
------------------------------------------------------------------------
*From:* sindelka <sinde...@ttc.cz>
*Sent:* Thursday, August 4, 2016 1:09 PM
*To:* Remsik,Robert; sipp-users@lists.sourceforge.net
*Subject:* Re: [Sipp-users] Troubleshooting a basic call
Robert,
1. adding </recv> after my recv tags which have already been closed
by the / right before the closing > was not the right thing to do.
SIPp is not really good in detecting wrong syntax in the scenario
file, which explains why only the initial INVITE and 100 are
displayed on the runtime screen now after your modification.
In fact,
<recv attribute1="value1" attribute2="value2"*/*>
is equivalent to
<recv attribute1="value1" attribute2="value2">
</recv>
but shorter. Of course, the longer variant is the only possible one
for tags which contain a body, like all cases of send or if the recv
contains some action, like ereg.
2. the actual mistake causing SIPp to complain about an undefined
label was a typo: a "-" (dash) instead of "_" (underscore) in the
label name (after the <recv response="407"/>)
3. the bad UDP checksum is likely to cause the voicemail server not
to answer, but I'm not sure it is a SIPp issue - normally, an
application sends only the payload to a protocol socket, and the
calculation of checksums is a job of the protocol stack in the
kernel. If your network card eventually supports UDP checksum
offloading, it may be that the error doesn't actually exist, although
in such case I would expect the wrong value shown by tcpdump to be 0.
To check that, you'll need to capture the packets anywhere else at
their way from the sender to the recipient but at the sending machine
(because there, the capturing point is before the UDP checksum is
calculated if the offloading is used). If you can see the UDP
checksum error after the packet has left the sending machine, it is
really there and likely to cause the receiving machine's IP stack to
drop the packet rather than deliver it to the application.
4. can you please run the tcpdump with -n option added, or place the
output ofgrep localhost /etc/hosts here?
It seems strange to me that the packet would have 127.0.0.1 as source
address as the localhost.localdomain fqdn suggests, but if it does,
the voicemail might to send the responses to itself if it looks at
the source address of the request packet rather than at the address
given in the Via header.
P.
Dne 4.8.2016 v 20:34 Remsik,Robert napsal(a):
Thank you for the help! This is indeed my base case copy+pasted,
just calling into voicemail and then either voicemail hangs up or I
hang up.
I added the modifications you suggested but I had to add </recv>
after each recv tag to have the program not throw an error of: (The
label 'auth_challenge_received' was not defined (index 2, next
attribute)). However now the scenario only lists an invite and 100
message, not the full scenario that I was expecting.
Interestingly the INVITE lists a bad UDP checksum. That might help
explain why I'm not getting a response back from anything.
12:35:17.894298 IP (tos 0x0, ttl 64, id 62100, offset 0, flags [DF],
proto UDP (17), length 891)
localhost.localdomain.sip > 10.20.128.149.sip: [*bad udp cksum
0x128e -> 0xb0db!*] SIP, length: 863
INVITE sip:17120@10.20.128.149;user=phone;transport=tcp SIP/2.0
Via: SIP/2.0/UDP 129.82.3.26;branch=z9hG4bK-17371-1-0
From: "Robert Remsik" <sip:17...@otc.colostate.edu>;tag=1
To: <sip:17120@10.20.128.149;user=phone>
CSeq: 1 INVITE
Call-ID: 1-17371@129.82.3.26
Contact: <sip:17120@129.82.3.26;transport=UDP>
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, INFO, MESSAGE,
SUBSCRIBE, NOTIFY, PRACK, UPDATE, REFER
User-Agent: PolycomVVX-VVX_410-UA/4.1.8.0628
Accept-Language: en
Supported: 100rel,replaces
Allow-Events: conference,talk,hold
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 245
v=0
o=- 1470166919 1470166919 IN IP4 129.82.3.26
s=Polycom IP Phone
c=IN IP4 129.82.3.26
t=0 0
a=sendrecv
m=audio 6000 RTP/AVP 9 0 8 101
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
Messages Retrans Timeout
Unexpected-Msg
INVITE ----------> 1 0
100 <---------- 0 0 0 0
<recv response="100" optional="true"/>
</recv>
<recv response="401" optional="true" auth="true"
next="auth_challenge_received"/>
</recv>
<recv response="407" auth="true"/>
</recv>
<label id="auth_challenge-received"/>
</recv>
Robert Remsik
ACNS
Desk Phone: 970 491 7120
robert.rem...@colostate.edu
------------------------------------------------------------------------
*From:* sindelka <sinde...@ttc.cz>
*Sent:* Tuesday, August 2, 2016 9:12 PM
*To:* sipp-users@lists.sourceforge.net
*Subject:* Re: [Sipp-users] Troubleshooting a basic call
Hi Robert,
if the scenario you've provided is a verbatim copy of the one you
actually use, not an edited version for illustration purposes, the
trouble is that you blindly fire a series of requests without waiting
for any response from the server. Normally, the authentication
challenge
comes in a 401 or 407 response to the first INVITE, and the generation
of the authentication response as requested by the [authentication]
keyword depends on the information from the authentication challenge.
So you must insert some optional and mandatory <recv> statements
between
the first INVITE and first ACK - namely,
<recv response="100" optional="true"/>
<recv response="401" optional="true" auth="true"
next="auth_challenge_received"/>
<recv response="407" auth="true"/>
<label id="auth_challenge-received"/>
This ensures that regardless whether the sipx device sends the 100 or
not, and regardless whether it uses 401 or 407 to send the
authentication challenge, you'll handle it properly.
Also, remove the auth="true" AVPs from all the <send> blocks, they are
useless there.
On top of that, please <recv> optionally a 100, a 180, a 183 and then
compulsorily a 200 between sending the second INVITE (with the
authentication response) and sending the second ACK, otherwise you may
run into some other issues.
And the last point, if you specify user and password inside the
scenario, SIPp does not use the -au and -ap specified on the command
line.
Pavel
------------------------------------------------------------------------------
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users
Sipp-users Info Page - SourceForge
<https://lists.sourceforge.net/lists/listinfo/sipp-users>
lists.sourceforge.net
This is the sipp users mailing list. Use it to get support for sipp
or ask for features or even post your own features to be included in
sipp!