Jabber gateway for jive (real thread!)

As a XIFFIAN developper, my goal is to make it compatible with others servers… One way to do it could be to make a gateway plugin which permits the user to login on a Jive Messenger server in order to access a ejabberd (example) server…

For example… I’‘m a user (myUserName) on flash-uncompliant-server.com , I know the XIFF library doesn’‘t permit me to connect directly because of null character problem and because it’'s a ejabberd server.

I would like to permit connections via a Jive Messenger server which is flash compliant to the flash-uncompliant-server.com server.

myUserName%flash-uncompliant-server.com@jive-server.org <–> Jive transition server <–> flash-uncompliant-server.com

Would it be possible?

How hard could it be to program it (is there plugins or gateways templates)?

Thanks

Hi Romain,

Messenger and ejabberd both support server-2-server (s2s) which allows users registered on one server to message users on another server. By default Messenger has s2s enabled but I’'m not sure about ejabbered (although I would suspect that it does). So, in your case, if myUserName@myMessengerServer sends a message to anotherUser@anotherEjabberdServer the message will be automatically routed; no coding is necessary.

Hope that helps,

Ryan

This is not the thing I’'m talking about…

I want to login on an account on server A (ejabberd) via a server B (jive)…

I know that s2s already exists… But I need more…

Your solution doesn’'t solve anything with the flash uncompliant servers problem!

b0ris,

I’‘m interested in hearing more about your use cases. Are you familiar with SAML and the Liberty alliance? The provide a SSO framework that grant’‘s preregistered users to login on one server and automatically be logged into another. It works by granting temporary “tickets” to the foreign server authorizing the principals access. Does this sound like something you’'re interested in?

Noah

I’'m developping XIFFIAN, using the XIFF library.

This library has a problem, it’‘s flash made! As flash made applications, it requires a NULL character at end of each XML node. The problem is: it’‘s not pure XMPP… It requires special servers (jabberd1.4, jive, OIM, …) and can’'t work with others (jabberd2, ejabberd…)

The goal is to use a Jive server as a “special proxy” to permit flash to logon on the problematic servers.

It’‘s hard to explain… I don’‘t know anything about SAML but I’‘ll have a look at it! I don’'t need tickets, I need the uncompliant packets to get a NULL character if needed…

userFromEJabberd <–-addsANullCharacter>/b JiveMessengerServer <connectsViaFlash–>[/b] XIFFIAN wants to connect a ejabberd Server via Jive!

I want users to connect on Jive as intended, and users from others servers to use Jive as a proxy which adds the NULL character…

I could seem strange… but some ppl who are working with flash may understand!

I misunderstood what you were after. I thought you wanted to login on one server and automatically be logged into the other. SAML and Liberty won’‘t help you (they’'re still interesting projects, but I digress :).

I wonder if Whack would be enough to provide a proxy to another server? Gato, what do you think? Or even the gateway api could simply create another socket to listen to incoming requests, perform the operation of adding a NULL to the appropriate XML stanza and send it onto the server.

Noah

Hi Romain,

Your solution doesn’'t solve anything with the flash

uncompliant servers problem!

Well, it does allow users of all sorts of clients to communicate with each other across different types of servers.

I want to login on an account on server A (ejabberd) via a server B (jive)…

I guess I misunderstood what you were after as well. But, I’‘m not sure that using Messenger is the best solution to this problem. If I’‘m running a ejabberd server and want to allow flash based clients to connect to it, I probably wouldn’'t want to have to install and configure another server just to provide that functionality.

I think Noah’'s idea of using Whack to build some sort of proxy or transport makes sense.

-Ryan

Including such a feature in Jive Messenger makes little sense. You can code a simple little gateway app that will connect to whatever XMPP server you want, and relay it to Flash with the zero byte. The problem with this is that it is using the IP address of the server, and many XMPP servers have a limit on how many connections can connect per IP. I believe jabber.org is limited to 20. So now you’'ve allowed more people to use your hosted XIFFIAN client by utilizing your XMPP Flash Gateway… but only 20 more than before.

b0ris,

Wouldn’'t it be simpler to get the other servers to support Flash XMPP clients? It took about 30 minutes of work to add the support in Jive Messenger.

Regards,

Matt

I had a couple of ideas…

  1. Allow anonymous logins to the Jive Server. When they try and use XIFFIAN with a server that doesn’'t like Flash, then log them into the anonymous account.

  2. Create a special user like xiffian@yourserver and log each person in using a unique resource like xiffian@yourserver/nickname. I’'m not sure if this one would work, I am still new to XMPP and how it works.

Wouldn’'t it be simpler to get the other servers to

support Flash XMPP clients?

Time that can be used to implement real, more cool features.

It took about 30

minutes of work to add the support in Jive

Messenger.

It would be much easier if Flash was patched by Macromedia…

Hasn’'t Jivesoftware good relations with Macromedia, do they? (cfr. ColdFusion MX 7) It would have been much more profitable if the above 30 minutes were spend to ask Macromedia to patch Flash…

I read in another thread that Flash also do not work with Google Talk…maybe someone here (Jivesoftware/XIFFIAN team/…) should contact them and ask if they also want to ask Macromedia to patch Flash. I guess they might have enough influence to save coders the work to add support for incompliant software