1

我需要一些技巧来构建一个基础设施来同时发送 1000 个语音呼叫(使用 voicexml 的自动 IVR 呼叫)。到目前为止,我使用星号和voiceglue,但现在我遇到了性能问题。

基础设施是这样的:

  • 星号从队列中拉取请求

  • 队列消费者创建一个调用文件

  • 通话结束时,读取通话文件并将状态发送到应用服务器

老实说,我正在寻求一些技巧来实现像 callfire[1] 或 voxeo[2] 这样的基础设施?

[1] https://www.callfire.com/

[2] http://voxeo.com/

4

5 回答 5

1

CallFire 的 API 有一个 CreateBroadcast 方法,您可以在几秒钟内使用他们的 XML 抛出一个 IVR。您可以在此处阅读文档:

https://www.callfire.com/api-documentation/rest/version/1.1#!/broadcast

CallFire 还提供了一个托管在 Github 上的 PHP-SDK,并提供了如何执行此操作的示例。SDK 是最少的设置,允许您轻松利用 API 的强大功能。可以在此处找到 1.1 版,以及如何开始的说明:https ://github.com/CallFire/CallFire-PHP-SDK

方法调用可能看起来像这样。请注意所需的依赖项。

<?php
use CallFire\Api\Rest\Request;
use CallFire\Api\Rest\Response;
require 'vendor/autoload.php';

$dialplan = <<<DIALPLAN
<dialplan><play type="tts">Congratulations! You have successfully configured a CallFire I V R.</play></dialplan>
DIALPLAN;

$client = CallFire\Api\Client::Rest("<api-login>", "<api-password>", "Broadcast");

$request = new Request\CreateBroadcast;
$request->setName('My CallFire Broadcast');
$request->setType('IVR');
$request->setFrom('15551231234'); // A valid Caller ID number
$request->setDialplanXml($dialplan);

$response = $client->CreateBroadcast($request);
$result = $client::response($response);
if($result instanceof Response\ResourceReference) {
    // Success
}
于 2014-07-17T15:10:04.290 回答
1

您可以使用 voxeo prophecy ( http://voxeo.com/prophecy/ ),这是一款能够同时进行语音通话的优质服务器

注意: 您期望做的要求不仅可以通过 voxeo 预言实现,它还应该取决于 Tomcat、IIS 等 Web 服务器,以防您处理 Sql、Oracle 等数据库

请参考了解架构 http://www.alpensoftware.com/define_VoiceOverview.html

于 2014-05-07T06:30:30.220 回答
0

您可以使用 ICTBroadcast REST API 将您的应用程序与知名的自动拨号器整合在一起,请访问以下链接了解更多详情

http://www.ictbroadcast.com/news/using-rest-api-integerate-ictbroadcast--third-party-application-autodialer

ICTBroadcast基于星号通信引擎

于 2014-06-26T04:04:59.490 回答
0

您可以阅读以下内容:

http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

主要提示:你会有很多问题。如果您不是具有至少 5 年 Asterisk 开发经验的专家,您可以使用已经开发的拨号核心或聘请专家。没有开源核心可以在单个服务器上进行超过 300 次调用。

你不能在“just nice developer”开发的应用程序中对单个星号进行 1000 次调用。它只是行不通。

为 1000 个呼叫创建拨号核心的任务是“火箭科学”类型的任务。它需要非常特殊的拨号核心、非常特殊的服务器/服务器调谐和非常专业的带有预先规划的拨号器。

1000 次调用将导致 23Mbit 到 80Mbit 的带宽使用 SMALL 数据包,即使这个单一事实也可能导致您被禁止在您的主机上并需要调整 linux 网络堆栈。

于 2014-02-27T16:06:14.653 回答
0

我已经使用 Asterisk 和 Freeswitch 进行电话验证和电话消息广播。我会选择 Freeswitch 和 xmlrpc: https ://wiki.freeswitch.org/wiki/Freeswitch_XML-RPC

于 2014-07-17T15:16:02.910 回答