Twilio / TwiML на iOS - использование Enqueue и Dial

По сути, я создаю приложение для iOS, которое будет набирать номер телефона в моем офисе при нажатии определенной кнопки. Это работает нормально, но теперь я хочу, чтобы музыкальный файл воспроизводился в ожидании поднятия телефона.

Зная, что Dial не может использовать музыкальный файл для замены тонального сигнала ожидания по умолчанию, я был вынужден использовать waitURL от Enqueue. Тем не менее, я заблудился о том, как вывести из очереди, чтобы начать набор. Вот как выглядит весь TwiML прямо сейчас, и он воспроизводит всю песню без набора номера:

<Response>
    <Enqueue waitUrl="waitMusic.xml">office</Enqueue>
    <Dial callerId="+12345678910">
        <Number >999-999-9999</Number>
    </Dial>
</Response>

waitMusic.xml - это просто:

<Response>
  <play>slowrock.mp3</play>
</Response>

Разве нельзя использовать этот TwiML?

1 ответ

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

Вы не можете использовать <Dial> а также <Enqueue> как это вместе. Вот что тебе нужно сделать.

Когда пользователь нажимает кнопку, он должен сделать звонок и вернуть только <Enqueue> в ответе TwiML.

<Response>
    <Enqueue waitUrl="waitMusic.xml">office</Enqueue>
</Response>

И в этом ответе также начните вызов на номер, который вы хотите набрать, используя REST API. Когда на этот вызов ответят, Twilio запросит немного TwiML, вы должны вернуть <Dial> с вложенным <Queue> который вытащит главного абонента из очереди и подключит его к человеку по телефону.

<Response>
    <Dial>
        <Queue>office</Queue>
    </Dial>
</Response>

Возможно, вам придется проделать немного больше работы, чтобы никто не застрял в очереди, но это должно помочь вам начать работу.

Другие вопросы по тегам