[asterisk-dev] "cRTP, anyone?" and more crackpot ideas
John Todd
jtodd at digium.com
Tue Dec 16 18:16:13 CST 2008
I was in a conversation today with someone who does a lot of
international VoIP traffic. They have Cisco gear at both ends of
their links, and the comment was that Asterisk didn't support cRTP,
which is "compressed RTP". I'd heard of CRTP, but honestly I've never
heard it come up before as something people were using extensively,
though it makes perfect sense for traffic that transits across high-
cost, low-bandwidth IP links.
This seems to be a niche solution. Why? Because cRTP doesn't work
outside of layer 2 networks, from everything I've read. If you have a
T1 (or frame relay, or ATM, or MPLS, or whatever L2 protocol) between
two endpoints, you apply cRTP on each interface, but each device (hop-
by-hop) must support it. You can't compress headers on RTP across a
network of uncontrolled hops. So on the internet, this would not
work. It would be useful only if your Asterisk systems were doing IP
routing (point-to-point or frame relay) and could see each other
directly on some layer 2 link.
Has anyone looked at CRTP implementation for Asterisk? This is one of
those questions that might be already solved, but I've just never
talked to the right person. It seems like anything with this high a
dollar value on it would have been programmed by someone, somewhere.
Or am I wrong? Is it possible to do cRTP or something similar in a
way that is not hop-by-hop? Please let me know, especially if you
have code to back it up.
Many (most?) media sessions are actually between two servers that have
more than one RTP session active between each other at once. It seems
completely bizarre that a method of RTP pipelining does not exist,
like there is for IAX2 in trunk mode. Pushing several RTP payloads in
the same UDP datagram seems like a HUGE bandwidth win - why hasn't
anyone done it? For that matter, why haven't we done it in Asterisk
and created a new RTP hybrid? Seems like it would be easy to throw an
additional identifier in the SDP that would offer RTP in a pipelined
mode so that two systems could know what protocol to use. Asterisk
systems with multi-channel SIP RTP sessions would "just work"
automagically and potentially cut bandwidth usage by 60% in some
circumstances, but other non-compatible systems wouldn't change
behaviors. Your patches are welcome! ;-)
Anyway... cRTP and related RFCs below.
http://www.faqs.org/rfcs/rfc2508.html
http://www.faqs.org/rfcs/rfc1144.html
JT
---
John Todd email:jtodd at digium.com
Digium, Inc. | Asterisk Open Source Community Director
445 Jan Davis Drive NW - Huntsville AL 35806 - USA
direct: +1-256-428-6083 http://www.digium.com/
More information about the asterisk-dev
mailing list