2017-02-23 36 views
1

事情是我們必須做到的。在會議現場通話過程中,如果參與者按下某個DTMF​​(例如0),那麼我們必須移動該參與者以留下語音郵件操作。會議現場呼叫讓參與者留下語音信箱動作

讓我用案例來解釋你,我們究竟想做什麼。我們正在開發使用Plivo語音API的呼叫中心解決方案。在Plivo中沒有Call Queue功能,我們正在使用會議,如下面的步驟。

  • 當有來電時上Plivo號,直到我們得到與之連接的自由球員,我們將放置在保持音樂發佈會上說,電話。在這裏,一些時間來電者必須等待更長的時間才能與座席聯繫。我們希望提供諸如「按0安排回撥或按9將您的姓名和號碼留在語音信箱中並回復給您」等功能。

  • 在會議暫停期間,主叫方會按0或9位數字生成相應的操作,或者我們在數據庫中播放回叫請求,或者移動該呼叫者以留下語音郵件並掛斷呼叫。

您能指導我們如何使用此功能使用Plivo會議功能,或者您有任何一種方法可以管理呼叫隊列功能。

正如您在呼叫中心所瞭解到的,如果代理人接聽來電較少且呼入電話呼入量較高,則通過此功能,呼叫將在特定時間內保持隊列。呼叫者可以決定是否停留並等待隊列中的連接,或者通過選擇選項離開。

請讓我知道我們如何使用Plivo API實現此功能。

回答

1

我解決了我的自我。

首先創建會議

incomingcalltest.php

<Response> 
<Conference waitSound="<?php echo $url; ?>waitmusic.php" callbackUrl="<?php echo $url; ?>testcallbackurl.php" digitsMatch="0,9">testroom</Conference> 

</Response> 

比等待音樂

<Response> 

    <Play><?php echo $url; ?>MyMusicTherapy.mp3</Play> 
    <Speak>Please press 0 to disconnect the call or press 1 to leave a voicemail </Speak> 

</Response> 

不是創建回調URL頁面和編寫代碼創建waitmusic.php

$ConferenceDigitsMatch = $_REQUEST['ConferenceDigitsMatch']; 

    if($ConferenceDigitsMatch == '0'){ 

$p = new RestAPI($auth_id, $auth_token); 

$string = 'testroom'; 
$params = array(
    'conference_name' => $string, # ID of the call 
); 
$resp = $p->get_live_conference($params); 
foreach ($resp['response']['members'] as $num) { 
    $call_uuid = $num['call_uuid']; 
    $parameters = array(
     'call_uuid' => $call_uuid, 
     'aleg_url' => <?php echo $url; ?>.'test.php', # URL to transfer for aleg 
    ); 
    $transfer_call = $p->transfer_call($parameters); 

    } 

    } 

並創建用於語音郵件和過去代碼的轉接呼叫的新文件

<Response> 
    <Speak>Please leave a message after the beep. Press the star key when done. </Speak> 
    <Record action="<?php echo $url; ?>plivo_call_record.php" maxLength="30" finishOnKey="*" /> 
    <Speak>Recording not received.</Speak> 
</Response>