[standards-jig] Voice and Video over Jabber Networks

evan at prodromou.san-francisco.ca.us evan at prodromou.san-francisco.ca.us
Wed Apr 2 20:36:15 UTC 2003


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
	 discussion.

(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>
	   <thread>balcony_scene</thread>
	   <x xmlns='jabber:x:audio' mime-type='audio/mpeg'>
	     adfaadfasdfasdfasdfkjglk==
	   </x>
       </message>
       
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 incompatible
implementations hit the market. Bad for independent implementors, bad for
the Jabber community.

-ESP




More information about the Standards mailing list