Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过web应用程序连接两个呼叫_Java_Web Applications_Telephony - Fatal编程技术网

Java 通过web应用程序连接两个呼叫

Java 通过web应用程序连接两个呼叫,java,web-applications,telephony,Java,Web Applications,Telephony,我需要在基于java的web应用程序中添加一个功能,允许用户单击链接,应用程序将自动呼叫用户和另一方,并在电话中连接他们 有人知道这意味着什么吗 谢谢万维网联盟提供了一套完整的语音交互标准,您会发现这些标准很有趣。有一种叫做VoiceXML的标记语言,它类似于HTML,由web应用程序生成。它与HTML的不同之处在于,它专门用于基于时间的语音交互,而不是视觉交互。因此,你不用看屏幕,而是听音频提示和计算机生成的语音。你不用打字和鼠标,而是顶嘴说话,你说的话会被语音识别器处理或录音 有许多公司使用

我需要在基于java的web应用程序中添加一个功能,允许用户单击链接,应用程序将自动呼叫用户和另一方,并在电话中连接他们

有人知道这意味着什么吗


谢谢

万维网联盟提供了一套完整的语音交互标准,您会发现这些标准很有趣。有一种叫做VoiceXML的标记语言,它类似于HTML,由web应用程序生成。它与HTML的不同之处在于,它专门用于基于时间的语音交互,而不是视觉交互。因此,你不用看屏幕,而是听音频提示和计算机生成的语音。你不用打字和鼠标,而是顶嘴说话,你说的话会被语音识别器处理或录音

有许多公司使用VoiceXML来自动化语音应答系统,他们每年处理数十亿个电话。你可能已经和他们谈过很多次了,却没有意识到这一点。Voxeo是这个领域最好的公司之一,他们有一个开发者网站,你可以在那里玩。Evolution允许您通过普通电话(或Skype)调用web应用程序。实际上,您与一个基于VoiceXML的web浏览器交谈,该浏览器将从Java应用程序服务器获取一个VoiceXML页面,“播放”给您,听您所说的,然后通过表单提交将其报告给您的应用程序,获取要呈现给您的下一个页面,等等

另一个相关标准是CCXML,或调用控制XML。您可以使用它来创建可能包含或不包含语音响应应用程序的电话会议

因此,在您的案例中,听起来您希望标准web应用程序与CCXML服务器通信,并要求它建立与web用户和客户服务热线的呼叫分支。我知道Voxeo Evolution也提供了CCXML


在这个领域也有其他优秀的公司。我想到的一个例子是,它是微软一两年前收购的。这两家公司(以及其他公司)也提供专业服务。

试试FreeSWITCH。我以前做过这件事。这很直截了当。当你需要记录电话计费和所有这些东西时,可能会有点麻烦。我希望能够为您提供一些指导原则和代码示例,让我先回家。干杯

使用FreeSWITCH的好处是,您将能够处理多个呼叫,以及相当多的问题。你将来可能需要这个

注意:您必须使用某种VoIP提供商才能做到这一点。当时我用的是Gizmo5,非常好

抱歉,伙计,在某处丢失了servlet代码。但不用担心,它是一个简单的servlet。幸运的是,我已经将我的XML-RPC示例Java代码添加到FreeSWITCH wiki中,事实上,这就是我的servlet正在调用的代码。下面是片段

XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
 XmlRpcClient client = new XmlRpcClient();
 try {
   config.setServerURL(new URL("http://localhost:8080/RPC2"));
   config.setBasicUserName("freeswitch");
   config.setBasicPassword("works");

   client.setConfig(config);           
   // For external phone calls using VoIP. We will use something like below.
   // new Object[]{"originate", "sofia/gateway/gizmo1/6098989898 &bridge(sofia/gateway/gizmo9/0116054545454)"} 
   // gizmo1, and gizmo9 are the accounts configured under freeswitch gateway configuration.
   client.execute("freeswitch.api", new Object[]{"originate", "sofia/internal/1001 &park()"});

 } catch (Exception ex) {
   ex.printStackTrace();
 }
此外,在执行此操作之前,您需要配置一些东西。您需要使用VoIP提供商设置设置网关


有关FreeSWITCH的帮助,请看一下。

因此我想写下这篇文章作为对上述评论的回答。Skype API为COM、Java和Python中的电话提供了许多选项:

  • Skype4Java-
  • Skype4Py-
  • Skype4COM-
它们为使用Skype提供了通信和命令协议层,有关API的更多信息,请参见:


对于每个平台来说都有点不同,Linux版本基于DBus或X11。

可以使用它们的新的、简单的会议API来完成。相信我,这真的很简单。另一个选择可能是,但我还没有(正式)尝试他们的服务

我知道有两个API提供程序可以满足您的需要:

1) -可以使用TwiML(其标记)连接到两个或多个参与方


2) -非常易于使用,只需一行RESTful api调用

Skype API?-Xepoch-GoogleVoiceAPI还不存在,但类似的东西将是理想的。Jon-快速查看一下Skype API,它似乎可以完成这项工作。非常感谢@Jon-为什么不将此作为答案发布?感谢您的输入Jim,我目前对这些标记语言和服务一无所知,因此我将研究这些标准,并研究实现所涉及的内容。有一个起点是很好的,因为当我开始查找时,我不知道我在寻找什么。Carlos,鉴于您正在寻找呼叫控制功能,我建议您首先在Voxeo进行测试(如果您计划进行大型商业部署,他们提供大容量托管和基于前提的解决方案). 其他支持CCXML的公司包括Aculab和Loquendo(我只是碰巧更密切地关注Voxeo,与他们合作过。)Jim,你听说过Joel指出的Twilio和CloudVox吗?他们看起来像是做Voxeo做的事情的初创公司,但使用的API更简单。我仍在想该怎么做,但CloudVox有非常简单且可扩展的计划,允许我只支付我需要的费用。Carlos,他们听起来确实很相似,所以一定要看看那些家伙。Voxeo有一系列API和一系列定价计划:你应该会发现这三个大致相当。与让服务提供商为我这样做相比,FreeSWITCH看起来很有趣,因为它可能会变得更便宜,因为一开始系统不会处理太多呼叫。Gizmo5被谷歌收购,他们不允许任何新的注册,所以我将不得不使用其他东西,但我相信这不会是一个问题。你能帮我找出那些指南和样品吗?我将不胜感激。您好。如果您希望一个工作应用程序将两个调用分支连接在一起,而不使用FreeSWITCH,那么我有一个编写非常糟糕的hodge podge,burte force thread handling,类似于使用JAIN-SIP的应用程序。但这只是我个人的荣幸,这是一个