Sip 如何实现自动医疗IVR呼叫的基础设施?

Sip 如何实现自动医疗IVR呼叫的基础设施?,sip,asterisk,voip,ivr,voicexml,Sip,Asterisk,Voip,Ivr,Voicexml,我需要一些技巧来构建一个基础设施,以同时发送1000个语音呼叫(使用voicexml的自动IVR呼叫)。到目前为止,我在voiceglue中使用了星号,但现在我遇到了性能问题 基础设施是这样的: 星号从队列中提取请求 队列使用者创建一个调用文件 调用结束时,将读取调用文件并将状态发送到应用程序服务器 老实说,我想了解一些实现callfire[1]或voxeo[2]等基础设施的技巧 [1] [2] 您可以阅读以下内容: 主要提示:你将有很多问题。如果您不是至少有5年asterisk开发经验的

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

基础设施是这样的:

  • 星号从队列中提取请求

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

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

老实说,我想了解一些实现callfire[1]或voxeo[2]等基础设施的技巧

[1]

[2] 您可以阅读以下内容:

主要提示:你将有很多问题。如果您不是至少有5年asterisk开发经验的专家,那么您已经使用了已开发的拨号核心或聘请了专家。没有一个开源内核可以在一台服务器上执行300次以上的调用

你们不能在由“just nice developer”开发的应用程序中用一个星号打1000个电话。这是行不通的

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


1000次呼叫将导致23Mbit到80Mbit的带宽使用率,即使是这一个事实也可能导致您在主机上被禁止,并要求对linux网络堆栈进行调试。

您可以使用voxeo prophecy()这是一款能够同时进行语音呼叫的优秀服务器

注意:您所期望的要求不仅可以通过voxeo prophecy实现,还应该依赖于Tomcat、IIS e.t.c等web服务器,以防您处理Sql、Oracle e.t.c等数据库

请务必参考了解架构

您可以使用ICTBroadcast REST API将您的应用程序与重新命名的autodialer集成,有关详细信息,请访问以下链接


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

CallFire还提供了一个托管在Github上的PHP-SDK,并举例说明了如何做到这一点。SDK是最小的设置,允许您轻松地利用API强大的功能。可以在此处找到版本1.1,以及如何开始的说明:

方法调用可能如下所示。请注意所需的依赖项

<?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
}
CreateBroadcast($request);
$result=$client::response($response);
if($result instanceof Response\ResourceReference){
//成功
}

我已经使用星号和Freeswitch进行了手机验证和手机信息广播。我会选择Freeswitch和xmlrpc: