Sip 如何实现自动医疗IVR呼叫的基础设施?
我需要一些技巧来构建一个基础设施,以同时发送1000个语音呼叫(使用voicexml的自动IVR呼叫)。到目前为止,我在voiceglue中使用了星号,但现在我遇到了性能问题 基础设施是这样的: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次呼叫将导致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: