呼叫者挂断后收集

时间:2014-10-07 10:38:04

标签: twilio

是否可以播放录音,然后在通话结束后(来电者挂机)从通话接收方收集数字?

类似于:https://www.twilio.com/docs/api/twiml/gather只是它是接收者而不是呼叫者,并且在呼叫结束时它会发生。

谢谢! 的Morten

1 个答案:

答案 0 :(得分:0)

Twilio Evangelist在这里。谢谢你的澄清。

您可以执行此操作,但需要使用电话会议。想象爱丽丝打电话给杰克。通常,你会像这样使用TwiML:

<Response>
  <Dial>
    +15551234567
  </Dial>
</Response>

您需要做的是将Alice拨入电话会议:

<Response>
  <Dial>
    <Conference>Alice and Jack</Conference>
  </Dial>
</Response>

然后您需要进行出站API调用以将Jack拨入会议。在Ruby中,这将是这样的:

require 'twilio-ruby'
client = Twilio::REST::Client.new "account-sid", "account-token"
cient.account.calls.create to: "+15551234567", from: "some-twilio-number", url: "Your app URL"

这将使用与上面相同的TwiML将Jack加入会议。您需要查看<Conference>的详细信息以避免/选择保留音乐,并防止在Alice挂断时会议结束。像这样:

<Response>
  <Dial>
    <Conference endConferenceOnExit="false" beep="false" waitUrl="http://some-twilml-no-hold-music">
      Alice and Jack
    </Conference>
  </Dial>
</Response>

现在,您还需要在通话结束时使用callbacks(您还应在Dashboard或通过API在Twilio号码上设置此项。

现在,您可以接听电话会议中剩余的人的呼叫SID(当您收到TwiML的初始请求时,您将收到此消息),并使用REST API to modify that call,将它们重定向到新的TwiML:

require 'twilio-ruby'
client = Twilio::REST::Client.new "account-sid", "account-token"
call = client.account.calls.get "my-call-sid"
call.redirect_to url: "http://new-url-of-twiml", method: "POST"

这允许您将调用重定向到TwiML,例如:

<Response>
  <Gather action="http://some-url-to-send-digits-to">
    <Play>http://some-mp3-or-wav-file</Play>
  </Gather>
</Response>

Twilio将播放MP3 / WAV文件,同时收听用户输入的任何键(DTMF)音。您需要配置<Gather>,具体取决于您想要收听的密钥数量等。但这非常简单。

希望这有帮助!