[Asterisk-Dev] RTP not sending UDP checksums?

Kevin P. Fleming kpfleming at starnetworks.us
Sun Feb 27 17:00:16 MST 2005


Andrew Lindh wrote:
> I'm running asterisk on Linux kernel 2.6.7-1-686-smp. When I do a tcpdump
> of traffic to/from asterisk/device tcpdump reports that asterisk (linux)
> is not generating UDP checksums. If I enable to SO_NO_CHECK in rtp.c
> then tcpdump does not report empty checksum (I assume they are
> generated correctly then).

First of all, your kernel is quite old... that could be the source of 
your problems.

SO_NO_CHECK is the name of the socket option used to turn checksums on 
and off. rtp.c checks to see if that option exists, and if so enables 
the 'rtpchecksums' setting in rtp.conf to control whether they are 
generated or not. It defaults to generating checksums, so normally the 
admin has to explicitly turn them off (if their system supports that).

I do not see any circumstance under which the system will not generate 
UDP checksums unless explicitly told not to, unless the kernel or 
libraries on the system are broken. The presence or absence of 
SO_NO_CHECK (which comes from the C library headers, originally from the 
kernel headers) does not itself control whether they are generated, it 
only gives the admin the option of turning them off.

I'd suggest you update your kernel and make sure your C library and 
related headers are reasonably current before continuing to research 
this problem.



More information about the asterisk-dev mailing list