VOIP: How to Create a Web app to make Call like skype or msn?

xRobot picture xRobot · Mar 14, 2010 · Viewed 61.5k times · Source

This is a very newbie question.

I want to know how to create a web app to make a telephone call, most likely using VOIP protocol.

What programming languages, both client and server side, do I have to learn?

Answer

Adam Kalsey picture Adam Kalsey · Mar 20, 2010

The primary question you need to answer to get started is are you looking for a computer to computer call or do you want your app to call a telephone number?

Since you specify that you want your "web app to make a call," I suspect you're looking for a way to place automated calls to a user's telephone. If that's the case, you've got a few options.

Install a VoIP server like Asterisk or Freeswitch and write code to have your web app interact with it. For Asterisk, the Adhearsion project can help by allowing you to write Asterisk integrations in Ruby. http://adhearsion.com/

Or you can use a cloud telephony service like Cloudvox or Tropo http://tropo.com (disclosure, I work for Voxeo, the company behind Tropo). These services allow you to use web programming languages and web services to talk to the phone system. You don't need to know anything about Voip to make it happen. A sample Tropo script...

<?php
answer();
say('Yes, it really is this easy.');
hangup();
?>

A side benefit to the cloud services is many of them allow your app to run over other communications channels (Tropo does IM and SMS, too).

The third option is to look into VoiceXML, a W3C standard for creating voice apps. Voxeo provides detailed docs and VoiceXML tutorials at http://vxml.org/. With a VoiceXML (sometimes called VXML) application, you can install a VoiceXML server and the associated VoIP bits or you can use a VoiceXML hosting provider. Voxeo provides both a downloadable server and hosting (both are free for developers), or a search for VoiceXML hosting will reveal a large number of options.