The pricing issue seems to be very dependent on the application.
[Note: I am under the impression that Twilio charges $0.03/min for both outgoing and incoming calls -- is that correct?]
Across two projects which are 90% inbound calls (basically office PBXes with some simple voicemail/etc), I've been using VoicePulse for SIP origination/termination [1], with an Asterisk instance running on a web server VPS, since 2007. It's currently $13.95/month for one local phone number, with up to 4 simultaneous channels, and free inbound calls. Outbound US calls are typically about $0.015 to $0.020/minute.
Advantages: it's straight-up SIP (used to be IAX2), and has been working reliably for me for years. If I want to change SIP providers, I port my number and change a few lines in the Asterisk configuration file (but I've been happy with VoicePulse). And since I've got mostly incoming calls, I don't have to think about any usage costs there. Also, I can and do use standard SIP hardware phones over the internet as office phones, or use a software client -- I don't have to have it forward calls to another "real" phone with its own monthly charges.
Disadvantages: it is limited to 4 simultaneous calls (you can pay for more, though). This doesn't have any effect for my applications, but if you were trying to scale, I could see how it might. I don't get cool features like audio transcription. And I have to use Asterisk's less-than-straightforward logic for dialplans, etc.
At the end of the day, if I had to re-implement these two projects from scratch today, I would definitely consider Twilio for at least one of them. There may be an opportunity here for Twilio to capture recurring revenue from low intensity users: free inbound plus a larger monthly charge is a much more predictable bill for me, and to some degree I'm willing to pay more per month to be able to ignore incoming minute charges. That's a customer that consumes few resources but pays a non-trivial monthly subscription fee -- which is a customer I'd guess Twilio would like to have.
If you want to write an app that you can move between multiple providers or run yourself (ie, it's legitimately portable), and/or want to choose your own SIP carrier, feel free to use Cloudvox [1].
Every app gets a SIP URI that any carrier's phone numbers can route to [2]. Our prices are much lower for third-party SIP calls, since we don't have telecom costs. It's free to sign up, as are local SIP phone calls (like between your SIP phones and your apps).
Apps use PHP-AGI, Adhearsion, Asterisk-Java, or any other Asterisk-compatible client library [3], or there's a HTTP/JSON interface [4].
We're fundamentally a cloud-scale Asterisk hosting service, like Heroku for phone/SMS services, so we aren't trying to get people to marry our API. If we don't do our jobs, take your app with you.
I am moving away from voicepulse, in part because in the past six months I've paid $396 in DID fees, $20 in non-enumerated fees, $56 in non-enumerated adjustments, and $62.92 in usage.
The fact that we were unsatisfied with the ease of programming voice apps in Asterisk and FreeSwitch compared to Twilio also factored into the decision.
There's a little risk associated with dealing with a startup, but I'm willing to eat that. We don't have a vanity 1-800-#, so we can change the customer-facing numbers in a day if Twilio disappeared overnight.
[Note: I am under the impression that Twilio charges $0.03/min for both outgoing and incoming calls -- is that correct?]
Across two projects which are 90% inbound calls (basically office PBXes with some simple voicemail/etc), I've been using VoicePulse for SIP origination/termination [1], with an Asterisk instance running on a web server VPS, since 2007. It's currently $13.95/month for one local phone number, with up to 4 simultaneous channels, and free inbound calls. Outbound US calls are typically about $0.015 to $0.020/minute.
Advantages: it's straight-up SIP (used to be IAX2), and has been working reliably for me for years. If I want to change SIP providers, I port my number and change a few lines in the Asterisk configuration file (but I've been happy with VoicePulse). And since I've got mostly incoming calls, I don't have to think about any usage costs there. Also, I can and do use standard SIP hardware phones over the internet as office phones, or use a software client -- I don't have to have it forward calls to another "real" phone with its own monthly charges.
Disadvantages: it is limited to 4 simultaneous calls (you can pay for more, though). This doesn't have any effect for my applications, but if you were trying to scale, I could see how it might. I don't get cool features like audio transcription. And I have to use Asterisk's less-than-straightforward logic for dialplans, etc.
At the end of the day, if I had to re-implement these two projects from scratch today, I would definitely consider Twilio for at least one of them. There may be an opportunity here for Twilio to capture recurring revenue from low intensity users: free inbound plus a larger monthly charge is a much more predictable bill for me, and to some degree I'm willing to pay more per month to be able to ignore incoming minute charges. That's a customer that consumes few resources but pays a non-trivial monthly subscription fee -- which is a customer I'd guess Twilio would like to have.
[1] http://www.voicepulse.com/connect/