I just ran across a very nice, cloud-like application called OpenVBX. Why this is interesting is that it literally took me ~15 minutes. to have a fully functional programmable PBX in the cloud.
OpenPBX runs on your own server. So, of course, to make it even more cloudy I provisioned a server in the cloud. I used RackspaceCloud in this case and provisioned an Ubuntu 10.04 LTS server w/ 256MB of RAM. Then, I needed to add some things to the server. The details are pretty clear in the getting started documentation on the OpenVBX site so I won't repeat all that here. It's a pretty standard PHP5 application.
I already had a Twilio account from some testing I had done before. But, to really be able to use the system I needed to upgrade from the free version to the paid. So, I stuck $20.00 in my account. This was the minimum Twilio would let me add unfortunately. I already at $30.00 from my signup bonus.
Once I had OpenVBX installed and connected to my Twilio account I simply provisioned a new phone number and then set up a call flow using their very intuitive GUI tools.
It just could not have been any easier really unless it was just a hosted service already and I didn't need to provision and install it myself. I'm sure someone already is doing that somewhere.
I've been impressed by Twilio from the start and OpenVBX is just as impressive. I immediately wondered how I would hook up an SIP/IP Phone to the service though. Is there a way to do that? I didn't see anything obvious. For now it just gave me a nice local phone number (800 #'s are available) and that will forward to the phone of my choice.
I might get more fancy and play around with the application/call flow builder. It's pretty cool and allows you to make those "press 1 to pay me $" type menus.
I will probably let this run for a month or two and see what utility I get out of it. I also have a Google Voice number. But, at least with this I'm a bit more in control of my data. Of course, the tradeoff is that I have to take care of it myself.
The application is a standard PHP5 application so I assume if I wanted to make it HA and scale it out it would be trivial. But then, I don't expect to be pushing crazy call volumes and needing to worry about it too much right now.