VOIP:如何创建一个Web应用程序来调用skype或msn?

时间:2010-03-14 01:11:18

标签: voip

这是一个非常新手的问题。

我想知道如何创建一个用于拨打电话的网络应用,最有可能使用VOIP协议。

我必须学习哪些编程语言,包括客户端和服务器端?

4 个答案:

答案 0 :(得分:18)

您需要回答的首要问题是,您是在寻找计算机与计算机之间的电话,还是希望您的应用程序拨打电话号码?

由于您指定希望“网络应用程序拨打电话”,我怀疑您正在寻找一种方法将自动呼叫发送到用户的电话。如果是这样的话,你有几个选择。

安装像Asterisk或Freeswitch这样的VoIP服务器,编写代码让您的网络应用与之互动。对于Asterisk,Adhearsion项目可以帮助您编写Ruby中的Asterisk集成。 http://adhearsion.com/

或者您可以使用像Cloudvox或Tropo http://tropo.com这样的云电话服务(披露,我为Tropo背后的公司Voxeo工作)。这些服务允许您使用Web编程语言和Web服务与电话系统进行通信。你不需要知道关于Voip的任何事情来实现它。 Tropo脚本示例......

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

云服务的一个附带好处是,其中许多允许您的应用程序在其他通信渠道上运行(Tropo也可以通过IM和SMS)。

第三个选项是研究VoiceXML,这是一个用于创建语音应用的W3C标准。 Voxeo在http://vxml.org/提供了详细的文档和VoiceXML教程。使用VoiceXML(有时称为VXML)应用程序,您可以安装VoiceXML服务器和相关的VoIP位,或者您可以使用VoiceXML主机提供程序。 Voxeo提供可下载的服务器和托管(两者都可供开发人员免费使用),或者搜索VoiceXML托管将显示大量选项。

答案 1 :(得分:9)

你的问题的答案实际上取决于你想用它做什么。以下是我如何解决这个问题的两个例子:

我为Go2Call.Com开发了软件(现在由Deltathree拥有),它用于PC到电话呼叫。在Go2Call的情况下,它是拨号程序前端的Java小程序,它调用了用C ++编写的Windows DLL。从那里开始,它采用专有协议与服务器通信,服务器又将呼叫发送到常规固定电话。

几年后,我写了一个基于网络(ActiveX控件),允许PC到PC或PC到电话的呼叫,它使用标准的H.323协议。

我建议首先弄清楚你的最终目标是什么,然后查找必要的协议和技术来实现它。

对于PC到PC,如果两个人都使用您的软件,您可以做任何您想做的事情。在这种情况下,您可以了解VOIP的工作原理(包括压缩编解码器等),并根据需要实现它。

对于PC-to-Phone或当你想打电话给别人的软件时,我建议使用SIP,因为它可能是最受欢迎的协议。 H.323仍然很普遍,但SIP似乎正在接管。

对不起,这可能不会告诉你一切,但它有很多。希望这能让你开始朝着正确的方向前进。

更新:由于您提到了PC到PC,Packetizer有一个标准列表和很多信息,当我进行大量的VoIP编程时,我已经回过头来了。

就书籍而言,到目前为止我看过的书籍与编程无关,但更多的是关于使用VoIP软件和安装VoIP网络。

答案 2 :(得分:1)

您可能希望购买一个允许您向网页添加SIP功能的组件(大多数是基于ActiveX的):

http://www.conaito.com/
http://www.vaxvoip.com/
http://www.pcbest.net/

至于你必须学习的语言,你已经学到了哪些语言?您开发了哪些语言的Web应用程序?这决定了您选择的语言。使用上面列出的组件会占用一些腿部工作,但仍然需要vbscript或javascript编码客户端,而那些activeX只能在Internet Explorer webbrowsers上工作。 如果您没有经验,那么您需要认真考虑您想要做什么,为什么,您愿意和愿意投入多少时间和精力。

答案 3 :(得分:1)

Gizmo5有一个在浏览器中运行的Flash软电话:GizmoCall 在服务器端,您可能会将其与任何语言的SIP解决方案相关联。 Asterisk浮现在脑海中,虽然根据您是否真的想要一个完整的SIP解决方案,它可能有点过分。