2017-02-15 12 views
2

進行中のコールを別の番号に転送する方法。私が使用しているコンセプトは、コールが進行中でダイヤルしているときに更新メソッドを使用することです私は接続したいとそれが機能していますが、最初の発信者との接続がTwilio、進行中のコールを別の番号に転送する方法

<Response> 
    <Dial callerId="callerid"> 
    <Number statusCallbackEvent="initiated ringing answered completed" statusCallback="urltohadlestatus">user_number</Number> 
    </Dial> 
</Response> 
call-ダイヤルにcall-

.processの転送処理のために/

コードを壊している番号

。プロセスを呼び出して転送する処理 - 更新メソッドを使用して呼び出しを転送しました。

function update_call1($CallSid, $admin_no) { 
    $rr = array(
     "url" => "trurl?admin_no=".$admin_no, 
     "method" => "POST" 
    ); 
    $call = $this->client->calls($CallSid)->update($rr); 
    return $call->to; 
} 

このTwiML

<Response> 
     <Dial>admin_number_call_to_be_transfered</Dial> 
</Response> 

を使用したもの、これがないと、コールを転送しているが、管理者がそれを受信したとき、それはコールを切断します。 そして、ジャックがジェニーに電話をかけてジャックがジャホニーに電話を転送したいときに、ジャホーンにジャックショーンを切ったときにジャックショーンを外したいときはどうすればいいですか?

答えて

2

ここではTwilioの開発者のエバンジェリストです。

ここには2つのオプションがあります。通話が転送されると、他に何もする必要がなければ、他の通話者が落ちます。これを達成するには2つの方法があります。

発信者を<Conference>に入れることができます。その後、発信者が転送されると、もう1つのコールは会議室に残ります。このテクニックを使って良いtutorial on warm transfersがあります。これは役に立ちます。

また、今すぐ中止する側がgenerated the call from the Twilio REST APIの場合は、<Dial>動詞の下にTwiMLを追加して通話を続けることができます。たとえば、次のように

<Response> 
    <Dial>OTHER_NUMBER</Dial> 
    <Say loop="0">You are still on the call.</Say> 
</Response> 

だけで、他の端が離れて転送されると、「あなたが呼び出しに残っている」と言って続けます。

action attribute for <Dial>でこれを達成することもできます。 action属性を使用すると、指定したURLにTwilioがWebhookリクエストを行い、その応答からTwiMLを使用して呼び出しを続行します。

+0

他の番号に転送した最初の番号を切断するにはどうすればよいですか? –

+0

発信者を切断する場合は、REST APIを使用してライブコールを変更できます。 [通話のステータスを「完了」に設定する](https://www.twilio.com/docs/api/rest/change-call-state#list-get-example-2)は、通話を切断します。 – philnash

+0

これで、すべての発信者、またはコール転送を開始した発信者だけが切断されます。 私が必要としているのは、たとえばAコールBとしばらく話してから、AコールをCに転送すると、コールからAだけを切断できるのは、コールの2つのBとCの残りの部分です。 –

関連する問題