这是一个非常新手的问题。
我想知道如何创建一个用于拨打电话的网络应用,最有可能使用VOIP协议。
我必须学习哪些编程语言,包括客户端和服务器端?
答案 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)