我正在爲一個項目製作一個IVR系統,並已決定處理電話部分(撥打和接聽電話,發送和接收SMS消息)Twilio。這將在網站上顯示一個IVR前端,允許用戶使用他們的按鍵式電話瀏覽網站。IVR vs Asp.net MVC:我該如何停止重新創建瀏覽器?
我沒有通過電話瀏覽所有的內容,只是有道理。
Twilio通過查詢字符串或POST發送參數到您的URL,並用一個特殊的XML子集響應,告訴IVR如何操作。我使用ASP.net MVC非常快速地取得了很大進展,將Twilio XML內容視爲View並將網站數據呈現給它。
下面是到Twilio的迴應是這樣的:
<?xml version="1.0" encoding="UTF-8" ?>
<Response>
<Say>Hello World</Say>
<Play>http://api.twilio.com/Cowbell.mp3</Play>
</Response>
這裏的菜單看起來像到Twilio:
<?xml version="1.0" encoding="UTF-8" ?>
<Gather action="http://your_url" numdigits="1">
<Say>Press 1 to execute your_url, passing a parameter named "digits"</Say>
</Response>
這裏就是我堅持:
我試圖添加一個通用的「後退」按鈕,可能是一個「跳過」按鈕,一個「重複」按鈕等,我發現在每個視圖上,我正在檢測按下的數字,然後如果是硬編碼Response.Redirect()
。我知道這對於大量的視圖和菜單將很快變得無法維護。
那麼,我怎樣才能模型的MVC應用程序,使它更像是一個應用程序,而不是像Zork遊戲?成堆的Menu對象,每個都有MenuItem對象的列表?我怎麼能說,「9」是「回」的普遍選項,並讓應用程序尊重它,無論用戶在菜單系統中的哪個位置,都無需在每個視圖中對其進行編碼?
如果我現在不花時間正確地設計它,後面的特徵只是這個項目將陷入混亂的一個症狀。那裏有.net IVR框架,我可以檢查想法嗎?任何幫助,將不勝感激,我知道這不是一個新奇的問題,我似乎無法讓自己的頭最好的路徑採取。
克里斯,你可以聯繫我johnsheehan @ gmail來討論這個嗎?我現在正在爲Twilio工作,並且我有一個基於MVC的原型,可能有助於您的情況。 – 2010-03-21 00:39:47