Sometimes the existing options don't meet your specific needs, and you have to build your own.
Here, London-based online direct debit provider GoCardless describes how they built their own cloud phone system, dubbed Nodephone (they were using Node.js but switched to Rails). They created Nodephone because they wanted a metrics-driven phone system that had quality call tracking. In this post they describe how they used a combination of Ruby on Rails + Backbone, Heroku, Pusher, and Twilio to build their phone system.
We chose Heroku to give us super simple deployments and high availability so users can always reach us. Heroku offers a lot of addons as well, making it easy to add extras like log management, a Redis database or exception tracking in a couple of clicks with no billing complications.
Once the job has finished in the background (which usually takes seconds) the app provides a real-time update to clients using Pusher's web sockets.
Twilio, accompanied by popular tools and frameworks and some ingenious thinking makes it relatively simple to build powerful bespoke phone systems which run entirely in the cloud.