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.

22 comments:

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

    Thx.

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

    ReplyDelete
  3. Polo12:17

    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.

    ReplyDelete
  4. 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());
    }

    ReplyDelete
  5. Polo11:54

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

    ReplyDelete
  6. IM+ works fine as an Oracle Beehive Client

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

    ReplyDelete
  8. 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.

    ReplyDelete
  9. Marc C @oracle00:20

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

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

    ReplyDelete
  11. Anonymous08:45

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

    ReplyDelete
  12. Anonymous21:23

    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

    ReplyDelete
  13. Anonymous06:00

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

    ReplyDelete
  14. Anonymous18:16

    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!

    ReplyDelete
  15. Anonymous09:14

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

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

    ReplyDelete
  17. Anonymous22:10

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

    ReplyDelete
  18. Anonymous23:27

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

    ReplyDelete
  19. Anonymous20:02

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

    ReplyDelete
  20. 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

    ReplyDelete
  21. 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?

    ReplyDelete
  22. Anonymous17:47

    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?

    ReplyDelete

Note: Only a member of this blog may post a comment.