2017-08-16 5 views
0

私はダイヤルして応答されたコールの後にメニューへのアクセスを有効にしようとしています。たとえば、エージェントは電話をかけるために動詞を使用する番号をダイヤルします。コール中に、呼び出された人は、別のエージェント、内線またはキューに転送されるように求められます。私は会議に電話をかけ、hangupOnStar属性を使って相手を保留にして、エージェントがコールをさらに操作するが失敗したというメニューを表示する方法について読んだ。 「*」ボタンを押すと通話が終了するため、DialCallSidは更新できない完了した通話に属しているようです。Twilioでは、発信コールに応答した後、どのようにメニューにアクセスできますか?

+0

これを試したコードを共有できますか?おそらく私たちはそれを修正することができますか? – philnash

答えて

0

私は元々これを間違った方法で行っていました。これはアウトバウンドコールのため、「保留中」の会議を正常に作成し、REST APIを使用して発信者にダイヤルしてから、その発信者を会議に追加することができました。また、hangupOnStar属性を利用して、会議を離れてメニューに行くこともできました。ここで

は私の最初の関数のコードです:

public function makeOutboundConference(Request $request) { 
    $sid = "ACxxxxxxxxxxxxxxxxxxxxxxxxx"; 
    $token = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"; 

    $response = new Twiml(); 
    $dial = $response->dial(
    [ 
     'hangupOnStar' => true, 
     'action' => 'url-to-incall-menu', 
     'method' => 'POST' 
    ] 
); 
    $dial->conference("On Hold", 
    [ 
     'beep' => false, 
    ] 
); 

    $client = new Client($sid, $token); 

    try { 
    $call = $client->calls->create(
     $to, 
     $callerId, 
     array('url' => 'fq-url-to-connect-caller') 
    ); 

    } catch (Exception $e) { 
    error_log("Error: " . $e->getMessage()); 
    } 

    return $response; 
} 

、会議に呼ばれる人追加するための私の第二の機能:

public function showConnectCaller(Request $request) { 

    $response = new Twiml(); 
    $dial = $response->dial(); 
    $dial->conference(
    "On Hold", 
    [ 
     'record' => 'record-from-start', 
     'beep' => false, 
     'endConferenceOnExit' => true, 
    ] 
); 

    return $response; 

} 

Twilio: Can I make OUTBOUND Conference Calls?は非常に有用でした。

関連する問題