How to use Jabber™ with PSYC

Three ways in

First of all we must distinguish the three access ports for Jabber™. Although the protocol should permit it, the Jabber™ architecture cannot handle clients and servers on the same access port. That's why psyced requires to listen on 5222 for client access and 5269 for interserver traffic (what a port number ;)). Additionally 5223 is allocated for TLS/SSL clients, but STARTTLS support is available on port 5222 aswell.

Can I install psyced together with an other Jabber™ server?

On the same IP you mean? The dialback and addressing schemes of XMPP (the proposed standard protocol of Jabber™) do not permit to provide the service on other ports without using SRV-DNS records. So you first have to get familiar with SRV. Other than that it should work.

How do I address Jabber™ entities from PSYC?

You can address them by prepending "xmpp:" as in "xmpp:alice.cooper@jabber.com". Unfortunately there is no way to distinguish a person from a room or a service alone by its name, so you will have to figure that out for yourself. Chatrooms typically have "conference" in their hostname, but that is just a convention.

How do I address PSYC entities from the Jabber™ network?

Again since there is no way to distinguish people from rooms and services we had to make them up. First we did it the typical Jabber™ way which is to allocate a "conference.domain" hostname for chat groups, but we soon realized that this inhibits any ad hoc usage of the protocol even further as every conference server needs to be defined in the DNS domain before being even able to play around with it. We figured out a way to do it which is neither encouraged nor discouraged by the specifications:

We defined that rooms are always prefixed with the '*' character. If you want to address a person from Jabber™, use <user>@<host> from the PSYC network uniform. Subobjects cannot be addressed. Places have the address *<place>@<host>. So if you want to meet us, *welcome@psyced.org is what you need to tell your Jabber™ client. Any other objects and services are currently not addressable from Jabber™.

Using Jabber™ groupchat from PSYC

You can enter XMPP MUCs from PSYC by prefixing their JIDs with "xmpp:" as in "xmpp:jabber@conference.jabber.org". This is suboptimal, as it circumvents PSYC's multicasting, but it is better than no MUC support at all.

Using PSYC for Jabber™ groupchat

It is certainly a good idea to host your Jabber™ groupchat rooms on a PSYC server rather than on a Jabber™ conference server. PSYC will provide for better security, scalability through proper multicasting, fully programmable conference control and the stable implementation of the IRC access protocol will make it useful to more people than just Jabber™ users.

The MUC implementation in psyced however acts a bit differently from other MUCs. In regular MUCs users cannot be shown by their real address, as this would trigger spoofing protection. They are shown pseudo-anonymously as a nickname of the room. Consequently you cannot exchange messages with them directly. Instead you are given the "/msg" command which sends your private message to the room as only the room can resolve the recipient's nickname and forward the message to the final destination.

We have chosen not to support this practice, as it breaches your privacy. A person may decide to run a MUC server and invite all her friends in, and while they may keep some secret conversation behind her back, like the gift they are planning to buy for her birthday, she could modify her server to show her all "/msg" conversation not intended for her. When using PSYC from Jabber™ you are encouraged to always use direct messaging to the person, not send your private conversation through the room server, to avoid any potential abuse.

Another feature we are not planning to support is having multiple people chat with nicknames that differ only in upper/lower case. It's confusing, not useful.

Using psyced with Jabber™ clients

Yes, you can register and log into a psyced using its Jabber™ server emulation. This is still a bit experimental, but it has some advantages.

One is, you have the complete PSYC command set available if you prefix PSYC commands with a '+' or whatever character you have defined as a command character, although you need to use a trick to transmit commands to your PSYC identity. When the manual speaks of commands like /sub you will have to enter a room and send the commands to the room, at least apparently (prefixed by a '+' instead of the usual '/').

Two is, we managed to not confront you with a special new syntax to address people on the two chat network systems. All you do is insert the typical Jabber notation of user@host into your client, and the server will be smart enough to figure out if the person is still on Jabber or already on PSYC.




--
http://www.psyced.org/psyc-jabber.en.html
last change by lynx on lectern at 2009-11-25 23:39:18 CET