Uh oh. I think I may be looking at the wrong tool.
My goal is to implement (in an open source software suite) an RTP/UDP/IP header compression algorithm that would save bandwidth used by voice traffic packets. So a 5ms G.711 packet that would otherwise be 98 bytes, could be reduced to 62 bytes when its RTP/UDP/IP header is compressed. This would require me to get into the RTP stack used to packetize the actual data (voice) packets. From what I am reading, * is not the right software for that kind of work because it don't really touch the voice packets themselves but rather enables the two endpoints to talk to negotiate and connect with each other (as well as utilize a number of other features - vmail, callerID, etc). Is this correct?
OK, again, from the top: What is it, exactly, that you are trying to do? Are you trying to save bandwidth between two networks, or between any two SIP endpoints? Most people that design Asterisk systems treat them as "gateways", and then it's usually a gateway on a LAN or WAN with more-or-less unlimited bandwidth between the endpoints and the gateway. Then, the gateway talks out across the WAN (Internet) with limited bandwidth to other gateways. In essence, a mesh-of-stars topology. Thus, we really care about the bandwidth between the two gateways, and not necessarily about the bandwidth between the UA (SIP endpoint) and the gateway. There are, of course exceptions: plenty of people use G.729 between the UA and the Asterisk server, and lots of people have their Asterisk servers and SIP clients spread out all over the planet. But, Asterisk is the "open-source PBX", which generally means there's an office (or school, or whatever) LAN that connects all the users back to the PBX, and the PBX is then responsible for sending things out onto the big bad rest of the world.
Got it so far?
So, the IAX2 protocol is an extremely efficient way of moving voice data around. It strips off much of the IP/UDP/RTP header, and crams multiple channels of RTP into a single UDP flow. After the first channel is established, every incremental channel is close to exactly the codec specifications as far as additional bandwidth (i.e.: G729 channels are ~9.6kbps for each one you add onto the pile.) This obviates a need for RTP header compression... 'cause there isn't any real RTP header to compress. Mark, or someone with more understanding of this could correct me, but I'm pretty sure that's an adequate description.
So, if you're wanting to get better bandwidth usage betwen your SIP clients and Asterisk, then maybe RTP compression is still an interesting feature to add to Asterisk. However, until a good number of SIP clients support RTP compression, there's no reason to put it into Asterisk. Sorry, the chicken in our case is the hardware vendors and their SIP clients, and we're the egg - they implement features, and we catch up with them for the most part (as far as SIP goes, at least.)
Is what I am looking for an open-sourced SIP user agent? Or is it more than that?
Yes, you're looking for an open-sourced SIP user agent (really, an open sourced RTP stack) unless your answers to my questions above were enlightening. Google will help you in this search...
(/me bangs head on table, wonders how he keeps sending out these huge email messages when there is work to do that actually PAYS something...)
JT
Any help would be great, as I appear to be confused.
Thanks, Kevin
----Original Message Follows---- From: John Todd <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [Asterisk-Users] RTP header compression? Date: Wed, 20 Aug 2003 13:38:22 -0700
I sent this to the asterisk-dev by accident...
----Original Message Follows----
Hi all,
I have a couple questions about RTP header compression with Asterisk:
1) Has this been implemented before or is it included in the Asterisk package?
2) If the answer to (1) is no, is there an RTP stack that this can be logically implemented into? Where would that be?
Thanks, Kevin
As I mentioned before in a reply to this:
1) No.
2) Take a look at the source code; you should be able to find the rtp sections in it readily enough.
3) If you are asking about RTP compression between Asterisk servers, look at IAX2 and trunking mode. Questions 1 and 2 become less meaningful.
JT _______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users
_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail
_______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users
_______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users
