我有这样的意思:
<Response>
<Dial timeout="12">
<Client>Robbie</Client>
</Dial>
<Say>
The person you are trying to reach is currently unavailable. Please leave a message at the beep.
</Say>
<Record action="/voicemail/fdasjhklewu/" maxLength="90" method="GET" timeout="7"/>
</Response>
这里twilio试图联系客户端进行连接和来电,如果没有响应,则转到语音信箱。
然而,如果我回答然后挂断,它仍然会转到语音邮件。我怎么能挂断而不是转到语音信箱?
答案 0 :(得分:2)
Twilio开发者传道者在这里。
你实际上可以达到你想要的效果,但方式略有不同。
如果您将动作传递给<Dial>
,请执行以下操作:
<Response>
<Dial action='/after_dial'>
<Client>Robbie</Client>
</Dial>
</Response>
然后,一旦呼叫完成,您将需要一些东西来处理对该动作的回调。以下是Ruby与Sinatra的一个例子(尽管你可以用你想要的任何语言来做到这一点):
post '/after_dial' do
content_type 'text/xml'
if ['busy', 'no-answer', 'failed', 'canceled'].include?(params['DialCallStatus'])
"<Say>
The person you are trying to reach is currently unavailable. Please leave a message at the beep.
</Say>
<Record action="/voicemail/fdasjhklewu/" maxLength="90" method="GET" timeout="7"/>"
else
"<Hangup/>"
end
end
DialCallStatus
参数会告诉您呼叫发生了什么,因此如果它因忙碌,错过,取消或因任何原因而失败,您可以转到语音信箱,否则呼叫已完成,您只能挂机。 / p>
让我知道这是否有帮助。
答案 1 :(得分:0)
我认为没有办法做你想做的事。
Twilm按照它的顺序执行。
您要做的是为拨号指定回拨页。
然后,如果它已经完成,你会想要挂起
如果没有完成,您就会收到语音邮件。
他是网站上的例子。请记住,如果是客户端或电话,您将使用相同的逻辑