I’m trying to create a custom Facebook chat, I’m using:
- ejabberd
- strophe
- apache
The apache is on one pc and the ejabberd is on a different machine, I proxy my request using
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
ProxyPass /http-bind http://my_bosh_domain:5280/http-bind/ nocanon
ProxyPassReverse /http-bind http://my_bosh_domain:5280/http-bind/
I log my requests and get the following error:
bosh module not started
when I check http://my_bosh_domain:5280/http-bind/ from my browser I can see:
ejabberd mod_http_bind
An implementation of XMPP over BOSH (XEP-0206)
This web page is only informative. To use HTTP-Bind you need a Jabber/XMPP client that supports it.
What am I missing?
Update
I’ve changed my proxy settings to:
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
and now I get the following response:
<body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh'
xmlns:stream='http://etherx.jabber.org/streams' sid='6093aa55412842f7be3de1b33fd2a307df4ae2fa' wait='60'
requests='2' inactivity='120' maxpause='120' polling='2' ver='1.8' from='chat.facebook.com' secure='true'
authid='3105619037' xmpp:version='1.0'>
<stream:features xmlns:stream='http://etherx.jabber.org/streams'>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>SCRAM-SHA-1</mechanism>
<mechanism>DIGEST-MD5</mechanism>
<mechanism>PLAIN</mechanism>
</mechanisms>
<c xmlns='http://jabber.org/protocol/caps' hash='sha-1' node='http://www.process-one.net/en/ejabberd/'
ver='TQ2JFyRoSa70h2G1bpgjzuXb2sU='/>
<register xmlns='http://jabber.org/features/iq-register'/>
</stream:features>
this is wrong I was expecting to get X-FACEBOOK-PLATFORM as one of the mechanisms.
Any idea?
After more then a week of struggle I got it to work, I switched to punjab instead of the node server and all works fine. so basically the structure is:
Strophe.js <-> Apache (proxy) <-> punjab <-> Facebook XMPP server