At work, we use our own jabberd2 XMPP server instance to communicate with each other. Apart from one-to-one chats, we use the MUC plugin to get company-wide and project specific chat rooms.
The jabberd2 server directly reads user data from our mail server database (see XAMS patch, MySQL view for jabberd2 on the mail server DB). Our benefit in hosting our own jabber server is that we have absolute security by employing SSL connections that nobody can eavesdrop. Sensible data are only being sent over servers that we control.
One thing that did not work yet was file transfer. The idea is easy: Simply drop a file from your desktop of file manager onto the coworker in your XMPP roster (contact list) and the file is being sent to him. Sometimes it worked when both are in the internal network, but not always, and not with all clients. The solution here is either open ports in the company firewall or a file transfer proxy.
proxy65 is such a one; it is easy to setup and does what it says on the tin - even if the last release was nearly two years ago. Installation was easy:
- Install twisted
- Install python-xml
- Install python-ssl
- Install proxy65 itself
After installation, you really should start proxy65 in debug mode:
twistd --nodaemon --logfile='-' proxy65 --secret=pass --proxyips=1.2.3.4 --rport=5347
- --secret
- specifies the jabberd2-internal router password
- --proxyips
- specifies the IP of the server your jabberd2 server is hosted on
- --rport
- jabberd2 router port
When everything is fine and running, you should see a new XMPP service in the service list:
Now you may add that jabber ID ("proxy65" in our case") as file transfer proxy to your account settings. Please note that, although sometimes it looks like a FQDN like proxy.jabber.org, this is a Jabber ID! It took quite a while until I noticed that.