[standards-jig] Voice and Video over Jabber Networks
JHildebrand at jabber.com
Thu Apr 3 18:29:58 UTC 2003
For 1), you can use TINS:
For 2), you *could* use bytestreams, but voice and video really need to be
isochronous (packets get dropped if they can't be delivered with constant
latency), so TCP is usually not a great fit. There are existing media
protocols that would work, like RTP (http://www.ietf.org/rfc/rfc1889.txt).
For most Jabber servers, you wouldn't want to do this sort of thing in-band,
because of karma restrictions, XML overhead, and added latency.
The general approach I'm seeing is:
- Use TINS to negotiate a media protcol, like RTP
- Use media protocol to pass data out of band to XMPP
- Use something like STUN (http://www.ietf.org/rfc/rfc3489.txt) for firewall
> -----Original Message-----
> From: evan at prodromou.san-francisco.ca.us
> [mailto:evan at prodromou.san-francisco.ca.us]
> Sent: Wednesday, April 02, 2003 1:36 PM
> To: standards-jig at jabber.org
> Subject: [standards-jig] Voice and Video over Jabber Networks
> Howdy. So, I'm pretty much dumb as a bag of carpet lint when
> it comes to
> issues concerning transmission of voice packets over the
> Innurnet, and I
> should probably just shut my trap right now. BUT, I think
> voice is a great
> application for Jabber, and I think it'd be great to get
> something working.
> So, I'm gonna stick my nose and my two cents where it doesn't belong.
> It seems to me that there are two approaches to doing voice
> (and video)
> transfer over Jabber networks.
> 1) Use the Jabber network to exchange metadata and
> pre-connect data
> between two clients, and then use existing protocols
> to do the actual
> connection and data transfer.
> 2) Use the Jabber network to exchange both metadata
> _and_ the actual
> voice data.
> To my ignorant eye, these bear a lot of similarity to the
> difference between
> out-of-band file transfer and in-band file transfer. But
> that's just cause
> I'm dumb.
> My suggestions for this problem are this:
> * People with interest in applying an existing
> protocol to Jabber,
> as in 1), publish JEPs for that application.
> * Some one or ones interested in doing something along
> the lines of
> 2) publish a strawman JEP that can be a starting point for
> (If it were me, BTW, doing this second part, I'd probably suggest
> something like sending <message type="audio"> with an x
> element containing
> a mime type and base64-encoded data, e.g.,
> <message type='audio'
> to='romeo at montague.net'
> from='juliet at capulet.com'>
> <body>This packet contains audio data.</body>
> <x xmlns='jabber:x:audio' mime-type='audio/mpeg'>
> Disco could be used to ensure that the receiver can handle
> audio messages
> before sending. Of course, this is terribly simplistic, doesn't handle
> streams of voice data, or ordering series of related packets,
> would require
> some way to negotiate appropriate mime type, etc. But, hey,
> that's why *I*
> am not writing the JEP.)
> Personally, I think the _worst_ thing that can happen is that
> implementations hit the market. Bad for independent
> implementors, bad for
> the Jabber community.
> Standards-JIG mailing list
> Standards-JIG at jabber.org
More information about the Standards