2015-02-11 71 views
1

我有我的twiml这样:Twilio TwiML:客户挂机后别录

<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试图到达客户端连接和呼入,然后如果没有反应,它进入语音信箱。

但是,如果我回答然后挂断,它仍然会转到语音邮件。我怎样才能挂断电话而不是转到语音信箱?

回答

2

Twilio开发者传道这里。

你实际上可以达到你想要的,但方式稍有不同。

如果你通过这样的行动,你的<Dial>

<Response> 
    <Dial action='/after_dial'> 
    <Client>Robbie</Client> 
    </Dial> 
</Response> 

然后,一旦调用完成,你需要的东西来处理回调到这一行动。下面是在Ruby中的例子与西纳特拉(虽然你可以用任何你想要的语言做到这一点):

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参数告诉你发生了什么的号召,所以如果它是忙,错过了,取消或失败出于任何原因,你可以去语音信箱,否则电话已完成,你可以只是挂断电话。

让我知道这是否有帮助。

0

我不认为有办法做你想做的。

Twilm在谈到中的顺序执行。

什么,你会想要做的就是指定一个回调页面拨盘。

接着,如果完成了,你会想挂断

如果没有完成,那么你会做的语音邮件。

他是网站的例子。记住,你将使用相同的逻辑,如果它是一个客户端或手机

https://www.twilio.com/docs/howto/voicemail