在我的应用程序中,我使用REST API创建传出呼叫。
呼叫已启用机器检测,因此我至少可以在检测到机器应答时挂断它。
问题是:在这种情况下我是否可以拨打另一个号码而无需使用REST API创建新呼叫?我可以使用<Forward>
或<Redirect>
或类似的内容吗?或者没有办法实现这一点,我需要创建另一个电话?
答案 0 :(得分:2)
Twilio Evangelist在这里。首先,您可以通过help@twilio.com联系支持部门直接询问Twilio。
因此,这是一个非常复杂的问题。但我担心的答案是你不能。请允许我解释一下:
如果您使用REST API拨打电话,则您有2个呼叫结束。第一个是您拨打的号码(被叫方),第二个是充当您的来电者的TwiML。您的来电者可以是机器人(使用<Say>
,<Gather>
等),也可以是<Dial>
到另一个号码。
如果您查看documentation,当Twilio进行出站呼叫时,您可以使用ifMachine
属性来确定如何处理呼叫。然后,Twilio会向您发送一个额外的参数AnsweredBy
,表明它是人机还是电话答录机。
此时,正在请求充当您的呼叫者的TwiML。您可以<Hangup>
(或设置ifMachine=Hangup
以便won't be charged for this call)或选择留言。
但是我认为你现在要做的就是放弃出站呼叫,然后拨打新的被叫方给呼叫者。我的第一个想法是没有优雅的方法来解决这个问题,而无需进行新的外拨电话。
要记住的是,当Twilio请求TwiML时,它希望它对被叫方做一些事情(在这种情况下应答机器),如果你尝试拨打另一个号码,你最终会得到答案机连接到另一个号码!
我认为您最好的选择是在TwiML中<hangup>
,并在此时从您的服务器发出新的外拨电话。
祝你好运!