[Jingle] rtpbridge

Jeff Williams jeffw at gadgetworks.com
Mon Nov 24 12:14:54 CST 2008

STUN == P-to-P  socket *discovery*
RTPBridge == P-S-P bridged socket *connections*

RTPBridge is orthogonal to STUN.  You use one or the other.  RTPBridge  
is something cooked up (outside of standards bodies) by the Ignite  
guys to address the cases where STUN doesn't work for the simple  
reason that you cannot reach a client port behind a NAT because it's  
prohibited by router policy.  While a cool idea, it's unlikely to ever  
get any traction for the reason that no SA is going to want their IM  
server to carry the RTP streams for 2x ends of their entire user  
community and their buddies.  (Plus if the XMPP community was going  
this way it would probably look to TURN, and then only as a last,  
desperate measure for any single P2P connection.)

In the Ignite world of products you have clients based on a Java  
library called Smack.  Then Ignite has a separate server product  
called OpenFire.  Your Smack-based client has to *invoke* client-side  
RTPBridge as its stream/transport mechanism.  The fact that you're  
using LibJingle pretty much means you have 0% chance of making this  
work unless you implement RTPBridge in LibJingle.  Then if you do the  
only server that will support it is OpenFire, and then only if it's  

STUN really is the way to go.  It's an imperfect solution, but it's  
the work of a group that spans many different projects that all would  
like to discover a client's socket behind a NAT firewall.  NAT  
traversal *seems* like an easy problem on its face, but the nuances of  
global network topology and router policy make it really tough.  And  
there are some cases where you simply cannot connect to a client  
socket behind a NAT unless someone makes a router policy change.  I  
have no clue about the state of STUN support in LibJingle.

Welcome to our world!  :-)


El Nov 24, 2008, a las 09:07 , Jeff Muller escribió:

> psa et al.,
> Also.... isn't this a way to get a password & username to use with  
> the relay server (if your relay doesn't allow arbitrary connections)?
> I was told to email Thiago because he may have more info about  
> rtpbridge, but he has not responded. Thiago, are you around?
> Here's my problem... our server guy has said that we have a relay  
> server on our server because he added the rtpbridge, and he pointed  
> me to the igniterealtime page ... so now I have to figure out how to  
> use it. I am currently using (original) LibJingle as my stack, and I  
> don't want to have to rewrite too much (more than I already have).  
> If the underlying rtpbridge media relay server handles STUN Allocate  
> messages, and just uses the xmpp messaging of <rtpbridge/> to sort  
> or "pre-allocate" ports and handout passwords for them, then I just  
> need to know that, and any other details to get it to work. If it's  
> something completely different, it would be nice to know that too.
> Sorry to keep going on about this, but we're light on resources, and  
> I'm just spending way to much time on this right now, with not a lot  
> of success.
> Thanks for your patience :-)
> Jeff

More information about the Jingle mailing list