Как передать исходный идентификатор вызывающего абонента в Twilio? (Конфигурация голосового URL-адреса домена Sip)

#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 на входящий вызов, набираемая сторона видит номер входящего абонента в качестве идентификатора вызывающего абонента«.