We’re kicking off our Developer Spotlight series that will focus on showcasing what developers are building with Voxbone. Here’s Matt Williams who works on Project Clearwater and built a Voxbone integration to the platform at TADHack last year.

Integrating Voxbone SIP Trunking to Project Clearwater at TADHack 2014

For TADHack 2014, I integrated Voxbone with Project Clearwater, to allow Project Clearwater to receive calls and SMSs from the PSTN.

Project Clearwater is a massively-scalable, open-source IMS core, built from the ground up to run in the cloud.  It provides

  • IMS “I-/S-CSCF” function, acting as a SIP registrar and router, talking to an “HSS” subscriber database and invoking SIP application servers
  • IMS “P-CSCF” and “IBCF” function to act as a boundary between the (trusted) core of the IMS network (I-/S-CSCF) and the (untrusted) users or peer SIP trunks
  • a SIP application server to provide basic “MMTEL” call services
  • a sample self-signup/provisioning web UI to make it easy to get started.

Because Project Clearwater is designed to run virtualized, it is very easy to deploy – out of the box, the “all-in-one” images allow users to self-provision through a web UI, register SIP phones and make on-net calls – and it runs under Virtualbox on any PC.  For more advanced (and larger scale) deployments, there are Chef recipes for Amazon EC2Charms for deploying on Juju and HEAT templates for OpenStack.

Since Project Clearwater already supported the required IMS “IBCF” function to accept calls and SMSs in over SIP trunks without requiring authentication, the key challenge of the hack was to configure Clearwater and Voxbone correctly, and to fix any interop issues.

The steps involved were

  • Configuring Clearwater’s IBCF to consider Voxbone’s call and SMS gateways as trusted, and so to accept calls and SMSs from them.
  • Provisioning SIP URIs in Clearwater.
  • Reserving telephone numbers through Voxbone’s web configuration UI, and pointing them at the SIP URIs on Clearwater.

Fortunately, there weren’t really any issues (slightly to my surprise).  I had to double-check the SMS gateway IP addresses with Voxbone, as I couldn’t find them in the documentation but apart from that, it all just worked.  Once configured, I could make calls and send texts from my normal cell phone and receive them on a SIP phone registered through Clearwater.

For more information on Clearwater’s Voxbone integration, see http://clearwater.readthedocs.org/en/latest/Voxbone/, and for more information on Clearwater in general, see http://www.projectclearwater.org/.

Here's something else you might want to read
TADSummit Lisbon 2016