2017-02-15 10 views
0

こんにちは私の会議のために一意の名前を持っています。私が試したことは、セッションを使用して会議にユーザーIDを入れることですが、残念ながら私は失敗しました。この関数は自分のセッションIDを読み込まない。これは、発信者を会議に転送するための私のコードです。 Btw私はフレームワークとしてcodeigniterを使用しています。Twilioは会議名のユニークな名前を使用しようとしています

public function redirect_queue_conference() 
{ 
    $client = $this->init_client(); 
    $call = $client->account->calls->get($_POST["CallSid"]); 
    $call->update(array(
     "Url" => HTTP_BASE_URL."agent/call_controls/forward_queue_conference", 
     "Method" => "POST" 
    )); 
} 

これは私の問題である会議名の作成に関する私のコードです。これはセッションを使用しているためです。

public function forward_queue_conference() 
{  
    $roomName = $this->session->userdata('user_id'); 
    $this->twilio->CallerToQueue($roomName); 
} 

私のtwilioコンソールでは、デバッガで会議が有効ではないと言っています。

+0

援助を得るのに十分な情報がありません...私は、あなたの説明に「会議」が何であるのか、あなたが示していない方法を呼んでいるのは全く考えていません。質問を適切に行うと、迅速な対応が得られます。 –

答えて

0

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

forwarding a user's callにはconferenceと表示されています。あなたのforward_queue_conferenceメソッドで見ることができる2つのことがありますが、これは動作しません。

まず、TwilioがサーバーにHTTPリクエストを行っているため、ログインする可能性は低く、user_idです。

第二に、私が言うことができる限り、あなたはTwiMLを返して会議に入ることはできません。あなたは私が知らないTwilioのドキュメントの一部ではないような、CallerToQueueの機能を使用しています。

最初の部分を修正するには、会議への移行をトリガーするユーザーがいる場合は、そのユーザーIDをURLをリダイレクトすることができます。

public function redirect_queue_conference() 
{ 
    $roomName = $this->session->userdata('user_id'); 
    $client = $this->init_client(); 
    $call = $client->account->calls->get($_POST["CallSid"]); 
    $call->update(array(
     "Url" => HTTP_BASE_URL."agent/call_controls/forward_queue_conference?room=".$roomName, 
     "Method" => "POST" 
    )); 
} 

これで、後でその要求を受け取ることができます。私はこれのためのコードを書くだろうが、私はCodeigniterと私はjust read that getting query string parameters from requests is a painの質問をタグ付けしているので、私はそれを残しておきます。

リクエストからroomNameを取得したら、TwiMLとして返す必要があります。繰り返しますが、私はあなたがこのために使用しているものをライブラリわからないんだけど、私は公式Twilio PHP libraryを使用していた場合には、このように少しになります

public function forward_queue_conference() 
{  
    $roomName = getRoomNameFromQueryStringSomehow(); 
    $response = new Twiml; 
    $dial = $response->dial(); 
    $dial->conference($roomName); 
    $response; 
} 

は、それがすべてで助けなら、私に教えてください。

+0

これはうまくいったが、私はまだtwilioのCALLBACK URLに問題がある。私はそのURLにidも送る必要がある。 –

+0

あなたは詳しく説明できますか?ここでは全体のコールフローは何ですか? – philnash

+0

以下のコードは、あなたの助けを借りて正常に機能した会議に発信者を転送するためです。私が今必要とするのは、ワーカーIDを使用してユニークな会議名でワーカーにも転送されることです。 –

関連する問題