#php #twilio #asterisk #sip #twilio-php
#php #twilio #звездочка #sip #twilio-php
Вопрос:
Короче говоря, у меня есть эластичная SIP-магистраль Twilio, и я настроил свою АТС (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 номера моего офиса; но это перезаписывает исходный идентификатор вызывающего абонента; раньше я мог просто вызвать глагол, и появится исходный идентификатор вызывающего абонента; но теперь, похоже, это не так.
Любые советы или указания в правильном направлении приветствуются!
Комментарии:
1. Магистраль Twilio имеет ограниченную возможность изменения cid support.twilio.com/hc/en-us/articles /…
Ответ №1:
Это будет проблемой. Программируемые голосовые SIP-домены требуют, чтобы CallerID был либо подтвержденным идентификатором вызывающего абонента, либо номером телефона Twilio в вашей учетной записи при вызове в коммутируемую телефонную сеть общего пользования (ТСОП).
Возможность переадресации идентификатора входящего абонента в исходящий адресат будет работать только из контекста переадресации вызова (вызов поступает в Twilio из ТСОП, а затем вы перенаправляете его с помощью команды набора номера на ТСОП в качестве примера).
«Когда вы используете в своем ответе на запрос Twilio на входящий вызов, набираемая сторона видит номер входящего абонента в качестве идентификатора вызывающего абонента«.