2016-07-15 18 views
1

私はエージェントとクライアントがあるライブtwilioインフラストラクチャを持っています。クライアントはtwilio番号を呼び出し、エンキューされます。ユーザーがエンキューされると、クライアントはエージェントを待機します。 私のサーバー上のcronジョブはPHPのtwilioヘルパーライブラリを使用して、サーバー側のtwilio番号を持つすべての利用可能なエージェントを呼び出すTwilio Queueは電話会議に参加して、新しいクライアントを電話に追加します

calls->

とエージェントが選択した後に(...)を作成彼らはクライアントの電話に何か番号を押して応答するよう求められます。エージェントはクライアントに接続されます。

システムを変更する方法と変更しない方法です。このコードを大きく変更することはできません。

私の問題は、私が開発しているiosアプリケーションで呼び出しにメンバーを追加する必要があることです。

むしろ、クライアントがエージェントに接続している途中でクライアントができることです。エージェントとのコール中に、あるエージェントでそのクライアントに別のクライアント(友人)を追加できます。

これを達成できますか?私は電話会議にメンバーを追加することについて知っています。私はコードを変更することはできないと述べたので、それはウェブサイト上にある。私は、サービスとsererバックエンド(TwimlとPHP)へのクライアントのより簡単なアクセスのためのiosクライアントアプリケーションを開発しています。

回避策はありますか。エージェントとクライアントがキューに接続されたら、何らかの方法でコールにリダイレクトできます。 接続していると、REST APIを使ってキューからそれらを転送して、会議通話に入れることができます。

答えて

0

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

電話をかけてくる人が増える場合は、どうかして<Conference>に送信する必要があります。

2つのコール(発信者からの着信およびエージェントへの発信)の​​コールIDを取得できる場合は、実際にupdating the live callsによって会議にリダイレクトできます。あなたは、REST APIでこれを行うだろうし、それは少し次のようになります。あなたがTwiMLを返す供給

$sid = "your_account_sid"; 
$token = "your_auth_token"; 
$client = new Services_Twilio($sid, $token); 

$call = $client->account->calls->get("CALL_SID"); 
$call->update(array(
    "Url" => "http://example.com/your_conference_handler" 
)); 

URLは<Conference>を開始します。

それがまったく役に立ったら教えてください。

+0

クライアントは1つのスクリプトで、エージェントは異なるスクリプトのクライアントでです。いつどのようにCallSidを入手できますか? にはactionCallbackがあり、エージェントにはコールバックがあります。おそらく、iosクライアントアプリケーションは、呼び出しsidと新しいメンバー番号のリクエストをサーバー/ putIntoConfに送信し、パラメータphoneNumberとCallSidに基づいて会議コールに3を追加できますか?もしそうなら、クライアントiosがCallSidを私のルートにどのように渡すことができるのですか? iosのクライアント部分は私には見逃せません。 – user3931314

関連する問題