如何转发来电?

时间:2013-11-26 10:19:10

标签: rest twilio twiml

在我的应用程序中,我使用REST API创建传出呼叫。

呼叫已启用机器检测,因此我至少可以在检测到机器应答时挂断它。

问题是:在这种情况下我是否可以拨打另一个号码而无需使用REST API创建新呼叫?我可以使用<Forward><Redirect>或类似的内容吗?或者没有办法实现这一点,我需要创建另一个电话?

1 个答案:

答案 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>,并在此时从您的服务器发出新的外拨电话。

祝你好运!