We will look at how to setup an Instant Messaging server on ScopTEL PBX using a free and open source XMPP based IM server.
Openfire is a real time collaboration (RTC) server dual-licensed under the Open Source GPL and commercially. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire offers rock-solid security and performance.
Install Openfire package
First we need to login as administrator into the ScopTEL PBX GUI and go on Server -> Packages Manager -> Version Informations. You must verify that the Openfire package is installed. If not, you have to click on the Install link displayed on the Status column.
Enable Instant Messaging integration
Now that Openfire package is installed, you must go to Telephony -> Configurations -> Modules and enable the Instant Messaging/Presence Integration option then click on the Save button.
You must now go to Telephony -> Configuration -> Instant Messaging menu. In the “Server Name” and “SIP Server” sections, fill in the domain for your local environment and click Save.
The next step is to enable the Instant Messaging service in the automatic boot process, you must go to Telephony -> General -> Services Status, click on the “Edit Service” button and check the service.
Create Instant Messaging extensions
Now let’s us create a new account for XMPP. Instant Messaging account are configured on Telephony -> Extensions -> Phones. Create or edit an existing extensions and go on the User Options tab and check the “Enable Instant Messaging” option.
Go on the Instant Messaging tab, fill in the “Username” and “Password” and click on “Save“.
[note color=#ddd]Note: You must issue a Commit in Telephony GUI after configuration modification. You must also verify that the Instant Messaging service is running in order to update Openfire settings and users during the Commit[/note]
Open Ports in your Firewall
If you have a Firewall in place you’ll need to open some ports before we can start configuring Openfire through its web interface. Openfire uses ports 5222 and 7777 for client connections and file transfer proxy respectively. If you use integrated ScopServ Firewall like I do, then go on Network -> Firewall and add Inbound rules for theses port.
DNS configuration in Jabber/XMPP
XMPP is a decentralized network, and relies heavily on DNS to achieve this. Any Jabber/XMPP user is identified by their address (JID) in the form ‘username@domain’, where the domain identifies the server that their account exists on.
In order for clients to connect and log in, they need to find the IP address of the server associated with their JID. Similarly remote servers which need to forward a message to a user also need to contact that user’s server to pass that message on.
This is achieved by looking up the domain in DNS, and most domains will need no extra configuration for XMPP. There are cases however that you will want or need to add/update your DNS records – this page explains when, why and how.
You can now log using your IM client
We highly recommend to use ScopCOMM client but you can use any IM client that supports XMPP to sign up with your Instant Messaging server.