Naïve questions about XMPP

34 views
Skip to first unread message

jdeisenberg

unread,
May 9, 2011, 12:28:50 PM5/9/11
to onesoc...@googlegroups.com
I have set up a server to test a variety of open social network software. I was able to install ejabberd and Jappix, and have created an ID under Jappix. If I understand correctly, OneSocialWeb is also based on XMPP, so the theory is that I should be able to post messages to my Jappix instance and connect with people on OneSocialWeb instances.

Question 1: how do I let people know that I'm out there on my one-person server?

Question 2: How can I install OneSocialWeb on my server? I saw that Diana Cheng has figured out how to make osw work with ejabberd, but I haven't been able to find the documentation on how it was done.

Question 3: Why is it that some projects work with OpenFire but not ejabberd, and others with ejabberd but not OpenFire?

Question 4: Is it possible to run both OpenFire and ejabberd on the same server if I use different ports, thus getting around the problem of question 3?

Feel free to do a s/Naïve/Stupid/ in the title.

Astro

unread,
May 9, 2011, 6:07:40 PM5/9/11
to onesoc...@googlegroups.com
Hi list!

Not knowing about Jappix or OSW in particular, I hope I can answer at
least Q1 & Q4 for you.

jdeisenberg wrote:
> Question 1: how do I let people know that I'm out there on my one-person
> server?

XMPP server-to-server (s2) works akin to E-Mail by DNS. Just instead of
MX, SRV records with custom port numbers are used. The fallback to A is
specified as well.

Do you have a domain?

If the A record already points to your server and the daemon listens on
5269/tcp, just register a Jabber-Id @ that domain locally.

> Question 4: Is it possible to run both OpenFire and ejabberd on the same
> server if I use different ports, thus getting around the problem of question
> 3?

Yes, by issuing different SRV records with different ports for different
domains. Here's an example setup I use:

_xmpp-server._tcp.spaceboyz.net IN SRV 5 0 5269 spaceboyz.net.
_xmpp-server._tcp.codetu.be IN SRV 0 10 15269 spaceboyz.net.

spaceboyz.net listens on 5269 for production service, and additionally
on 15269 whenever I want to run a development server for that other
domain.

> Question 3: Why is it that some projects work with OpenFire but not
> ejabberd, and others with ejabberd but not OpenFire?

Many XMPP servers (ejabberd, OpenFire) support the XEP-0114 component
protcol. Components have their own namespace in a DNS (sub-)domain, eg.
conference.jabber.org.

Projects like OSW chose to reuse PEP (XEP-0163) which is required in an
XMPP server for users, and unfortunately is incompatible with the
component protocol. Therefore server implementations come as custom
patches for specific XMPP daemons.

Daniel Renfer

unread,
May 9, 2011, 7:06:36 PM5/9/11
to onesoc...@googlegroups.com
On Mon, May 9, 2011 at 12:28 PM, jdeisenberg <jdavid.e...@gmail.com> wrote:
> I have set up a server to test a variety of open social network software. I
> was able to install ejabberd and Jappix, and have created an ID under
> Jappix. If I understand correctly, OneSocialWeb is also based on XMPP, so
> the theory is that I should be able to post messages to my Jappix instance
> and connect with people on OneSocialWeb instances.

Jappix and Onesocialweb are doing things similarly, but not
identically. Because of that, it's not possible to have full
interoperability between the two just yet. (this statement is based on
my looking at Jappix several months ago and not being able to get them
to work together both ways. I'd love to be proven wrong)

>
> Question 1: how do I let people know that I'm out there on my one-person
> server?

How do you let people know you have an email address? You use it. Add
people to your roster and start chatting them up, put it in your email
signature and social networking sites, make a whole bunch of business
cards and drop them from an airplane. Stuff like that.


>
> Question 2: How can I install OneSocialWeb on my server? I saw that Diana
> Cheng has figured out how to make osw work with ejabberd, but I haven't been
> able to find the documentation on how it was done.

AFAIK, the ejabberd devs are working on (basic?) support for OSW's
protocols and are planning on building it into a future version of
ejabberd. If there's a beta build or a repository somewhere, I don't
know it.

>
> Question 3: Why is it that some projects work with OpenFire but not
> ejabberd, and others with ejabberd but not OpenFire?
>

To expand on Astro's point, some projects like buddycloud or wave use
components. That means they get their own subdomain (ie.
channels.buddycloud.org) and the server only has to simply pass any
traffic to that domain off to whatever software handles that
component. That software can be written in any language because it's
using an external API to pass those messages.

In OSW's case. We're using PEP, which means that all traffic for OSW
is addressed to the domain itself and not some other subdomain. The
OSW plugin has to inspect just about every packet that comes through
the system for things it can interact with. Because of this, we have
no choice to use whatever mechanism the server's developers have left
to extend the system. (plugins)

Therefore, the OSW plugin will work only with Openfire or any server
that implements Openfire's plugin interfaces. (still just Openfire)

The other 2 implementations are ejabberd's stuff (which I know nothing
about) and my implementation for Tigase. (still in heavy development.
(but not now 'cause I'm writing an email))

> Question 4: Is it possible to run both OpenFire and ejabberd on the same
> server if I use different ports, thus getting around the problem of question
> 3?

See Astro's post

>
> Feel free to do a s/Naïve/Stupid/ in the title.
>

These are fine questions. If you don't already have an account that's
connected to OSW, check out one of the public servers. (betavine.net
or social.openliven.com)

Once there, add du...@mycyclopedia.net and I'll get you in touch with
the good active people.

Daniel E. Renfer

J David Eisenberg

unread,
May 9, 2011, 7:18:55 PM5/9/11
to onesoc...@googlegroups.com
On Mon, May 9, 2011 at 3:07 PM, Astro <as...@spaceboyz.net> wrote:
> Hi list!
>
> Not knowing about Jappix or OSW in particular, I hope I can answer at
> least Q1 & Q4 for you.
>
> jdeisenberg wrote:
>> Question 1: how do I let people know that I'm out there on my one-person
>> server?
>
> XMPP server-to-server (s2) works akin to E-Mail by DNS. Just instead of
> MX, SRV records with custom port numbers are used. The fallback to A is
> specified as well.
>
> Do you have a domain?
>
> If the A record already points to your server and the daemon listens on
> 5269/tcp, just register a Jabber-Id @ that domain locally.
>

Sadly, I am not a DNS expert. I take it that one must be able to
modify DNS records in order to advertise one's presence and find other
XMPP users, then.

>> Question 4: Is it possible to run both OpenFire and ejabberd on the same
>> server if I use different ports, thus getting around the problem of question
>> 3?
>
> Yes, by issuing different SRV records with different ports for different
> domains. Here's an example setup I use:
>
> _xmpp-server._tcp.spaceboyz.net IN SRV 5 0 5269 spaceboyz.net.
> _xmpp-server._tcp.codetu.be IN SRV 0 10 15269 spaceboyz.net.
>
> spaceboyz.net listens on 5269 for production service, and additionally
> on 15269 whenever I want to run a development server for that other
> domain.

Again, not being a DNS expert, nor (possibly) even having access to
the DNS records, I guess I can't do this either.

>
>> Question 3: Why is it that some projects work with OpenFire but not
>> ejabberd, and others with ejabberd but not OpenFire?
>
> Many XMPP servers (ejabberd, OpenFire) support the XEP-0114 component
> protcol. Components have their own namespace in a DNS (sub-)domain, eg.
> conference.jabber.org.
>
> Projects like OSW chose to reuse PEP (XEP-0163) which is required in an
> XMPP server for users, and unfortunately is incompatible with the
> component protocol. Therefore server implementations come as custom
> patches for specific XMPP daemons.
>
>

If XEP-0163 is *required* in an XMPP server, then all servers must
implement it. So how can some servers also implement the incompatible
XEP-0114? In any case, it would seem there is no way to resolve this
problem.

J David Eisenberg

unread,
May 9, 2011, 7:28:13 PM5/9/11
to onesoc...@googlegroups.com
On Mon, May 9, 2011 at 4:06 PM, Daniel Renfer <duck1...@gmail.com> wrote:
> On Mon, May 9, 2011 at 12:28 PM, jdeisenberg <jdavid.e...@gmail.com> wrote:
>> I have set up a server to test a variety of open social network software. I
>> was able to install ejabberd and Jappix, and have created an ID under
>> Jappix. If I understand correctly, OneSocialWeb is also based on XMPP, so
>> the theory is that I should be able to post messages to my Jappix instance
>> and connect with people on OneSocialWeb instances.
>
> Jappix and Onesocialweb are doing things similarly, but not
> identically. Because of that, it's not possible to have full
> interoperability between the two just yet. (this statement is based on
> my looking at Jappix several months ago and not being able to get them
> to work together both ways. I'd love to be proven wrong)
>
>>
>> Question 1: how do I let people know that I'm out there on my one-person
>> server?
>
> How do you let people know you have an email address? You use it. Add
> people to your roster and start chatting them up, put it in your email
> signature and social networking sites, make a whole bunch of business
> cards and drop them from an airplane. Stuff like that.

Ah, OK. My name (at least for Jappix) is jdeis...@jappix.dsn-test.com

Thank you; I'm beginning to understand this better now.

>> Question 4: Is it possible to run both OpenFire and ejabberd on the same
>> server if I use different ports, thus getting around the problem of question
>> 3?
>
> See Astro's post

I was able to get Jappix to run by doing a mod_rewrite in Apache to
direct URLs destined for jappix.dsn-test.com to port 5280. From what
I gather from your answer to the previous question and Astro's post, I
can't do that same sort of trick to redirect to osw.dsn-test.com; I
must have a separate domain name and use DNS records to make it work.

Reply all
Reply to author
Forward
0 new messages