Twilio呼叫转发+保持音乐

时间:2015-04-13 10:01:18

标签: twilio twiml

我想创建以下内容:

  1. 一个行号,比方说741-SUPPORT(只是一个例子),人们可以打电话。
  2. 当有人打电话时,我希望他们听一些文字(我使用<Say>),然后将他们的电话转发给我的号码。
  3. 当我接到电话时,我想收听一条文字,告诉我这个电话来自该线路,并允许我按0接受电话,或任何其他号码拒绝电话。
  4. 如果我接受,两个电话都会连接。否则,呼叫者应该能够留言。
  5. 到目前为止我做了什么:

    来电者拨打741-SUPPORT时使用的第一个TWIML

    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Say voice="alice" language="en-US">
            This call is being recorded.
            Please hold on, your are being connected.
        </Say>
        <Dial action="CallEnded.php" timeout="15" timeLimit="600" callerId="+1741SUPPORT" record="record-from-answer">
            <Number action="JoinCall.php">+PRIVATE NUMBER HERE</Number>
        </Dial>
    </Response>
    

    JoinCall.php

    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Gather timeout="10" numDigits="1" action="CallAccepted.php">
            <Say voice="alice" language="en-US">
                You have an incomming call from 741SUPPORT.
                Press 0 to accept the call, press any other number to reject the call.
            </Say>
        </Gather>
    </Response>
    

    CallAccepted.php

    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <?php if ($_POST['Digits'] == '0') { ?>
        <Say voice="alice" language="en-US">
            Call accepted.
            This call is being recorded.
        </Say>
        <?php } else { ?>
        <Say voice="alice" language="en-US">
            Call will be rejected.
        </Say>
        <Hangup/>
        <?php } ?>
    </Response>
    

    CallEnded.php

    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
        <Say voice="alice" language="en-US">
        <?php if ($_POST['DialCallStatus'] != 'completed') { ?>
            We had issues connecting the call, please try again later.
        <?php } else { ?>
            Thanks for your call. Goodbye!
        <?php } ?>
        </Say>
    </Response>
    

    所以我想知道:

    • 如何在执行所有逻辑的同时在来电者旁边播放保持音乐?
    • 如何断开与来电的联系并要求来电者留言?

1 个答案:

答案 0 :(得分:1)

考虑使用入队。 所以此人拨入然后将它们发送到指定waitUrl的队列。 (用它来播放音乐)。

当你接受电话时,拨打队列并接听电话。

离开我的头顶,如果你拒绝接听电话,那么你将不得不使用其余的api将呼叫重定向到另一个网址,然后说谢谢,但不要谢谢。