[asterisk-dev] Reducing RTP overhead

Kristian Kielhofner kris at krisk.org
Mon Feb 13 06:23:23 MST 2006

John Todd wrote:
>> Hello everyone,
>>     A long, long time ago someone somewhere told me about a feature 
>> with RTP to reduce overhead (and bandwidth).  By trunking I mean 
>> trunking as in "IAX trunking" - stuffing multiple voice channels into 
>> the same UDP packet on connections between the same systems to reduce 
>> UDP/etc overhead (you know what I am talking about). :)
>>     I was told that such a feature exists for use with RTP.  The 
>> closest thing that I have been able to find is RTP header compression 
>> (RFC 2508).  With the calculations that I have seen, RTP header 
>> compression can increase call capacity by over %50:
>> http://www.connect802.com/voip_bandwidth.php
>>     Are there any other ways to improve bandwidth usage with SIP/RTP? 
>> Perhaps something more like IAX trunking?  RFC 2508 appears to only 
>> apply to PtP serial links (it also compresses the IP header, but that 
>> may be optional).  I'll continue to read the spec.
>>     Lets just say that RFC 2508 (or something like it) is the only way 
>> to reduce RTP bandwidth usage.  I have several questions:
>>     If an ideal implementation for Asterisk was created, would it 
>> stand a chance of being put in CVS?  What equipment/vendors also 
>> support it? This is key.  If I'm using just Asterisk (I wish) I would 
>> just use IAX2!
>> Thanks!
>> -- 
>> Kristian Kielhofner
> There is the protocol called RTPC (RFC2508) which is rumored to compress 
> ~40 byte IP/UDP/RTP headers down to <5 bytes when used with RFC2509.  I 
> haven't seen it in in action other than on T1 connections 
> point-to-point, and I don't know what the requirements are for 
> intermediate systems to understand and route the IP layer datagrams with 
> the shortened packet data.  I have only been a witness to what I was 
> told was a compressed link, and I've not actually set it up myself.  
> Cisco seems to be the only player in this field currently, though it is 
> an open standard.
>   Interleaving data into single, larger packets MUST be the best way to 
> do it with VoIP, though I read that there are "drafts" (un-discoverable) 
> about a better way called Enhanced CRPT (ECRPT) which describe a better 
> way to do it with VoIP packets - links, anyone?
> http://www.faqs.org/rfcs/rfc2508.html
> http://www.faqs.org/rfcs/rfc2509.html
> http://www.opalsoft.net/qos/VoIP.htm
> There may be a typo on some Grandstream literature that was perhaps 
> supposed to say "RTCP" instead of "RTPC", but there is an off-chance 
> that the Budgetones support this protocol (though it is almost certainly 
> "RTCP" which is a whole different bugtracker subject.)
> JT


	Exactly.  Cisco gear seems to use it (and RFC 2509 with PPP) mostly on 
frame relay PtP connections (with 7200 series routers to boot)!  I was 
excited about RFC 2508 until I read that to go from 40 bytes to 4 bytes 
(with UDP checksum, 2 without) you need to compress the IP header AND 
the UDP header AND the RTP header.  Shoot, that won't work without 
non-RFC2508 aware IP equipment (i.e. probably just about any router). 
Yes, please, ECRPT links anyone?

	As pointed out time and time again, BudgetTones seem to have the best 
IETF protocol to $$$ ratio anywhere.  Actual, CORRECT implementation of 
these protocols, however, is an entirely different story! :) (Ouch, that 
was a direct shot at Grandstream, wasn't it)!?!

Kristian Kielhofner

More information about the asterisk-dev mailing list