New to Chat - Chat Client in a Web Page?

I’m a raw beginner with chat functionality. I really like the browser-based client program called “Prodromus.”

Now that I have Openfire running on my server, and can easily access the Admin Console…

Questions:

  1. Does anyone know of how to configure “Prodromus” to use Openfire?

(It seems like this would be a simple thing to do, owing to the relative simplicity of “Prodromus,” but I don’t know enough how to do it.)

  1. If not, what web-page-embedded chat client WILL work with Openfire?

  2. How do you set up (answer to 2) to use Openfire?

Thank you for answers.

Sincerely,

Hi, you just need to change the server settings to allow anonymous login and enable http bind in openfire and on Prodromus, you need to edit the prodromus.js file, change the ‘XMPP_SERVER’: to IP of your server, BOSH_SERVICE to http:///http-bind/ RECEIVERNAME to the client you want to send the messages to, username@IP, and you’re all set. In order to avoid hastle of setting up an apache server and mod_proxy to circumvent the JavaScript same origin policy, use internet explorer first.

1 Like

Thank you for the reply, “youjelly.” I need to clarify a few things that you wrote:

  1. What menu/submenu of the Admin program allows me to “allow anonymous login?”

  2. As for setting up Apache for mod_proxy, I had no problem in doing this. (I’m a Linux guy, and believe me, it’s easier for me to do that than to try and dig up a machine with Windows and IE on it.)

  3. The thing that -REALLY- confuses me is the htaccess.sample file, which I renamed .htaccess in order to use it. That file contains this information:

RewriteEngine On

RewriteRule http-bind/ [http://xmpp.wonderland.lit:5280/http-bind/](http://xmpp.wonderland.lit:5280/http-bind/) [P]
  1. If I’m “reading you right” shouldn’t this change too?

I did an “nmap” on my server while Openfire was running, and I didn’t see port 5280 being monitored. (?)

Furthermore, when I do browse the http:///prodromus.html file, give it my name and connect, here is what I see on the screen in those neat-looking, cartoon-like “text baloons”…


Connecting…

System, 09-13-2012 03:28:44

SEND: <body rid=‘1843247255’ xmlns=‘jabber.org/protocol/httpbind’; to=’’ xml:lang=‘en’ wait=‘60’ hold=‘1’ content=‘text/xml; charset=utf-8’ ver=‘1.6’ xmpp:version=‘1.0’ xmlns:xmpp=‘urn:xmpp:xbosh’/>

System, 09-13-2012 03:28:44

Disconnecting…

System, 09-13-2012 03:28:44

What is this telling me besides the obvious … that it isn’t working like I expect it to?

Thanks again for your help!

  • Bill

Hi, you need to specify the absolute URL for the boshe service, http://<yourserver/http-bind/ (make appropriate changes in apache to redirect it to http://:7070/http-bind/, you can check which port by looking at server settings>http-binding>port) also, the anonymous login setting can be found n the admin console under server settings>registration&login>Anonymous Login, one more thing you can try is to check http-binding is enabled (server settings>http-binding) and Script syntax is enabled too (server settings>http-binding)

If all of that fails you can try changing the cross domain policy file to this:

<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM

http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd”>

save it as crossdomain.xml and place it in <openfireHome>/conf/ and reload the server.

Thanks again “youjelly” You rock!

Everything you wrote makes sense to me EXCEPT for this…

You need to specify the absolute URL for the boshe service,

[http://](http://)<yourserver/http-bind/ (make appropriate changes in apache to

redirect it to [http://](http://)<yourserver>:7070/http-bind/, ...

I just can’t seem to understand this … is “http-bind” a directory???

Please clairify.

  • Bill

Hi Bill,

Openfire serves the bosh requests on this URL, http://:7070/http-bind/ (try it from the browser). so you need to configure mod_proxy to forward incoming requests on http:///http-bind/ on port 80 to http://:7070/http-bin/ (yes and the last forward slash is important)

Regards.

Youjelly,

I tried…

http://:7070/http-bind/

…from the browser and this is what I received:


HTTP ERROR 400

Problem accessing /http-bind/. Reason:

Bad Request

Powered by Jetty://


Is that good so far?

  • Bill

This is my proxy.conf file (without revealing the actual server domain name).

Does anyone see any errors in it?


If you want to use apache2 as a forward proxy, uncomment the

‘ProxyRequests On’ line and the <Proxy *> block below.

WARNING: Be careful to restrict access inside the <Proxy *> block.

Open proxy servers are dangerous both to your network and to the

Internet at large.

If you only want to use apache2 as a reverse proxy/gateway in

front of some web application server, you DON’T need

‘ProxyRequests On’.

ProxyRequests On

<Proxy *>

AddDefaultCharset off

Order deny,allow

Deny from all

Allow from

<Location /http-bind/>

ProxyPass http://:7070/http-bind/

SetEnv force-proxy-request-1.0 1

SetEnv proxy-nokeepalive 1

Enable/disable the handling of HTTP/1.1 “Via:” headers.

(“Full” adds the server version; “Block” removes all outgoing Via: headers)

Set to one of: Off | On | Full | Block

#ProxyVia Off

That’s perfectly fine Bill, from the browser you would get a 400 error message, its when you use the bosh client, you’d be able to login, just make sure entering either http://:7070/http-bind/ or http:///http-bind/ are both giving you the same page.

Excellent advice, youjelly! The…

http:///http-bind/

…is giving me a “403 Forbidden”.


Forbidden

You don’t have permission to access /http-bind/on this server.


Apache/2.2.17 (Ubuntu) Server at Port 80

Hmmm…

Okay, I fixed that problem, and am getting close to the overall solution. The 403 Forbidden problem is best shown solved by this code in Apache2’s /etc/apache2/mods-available/proxy.conf file:

ProxyRequests On

<Proxy *>

AddDefaultCharset off

Order deny,allow

Deny from all

Allow from

ProxyPass /http-bind http://:7070/http-bind/

ProxyPassReverse /http-bind http://:7070/http-bind/

<Location /http-bind/>

Order allow,deny

Allow from all

**QUICK UPDATE: **this (below) is no longer a problem. I see the workgroup I want to see after yet-again rebooting the Openfire server.

BUT … How do I login as an “Agent” to chat with clients using the anonymous connection?

To put it another way - what does it take to change the “Offline” status to “Online?”


Now, my major problem is trying to see workgroups. Sigh. When I browse to…

http://:8080/webchat/

…here is what I see…


Fastpath Web Chat

List of available workgroups within Fastpath

Click on one of the following workgroups to join.


No “workgroups” are shown. I tried adding a new “Group” from the Openfire Admin Console, but that didn’t help. What am I missing?