Короче говоря, у меня есть Twilio Elastic SIP Trunk и я настроил свою УАТС (Asterisk) для исходящих звонков через домен SIP на Twilio;при входе в Twilio у меня есть возможность настроить URL-адрес голосовой конфигурации домена SIP, чтобы при наборе вызова скрипт передавал вызов по назначению.
По какой-то причине он передавал первоначального абонентаИдентификатор человека, когда я переадресовываю вызов, но теперь он продолжает перезаписывать идентификатор вызывающего абонента номером моего офиса;по существу маскирование исходного номера вызывающего абонента при переводе вызова;это довольно раздражает, и я пытаюсь найти лучший способ решить эту проблему.
Моя цель состоит в том, чтобы исправить исходящий набор, чтобы при внешнем переводе вызова вместо номера абонента отображался идентификатор вызывающего абонента.номер моего офиса;
Конфигурация Twiml, которую я имею для голосового URI моего SIP-домена, выглядит следующим образом:
<?php
echo header('content-type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8"?>';
$to=$_REQUEST['To'];
$callerId=$_REQUEST["callerId"];
/** Extracting user name **/
$pos1 = strpos($to,":");
$pos2 = strpos($to,"@");
$tosip=substr($to,$pos1+1,$pos2-$pos1-1);
if(strlen($tosip) == 3)
{
/**Extracting sip endpoint**/
$pos2 = strpos($to,":",strpos($to,":")+1);
$tosip=substr($to,$pos1+1,$pos2-$pos1-1);
?>
<Response>
<Dial>
<Sip>
<?php echo $tosip; ?>
</Sip>
</Dial>
</Response>
<?php } else { if(substr($tosip,0,2)=="00") $tosip=substr($tosip,2,strlen($tosip)-1); if(substr($tosip,0,3)=="011") $tosip=substr($tosip,3,strlen($tosip)-1); ?>
<Response>
<Dial callerId="<?php echo $callerId; ?>" >
<?php echo $tosip; ?>
</Dial>
</Response>
<?php } ?>
Чтобы успешно передать вызов, мне нужно сделать параметр $ GET для CallerId мойномер офиса;но это перезаписывает исходный идентификатор звонящего;Раньше я мог просто вызвать глагол, и появится исходный идентификатор звонящего;но теперь это не так.
Любые советы или указания в правильном направлении приветствуются!