2017-02-23 4 views
1

これは達成する必要があります。会議のライブコール中に、参加者が0のような特定のDTMFを押すと、参加者を移動させてボイスメールアクションを残す必要があります。会議ライブコールは、参加者はボイスメールの動作を残すように移動

ケースを説明しておきますが、私たちは正確に何をしたいのですか?我々は、Plivo音声APIを使用してコールセンターソリューションを開発しています。 Plivoにコールキューの機能はありません。次のような会議を使用しています。呼び出しがPlivo番号に来るとき、私たちはと接続するためのフリーエージェントを得るまで

  • することは、我々は、保留音と会議にその呼び出しを配置し​​ます。ここでは、発信者がエージェントとの接続に時間がかかることがあります。 「0を押してコールバックを設定するか、9を押して名前と番号をボイスメールに残して返信する」などの機能を提供したいと考えています。

  • 会議の保留中に、発信者は適切なアクションを生成するために0または9桁の数字を押すか、データベースでコールバック要求を再生するか、ボイスメールを残して電話を切るように発信者を移動します。

あなたは私たちがこの使用Plivo会議機能を使用するか、我々はコールキュー機能を管理することができる方法のいずれかの種類を持って行うことができますどのように私たちを導くことができます。

コールセンターで知っているように、着信呼および着信呼に応答するエージェントが少なくても、この機能を使用すると一定期間キュー内に留まります。発信者は、エージェントに接続するか、選択オプションを使用して退出するかのいずれかで、滞在して待ち行列に入るかのどちらかを決定できます。

Plivo APIを使用してこの機能をどのように実現できるか教えてください。

答えて

1

私は自分自身を解決しました。

最初のコールバックURLのページを作成し、コード

$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); 

    } 

    } 
を書くよりも、待機音楽のためwaitmusic.phpを作成

<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> 

より

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

</Response> 

incomingcalltest.php会議

を作成

とボイスメールと過去のコードの転送呼び出し用の新しいファイルを作成する

<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> 
関連する問題