1
如果我在「最後一次機會」後5秒內沒有收到有效響應,我想讓下面的代碼掛斷,信息。我已將:timeout
設置爲11.該通話應在10秒內結束(不包括提問時間)。第一個問題在詢問第二個問題之前詢問並等待5秒鐘。我想在第二個g.pause
之後掛斷電話。我已經在主要區塊嘗試了r.hangup
,並且在集合區塊中嘗試了g.hangup
。這些都不適合我。應該怎麼做?如果我的應用沒有得到來自呼叫接收方的有效響應,我該如何進行Twilio呼叫掛斷
def digits
twiml_response = Twilio::TwiML::Response.new do |r|
r.Gather numDigits: '1', timeout: 11, action: communications_menu_path do |g|
g.Say "Please press one to continue", voice: 'alice', language: 'an-AU'
g.Pause length: 5
g.Say "Last chance. I didn't get any response. Please press one to continue.", voice: 'alice', language: 'an-AU'
g.Pause length: 5
end
end
render :xml => twiml_response.to_xml
end
這並沒有工作@ philnash,但我現在有工作。我發現我的11秒超時被添加到最後一次暫停的結尾,所以它在最後一次暫停之後等待11秒,然後掛斷。我將其改爲1,並在最後一個問題後6秒鐘掛起。另一件事是它沒有路由到我的communications_menu_path掛斷之前。它只是掛斷了。我沒有這個問題,但它不像你說的那樣路線。 – RamJet
我應該補充說我在我的問題中錯誤地引用了'r.hangup'和'g.hangup'。菲爾在他的回答中應該是'r.Hangup'和'g.Hangup'。 – RamJet
Bah,我的錯誤。你是對的,你確實需要使用正確的大寫字母。我希望添加不區分大小寫到我的[twiml_template](https://github.com/philnash/twiml_template)庫,以使其更容易。至於超時時間,超時開始於''內的任何內容的末尾,因此它在你的5秒鐘後開始''。 –
philnash