2017-03-03 53 views
0

我一直試圖實現使用Taskrouter使用本指南爲基礎的呼叫中心繫統類型振鈴: https://www.twilio.com/docs/tutorials/walkthrough/dynamic-call-center/ruby/rails 項目地點是澳大利亞,如果影響通話細節。手機將不會停止與Twilio Taskrouter

本系統撥打多個號碼(工作人員),我遇到了一個問題,即在通話已被接受或取消後,手機仍會響鈴。 即。如果Taskrouter呼叫工作人員A和B,並且A先接通他們連接到客戶,但B將繼續響鈴。如果B拿起電話,他們會被掛斷音問候。振鈴可以持續至少幾分鐘,直到B接通(我沒有檢查它是否超時)。 如果沒有人接聽並且通話超時並重定向到語音郵箱,則會發生類似情況。正如你可以想象的那樣,無盡響亮的手機非常煩人,特別是當另一端沒有人時。

我能夠使用上面的指南複製這個問題沒有修改(除了最低限度的變化,在本地設置)。請注意,它不會同時撥打工作人員,而是在轉移到下一個撥號之前先撥幾秒鐘。

我對發生的事情的解釋是,Taskrouter正在撥打工作人員,但在撥號結束時不更新它們,而只是轉到工作流程的下一個階段。它會更新工作狀態,所以它知道他們是否超時,但不會更新實際的通話。

我已經看過任何解決方案,這一點,還沒有發現很多關於它除了以下幾點: How to make Twilio stop dialing numbers when hangup() is fired? https://www.twilio.com/docs/api/rest/change-call-state

這些並不特別適用於Taskrouter,但認爲需要調用時可以結束更新並完成。 但我不太確定,但是我可以實現這一點,因爲它似乎在工作流程中使用相同的CallSid撥打所有呼叫,因此很難/不可能分離每個呼叫,並且也會結束當前通話。 Taskrouter不會自動做這件事似乎是錯誤的,所以我想在我修補太多東西並且破壞事情之前詢問這個問題。

有沒有人遇到過這個問題,或者無法使用教程代碼複製它? 測試時,我注意到固定電話號碼上的問題更多,這可能只是因爲手機有自己的超時/重定向。 VOIP似乎立即接聽電話,所以他們的行爲有點不同。

任何幫助/建議表示感謝,謝謝!

+2

除非你有特定於這個問題的代碼,所以其他人可以幫助複製它,或者這可以用代碼解決,這不是一個堆棧溢出問題。 – tadman

+0

感謝您的評論。這個問題可以使用Twilio提供的教程代碼來複制,這就是爲什麼我沒有在我的文章中包含任何內容。它也不直接處理通話,所以我不確定代碼要突出顯示,但我會編輯以包括它使用的間接方法和一些更詳細的信息 – alx

+0

我建議您將此問題提交到[Twilio支持] (https://www.twilio.com/help/contact),因爲他們可以以正確的方式指導您,並在需要時提供內部反饋。 – philnash

回答

0

當前建議解決此問題的方法是不要立即發出出列指令,而要在工作人員希望接受入站呼叫時在REST API上發出issue a Call instruction

這將創建一個出站呼叫,將兩個呼叫橋接在一起,因此一次不會有同一入站呼叫者的多個出站呼叫。

您的實現將取決於你想要達到的行爲:

  1. 你想SIMUL撥號兩工人?
  2. 是否要將 任務發送給工作人員以及誰點擊接受任務第一個 將呼叫路由到他們?

如果它是#2,則表示工作人員在發出呼叫前應接受預訂(reservation.accepted)。

如果它是#1,您可以發出呼叫指令或出列指令。關鍵是您提供DequeueStatusCallbackUrlCallStatusCallbackUrl來接收呼叫進度事件。一旦連接了其中一個外撥電話,您將需要完成其他關聯的呼叫。因此,您不得不通過使用AssignmentCallbacksEventCallbacks來跟蹤哪些出站呼叫與哪個預訂相關聯,以便在您的應用中進行確定。