Re: [jdev] discovery services

2005-03-23 Thread Matthias Wimmer
Hi Peter, hi Matt, ...

Matt Tucker schrieb am 2005-03-22 17:37:25:
  You could use zero-configuration networking for the discovery:
 To add to this thread, we already support multicast DNS (called
 Rendezvous by Apple) in Jive Messenger (Open Source server at
 http://www.jivesoftware.org).

May I add a third protocol proposal? Mine is SLP (RFC 2608 et all) which
I started to experiment with in jabberd14 (won't be commited before
after 1.4.4).
Maybe we really should talk about service discovery protocols before
everybody starts using his own protocol.


Tot kijk
Matthias
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Julian Missig
On 23 Mar 2005, at 0:31, Justin Karneges wrote:
On Tuesday 22 March 2005 05:31 pm, Julian Missig wrote:
On 22 Mar 2005, at 20:00, Justin Karneges wrote:
Ignoring how iChat may or may not do it, I figure the most
straightforward
answer would be to have the clients perform the xmpp-core s2s
protocol with
each other.  JIDs become [EMAIL PROTECTED]
Honestly, I prefer iChat's approach. Clients already have client
libraries that speak the c2s protocol. You strip out some of the
login/auth stuff and just use c2s to one another. That requires a lot
less new implementation and allows for a lot more code re-use... at
least the way Jabberoo was designed and how I imagine most libraries
are designed.
Since it's local I don't really see a need for Dialback and its
multiple socket connections and all sorts of other server pains that
client developers haven't had to be exposed to yet.
You make a good point, dialback is probably not needed.  Perhaps  
the login
handshake can be done using SASL.  However, everything else in an  
ad-hoc
setup is unavoidably more like s2s than c2s.  Here is what  
implementations
need in addition to regular c2s:

 1) ability to handle incoming TCP connections
That's a feature of the actual implementation, not the protocol used  
once the TCP connection is established. This is easy to add to  
existing client libraries.

 2) ability to perform the XMPP stream handshake process in reverse
Simple enough to add in place of the regular auth support.
 3) stanzas need to indicate both the 'to' and the 'from' (since  
either
workstation might have multiple users.  yes, I think we should be  
forward
thinking here).
Ok, this is pretty silly and makes the problem thousands of times  
harder. DNS-SD lends itself to be used as presence broadcasting, but  
then you /can't/ use it as presence broadcasting if there are  
multiple users connected without making /those/ packets insanely  
complicated too. I don't think that's a problem we should be focusing  
on at all, because I don't see how it's going to make anything  
simpler /or/ better.

I think that for now we should focus on things which DNS-SD has  
proven useful for. Multiple users advertising the same service on one  
computer is not one of them, and until the DNS-SD people have a good  
solution for that (if they care about it at all), I don't think we  
should.

I really think it shouldn't be that hard to take a random client  
library, hook it up to a DNS-SD and Multicast DNS library, change a  
couple of things, and have a working client. The hardest part should  
be gutting the presence implementation for use with DNS-SD.

Julian
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Peter Saint-Andre
On Tue, Mar 22, 2005 at 08:31:54PM -0500, Julian Missig wrote:

 Honestly, I prefer iChat's approach. Clients already have client  
 libraries that speak the c2s protocol. You strip out some of the  
 login/auth stuff and just use c2s to one another. That requires a lot  
 less new implementation and allows for a lot more code re-use... at  
 least the way Jabberoo was designed and how I imagine most libraries  
 are designed.
 
 Since it's local I don't really see a need for Dialback and its  
 multiple socket connections and all sorts of other server pains that  
 client developers haven't had to be exposed to yet.

+1.

Keep it simple.

/psa

___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Justin Karneges
On Wednesday 23 March 2005 06:27 am, Julian Missig wrote:
 On 23 Mar 2005, at 0:31, Justin Karneges wrote:
   3) stanzas need to indicate both the 'to' and the 'from' (since
  either
  workstation might have multiple users.  yes, I think we should be
  forward
  thinking here).

 Ok, this is pretty silly and makes the problem thousands of times
 harder. DNS-SD lends itself to be used as presence broadcasting, but
 then you /can't/ use it as presence broadcasting if there are
 multiple users connected without making /those/ packets insanely
 complicated too. I don't think that's a problem we should be focusing
 on at all, because I don't see how it's going to make anything
 simpler /or/ better.

I don't follow.  Existing client code is going to expect 'from' attributes on 
incoming stanzas.  This means that either 1) the clients have to be hacked to 
not care about 'from' attributes on incoming stanzas or 2) clients need to 
put 'from' attributes on the stanzas they send out.  #2 is not a thousand 
times harder than #1.

Supporting multiple users on a single machine might be a thousand times 
harder, but you're not forced to do that.  A single-user ad-hoc client should 
have no trouble interoperating.

 I think that for now we should focus on things which DNS-SD has
 proven useful for. Multiple users advertising the same service on one
 computer is not one of them, and until the DNS-SD people have a good
 solution for that (if they care about it at all), I don't think we
 should.

Unless I've misunderstood how zeroconf works, I thought that you'd announce a 
single service regardless of whether or not the service was single-user or 
multiple-user.  Yes, this probably means that for multiple-users you'd need 
an ad-hoc Jabber client daemon.  No, I'm not saying anyone has to implement 
it that way.

-Justin
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Julian Missig
On 23 Mar 2005, at 16:00, Justin Karneges wrote:
On Wednesday 23 March 2005 06:27 am, Julian Missig wrote:
On 23 Mar 2005, at 0:31, Justin Karneges wrote:
 3) stanzas need to indicate both the 'to' and the 'from' (since
either
workstation might have multiple users.  yes, I think we should be
forward
thinking here).
Ok, this is pretty silly and makes the problem thousands of times
harder. DNS-SD lends itself to be used as presence broadcasting, but
then you /can't/ use it as presence broadcasting if there are
multiple users connected without making /those/ packets insanely
complicated too. I don't think that's a problem we should be focusing
on at all, because I don't see how it's going to make anything
simpler /or/ better.
I don't follow.  Existing client code is going to expect 'from'  
attributes on
incoming stanzas.  This means that either 1) the clients have to be  
hacked to
not care about 'from' attributes on incoming stanzas or 2) clients  
need to
put 'from' attributes on the stanzas they send out.  #2 is not a  
thousand
times harder than #1.

Supporting multiple users on a single machine might be a thousand  
times
harder, but you're not forced to do that.  A single-user ad-hoc  
client should
have no trouble interoperating.

I think that for now we should focus on things which DNS-SD has
proven useful for. Multiple users advertising the same service on one
computer is not one of them, and until the DNS-SD people have a good
solution for that (if they care about it at all), I don't think we
should.
Unless I've misunderstood how zeroconf works, I thought that you'd  
announce a
single service regardless of whether or not the service was single- 
user or
multiple-user.  Yes, this probably means that for multiple-users  
you'd need
an ad-hoc Jabber client daemon.  No, I'm not saying anyone has to  
implement
it that way.
Yes, except that the iChat way of doing this makes a *lot* of sense.  
I don't know how you're expecting to to distribute presence using DNS- 
SD, but with iChat, the service it's advertising *is* the presence.  
So this is sort of by definition single-user.

Julian


smime.p7s
Description: S/MIME cryptographic signature
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Justin Karneges
On Wednesday 23 March 2005 01:13 pm, Julian Missig wrote:
 Yes, except that the iChat way of doing this makes a *lot* of sense.
 I don't know how you're expecting to to distribute presence using DNS-
 SD, but with iChat, the service it's advertising *is* the presence.
 So this is sort of by definition single-user.

Ahhh, I see now.  So does it actually advertise a Jabber presence stanza 
over DNS-SD?  Or is it some alternative format?  And how is this process by 
definition single-user?  It seems like if you can include one presence chunk 
in the advertisement, you could include two (at the risk of violating iChat's 
existing protocol), but again I know very little about DNS-SD.

I still feel it would be more Jabber-like to obtain the presence over the 
Jabber connection, but I can see how doing it over DNS-SD might be more 
optimized for the situation.

-Justin
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Julian Missig
On 23 Mar 2005, at 16:47, Justin Karneges wrote:
On Wednesday 23 March 2005 01:13 pm, Julian Missig wrote:
Yes, except that the iChat way of doing this makes a *lot* of sense.
I don't know how you're expecting to to distribute presence using  
DNS-
SD, but with iChat, the service it's advertising *is* the presence.
So this is sort of by definition single-user.
Ahhh, I see now.  So does it actually advertise a Jabber presence  
stanza
over DNS-SD?  Or is it some alternative format?  And how is this  
process by
definition single-user?  It seems like if you can include one  
presence chunk
in the advertisement, you could include two (at the risk of  
violating iChat's
existing protocol), but again I know very little about DNS-SD.

I still feel it would be more Jabber-like to obtain the presence  
over the
Jabber connection, but I can see how doing it over DNS-SD might be  
more
optimized for the situation.
What Jabber connection are you talking about?
I don't mean to be presumptuous or rude, but I really don't think  
you've thought through DNS-SD and how peer-to-peer Jabber would work  
with it nearly enough...

There's a local subnet. It has 50 users on it. How are you expecting  
that those 50 users will get one another's presence? DNS-SD means  
that we can treat the service as a presence packet (because really,  
it is advertising the availability of a service) and advertise our  
presence as a DNS-SD service. There's no need to open up 50 TCP  
connections and send presence/ packets to all 50. It's all handled  
by Multicast DNS for us. There's no Jabber connection taking place  
until one user wants to send a message to another--then we're opening  
a TCP socket and sending a message.

I don't see why you need the 'from' attribute because you already  
know who the TCP socket connection is from and you already have their  
information from the DNS-SD service packet.

Julian
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Justin Karneges
On Wednesday 23 March 2005 02:07 pm, Julian Missig wrote:
 I don't mean to be presumptuous or rude, but I really don't think
 you've thought through DNS-SD and how peer-to-peer Jabber would work
 with it nearly enough...

Probably not.  I was just trying to see how much of our own protocol we could 
re-use.  I had not yet considered ooberizing presence.

 There's a local subnet. It has 50 users on it. How are you expecting
 that those 50 users will get one another's presence? DNS-SD means
 that we can treat the service as a presence packet (because really,
 it is advertising the availability of a service) and advertise our
 presence as a DNS-SD service. There's no need to open up 50 TCP
 connections and send presence/ packets to all 50. It's all handled
 by Multicast DNS for us. There's no Jabber connection taking place
 until one user wants to send a message to another--then we're opening
 a TCP socket and sending a message.

Does this mean that presence is never delivered over a Jabber connection, 
even if there is an existing connection due to some message exchanging?  What 
about directed presence?

-Justin
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Julian Missig
On 23 Mar 2005, at 18:33, Justin Karneges wrote:
On Wednesday 23 March 2005 02:07 pm, Julian Missig wrote:
I don't mean to be presumptuous or rude, but I really don't think
you've thought through DNS-SD and how peer-to-peer Jabber would work
with it nearly enough...
Probably not.  I was just trying to see how much of our own  
protocol we could
re-use.  I had not yet considered ooberizing presence.

There's a local subnet. It has 50 users on it. How are you expecting
that those 50 users will get one another's presence? DNS-SD means
that we can treat the service as a presence packet (because really,
it is advertising the availability of a service) and advertise our
presence as a DNS-SD service. There's no need to open up 50 TCP
connections and send presence/ packets to all 50. It's all handled
by Multicast DNS for us. There's no Jabber connection taking place
until one user wants to send a message to another--then we're opening
a TCP socket and sending a message.
Does this mean that presence is never delivered over a Jabber  
connection,
even if there is an existing connection due to some message  
exchanging?  What
about directed presence?
Yes. If you really want directed presence, it could in theory be sent  
over the TCP connection. iChat doesn't support directed presence at all.

Julian


smime.p7s
Description: S/MIME cryptographic signature
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Anthony Ortiz
Okay, I'm confused... am I to understand that the jabber protocol can
be implemented over UDP/TCP-multicast?? I can see now how it would
sort of work... is there a JEP on this??? I would assume that it would
follow something along these lines :

1) client broadcasts its presence (stream:stream
to=SomeJabberServer stanza I assume)
2) jabber server (SomeJabberServer) opens TCP/IP connection with client
3) ... authentication stuff happens here over dedicated TCP/IP
connection (don't need this stuff broadcasted) ...
4) TCP/IP connection terminated

From this point on, I assume that everything else is handled via UDP
or multicast, except for messaging and file xfers and anything else
that is direct? Or am I just waaay off here??? If so,
would someone write down a step-by-step scenario of how this would
work?

cheers!

Anthony

On Wed, 23 Mar 2005 15:33:39 -0800, Justin Karneges
[EMAIL PROTECTED] wrote:
 On Wednesday 23 March 2005 02:07 pm, Julian Missig wrote:
  I don't mean to be presumptuous or rude, but I really don't think
  you've thought through DNS-SD and how peer-to-peer Jabber would work
  with it nearly enough...
 
 Probably not.  I was just trying to see how much of our own protocol we could
 re-use.  I had not yet considered ooberizing presence.
 
  There's a local subnet. It has 50 users on it. How are you expecting
  that those 50 users will get one another's presence? DNS-SD means
  that we can treat the service as a presence packet (because really,
  it is advertising the availability of a service) and advertise our
  presence as a DNS-SD service. There's no need to open up 50 TCP
  connections and send presence/ packets to all 50. It's all handled
  by Multicast DNS for us. There's no Jabber connection taking place
  until one user wants to send a message to another--then we're opening
  a TCP socket and sending a message.
 
 Does this mean that presence is never delivered over a Jabber connection,
 even if there is an existing connection due to some message exchanging?  What
 about directed presence?
 
 -Justin
 ___
 jdev mailing list
 jdev@jabber.org
 http://mail.jabber.org/mailman/listinfo/jdev

___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Julian Missig
On 23 Mar 2005, at 19:13, Anthony Ortiz wrote:
Okay, I'm confused... am I to understand that the jabber protocol can
be implemented over UDP/TCP-multicast?? I can see now how it would
sort of work... is there a JEP on this??? I would assume that it would
follow something along these lines :
1) client broadcasts its presence (stream:stream
to=SomeJabberServer stanza I assume)
2) jabber server (SomeJabberServer) opens TCP/IP connection with  
client
3) ... authentication stuff happens here over dedicated TCP/IP
connection (don't need this stuff broadcasted) ...
4) TCP/IP connection terminated

From this point on, I assume that everything else is handled via UDP
or multicast, except for messaging and file xfers and anything else
that is direct? Or am I just waaay off here??? If so,
would someone write down a step-by-step scenario of how this would
work?
iChat basically already does Jabber without a Jabber server. It is  
not /technically/ Jabber because we define Jabber as having servers,  
but it is possible. We're not talking about involving a Jabber Server  
at all.

1) Client broadcasts presence using Multicast DNS and DNS-Service  
Discovery
2) All clients on local network receive these presence packets as  
defined by those protocols
3) when user wants to send a message to another user, open a TCP  
connection
4) send messages over that direct TCP client-to-client connection
5) TCP client-to-client connection terminated

Multicast DNS and DNS-SD are typically UDP, not TCP.
This is *NOT* currently a defined protocol in any way, shape, or  
form. iChat does something along these lines. We're currently talking  
about IF we were to define such a thing how it would be done.

Justin and I were arguing about what would happen at my step 4,  
except Justin's idea for how these steps happened seems to have been  
quite different from mine, which is why we both wasted so much time  
on it. :)

Julian


smime.p7s
Description: S/MIME cryptographic signature
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Anthony Ortiz
I SEE!!! said the blind man to the deaf man...

That seems like an interesting idea, though I think the current jabber
protocol doesn't allow for this (am I right?) UDP/Multicast chatting
is old-school, but I had never thought of using xmpp over it. I'm
curious though... under this system, Jabber ID's will no longer be
unique since 2 or more people can connect using the same JID. How
would this system prevent this from happening? Since there's no
authentication mechanism, how would it prevent someone from logging in
as someone else and pretending to be that person? Is this defined
somewhere? I would love to check it out in more detail...

cheers!

Anthony


On Wed, 23 Mar 2005 19:20:46 -0500, Julian Missig [EMAIL PROTECTED] wrote:
 On 23 Mar 2005, at 19:13, Anthony Ortiz wrote:
 
  Okay, I'm confused... am I to understand that the jabber protocol can
  be implemented over UDP/TCP-multicast?? I can see now how it would
  sort of work... is there a JEP on this??? I would assume that it would
  follow something along these lines :
 
  1) client broadcasts its presence (stream:stream
  to=SomeJabberServer stanza I assume)
  2) jabber server (SomeJabberServer) opens TCP/IP connection with
  client
  3) ... authentication stuff happens here over dedicated TCP/IP
  connection (don't need this stuff broadcasted) ...
  4) TCP/IP connection terminated
 
  From this point on, I assume that everything else is handled via UDP
  or multicast, except for messaging and file xfers and anything else
  that is direct? Or am I just waaay off here??? If so,
  would someone write down a step-by-step scenario of how this would
  work?
 
 
 iChat basically already does Jabber without a Jabber server. It is
 not /technically/ Jabber because we define Jabber as having servers,
 but it is possible. We're not talking about involving a Jabber Server
 at all.
 
 1) Client broadcasts presence using Multicast DNS and DNS-Service
 Discovery
 2) All clients on local network receive these presence packets as
 defined by those protocols
 3) when user wants to send a message to another user, open a TCP
 connection
 4) send messages over that direct TCP client-to-client connection
 5) TCP client-to-client connection terminated
 
 Multicast DNS and DNS-SD are typically UDP, not TCP.
 
 This is *NOT* currently a defined protocol in any way, shape, or
 form. iChat does something along these lines. We're currently talking
 about IF we were to define such a thing how it would be done.
 
 Justin and I were arguing about what would happen at my step 4,
 except Justin's idea for how these steps happened seems to have been
 quite different from mine, which is why we both wasted so much time
 on it. :)
 
 Julian
 
 

___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-23 Thread Julian Missig
There is no such thing as a JabberID in this system. JabberIDs are  
[EMAIL PROTECTED], and depend upon having a server.

Identification in this system is dependent upon Multicast DNS and DNS- 
SD, which is how you get the IPs to connect to, the machine names,  
etc. All of that stuff is thus defined by how mDNS and DNS-SD work.

It's important to note that this system only exists as a network as  
large as your local mDNS network... which is usually just a single  
subnet.

Julian
On 23 Mar 2005, at 19:45, Anthony Ortiz wrote:
I SEE!!! said the blind man to the deaf man...
That seems like an interesting idea, though I think the current jabber
protocol doesn't allow for this (am I right?) UDP/Multicast chatting
is old-school, but I had never thought of using xmpp over it. I'm
curious though... under this system, Jabber ID's will no longer be
unique since 2 or more people can connect using the same JID. How
would this system prevent this from happening? Since there's no
authentication mechanism, how would it prevent someone from logging in
as someone else and pretending to be that person? Is this defined
somewhere? I would love to check it out in more detail...
cheers!
Anthony
On Wed, 23 Mar 2005 19:20:46 -0500, Julian Missig  
[EMAIL PROTECTED] wrote:
On 23 Mar 2005, at 19:13, Anthony Ortiz wrote:
Okay, I'm confused... am I to understand that the jabber protocol  
can
be implemented over UDP/TCP-multicast?? I can see now how it would
sort of work... is there a JEP on this??? I would assume that it  
would
follow something along these lines :

1) client broadcasts its presence (stream:stream
to=SomeJabberServer stanza I assume)
2) jabber server (SomeJabberServer) opens TCP/IP connection with
client
3) ... authentication stuff happens here over dedicated TCP/IP
connection (don't need this stuff broadcasted) ...
4) TCP/IP connection terminated
From this point on, I assume that everything else is handled via  
UDP
or multicast, except for messaging and file xfers and anything else
that is direct? Or am I just waaay off here??? If so,
would someone write down a step-by-step scenario of how this would
work?
iChat basically already does Jabber without a Jabber server. It is
not /technically/ Jabber because we define Jabber as having servers,
but it is possible. We're not talking about involving a Jabber Server
at all.
1) Client broadcasts presence using Multicast DNS and DNS-Service
Discovery
2) All clients on local network receive these presence packets as
defined by those protocols
3) when user wants to send a message to another user, open a TCP
connection
4) send messages over that direct TCP client-to-client connection
5) TCP client-to-client connection terminated
Multicast DNS and DNS-SD are typically UDP, not TCP.
This is *NOT* currently a defined protocol in any way, shape, or
form. iChat does something along these lines. We're currently talking
about IF we were to define such a thing how it would be done.
Justin and I were arguing about what would happen at my step 4,
except Justin's idea for how these steps happened seems to have been
quite different from mine, which is why we both wasted so much time
on it. :)
Julian

___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev



smime.p7s
Description: S/MIME cryptographic signature
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Peter Saint-Andre
On Thu, Mar 17, 2005 at 05:28:16PM -0800, Leonardo Galicia Jimenez wrote:
 Hi everybody, my name is Leonardo and i am trying to implement a system 
 using jabber. In this system i program jabber client using java, but these 
 jabber clients work transparently to the user, each jabber client is called 
 agent and represents devices, services, objets or users, each one with its 
 own features and attributes. These agents need to be discover by others 
 agents, for instance, one agent (jabber client) represents a user and need 
 to discover automatically a other agent that represent a printer in all the 
 jabber network. I wonder if jabber technology has a discovery way similar 
 to Slp, Jxta, Jini, etc, besides JEP-0030 i didn't find it, or other way to 
 find others jabber servers.
 
 I have interest in use jabber for the presence protocol, simple and the 
 easy way to extend it. If anybody has information about it, i really will 
 appreciate it.

You could use zero-configuration networking for the discovery:

http://www.cisco.com/en/US/about/ac123/ac147/ac174/ac206/about_cisco_ipj_archive_article09186a0080132b85.html

TinyURL: http://tinyurl.com/4bz7v

Then use JEP-0030 for detailed service information.

Or you could write a server-side component that has more information
about entities on your network (something like a Jabber User Directory
but for network services). Will your network entities have stable
addresses or JabberIDs, or do you require dynamic discovery?

/psa

___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


RE: [jdev] discovery services

2005-03-22 Thread Matt Tucker
 You could use zero-configuration networking for the discovery:
 
 http://www.cisco.com/en/US/about/ac123/ac147/ac174/ac206/about
 _cisco_ipj_archive_article09186a0080132b85.html
 
To add to this thread, we already support multicast DNS (called
Rendezvous by Apple) in Jive Messenger (Open Source server at
http://www.jivesoftware.org). So, you would use mdns to automatically
discover the central XMPP server and then normal disco, presence, etc,
to find other clients that support the services you're looking for as
Peter suggests.

Jive Messenger lists itself using the _xmpp-client._tcp.local. service
name, which mirrors the XMPP DNS SRV entry.

Regards,
Matt 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Peter Saint-Andre
 Sent: Tuesday, March 22, 2005 12:59 PM
 To: Jabber software development list
 Subject: Re: [jdev] discovery services
 
 On Thu, Mar 17, 2005 at 05:28:16PM -0800, Leonardo Galicia 
 Jimenez wrote:
  Hi everybody, my name is Leonardo and i am trying to implement a 
  system using jabber. In this system i program jabber client using 
  java, but these jabber clients work transparently to the user, each 
  jabber client is called agent and represents devices, 
 services, objets 
  or users, each one with its own features and attributes. 
 These agents 
  need to be discover by others agents, for instance, one 
 agent (jabber 
  client) represents a user and need to discover 
 automatically a other 
  agent that represent a printer in all the jabber network. I 
 wonder if 
  jabber technology has a discovery way similar to Slp, Jxta, 
 Jini, etc, 
  besides JEP-0030 i didn't find it, or other way to find 
 others jabber servers.
  
  I have interest in use jabber for the presence protocol, simple and 
  the easy way to extend it. If anybody has information about it, i 
  really will appreciate it.
 

 
 TinyURL: http://tinyurl.com/4bz7v
 
 Then use JEP-0030 for detailed service information.
 
 Or you could write a server-side component that has more 
 information about entities on your network (something like a 
 Jabber User Directory but for network services). Will your 
 network entities have stable addresses or JabberIDs, or do 
 you require dynamic discovery?
 
 /psa
 
 ___
 jdev mailing list
 jdev@jabber.org
 http://mail.jabber.org/mailman/listinfo/jdev
 
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Peter Saint-Andre
On Tue, Mar 22, 2005 at 05:37:25PM -0600, Matt Tucker wrote:
  You could use zero-configuration networking for the discovery:
  
  http://www.cisco.com/en/US/about/ac123/ac147/ac174/ac206/about
  _cisco_ipj_archive_article09186a0080132b85.html
  
 To add to this thread, we already support multicast DNS (called
 Rendezvous by Apple) in Jive Messenger (Open Source server at
 http://www.jivesoftware.org). So, you would use mdns to automatically
 discover the central XMPP server and then normal disco, presence, etc,
 to find other clients that support the services you're looking for as
 Peter suggests.
 
 Jive Messenger lists itself using the _xmpp-client._tcp.local. service
 name, which mirrors the XMPP DNS SRV entry.

Cool.

Perhaps it would make sense to write up a best practices document for
use by developers who want to build multicast DNS / zero-configuration
networking into their XMPP-based applications? Or perhaps that belongs
in the long-rumored XMPP implementation guide. :-)

/psa

___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Julian Missig
On 22 Mar 2005, at 18:37, Matt Tucker wrote:
You could use zero-configuration networking for the discovery:
http://www.cisco.com/en/US/about/ac123/ac147/ac174/ac206/about
_cisco_ipj_archive_article09186a0080132b85.html
To add to this thread, we already support multicast DNS (called
Rendezvous by Apple) in Jive Messenger (Open Source server at
http://www.jivesoftware.org). So, you would use mdns to automatically
discover the central XMPP server and then normal disco, presence, etc,
to find other clients that support the services you're looking for as
Peter suggests.
Jive Messenger lists itself using the _xmpp-client._tcp.local.  
service
name, which mirrors the XMPP DNS SRV entry.
Why _xmpp-client if you're advertising an XMPP Server?
Julian
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Julian Missig
On 22 Mar 2005, at 19:14, Julian Missig wrote:
On 22 Mar 2005, at 18:37, Matt Tucker wrote:
You could use zero-configuration networking for the discovery:
http://www.cisco.com/en/US/about/ac123/ac147/ac174/ac206/about
_cisco_ipj_archive_article09186a0080132b85.html
To add to this thread, we already support multicast DNS (called
Rendezvous by Apple) in Jive Messenger (Open Source server at
http://www.jivesoftware.org). So, you would use mdns to automatically
discover the central XMPP server and then normal disco, presence,  
etc,
to find other clients that support the services you're looking for as
Peter suggests.

Jive Messenger lists itself using the _xmpp-client._tcp.local.  
service
name, which mirrors the XMPP DNS SRV entry.
Why _xmpp-client if you're advertising an XMPP Server?
Oh nevermind. I see that stpeter registered xmpp-client and xmpp- 
server, intending that xmpp-client be the service that XMPP Clients  
connect *to* while xmpp-server be the server-to-server connection.  
Kind of odd, but it's what's registered... so nevermind.

Julian
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Peter Saint-Andre
On Tue, Mar 22, 2005 at 07:16:50PM -0500, Julian Missig wrote:

 Why _xmpp-client if you're advertising an XMPP Server?
 
 Oh nevermind. I see that stpeter registered xmpp-client and xmpp- 
 server, intending that xmpp-client be the service that XMPP Clients  
 connect *to* while xmpp-server be the server-to-server connection.  
 Kind of odd, but it's what's registered... so nevermind.

Hmm, I see where you're going -- we might want to have a service that
would enable clients to connect to each other (a la iChat's Rendezvous 
mode or whatever they're going to call it after the Tibco dispute)...

Peter

___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Julian Missig
On 22 Mar 2005, at 19:25, Peter Saint-Andre wrote:
On Tue, Mar 22, 2005 at 07:16:50PM -0500, Julian Missig wrote:
Why _xmpp-client if you're advertising an XMPP Server?
Oh nevermind. I see that stpeter registered xmpp-client and xmpp-
server, intending that xmpp-client be the service that XMPP Clients
connect *to* while xmpp-server be the server-to-server connection.
Kind of odd, but it's what's registered... so nevermind.
Hmm, I see where you're going -- we might want to have a service that
would enable clients to connect to each other (a la iChat's Rendezvous
mode or whatever they're going to call it after the Tibco dispute)...
Well, even without that, the service name is supposed to be the  
service you're advertising. The XMPP server is advertising an XMPP  
connection to which a client can connect, which from a server's point  
of view might be xmpp-client, yes, but from a client's point of  
view, it seems an odd thing to be looking for a client service when  
you want to connect to an XMPP Server.

Pedantry, I admit, but it had me confused for a few minutes.
For an official form of something like iChat Rendezvous, we'd need to  
define what exactly an XMPP client-client protocol should look  
like, which pieces of XMPP are disallowed, and when TCP connections  
should actually take place. All things which I was interested in  
doing back when it looked like something I'd be adding to Gabber one  
day, but which unfortunately I don't think I'll be implementing in  
anything anytime soon...

Julian
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Justin Karneges
On Tuesday 22 March 2005 04:40 pm, Julian Missig wrote:
 For an official form of something like iChat Rendezvous, we'd need to
 define what exactly an XMPP client-client protocol should look
 like, which pieces of XMPP are disallowed, and when TCP connections
 should actually take place. All things which I was interested in
 doing back when it looked like something I'd be adding to Gabber one
 day, but which unfortunately I don't think I'll be implementing in
 anything anytime soon...

Ignoring how iChat may or may not do it, I figure the most straightforward 
answer would be to have the clients perform the xmpp-core s2s protocol with 
each other.  JIDs become [EMAIL PROTECTED]

What we just need then is some document explaining the zeroconf process of 
locating local Jabber servers, both for xmpp-client and xmpp-server, and a 
way to query an xmpp-server for its users.

The xmpp-server type could be either a real server (in the Jive sense), or 
an ad-hoc rendezvous-style workstation hosting a single user.  To outsiders, 
it really makes no difference.

Finally, although not strictly necessary, a nice iq protocol for normal 
Jabber clients to access the above features via an intermediate Jabber server 
would make it easier for existing clients to become ad-hoc aware.

-Justin
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Julian Missig
On 22 Mar 2005, at 20:00, Justin Karneges wrote:
On Tuesday 22 March 2005 04:40 pm, Julian Missig wrote:
For an official form of something like iChat Rendezvous, we'd need to
define what exactly an XMPP client-client protocol should look
like, which pieces of XMPP are disallowed, and when TCP connections
should actually take place. All things which I was interested in
doing back when it looked like something I'd be adding to Gabber one
day, but which unfortunately I don't think I'll be implementing in
anything anytime soon...
Ignoring how iChat may or may not do it, I figure the most  
straightforward
answer would be to have the clients perform the xmpp-core s2s  
protocol with
each other.  JIDs become [EMAIL PROTECTED]

What we just need then is some document explaining the zeroconf  
process of
locating local Jabber servers, both for xmpp-client and xmpp- 
server, and a
way to query an xmpp-server for its users.

The xmpp-server type could be either a real server (in the Jive  
sense), or
an ad-hoc rendezvous-style workstation hosting a single user.  To  
outsiders,
it really makes no difference.

Finally, although not strictly necessary, a nice iq protocol for  
normal
Jabber clients to access the above features via an intermediate  
Jabber server
would make it easier for existing clients to become ad-hoc aware.

Honestly, I prefer iChat's approach. Clients already have client  
libraries that speak the c2s protocol. You strip out some of the  
login/auth stuff and just use c2s to one another. That requires a lot  
less new implementation and allows for a lot more code re-use... at  
least the way Jabberoo was designed and how I imagine most libraries  
are designed.

Since it's local I don't really see a need for Dialback and its  
multiple socket connections and all sorts of other server pains that  
client developers haven't had to be exposed to yet.

Julian
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev


Re: [jdev] discovery services

2005-03-22 Thread Justin Karneges
On Tuesday 22 March 2005 05:31 pm, Julian Missig wrote:
 On 22 Mar 2005, at 20:00, Justin Karneges wrote:
  Ignoring how iChat may or may not do it, I figure the most
  straightforward
  answer would be to have the clients perform the xmpp-core s2s
  protocol with
  each other.  JIDs become [EMAIL PROTECTED]

 Honestly, I prefer iChat's approach. Clients already have client
 libraries that speak the c2s protocol. You strip out some of the
 login/auth stuff and just use c2s to one another. That requires a lot
 less new implementation and allows for a lot more code re-use... at
 least the way Jabberoo was designed and how I imagine most libraries
 are designed.

 Since it's local I don't really see a need for Dialback and its
 multiple socket connections and all sorts of other server pains that
 client developers haven't had to be exposed to yet.

You make a good point, dialback is probably not needed.  Perhaps the login 
handshake can be done using SASL.  However, everything else in an ad-hoc 
setup is unavoidably more like s2s than c2s.  Here is what implementations 
need in addition to regular c2s:

 1) ability to handle incoming TCP connections
 2) ability to perform the XMPP stream handshake process in reverse
 3) stanzas need to indicate both the 'to' and the 'from' (since either 
workstation might have multiple users.  yes, I think we should be forward 
thinking here).

Hmm, have I described ad-hoc or s2s?  You can decide. :)

-Justin
___
jdev mailing list
jdev@jabber.org
http://mail.jabber.org/mailman/listinfo/jdev