[Asterisk-Dev] RTP not sending UDP checksums?

Roy Sigurd Karlsbakk roy at karlsbakk.net
Mon Feb 28 01:30:50 MST 2005


>> 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.

2.6.7 is not "quite old". get real.

> 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).

that's RTP checksums, not UDP checksums, right? UDP checksum is an 
integral part of UDP, 
http://www.networksorcery.com/enp/protocol/udp.htm.

> 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.

Also, make sure the UDP checksum really is missing....

roy




More information about the asterisk-dev mailing list