[jdev] Gaim and gnomemeeting using jabber

Richard Dobson richard at dobson-i.net
Thu Dec 2 03:58:55 CST 2004

> JEP-066, example 6?

Yes well JEP-0066 is simply showing a web url that someone can execute if 
they want to, in the same way as when you execute url's in any other 
application of jabber:x:oob, but you seem to be trying to use it to express 
the fact that you are in a call, that is against it, you shouldnt be using 
jabber:x:oob for anything really other than sending the user a uri to 
execute, you are trying to use it to express something it is not designed 
for and inso doing will likely break clients that currently handle 
jabber:x:oob as the spec says it should, also example 6 seems to really be 
showing is a way for someone to look up more information from that user 
while they are offline, it says nothing about using jabber:x:oob in online 
presence stanzas.

> Well, I did test my patch, and it does work...

Did you test it when its sending it to every different client to make sure 
it works? Or did you just test it against your patched gaim?
If you did do a proper test to make sure it doesnt cause problems with any 
other client then thats good, but if you havent you cant really say you have 
tested it and it works.

> JEP-066 doesn't call what I do 'wrong', it says 'creative usage' ;-)

JEP-0066 does not say anything about what you are trying to do with it im 

>> Not always no, if for example you are in a chatroom the people in that 
>> room
>> will get your presence, and if you are adding your extension to presence
>> lots of people will know what your machines IP etc is, which is very bad,
>> jabber is designed in such a way that normally your IP address will not 
>> be
>> revealed to all and sundry, also when chatting to people you and adding 
>> them
>> to your contacts it doesnt mean you necessarily trust them enough to 
>> reveal
>> your ip address uncessarily, what about DDos attacks or the various 
>> buffer
>> overflow attacks that can be performed against a users machine once 
>> someone
>> has their IP? The VoIP software you speak of will do nothing to protect 
>> the
>> user from that.
> Arg. Point taken.

Good good, we dont want to make all those poor windows users with the 
default security setup that havent updated in ages even more as risk do we 

> Step 3 can wait.

Good good, then I suggest you just follow the first two tasks I outlined 
using those existing standard protocols as they are intended to be used, if 
you do that you will be fine.

> Since the beginning of the thread, I modified the patch to send&accept
> <x xmlns='jabber:x:oob'>
> <url>h323:me at there</url>
> <desc>VoIP</desc>
> </x>
> in presence, and according to JEP-066, it follows the standard ; but
> your objections are a concern :-/

As I am trying to point out you seem to be misinterpreting or reading into 
the spec too much and inso doing not quite doing it the right way, if you 
just follow the method of using the protocols I pointed out then as I say 
you will be fine and wont have any further objections as you will be doing 
things the right way :), as a recap below are the tasks and protocols you 
need to use.

1) advertise a client is voip capable (this should be done using JEP-0030
and JEP-0115).

This task should be pretty easy, all you need to do is get a disco feature 
setup in the Jabber Registrar representing voip support, 
http://www.jabber.org/registrar/disco-features.html, the best person to ask 
about this is stpeter at jabber.org he is the Jabber Registrar and will be able 
to help you with this, once you have a feature defined you need to add it as 
an extra feature to the disco#info response that gaim returns (which it 
should be by now since JEP-0030 is now final, if it doesnt it needs support 
for it), this is what allows clients to check each others capabilities, next 
I would suggest you look into also supporting JEP-0115 in gaim too.

2) initiate a chat with another voip capable client (this should be done
using JEP-0020, then JEP-0066).

Next you use JEP-0020 to negotiate which voip protocol to use to talk to 
another user, i.e. sip/h323/iax, etc then once the two clients have used 
JEP-0020 to decide which protocol to use JEP-0066 in jabber:iq:oob to send 
the voip uri that the other user needs to use to connect.

There we have it voip support done all using the existing standard protocols 
as they are supposed to be used.

> Back to the chalkboard :-/

Yup but as I say, just follow those protocols for tasks 1 and 2 and you wont 
need to create any new protocols, just use what is already there and in the 
correct way. If you need any further help on implementing or understanding 
those protocols and how they fit together just ask as I have experience 
implementing those and know how they work.


More information about the JDev mailing list