5.4.10

Android Beem XMPP Client Against Oracle Beehive XMPP Server

I’ve got my Android phone (Samsung Galaxy Spica) and was getting all the needed software from Android market.

One of the problem areas was to find a XMPP client that could connect to SSL protected custom XMPP server. In my case Oracle Beehive XMPP server.

One of the candidates was Beem XMPP client (tried version 0.1.2) which can connect nicely e.g. Google XMPP service. But trying to connect Beehive server with the “old port 5223” + SSL protection was something Beem was hanging forever.

I couldn’t find any other client that could do this (maybe there are), I decided to get the source code for Beem and debug the problem. Eventually found the issue and fixed the SSL connectivity problem in Beem source and voilà – Beem can now connect to Beehive XMPP server.

I’ve emailed the fix to Beem project group so maybe some day the fix will get into the new versions, until then you can get my fixed Beem application that can be downloaded here:

http://sites.google.com/site/droidprojects/file-cabinet/beem-0.1.3.1-sslfix.apk

Please note that you cannot use this application to update your current official Beem client since I used my own digital signatures to sign this custom fix. If you have Beem 0.1.2 installed, deinstall it first then e.g. point your mobile browser to the URL above and install the application. You will get notified about non-standard installation (installing applications form non-Android Marketplace), if you accept this you will get this application installed.

I’ve tested the modified Beem XMPP client both on Android 1.5 and Android 2.1. Seems to work well, at least in the cases where the server uses official (not self signed) server certificates for SSL.

25 comments:

Mr.LeLiZ said...

Excelent Harri, worked like a charm on my Motorola Milestone!

Thx.

Harri Kaukovuo said...

Thanks, I updated the post with a new link to Beem 0.1.3 that also has the same fix.

Polo said...

Good job. Can you upload your source please? I have a problem with ssl connection to my openfire server too, and may be it could help me.

Harri Kaukovuo said...

Look for BeemService.java, row 141 onwards. Fixed the errorneous settings_key_xmpp_tls_use comparison plus added SSL socket factory initialization.


if (mSettings.getBoolean("settings_key_xmpp_tls_use", true)
|| mSettings.getBoolean("settings_key_gmail", false)) {
mConnectionConfiguration.setSecurityMode(SecurityMode.required);
// Harri: Added SSL socket factory
mConnectionConfiguration.setSocketFactory(SSLSocketFactory.getDefault());
}

Polo said...

Thanks Harry, but it doesn't work for me.

Gilles Gravier said...

IM+ works fine as an Oracle Beehive Client

NorthboundTrain said...

I tried your patched version and it didn't work. Would it be possible to post your settings (sanitized, of course)?

Harri Kaukovuo said...

Something has changed in Beehive 2.0 that breaks the Beem client. The patched version worked fine with Beehive 1.5, and I don't unfortunately have now time to investigate this further. Please consider using IM+ Lite to connect to Beehive 2.x.

Marc C @oracle said...

FYI tried IM+ with no luck. I am running Android 2.2 on an HTC EVO.

Sirish said...

IM+ worked fine for me for Oracle Beehive server. I am using Android 2.2 running on LG optimus P500.

Anonymous said...

IM+ also worked fine for Sprint HTC Hero on Android 2.1

Anonymous said...

What settings did you use to get it to connect to an Oracle Beehive server?

I have;
Username: user.name@oracle.com
Password: password
Resource: default (Beem)

Advanced:
Require SSL: Checked
Specific Server Option: Checked
Address: stbeehive.oracle.com
Port: 5223

Anonymous said...

The app Jabiru works for me as a jabber client with Beehive 2.0.1.5

Anonymous said...

Jabiru works!
Here's what I did.
account name my.name@oracle.com
active: checked
jabber id: my.name@oracle.com
password: mypassword
resource: myid (beehive)
alternative host: stbeehive.oracle.com
server port: 5223
security mode: DISABLED! Very important. One would think this should be on but NO! It also causes a force close/crash!
Legacy SSL: Checked
Compress traffic: off/unchecked
That's it.
Thanks for the jabiru info! Finally!

Anonymous said...

Is there anyway we can configure zimbra mail on Android mobile?

Shesha Shila Bharadwaj said...
This comment has been removed by the author.
Shesha Shila Bharadwaj said...

Can someone post configuration for IM+.. to connect beehive

Anonymous said...

Jabiru worked for me to stbeehive as well! Thanks for the advice (IM+ and 0.1.6 of Beem both failed)

Anonymous said...

Tried Beem, reied the version of Beem posted here, no luck. Follwed the Jabiru instructions and it worked perfectly! Thanks!

Anonymous said...

Can anyone please help me with Jabber settings for Oracle Beehive in IM+ for Symbian?
Pleeeease help...

IM'pRoPeR said...
This comment has been removed by the author.
IM'pRoPeR said...

It works on IM+
I think the reason it didnt work for most people is prolly because of the incorrect resource name.
Here is the settings I used
mail: xyz@oracle.com
password: password
Host: stbeehive.oracle.com
Port:5233 Priority:5
Resource :oracle_uid-lap(stbeehive)
check Use old-style SSL


Save and connect
Hope this is useful

Unknown said...

IM+ configuration works well for me as well on my Droid 2 ... for Oracle pidgin, AOM and Yahoo Msgr. Two problems though ... 1.)when I have pidgin active on my desktop, nothing goes to my phone, 2.) when I lock the screen of my phone, IM+ connections disconnect as well making the app worthless unless the phone is active and wearing the battery down.

Ideas or suggestions?

Anonymous said...

I have Beem on my android phone and it was working fine until I had to change my password at Oracle. I can't seem to get the new password to be recognized on the phone. I can input the password, but there is nowhere to save it. any suggestions?

taki khondoker said...

I want to thank you for writing this article.This is great Article for me. It also more very informative & awesome. I expect more articles from you in future.
XMPP