Twilio / TwiML на iOS - использование Enqueue и Dial - PullRequest
0 голосов
/ 15 ноября 2018

По сути, я создаю приложение для 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 Ответ

0 голосов
/ 15 ноября 2018

Разработчик 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>

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

...