How to Spectrum IM support for OF [Alternativ for Kraken]

please dont spam this thread with error messages. If you got any errors, upload a log file or send me the log file via mail / pm.

What exactly is the error? The log doesnt show anything unusual. MSN takes some time with connecting (at least for us), so see if it’s still not connecting if you just wait for 20-30 sec.

Im currently working on a document with compiled information about installing & configuring spectrum2 and gojara.

It will be released alongside Gojara 2.1 which has some new features like being able to manage existing registrations & active gateway sessions and a overview page for spectrum2 stats.

Should be finished this week.

Axel

Gojara 2.1 is released, see attachment.

Guide for Spectrum 2 + Gojara is also released (with pictures!) see http://community.igniterealtime.org/docs/DOC-2601

If you have any suggestions on improving the guide, feel free to write.

Update: Removed error that was thrown when OF ran with some other UserProviders than default.

Update July 31: Fixed mysql database + changed how registrations are tracked. If you STILL get instantly unregistered after entering your credentials, please send pm / email

Update Aug 01: Made time diffs prettier, renamed the settings page

Update Aug 09: Gajim should have no problems tracking Un- / Registration packets now (for Registration Overview), + generally improved this process.

Update Aug 20: Fixed Gajim registration tracking for real this time, tested with version 0.15 (windows). Gojara pushes available presence when registering with Gajim so the transport connects automatically. Added option for presence pushing for gajim on startup, see server settings. Added info about gajim to Guide.
gojara.jar (238079 Bytes)

Hmmm, is this supposed to work with LDAP database?

java.lang.UnsupportedOperationException: User provider is read-only.
at org.jivesoftware.openfire.user.UserManager.createUser(UserManager.java:161)
at org.jivesoftware.openfire.plugin.gojara.sessions.GojaraAdminManager.(Goja raAdminManager.java:44)

Mh okay i didn’t think of this as we currently don’t use LDAP. For LDAP database you will have to manually create a technical user, as Gojara itself is not allowed to create it’s account but Spectrum 2 needs a user to communicate with.

Also, a non technical user is not really recommended for this, as he will probably get spammed quite a bit with spectrum messages.

If you already have a technical user for openfire admin or something, i could make it possible to select the user gojara should use for communication yourself.

Im not familiar with creating Users in LDAP,so if you know how to create a technical user it would be cool if you could document the steps needed, i could then add those to the guide.

Message was edited by: Axel-F. Brand: you don’t need to do this.

Yes, go ahead, make the patch for selecting the user.

LDAP user creation is largely dependant on the tools chosen. I use Eclipse’s Apache Directory Studio. Whoever has this issue, definitely already knows what to do.

Okay, i just tested something and we don’t actually need to CREATE the user at all. I will update my post with the new version, it just removes the code that is throwing an error. It should be actually working fine for you if you configured admin_jid according to the guide.

I actually don’t have Spectrum installed yet. I just noticed GoJara wasn’t showing up in Openfire while it probably should, independent of the order of configuration.

hey guys

keep having the same problem when following the new tutorial posted.

i had the problem “unable to register with transport” when I try to connect to msn or gmail by the button on spark.

I do not know where I might be missing …

anyone ever had this error and resolved?

Yes we actually had this quite often (and were able to fix it every time), it is likely the cause of not correctly configuring the JID of the component or DNS issues.

Please PM/ email me your server name, host name / xmpp domain as well as your spectrum config file then we can have a look at this.

(icq example)

If setting the JID of the component to icq.your-domain ( Server -> Server Manager -> System Propeties -> xmpp.domain ) does NOT work, try setting it to icq.server-name / icq.hostname.

Edit:

Also please remember that you should STOP spectrum2 with spectrum2_manager stop (or stop the single component with spectrum2_manager $jid stop) BEFORE changing the jid. SPECTRUM 2 will not be able to stop the component after you change the jid in the config file. You will then have to do something like “ps auxw | grep spectrum” to find & kill the backends you left running, as spectrum 2 doesn’t know how to adress these anymore.

Message was edited by: Axel-F. Brand

Hey,

I’m using OpenFire 3.8.2 and just switched over to Gojara+Spectrum2.

I’ve followed the instructions and have a test ICQ and MSN transport running, which show up under “Active Sessions -> Component Sessions”. I can also see the two transports in Service Discovery (using Gajim) and register to those. I can’t see any registrations in “Sessions -> Tools -> Gateway Registration Overview”

Afterwards nothing happens, though. The transport shows up but doesn’t do anything. I’ve tried the same exact setup with Kraken which worked flawlessly.

My logfile shows a weird WARN: RosterResponder: myuser@mydomain.tld: User is not logged in.

Here’s the logfile spectrum2.log of the icq transport (clean start, registered to transport afterwards): http://dpaste.com/1322012/

And here’s the logfile of its backend: http://dpaste.com/1322013/

The config file is: http://dpaste.com/1322014/

Thank you in advance. I btw can’t connect to your conference room right now.

OK I’ve discovered one thing: the table ofGojaraSessions wasn’t created because the SQL is wrong (at least for MySQL):

ERROR 1170 (42000) at line 2: BLOB/TEXT column ‘username’ used in key specification without a key length

So I’ve modified the gojara/database/upgrade/1/gojara_mysql.sql to have a limit on the indices (PRIMARY KEY (username(255), transport(255))).

The original problem still exists, though. I can’t get the transports to work as stated in my original posting.

One thing I’ve also noticed is that when performing a clean registration to one of my Spectrum2/Gojara transports, the Spectrum2 log shows:

2013-07-30 21:53:55,502 INFO AdminInterface: Message from admin received: ‘unregister myuser@mydomain.tld’

2013-07-30 21:54:01,962 INFO AdminInterface: Message from admin received: ‘unregister myuser@mydomain.tld’

2013-07-30 21:54:02,102 WARN RosterResponder: myuser@mydomain.tld: User is not logged in

Whereas myuser is my real jabber user and mydomain.tld my FQDN.

Update:

I’ve managed to get it working partly, by removing gojaraadmin@mydomain.tld from admin_jid and adding my own jabber ID. Somehow the gojaraadmin user removes my registration immediately.

Hey!

First: thanks for the fix for the mysql error, we’re using postgres here so that didn’t came up when testing it. I fixed it according to your response.

I’ve read through your logs, somehow gojara seemed to send the unregister command after you logged in. You’re sure you didnt do this manually right? It’s really weird that it does that.

I’ll try to figure out why it sends those unregisters When removing / replacing admin_jid, unregisters / stats gathering wont work, but session counting should be ok as long as you dont restart gojara. Everything else should work fine though.

Okay, please try out the new version that is attached to the original post, i’ve updated it.

If you still get the instant-unregister error with the admin_jid = gojaraadmin, please let me know, i will then try something different

Works now, partially. Thank you very much. I’ve still noticed some weird behaviour/bugs/additional stuff, though:

  • when I initially register for a Spectrum transport it stays offline and the log shows the unregister events again. But right after I force the custom status for that transport as “online”/“available”, it registers correctly.So the initial bug is only partly fixed.
  • also when I register to a Spectrum transport after I rebooted everything, or after I’ve restarted my client, I only get “RosterResponder: user@domain.tld: User is not logged in”. Until I manually set my custom status for that transport to online nothing happens
  • I’ve talked to Vitaly from Spectrum about an ICQ connection problem and he fixed his [purple] config advice on his website (should be mentioned in the tutorial), it’s now:

[purple]

server=login.icq.com

use_clientlogin=1 #was 0

encryption=no_encryption #was 0

  • if I happen to have a gojara.jar in my downloads folder and download the new one (which will result in “gojara (1).jar”), and I upload that, it messes up the plugin. “Server Settings” shows “rr.summary.title” where GoJara normally is.
  • why is the Uptime in Spectrum2 gateway stats in the “Seconds Minutes Hours Days” format? I’d rather it the other way around or using some %days %hours:%minutes:%seconds.
  • Kraken2Spectrum doesn’t work for me, it always shows “Currently migrating… 0 registrations done.”

can you help with cfg spectrum file for use twitter?

Has anyone had success installing Specturm 2 on RHEL5?

Sorry i can’t help you with that. You should probably speak to those guys from www.spectrum.im (join their conference room: spectrum@conference.spectrum.im )

We’re running RHEL6, but if installing from their repositories doesn’t work for you, you could probably build it from source.

If you want to do this, take a look at http://spectrum.im/documentation/installation/from_source_code.html

If you encounter any problems i could try to help you if you want, i built it from source too ( i commited a very small patch to s2 some time ago so i had to)

Hey!

Would be cool if you could send me some fresh logs?

The logs you provided last time were very helpful (only need spectrum.log now though ).

I think the problem is that gajim probably sends slightly different packets to OF for register/ unregister than spark and I need to tune this a bit. If you have some kind of debug log in gajim client it would help to see whats in the register / unregister IQ packets that gajim sends.

I’ll say something about the ICQ problem in the guide, thanks for the suggestion

I’ve changed some of the occurences of rr.summary.title so Settings page is always called Gojara, you probably shouldnt rename the file though, it really doesn’t like that.

Also changed the way the time diff works in new Version.

Related to kraken: You probably need to refresh the page after you hit go, it doesnt auto refresh. If its still not working for you please write that in the thread of the plugin and we’ll see what we can do