E.H.Eefting wrote:
After a lot of debugging with asterisk and sipp in pcap mode we found the
following problem:
If asterisk is configured to allow rtp ports greater than 9999, it seems the
last digit is trimmed away some how.
An example of a tcpdump followed by an immediate netstat shows this problem:
-192.168.13.198 is running sipp in uac_pcap mode.
-192.168.13.150 is the asterisk server.
-uac is sending packets to udp port 1830
-asterisk is listening on ports 18300 and 18301
If asterisk happens to choose a port below 10000 (a port that is 4 digits
long), everything goes well. This looks like a SIP parser bug in sipp
somewhere, since normally we dont have this problem with other sip clients.
The SIP protocol is text-based, so a parser bug makes sence, right?
Could somebody look into the sourcecode if this is right? If it IS a bug, it
would certainly explain a lot for many people i think ;)
Edwin Eefting
http://www.syn-3.nl
-----------------------------------------(paste of terminal output)
[Syn-3] r...@darkstar.example.net /etc/asterisk# tcpdump -n -l src
192.168.13.198 and not port 22 or proto ICMP | head -20 ; netstat -nap| grep
asterisk
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0:0, link-type EN10MB (Ethernet), capture size 68 bytes
.....
17:57:49.398169 IP 192.168.13.198.6016 > 192.168.13.150.1830: UDP, length 252
17:57:49.428113 IP 192.168.13.198.6016 > 192.168.13.150.1830: UDP, length 252
17:57:49.458880 IP 192.168.13.198.6016 > 192.168.13.150.1830: UDP, length 252
17:57:49.458939 IP 192.168.13.150 > 192.168.13.198: ICMP 192.168.13.150 udp
port 1830 unreachable, length 288
17:57:49.488563 IP 192.168.13.198.6016 > 192.168.13.150.1830: UDP, length 252
17:57:49.517853 IP 192.168.13.198.6016 > 192.168.13.150.1830: UDP, length 252
.....
21 packets captured
48 packets received by filter
0 packets dropped by kernel
udp 0 0 0.0.0.0:5060 0.0.0.0:*
18189/asterisk
udp 0 0 0.0.0.0:18300 0.0.0.0:*
18189/asterisk
udp 0 0 0.0.0.0:18301 0.0.0.0:*
18189/asterisk
udp 0 0 0.0.0.0:17278 0.0.0.0:*
18189/asterisk
Hi, Edwin
Yes, this is a bug in sipp. Here is your patch.
BR, Dmitry
diff -urb sipp.svn_orig/call.cpp sipp.svn_fixed/call.cpp
--- sipp.svn_orig/call.cpp 2008-12-19 13:14:51.000000000 +0300
+++ sipp.svn_fixed/call.cpp 2008-12-19 13:16:34.000000000 +0300
@@ -192,7 +192,7 @@
/* m=audio not found */
return 0;
}
- begin += strlen(pattern) - 1;
+ begin += strlen(pattern);
end = strstr(begin, "\r\n");
if (!end)
ERROR("get_remote_port_media: no CRLF found");
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users