2017-02-23 3 views
0

안녕하세요, 저는 twilio에 현재 작업자에게 할당을 설정하고 작업자를 회의에 전달해야하는 데 문제가 있습니다. 내 문제는 세션에서 ID를 검색하기 위해 세션을 사용할 수 없다는 것이며 ID는 작업자를위한 고유 한 회의 이름을 가질 수있는 회의의 회의 이름이 될 것입니다.Twilio Pass 회의 코드 네임을 사용하는 회의 이름

이것은 twilio의 콜백입니다. enter image description here 이것은 작업을 수행하는 코드입니다. id는 forward_queue_conference에 전달됩니다.

public function assignment() 
{ 
    id = $this->session->userdata('user_id'); 
    $TaskAttributes = $_POST['TaskAttributes']; 
    $json = json_decode($TaskAttributes, true); 
    $this->Mytwilio->SetAssignment($json['from'], AFTERTALK, HTTP_BASE_URL."agent/call_controls/forward_queue_conference?data=".$id); 
} 

이것은 MyTwilio 내가 twilio 기능을 위해 만들어진 라이브러리 패스 데이터

public function forward_queue_conference() 
{  
    roomName = $_GET['data']; 
    $this->Mytwilio->CallerToQueue($roomName); 
} 

를 검색 할 forward_queue_conference에 내 코드입니다.

function CallerToQueue($roomName) 
{ 
    $response = new Services_Twilio_Twiml; 
    $dial = $response->dial(); 
    $dial->conference($roomName, array(
     'startConferenceOnEnter' => 'true', 
     'endConferenceOnExit' => 'true', 
     'muted' => 'false', 
     'record' => 'record-from-start', 
     'waitUrl' => 'http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient', 
    )); 

    print $response; 
} 

그리고 내 모든 과정에서 내 문제는 회의실이되기 위해 세션 데이터를 가져올 수 없다는 것입니다.

답변

0

개발자 전도사 Twilio가 여기 있습니다.

Twilio가 웹 사이트의 URL에 콜백을하면 로그인 한 사용자와 동일한 세션을 공유하지 않습니다. 따라서 현재 사용자 ID를 세션에서 가져올 수 없습니다.

그러나 작업자는 Twilio 시스템에 ID를 가지고 있습니다. 그리고 해당 ID는 the parameters for the webhook의 일부로 전송됩니다. 따라서 ID 대신 WorkerSid을 회의실로 사용하는 것이 좋습니다. 또는 시스템에서 작업자 ID와 사용자 ID를 매핑 할 수 있습니다.

+0

오, 너무 많이 생각하지만, 어떻게하면 workersid라고 부를 수 있습니까? –

+0

REST API를 사용하여 작업자를 만들면 SID를 가져 오며 웹 후크가 오면 SID는 요청 매개 변수에 포함됩니다. – philnash

+0

오, 너무 많이 작동합니다. –