Ask HN: Looking for info on server that has a phone number and receive call

5 points by manoj_venkat92 ↗ HN
Here's my requirement: I want to run a server preferably on linux that has a number to which a user can call and talk something and get his message recorded for later use. As I expect my number of users to be high, I want the server to handle multiple number of call connections from different users.

Can someone suggest a good way to get this done? Is this what call center softwares are about?

6 comments

[ 118 ms ] story [ 881 ms ] thread
Unless you have a very, very, very high tolerance for pain, you should be using Twilio. It abstracts away the entire telephony piece of that puzzle and lets you interface with it using, basically, standard web programming tricks, callbacks, and REST APIs. You don't have to worry about phone lines, concurrency (except as relates to a web application), etc.

Acceptable alternatives on the same model include Tropo and Plivo.

If you're dead-set on running your own telephone equipment, then get a book on Asterisk and may God have mercy on your soul.

(Context: I'm a boring ol' systems engineer who runs several hundred users sending thousands of messages a day from an only modestly complicated Rails app which uses Twilio. Up until a few days ago it fit comfortably on a 2 GB VPS. We use Twilio to provide users with numbers that they can call in and record messages on, and then we do interesting things to those recordings and then repurpose them in a scalable fashion.)

Wow.. Thanks for the very useful info. I'll look into the Twilio and Plivo. Is the service anyway location-dependent because to my web-app, I'm expecting calls only from India and so, I don't want my users to call an international number. Will it be an issue? I'm assuming the answer to be a no because Twilio runs on AWS which must make it location-independent.
You can buy Indian numbers with Twilio and make/receive voice calls and text messages. (See their site.) After the call hits the Twilio infrastructure, it is as location-agnostic as any other application interacting with APIs on the Internet. (One thing I do with Twilio is forward calls made to a US number to a Japanese number after doing trivial processing on them. My app runs on a server which happens to be somewhere in the vicinity of Chicago, not Japan.)

I'd assume things are roughly similar for Plivo/Tropo but I don't use them.

All true but you not yet buy India numbers from twilio https://www.twilio.com/voice/pricing/in

So you can call India but not receive calls on a local number

Thanks for the info. Actually, I just want to receive a user's call to a number and record his message. So, I guess Twilio is the answer.
Researched a bit on Twilio. Looks like it's the exact kind of thing I need. Thanks a lot, man. This was very helpful.