2014-02-27 56 views
1

我需要提示建立一個infrastructe發送1000個併發語音通話(自動IVR以及VoiceXML調用)。到目前爲止,我用voiceglue星號,但現在我有性能問題。如何實現Automed IVR呼叫的基礎設施?

的infrasturcture是這樣的:

  • 星號就會從隊列請求

  • 隊列消費者創建一個呼叫文件

  • 當通話結束後,調用文件讀取和狀態發送到應用服務器

說實話,我要求的技巧來實現像callfire [1]或Voxeo公司[2]基礎設施?

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

[2] http://voxeo.com/

回答

0

您可以參閱:

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

主要提示:WILL有問題ALOT。如果你不是專家,有星號的至少5年的發展經驗,你必須使用已經開發的核心撥號或租用大師。沒有開源的核心可以在單臺服務器上完成300多個調用。

你不能做的「剛剛好開發商」開發的應用程序單星號1000級的呼叫。它將無法正常工作。

1000次調用創建撥號核心的任務是「火箭科學」類型的任務。它需要非常特殊撥號核心,非常特殊的服務器/服務器tunning和非常專業的撥號與預先規劃。

1000調用將導致23Mbit與小包80Mbit帶寬使用率,即使這個簡單的事實可能會導致您在您的主機禁止,需要Linux網絡堆棧tunned。

1

CallFire的API有一個CreateBroadcast方法,您可以在幾秒鐘內用他們的XML拋出一個IVR。你可以在這裏的文件上讀了起來:

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

CallFire還提供了一個PHP-SDK,託管在Github上,對如何做到這一點的例子。該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 
}