У меня есть телефонный номер с Twilio, который ведет к большому приложению Twiml. В приложении Twiml есть три определенных пункта меню, которые перенаправляют звонящего на телефон. До сих пор звонки переадресовывались на несколько сотовых телефонов. Теперь у нас есть сервер FreePBX (RasPBX) с SIP-телефонами, и мы хотим использовать его вместо него.
У меня сложность в том, что разные пункты меню вызывают разные наборы внутренних телефонов.
Я думал, что смогу сделать это с помощью функции регистрации SIP Twilio, создав три отдельных имени пользователя регистрации (например, option1
, option2
, и option3
) и создание транка для каждого в FreePBX. Тогда я мог бы иметь такие параметры меню в Twiml:
<Response>
<Dial>
<Sip>
option1@example.sip.us1.twilio.com
</Sip>
</Dial>
</Response>
(и аналогично для option2
и option3
)
Мне удалось создать отдельные SIP-магистрали, и, похоже, они работают нормально. (CHAN_PJSIP предоставляет line
как часть регистрации SIP, поэтому я знаю, что он может определить разницу между входящими магистралями, используя его.)
Проблема после этого в "Маршрутах для входящих". Кажется, что входящие маршруты можно выбрать только на основе DID, который был вызван, или идентификатора вызывающего абонента, который сделал вызов. Я не могу использовать первый, потому что все звонки на один и тот же номер, и я не могу использовать второй, потому что любой может позвонить по любому из вариантов.
Как я могу выбрать входящие маршруты в зависимости от того, какой транк использовался? В качестве альтернативы, есть ли другой способ сделать это, не требующий нескольких соединительных линий?
Уловка, чтобы заставить его работать, заключается в использовании только числовых идентификаторов регистрации SIP. Затем эти идентификаторы можно использовать в качестве DID во входящих маршрутах.
Я изменил регистрацию SIP с option1@example.sip.us1.twilio.com
, option2@example.sip.us1.twilio.com
и т. д., чтобы 7100@example.sip.us1.twilio.com
, 7200@example.sip.us1.twilio.com
и тогда я мог бы использовать 7100
, 7200
и т. д. как DID для входящих маршрутов.