Uploaded image for project: 'HipChat'
  1. HipChat
  2. HCPUB-2526

Can't connect to HCS with adium or pidgin via BOSH

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Low Low
    • None
    • HCS 2.0.7, HCS 2.1.3
    • None
    • Severity 3 - Minor

      Problem

      Beginning with HipChat Server 2.0.7, the External XMPP fallback (ports 5222/5223) have been disabled by default. This will cause XMPP clients such as Adium and Pidgin to stop working.

      These latest versions of these clients, however, do have the ability to connect over BOSH.

      When trying to connect to HipChat Server with Adium or Pidgin with a BOSH-only connection , the following issues are encountered:

      • The clients fail to connect, complaining about a "No Session ID Given" error.
      • Punjab is failing during the session creation, because it's expecting a 'route' attribute. The following error can be seen in the /var/log/hipchat/punjab.log when trying to connect either of these clients:
        2017-01-06T17:10:22.116371+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] Unhandled Error
        2017-01-06T17:10:22.116387+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011Traceback (most recent call last):
        2017-01-06T17:10:22.116393+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat-scm/punjab/vendor/virtualenv/local/lib/python2.7/site-packages/twisted/web/http.py", line 1439, in dataReceived
        2017-01-06T17:10:22.116396+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    finishCallback(data[contentLength:])
        2017-01-06T17:10:22.116401+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat-scm/punjab/vendor/virtualenv/local/lib/python2.7/site-packages/twisted/web/http.py", line 1704, in _finishRequestBody
        2017-01-06T17:10:22.116404+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    self.allContentReceived()
        2017-01-06T17:10:22.116408+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat-scm/punjab/vendor/virtualenv/local/lib/python2.7/site-packages/twisted/web/http.py", line 1767, in allContentReceived
        2017-01-06T17:10:22.116411+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    req.requestReceived(command, path, version)
        2017-01-06T17:10:22.116415+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat-scm/punjab/vendor/virtualenv/local/lib/python2.7/site-packages/twisted/web/http.py", line 768, in requestReceived
        2017-01-06T17:10:22.116419+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    self.process()
        2017-01-06T17:10:22.116422+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011--- <exception caught here> ---
        2017-01-06T17:10:22.116428+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat-scm/punjab/vendor/virtualenv/local/lib/python2.7/site-packages/twisted/web/server.py", line 183, in process
        2017-01-06T17:10:22.116431+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    self.render(resrc)
        2017-01-06T17:10:22.116436+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat-scm/punjab/vendor/virtualenv/local/lib/python2.7/site-packages/twisted/web/server.py", line 234, in render
        2017-01-06T17:10:22.116440+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    body = resrc.render(self)
        2017-01-06T17:10:22.116444+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat-scm/punjab/vendor/virtualenv/local/lib/python2.7/site-packages/twisted/web/resource.py", line 250, in render
        2017-01-06T17:10:22.116448+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    return m(request)
        2017-01-06T17:10:22.116452+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat/punjab/current/punjab/httpb.py", line 432, in render_POST
        2017-01-06T17:10:22.116456+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    s, d = self.service.startSession(body_tag, xmpp_elements)
        2017-01-06T17:10:22.116460+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat/punjab/current/punjab/httpb.py", line 718, in startSession
        2017-01-06T17:10:22.116464+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    return self.make_session(self, body.attributes)
        2017-01-06T17:10:22.116468+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat/punjab/current/punjab/session.py", line 65, in make_session
        2017-01-06T17:10:22.116472+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    s    = Session(pint, attrs)
        2017-01-06T17:10:22.116476+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011  File "/hipchat/punjab/current/punjab/session.py", line 235, in __init__
        2017-01-06T17:10:22.116480+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011    .format(self.sid, self.rid, self.route or None))
        2017-01-06T17:10:22.116484+00:00 kbaxley-205 punjab: [_GenericHTTPChannelProtocol,4,127.0.0.1] #011exceptions.AttributeError: 'Session' object has no attribute 'route'
        

      Steps to Reproduce:

      • Install or upgrade to HipChat Server 2.0.7 or 2.1.3. Both of these releases disable the XMPP ports by default, which Pidgin and Adium normally connect over.
      • Re-configure Pidgin or Adium like so to enable the clients to communicate over BOSH:

      Pidgin

      • The "Basic" tab in Pidgin is populated with the following:
      • Username: Username field (eg. 1_12345)
        Domain: Everything after the "@" sign of the "Jabber ID" field (chat.btf.hipchat.com)
      • The "Advanced" tab in Pidgin uses this:
        Connect server: Connect host field (eg. hipchat.example.com)
        BOSH URL: https://<Connect host>/http-bind

      Adium

      • In the Account section in Adium Preferences go ahead and use the same Jabber ID and password that has been in use prior to upgrading.
      • In the Options section:
        Connect Server - Your server's full hostname (i.e. hipchat.example.com)
        BOSH Server - https://<connect host>/http-bind

      Actual Results

      Adium and Pidgin fail to connect over BOSH

      Expected Results

      No issues with connectivity when using the settings described above.

      Resolution

      This will be fixed in a post-version 2.1.3 HipChat Server update.

      Workaround

      If this is an urgent situation and connectivity to HipChat Server via Pidgin / Adium must be restored quickly, then please run the following command to re-enable the external-facing XMPP ports on HipChat Server:

      hipchat network --enable-xmpp-ports
      

              vcretu Vlad Cretu (Inactive)
              kbaxley Kent Baxley
              Archiver:
              mandreacchio Michael Andreacchio

                Created:
                Updated:
                Resolved:
                Archived: