2012-09-24 3 views
1

대화 중에 통화 연결 상태를 유지하려면 도움이 필요합니다. 나는 Twilio Doc에 주어진 다음 코드를 사용했다.twilio 통화 연결 상태 유지 새로 고침

PHP 부분은 여기

$token = new Services_Twilio_Capability(TW_ID, TW_TOKEN); 
$token->allowClientIncoming($_SESSION['emp_id']); 

JS 일부입니다하여 전화를받을 로그인을하여 Twilio.Device.ready() 기능은 사용자를 만들로드 페이지에

Twilio.Device.setup("<?php echo $token->generateToken();?>"); 


$("#call").click(function() { 
    params = { "tocall" : $('#tocall').val()}; 
    connection = Twilio.Device.connect(params); 
}); 

$("#hangup").click(function() { 
    Twilio.Device.disconnectAll(); 
}); 

Twilio.Device.ready(function (device) { 
     $('#status').text('Ready'); 
     console.log(Twilio.Device.status()); 
}); 

Twilio.Device.incoming(function (conn) {       
     startCall(conn); 
}); 

하지만 사용자 통화가 끊어진 페이지를 새로 고침하거나 대화 중에 클라이언트 정보 업데이트와 같은 작업을 시도하는 경우 통화 연결이 끊김 . 당신이 이해하기를 바랍니다.

하지만 이제는이 문제를 해결하는 방법에 대해 알지 못합니다. 하나의 옵션은 URL에 해시 값을 사용해야합니다. #status과 같습니다. 당신은이에 대한 세션을 사용할 수 있습니다

+0

나는이 게시물이 오래되었음을 알고 있지만 이것에 대한 해결책을 찾았습니까? – bipen

+0

@bipen 정확히 기억할 수는 없지만, 나는 그 회사를 떠나 갔다. 토큰을 세션에 저장하십시오. –

답변

0

어떤 대체 솔루션이나이 코드를 수정을주고 제발 도와주세요 .. ... 저장 세션의 토큰 값. 이

<?php echo $_SESSION['token'];?> 
+0

하지만 js 파트'Twilio.Device.ready()'에서 사용자를 준비시키는이 함수가 보이면 토큰만으로 문제가 해결됩니까 ?? URL을 통해 토큰을 전달할 때 이미 사용했기 때문에 –

+0

URL을 전달하면 페이지 리다이렉트 콜백시 안정적이지 않습니다. 세션에 저장 한 경우 페이지를 새로 고친 후에도 사용할 수 있습니다. –

+0

humm 내가 시도하자 –

0

같은

$_SESSION['token']=$your_token; 

이용이 취할 수있는 몇 가지 옵션이 있습니다.

  • 전화가 연결될 때 서버에 POST 요청을 통해 서버에 통화 상태를 저장합니다. 그런 다음 클라이언트가 페이지를 새로 고치면 들어오는 (기존) 호출을 클라이언트로 푸시하십시오.
  • HTML5 localStorage 또는 유사하게 클라이언트에 통화 상태를 저장합니다. JS로드시 페이지가로드 될 때 localStorage에 호출이 있는지 확인해야합니다. 이 DB에 호출이 있으면 이전과 동일한 끝점에 연결하십시오.
관련 문제