2012-01-03 2 views
1

tropo 호스트 스크립트에 XML을 전송하여 tropo를 사용하여 전화를 걸 때 어떻게합니까? 이 PHP 스크립트는 다른 PHP 스크립트 (hosted @ tropo)에 XML을 게시하기 위해 컬을 사용해야합니다. tropo-hosted 스크립트는 xml을 사용하여 전화를 걸기로되어 있습니다.호스팅 된 PHP 트로피 스크립트를 통해 XML 파일을 수신

$token = "mytoken";//removed actual token 
$url = PhoneHelper::$TROPO_URL; 
$xml = " 
    <session> 
     <token>" . $token . "</token> 
     <var name=\"action\" value=\"create\"/> 
     <var name=\"customerName\" value=\"Kent\" /> 
     <var name=\"numberToDial\" value=\"##########\" /> 
     <var name=\"msg\" value=\"XML Test\" /> 
    </session>"; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "$xml"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
echo curl_error($ch); 
echo $output; 
curl_close($ch); 
:

customerName:Kent is added into the context of app instance : ApplicationInstance[http://hosting.tropo.com/107029/www/ExternalPhoneHelper.php , sas_2-14-sm25ogjh4vlab5tropo] 

여기 tropo에 XML 데이터를 전송하는 컬 PHP 스크립트가있다 : 아래의 예에서 tropo 디버거는이 같은 메시지가 디버거에 표시하기 때문에, 정확한 정보를 수신한다

수신 스크립트가 비어 있습니다 :

<?php 

?> 

()에 대한 호출이와 말한다면() 방법이 사용되어야한다, 내가 numberToDial와 MSG를 얻을 수있는 게시 된 XML을 참조 얼마나? 여기

디버거 로그입니다 : 혼란/문제의 몇 가지 포인트가 여기에있다처럼 보이는

|-----------------------------------------------------------------------| 
    |00000|00-1|02:18:47 AM|Set logging context for http/0.0.0.0/8080-t-31 | 
    |  | |   |to accountID=107029 host=tropo203.orl.voxeo.net | 
    |  | |   |sessionGUID=-1 sessionNumber=-1 callID=-1  | 
    |-----------------------------------------------------------------------| 
    |00001|00-1|02:18:47 AM|Attempting to determine application type via | 
    |  | |   |tropo-engine URL parameter in myURL   | 
    |-----------------------------------------------------------------------| 
    |00002|00-1|02:18:47 AM|Attempting to determine application type by  | 
    |  | |   |requesting HEAD from       | 
    |  | |   |myURL to get Content-Type header    | 
    |-----------------------------------------------------------------------| 
    |00003|00-1|02:18:47 AM|Opened URLConnection       | 
    |-----------------------------------------------------------------------| 
    |00004|00-1|02:18:47 AM|Connecting for HEAD        | 
    |-----------------------------------------------------------------------| 
    |00005|00-1|02:18:47 AM|Got HEAD response        | 
    |-----------------------------------------------------------------------| 
    |00006|00-1|02:18:47 AM|No Content-Type header provided by HEAD.  | 
    |-----------------------------------------------------------------------| 
    |00007|00-1|02:18:47 AM|Attempting to determine application type based | 
    |  | |   |on file extension for myURL      | 
    |-----------------------------------------------------------------------| 
    |00008|00-1|02:18:47 AM|Determined type=php from filename suffix  | 
    |-----------------------------------------------------------------------| 
    |00009|00-1|02:18:47 AM|Trying to create application for URL=myURL  | 
    |-----------------------------------------------------------------------| 
    |00010|00-1|02:18:47 AM|Tropo app dir is /tropo_app_home    | 
    |-----------------------------------------------------------------------| 
    |00011|0000|02:18:47 AM|Set logging context for http/0.0.0.0/8080-t-31 | 
    |  | |   |to accountID=107029 host=tropo203.orl.voxeo.net | 
    |  | |   |sessionGUID=0 sessionNumber=0 callID=0   | 
    |-----------------------------------------------------------------------| 
    |00012|0000|02:18:47 AM|Application[myURL ver(1.0.56092) has been  | 
    |  | |   |created.          | 
    |-----------------------------------------------------------------------| 
    |00013|0000|02:18:47 AM|Found hosted Application[myURL ver(1.0.56092) | 
    |  | |   |[token=myToken]         | 
    |-----------------------------------------------------------------------| 
    |00014|0000|02:18:47 AM|Set logging context for http/0.0.0.0/8080-t-31 | 
    |  | |   |to accountID=107029 host=tropo203.orl.voxeo.net | 
    |  | |   |sessionGUID=0 sessionNumber=0 callID=0   | 
    |-----------------------------------------------------------------------| 
    |00015|0000|02:18:47 AM|Application[myURL ver(1.0.56092) has been found.| 
    |-----------------------------------------------------------------------| 
    |00016|0000|02:18:47 AM|Set logging context for http/0.0.0.0/8080-t-31 | 
    |  | |   |to accountID=107029 host=tropo203.orl.voxeo.net | 
    |  | |   |sessionGUID=0         | 
    |  | |   |sessionNumber=a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |  | |   |callID=0          | 
    |-----------------------------------------------------------------------| 
    |00017|0000|02:18:47 AM|Thread http/0.0.0.0/8080-t-31 acquired engine | 
    |  | |   |QuercusScriptEngine[] of type php,    | 
    |  | |   |activeEngines = 5        | 
    |-----------------------------------------------------------------------| 
    |00018|0000|02:18:47 AM|Thread http/0.0.0.0/8080-t-31 got engine to  | 
    |  | |   |compile script         | 
    |-----------------------------------------------------------------------| 
    |00019|0000|02:18:47 AM|?><?php // line 1121       | 
    |-----------------------------------------------------------------------| 
    |00020|0000|02:18:47 AM|if ($currentCall != null) // line 1122  | 
    |-----------------------------------------------------------------------| 
    |00021|0000|02:18:47 AM|{ // line 1123        | 
    |-----------------------------------------------------------------------| 
    |00022|0000|02:18:47 AM| say("I'm sorry, but I can not find or  | 
    |  | |   |compile the Tropo script for this phone number."| 
    |  | |   |); // line 1124        | 
    |-----------------------------------------------------------------------| 
    |00023|0000|02:18:47 AM| hangup(); // line 1125      | 
    |-----------------------------------------------------------------------| 
    |00024|0000|02:18:47 AM|} // line 1126        | 
    |-----------------------------------------------------------------------| 
    |00025|0000|02:18:47 AM|?> // line 1127        | 
    |-----------------------------------------------------------------------| 
    |00026|0000|02:18:47 AM|Thread http/0.0.0.0/8080-t-31 returning engine | 
    |  | |   |after compiling script       | 
    |-----------------------------------------------------------------------| 
    |00027|0000|02:18:47 AM|Thread http/0.0.0.0/8080-t-31 returned engine | 
    |  | |   |QuercusScriptEngine[] of type php,    | 
    |  | |   |activeEngines = 4        | 
    |-----------------------------------------------------------------------| 
    |00028|0000|02:18:47 AM|In SimpleApplication.execute() for token launch,| 
    |  | |   |HttpSession          | 
    |  | |   |hssn-9541A863A42B7294412DF27003FE67BF associated| 
    |  | |   |with SipApplicationSession      | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo     | 
    |-----------------------------------------------------------------------| 
    |00029|0000|02:18:47 AM|SipApplicationSession       | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo associated with | 
    |  | |   |Tropo session a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |-----------------------------------------------------------------------| 
    |00030|0000|02:18:47 AM|customerName:Kent is added into the context of | 
    |  | |   |app instance : ApplicationInstance[myURL,  | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo]     | 
    |-----------------------------------------------------------------------| 
    |00031|0000|02:18:47 AM|numberToDial:20874is added into the  | 
    |  | |   |context of app instance : ApplicationInstance[ | 
    |  | |   |myURL , sas_2-14-sm86gosslpnlz6tropo]   | 
    |-----------------------------------------------------------------------| 
    |00032|0000|02:18:47 AM|action:create is added into the context of app | 
    |  | |   |instance : ApplicationInstance[myURL ,   | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo]     | 
    |-----------------------------------------------------------------------| 
    |00033|0000|02:18:47 AM|format:xml is added into the context of app | 
    |  | |   |instance : ApplicationInstance[myURL ,   | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo]     | 
    |-----------------------------------------------------------------------| 
    |00034|0000|02:18:47 AM|msg:XML Test is added into the context of app | 
    |  | |   |instance : ApplicationInstance[myURL ,   | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo]     | 
    |-----------------------------------------------------------------------| 
    |00035|0000|02:18:47 AM|ApplicationInstance[myURL ,      | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo] has been created. | 
    |-----------------------------------------------------------------------| 
    |00036|0000|02:18:47 AM|[email protected] | 
    |  | |   |is added into the context of app instance :  | 
    |  | |   |ApplicationInstance[myURL ,      | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo]     | 
    |-----------------------------------------------------------------------| 
    |00037|0000|02:18:47 AM|Clearing logging context for     | 
    |  | |   |http/0.0.0.0/8080-t-31       | 
    |-----------------------------------------------------------------------| 
    |00038|0000|02:18:47 AM|Set logging context for       | 
    |  | |   |Tropo-Thread-a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |  | |   |to accountID=107029 host=tropo203.orl.voxeo.net | 
    |  | |   |sessionGUID=0         | 
    |  | |   |sessionNumber=a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |  | |   |callID=-1          | 
    |-----------------------------------------------------------------------| 
    |00039|0000|02:18:47 AM|ApplicationInstance[myURL ,      | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo] starts execution | 
    |  | |   |on Thread          | 
    |  | |   |Tropo-Thread-a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |-----------------------------------------------------------------------| 
    |00040|0000|02:18:47 AM|Thread           | 
    |  | |   |Tropo-Thread-a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |  | |   |acquired engine QuercusScriptEngine[] of type | 
    |  | |   |php, activeEngines = 5       | 
    |-----------------------------------------------------------------------| 
    |00041|0000|02:18:47 AM|ApplicationInstance[myURL ,      | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo] replaced script | 
    |  | |   |engine [QuercusScriptEngine[]] -->    | 
    |  | |   |[QuercusScriptEngine[]] in field <_engine>  | 
    |-----------------------------------------------------------------------| 
    |00042|0000|02:18:47 AM|ApplicationInstance[myURL ,      | 
    |  | |   |sas_2-14-sm86gosslpnlz6tropo] ends execution on | 
    |  | |   |Thread           | 
    |  | |   |Tropo-Thread-a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |-----------------------------------------------------------------------| 
    |00043|0000|02:18:47 AM|Thread           | 
    |  | |   |Tropo-Thread-a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |  | |   |returned engine QuercusScriptEngine[] of type | 
    |  | |   |php, activeEngines = 4       | 
    |-----------------------------------------------------------------------| 
    |00044|0000|02:18:47 AM|sas_2-14-sm86gosslpnlz6tropo invalidated  | 
    |-----------------------------------------------------------------------| 
    |00045|0000|02:18:47 AM|Instance a8f0ba032d2a377e8fdcc8b68d82c766  | 
    |  | |   |removed           | 
    |-----------------------------------------------------------------------| 
    |00046|0000|02:18:47 AM|Clearing logging context for     | 
    |  | |   |Tropo-Thread-a8f0ba032d2a377e8fdcc8b68d82c766 | 
    |-----------------------------------------------------------------------| 

답변

3

, 그래서 나는 당신을 위해 그들 모두를 해결하기 위해 최선을 다할 것입니다. 먼저 논의 할 내용은 세션 API에 대한 XML 게시가 완전히 선택 사항이라는 것입니다. 아웃 바운드 호출을 시작하기 위해 '토큰 요청'을 제출할 수있는 한 가지 방법 일뿐입니다. 당신이이 일을 점점 문제가있는 경우, 그냥 그것을 건너 뛰고 당신이 가장 편안한 때까지 브라우저에서 바로 GET는 '비행기 제인'HTTP를 해보자 :

api.tropo.com/1.0/sessions?action=create&token=123456&customerName=Kent&numberToDial=4075551212&msg=XML%20Test 

을 지금의 스크립트 자체에, 나는 발견하여 accountID (예, 저는 Voxeo Labs/Tropo : P에서 일하고 있습니다), 몇 가지 사실을 알았습니다. 먼저 응용 프로그램의 맞춤법을 잘못 입력했습니다 .URL, 나는 당신이 ExternalPhoneHelper.php를 의미했는지 확신하지만 ExterMalPhoneHelper.php를 입력 했으므로 먼저이 문제를 해결해야합니다. 이제 두 번째로, PHP 태그를 제외한 파일이 실제로 비어 있습니다.

그래서 전화를 걸고 뭔가 말하고 싶다면 call(); 말로(); 또는 콤보/바로 가기 메시지()를 사용할 수 있습니다. 방법 : 귀하의 Tropo 스크립트 내에서 :

<?php 
message("Received office voice mail.", array("to" => "+14075550100")); 
?> 

이제 마지막 질문, 어떻게 Tropo 응용 프로그램 컨텍스트에서 게시 된 데이터를 가져 옵니까?

<?php 
message($msg, array("to" => "+".$numberToDial)); 
?> 

난 정말 희망이 도움이, 그리고 만약 : 음, 좋은 소식은 numberToDial 쿼리 문자열 매개 변수, 예를 들어, $ numberToDial가되도록이 응용 프로그램의 전역으로, 우리가 실제로 범위 이러한, DEAD 간단이다 당신은 여전히 ​​우리의 지원팀에 불만을 느끼거나 freenode (#tropo)에서 IRC를 찾을 수 있습니다. 내 손잡이가 염색기이고, 나는 종종 채널에 숨어있다.)

조심해!

-john

+0

그게 내가 필요한 해결책이었습니다. XML 덩어리가 전역 변수로 인식되었다는 사실을 몰랐습니다! 내가해야 할 일은 다음과 같습니다. 도움 주셔서 감사합니다. – objectivesea

관련 문제