2015-07-13 2 views
0

Я пытаюсь заставить callerid отображать To в xml для идентификатора вызывающего абонента, как вы можете видеть. Как я могу это сделать? Что я делаю не так? Кажется, я не могу все исправить. Мне нужна помощь, я не так хорошо разбираюсь в кодировании, и я искал в Интернете, как получить большую часть материала, но я не смог заставить мой код работать. Заранее спасибо!Twilio help callerId для отображения To in php

<?xml version='1.0' encoding='UTF-8'?> <TwilioResponse><Call><To>+12017447179</To><ToFormatted>(201) 744-7179</ToFormatted><From>+16463621515</From><FromFormatted>(646) 362-1515</FromFormatted><PhoneNumberSid/><Status>queued</Status><StartTime/><EndTime/><Duration/><Price/><PriceUnit>USD</PriceUnit><Direction>outbound-api</Direction><AnsweredBy/><ApiVersion>2010-04-01</ApiVersion><Annotation/><ForwardedFrom/><GroupSid/><CallerName/></Call></TwilioResponse> 


http://gordonbusiness.com/vb_menu.xml 


<?xml version="1.0" encoding="UTF-8"?> 
<Response> 
<Gather action="="/forward_call.php" numDigits="1"> 
<Play loop="2">https://gordonbusiness.com/studentloan.mp3</Play> 
</Gather> 
<Say>Sorry, I didn't get your response.</Say> 
<Redirect>vb_menu.xml</Redirect> 
</Response> 

http://gordonbusiness.com/forward_call.php - 

Response sent to 2nd URL: 
1 $user_pushed = (int) $_REQUEST['Digits']; 


<?php 
header('Content-type: text/xml'); 
echo '<?xml version="1.0" encoding="UTF-8"?>'; 
echo '<Response>'; 
# @start snippet$ 
user_pushed = (int) $_REQUEST['Digits']; 
# @end snippet 
$string_data = "<TwilioResponse>"; 
$xml = simplexml_load_string($string_data); 
$phonenumber == (string) $xml->To; 
if ($user_pushed == 1) 
{ 
echo '<Dial callerId=$phonenumber> 
<Number>+18552426127</Number> 
</Dial>'; 
} 
else if ($user_pushed == 9) 
{ 
echo '<Hangup />'; 
} 

ответ

0

Twilio разработчик евангелист здесь.

Я думаю, что у вас есть большая часть этого права, бит, который отсутствует, - это номер, который был набран как идентификатор вызывающего абонента.

Вы, кажется, строите номер To из какой-либо анонимной структуры XML, которую вы создаете. Вы можете получить число To из параметров запроса. Как и у вас есть параметр Digits.

Таким образом, вместо

$string_data = "<TwilioResponse>"; 
$xml = simplexml_load_string($string_data); 
$phonenumber == (string) $xml->To; 

Вы можете просто установить $phonenumber как:

$phonenumber = $_REQUEST["To"]; 

Позвольте мне знать, если это помогает вообще.

+0

становится все ближе, но все равно это не так. давал мне пятизначный код, теперь он дал мне 8-значный идентификатор вызывающего абонента. –

+0

отправляет и в файл xml. Мне нужно получить его из файла xml в идентификатор вызывающего. Когда я ничего не помещаю, он появляется как номер twilio. –

+0

О, вам нужно использовать '$ _REQUEST [" From "]' then? Или я полностью стану вопросом? – philnash