Twilio SIP: исходящие вызовы

Я успешно настроил телефон Cisco VOIP для регистрации в Twilio через SIP

Я создал SIP-домен, прошел аутентификацию, и телефон зарегистрирован

Я установил TwiML Bin, который выглядит так:

<Response>
   <Dial callerId="+44203XXXXXXX">
          {{To}}
  </Dial>
</Response>

Но получаю ошибку:

Наберите: Недействительный номер телефона.
Код города или код местной телефонной станции, похоже, недействителен.

А в ошибке тело запроса выглядит так:

<Response>
    <Dial callerId="+44203XXXXXXX">
          sip:[email protected]
  </Dial>
</Response>

Однако я думаю, что тело запроса должно выглядеть так:

<Response>
    <Dial callerId="+44203XXXXXXX">
          +44170XXXXXXX
  </Dial>
</Response>

Как я могу изменить TwiML для набора только телефонного номера?


person Marcus    schedule 19.05.2017    source источник


Ответы (2)


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

Как вы обнаружили, параметр To, который SIP-телефон доставляет в конечную точку Twilio, является не номером телефона, а SIP-адресом, в который встроен телефонный номер.

TwiML Bins в настоящее время недостаточно умен, чтобы извлечь этот номер телефона с помощью функций шаблонов. Итак, для этого вам потребуется разместить небольшое приложение, которое может переписать параметр To в номер телефона.

У нас есть пример приложения, написанного на Python и развертываемого на Heroku (или в любом другом месте), которое уже делает это за вас. Ознакомьтесь с кодом здесь и прочитайте о как его использовать здесь.

Сообщите мне, если это поможет.

person philnash    schedule 19.05.2017
comment
Спасибо за вашу помощь! Однако со стороны Twilio это похоже на провал. Конечно, у вас должна быть возможность обрезать номер телефона из поля «Кому», или должна быть возможность сделать это автоматически. Должны быть другие с аналогичной проблемой, можем ли мы узнать, есть ли исправление в их дорожной карте? Я попробую исправить героку ... - person Marcus; 19.05.2017
comment
Бины TwiML были созданы сначала третьей стороной, а затем куплены Twilio, еще до того, как мы начали регистрировать SIP. Так что эта особенность не рассматривалась. Я не могу сказать, будут ли TwiML Bins предоставлять эту функциональность в будущем, однако мы предоставили серверную реализацию, которая сделает это за вас, так что, надеюсь, это сработает. - person philnash; 19.05.2017
comment
Вау, это БЫЛО легко. Спасибо за вашу помощь, твоя магия героку сработала хорошо - person Marcus; 19.05.2017
comment
Обновление: AFAIK теперь вы можете добавить ‹sip› в ‹dial›, и это будет обрабатывать вызовы для sip. См. twilio.com/docs/voice/twiml/sip. - person redfox05; 25.04.2018
comment
Это правильно, но этот вопрос касается исходящего звонка с SIP-телефона на обычный телефонный номер. Если вы искали подробности о звонках на SIP-адреса, то я рад, что вы их нашли :) - person philnash; 26.04.2018

Чтобы набрать SIP-номера, вам нужно сказать ему, что это SIP.

Вместо этого используйте следующее, добавив <sip> между <dial> и sip-адресом:

<Response>
    <Dial callerId="+44203XXXXXXX">
       <Sip>
          sip:[email protected]
       </Sip>
  </Dial>
</Response>

Подробнее см. TWIML ™ VOICE: документация

person redfox05    schedule 24.04.2018