首页 > 解决方案 > iOS 上的 Twilio / TwiML - 使用入队和拨号

问题描述

基本上,我正在创建一个 iOS 应用程序,当点击某个按钮时,它将在我的办公室拨打电话号码。这工作正常,但现在我想在等待手机被拿起时播放音乐文件。

知道 Dial 无法使用音乐文件替换默认的等待音,我被引导使用 Enqueue 的 waitURL。但是,我不知道如何出列以启动拨号。这就是整个 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 吗?

标签: twiliotwilio-twimlenqueue

解决方案


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>

您可能需要做更多的工作以确保您不会让任何人卡在队列中,但这应该可以帮助您开始。


推荐阅读