Federated VoIP is a form of packetized voice telephony that uses voice over IP between autonomous domains in the public Internet without the deployment of central virtual exchange points or switching centers for traffic routing. Federated VoIP uses decentralized addressing systems, such as ENUM, for location and identity information of participants and implements secure, trusted communications (TLS) for identify verification.
The traditional telephone networks are based on the principal of point-to-point communications, for example, an office building sends and receives phone calls over an ISDN line to the telephone exchange. Early Voice over IP deployments have copied this model, sending phone calls over SIP Trunking (a virtual equivalent of ISDN) to an Internet telephony service provider (ITSP) (a virtual telephone exchange). Such paradigms have striven to emulate many of the aspects of traditional telephony, such as the telephone number.
Although the use of virtual exchanges (soft-switches) and ITSPs has reduced the cost of telephony, they have retained many constraints of traditional telephone systems. The fundamental principle of federated voice over IP is that it removes this concept of a virtual exchange, just as email has eliminated the concept of a centralized system of post offices.
Although there is no formal specification for federated VoIP as a whole, the Session Initiation Protocol (SIP) and Extensible Messaging and Presence Protocol (XMPP/Jabber) both specify similar and compatible ways of implementing federated VoIP. In particular:
- the use of ENUM to identify the SIP or Jabber addresses associated with a phone number
- the use of X509 Digital certificates to allow the caller and callee to prove their identity to each other is specified in Domain Certificates in the Session Initiation Protocol and the Extensible Messaging and Presence Protocol (XMPP): Core (s13.7)
- the Debian project describes federated VoIP as part of their Unified communications initiative
- the OpenTelecoms project describes federated VoIP and gives various implementation examples
Implementation of federated VoIP involves a number of initiatives:
- (optionally) registering existing telephone numbers in a well-known ENUM service, typically the e164.arpa DNS domain.
- obtaining an SSL/TLS certificate for the domain(s)
- installing a SIP proxy, an XMPP/Jabber server, or both
- installing IP phones, or softphone applications on computers or smartphones
To achieve maximum success, most deployments involve both SIP and Jabber, to ensure connectivity to any other party that supports only one or the other. This is not so difficult in practice, as a network that uses SIP internally can operate a Jabber gateway, and a network that uses Jabber internally can operate a SIP gateway. In either case, the SIP and Jabber addresses are in the form of email addresses and are almost always identical, so there is no extra effort required for the user of the service.
Various open-source VoIP server products provide detailed instructions on how to implement federated VoIP.