Unified communications refers to the convergence of communication technologies, in particular, email, instant messaging, voice telephony and video conferencing.
In the telecoms domain, the word "convergence" is often used on its own to refer to Unified Communications.
The Debian platform offers:
- a range of server/infrastructure packages to support Unified Communications
- a range of user applications (for instance, email, chat, softphone, click-to-dial)
- infrastructure packages to support Unified Communications initiatives (for example, DHCP and TFTP servers for booting VoIP phones)
See the RTC Quick Start guide for step-by-step instructions to build your own RTC environment.
Federated Voice over IP (VoIP)
Federated VoIP takes the Unified Communications concept one step further: routing of any type of session (VoIP, chat, video) between any two arbitrary domains - for example, from one company to another, or from a private account to a business.
True Federated VoIP works like email. Email (SMTP) relies on the use of MX records to discover the mail handling server for any arbitrary domain - the sender of an email never has to configure any routes manually. Federated VoIP uses DNS SRV records in the same way the SMTP uses MX records.
Getting on-board the Federated VoIP movement simply requires:
- setting up some kind of server for SIP, Jabber or both (see the Quick start below)
- putting an SSL/TLS certificate on the server
- setting up the DNS SRV records so that people can find your server
Email does not require SSL/TLS, but many people consider it a mandatory part of Federated VoIP, partly as a way of avoid the issues of forgery, impersonation and spam that plague the email network. A single SSL/TLS certificate can be used for both SIP and Jabber.
Federated VoIP is easy for the user. The user does not need to know if the person they are calling (or even their own account) uses SIP or Jabber: their user agent, typically a softphone, chat program or the SIP proxy behind their desk phone will work this out automatically from DNS SRV records.
Quick start (server)
The easiest way to build a unified communications service with support for federated VoIP is to start with these two packages:
The RTC Quick Start guide for Federated VoIP specifically shows how to setup everything required on Debian, including DNS entries, firewall rules, certificates and the package configuration.
- a convenient web interface
- choice of flat files or MySQL database backend (for user credentials)
- full Internet connectivity for Federated VoIP
- repro also supports ENUM for translating phone numbers to SIP addresses, this works out of the box
Once repro and jabber are running, other packages like Asterisk and FreeSWITCH can be considered for more advanced functionality (e.g. phone queues, DTMF-based menus, voicemail).
Quick start (user experience)
The empathy chat application installed by default with the Gnome desktop offers a good Jabber/XMPP experience, but with limited TURN support for users behind NAT.
Additional packages to consider are Jitsi, Pidgin and Ekiga.
WebRTC (using something like JSCommunicator) also offers a very quick way to develop a convenient user front-end.
Please also see UnifiedCommunications/ClientSoftwareComparison
All VoIP packages on Debian
A good place to start looking for VoIP packages on Debian is the Teams/VoIP page.