Federated VoIP

Background


Federated VoIP typically refers to:
  • Using ENUM to discover SIP and Jabber addresses associated with a particular phone number
  • Federated SIP, Federated XMPP/Jabber, or some combination of the two
  • Dynamically connecting from any one domain to any other domain without any pre-configured routing
  • Using the user's email address interchangeably as a VoIP/IM identifier (rather than forcing the user to have a Skype or IM address in addition to their normal email address)

Federated VoIP does not require any SIP trunks, intermediate VoIP providers, etc

Implementations of Federated VoIP


  • Unlike email, Federated VoIP (both SIP and Jabber) participants typically refuse non-TLS connections. In other words, using TLS is mandatory
  • Fortunately, both SIP and Jabber use the same type of certificates for Federated VoIP, so only one certificate is needed
  • Virtually all Jabber servers (for example, ejabberd) natively support the federation concept
  • SIP proxies typically support federation, but TLS support varies. repro and Kamailio are the optimal ones.
  • ENUM support is often an optional feature in SIP proxies, and it is not present at all in many Jabber clients
  • Software PBXes (e.g. FreeSWITCH, Asterisk) are NOT SIP proxies or Jabber servers: they are typically not suitable for federated VoIP on their own. They should be used as application servers in conjunction with a dedicated SIP proxy.

Technical overview


OpenTelecoms.org has a good technical overview with diagrams

SIP proxies suitable for Federated VoIP



Jabber servers suitable for Federated VoIP



Other aspects of a Federated VoIP deployment


It is highly desirable to provide all users within a Federated VoIP deployment access to a STUN/TURN server. The same STUN/TURN server will service both SIP and Jabber users:

  • reTurn from the reSIProcate project
  • TurnServer is another implementation of STUN/TURN
  • STUN & TURN Server - is an open source STUN & TURN Server (and client library), for UNIX/Linux platforms.

Provided that all phones/softphones support Internet Connectivity Establishment (ICE), STUN and TURN relay, the TURN server will ensure that users do not experience NAT problems.

Background


Federated VoIP typically refers to:
  • Using ENUM to discover SIP and Jabber addresses associated with a particular phone number
  • Federated SIP, Federated XMPP/Jabber, or some combination of the two
  • Dynamically connecting from any one domain to any other domain without any pre-configured routing
  • Using the user's email address interchangeably as a VoIP/IM identifier (rather than forcing the user to have a Skype or IM address in addition to their normal email address)

Federated VoIP does not require any SIP trunks, intermediate VoIP providers, etc

Implementations of Federated VoIP


  • Unlike email, Federated VoIP (both SIP and Jabber) participants typically refuse non-TLS connections. In other words, using TLS is mandatory
  • Fortunately, both SIP and Jabber use the same type of certificates for Federated VoIP, so only one certificate is needed
  • Virtually all Jabber servers (for example, ejabberd) natively support the federation concept
  • SIP proxies typically support federation, but TLS support varies. repro and Kamailio are the optimal ones.
  • ENUM support is often an optional feature in SIP proxies, and it is not present at all in many Jabber clients
  • Software PBXes (e.g. FreeSWITCH, Asterisk) are NOT SIP proxies or Jabber servers: they are typically not suitable for federated VoIP on their own. They should be used as application servers in conjunction with a dedicated SIP proxy.

Technical overview


OpenTelecoms.org has a good technical overview with diagrams

SIP proxies suitable for Federated VoIP



Jabber servers suitable for Federated VoIP



Other aspects of a Federated VoIP deployment


It is highly desirable to provide all users within a Federated VoIP deployment access to a STUN/TURN server. The same STUN/TURN server will service both SIP and Jabber users:

  • reTurn from the reSIProcate project
  • TurnServer is another implementation of STUN/TURN
  • STUN & TURN Server - is an open source STUN & TURN Server (and client library), for UNIX/Linux platforms.

Provided that all phones/softphones support Internet Connectivity Establishment (ICE), STUN and TURN relay, the TURN server will ensure that users do not experience NAT problems.

Created by: DPocock, Last modification: Mon 14 of Jan, 2013 (22:43 UTC) by mom040267
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+