是否可以在呼叫结束(呼叫者挂断)后播放录音,然后从呼叫的接收器收集数字?
类似于:https://www.twilio.com/docs/api/twiml/gather,只是询问的是接收者,而不是呼叫者,并且它发生在呼叫结束时。
谢谢!莫腾
发布于 2014-10-07 20:04:10
我是Twilio布道者。谢谢你的澄清。
您可以这样做,但您需要使用电话会议。想象一下爱丽丝在给杰克打电话。通常,您可以像这样使用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加入会议。您需要查看的详细信息,以避免/选择保留音乐,并防止会议在爱丽丝挂断时结束。如下所示:
<Response>
<Dial>
<Conference endConferenceOnExit="false" beep="false" waitUrl="http://some-twilml-no-hold-music">
Alice and Jack
</Conference>
</Dial>
</Response>
现在,您还需要在调用结束时使用callbacks (您还应该在Dashboard中的Twilio号上或通过API进行设置。
现在,您可以获取留在电话会议中的任何人的呼叫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)音调。你需要根据你想要监听的键的数量来配置你的,但是这很简单。
希望这能有所帮助!
https://stackoverflow.com/questions/26234084
复制相似问题