Я делаю систему IVR для проекта, и решил по телефону Twilio обрабатывать часть телефона (принимать и принимать звонки, отправлять и получать SMS-сообщения). Это откроет веб-сайт с интерфейсом IVR, позволяя пользователям перемещаться по сайту с помощью телефона с тональным набором.IVR vs Asp.net MVC: Как я могу перестать изобретать браузер?
Я не делаю все содержимое доступным по телефону, что имеет смысл.
Twilio отправляет параметры на ваш URL-адрес в строке запроса или через POST, и вы отвечаете специальным подмножеством XML, которое сообщает IVR, как действовать. Я очень быстро продвинулся с ASP.net MVC, рассматривая содержимое Twilio XML как представление и рендеринг данных сайта.
Вот что ответ на 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? Стеки объектов меню, каждый со списками объектов MenuItem? Как я могу сделать, скажем, «9» универсальный вариант для «назад» и поддерживать приложение, независимо от того, где в системе меню пользователь, без необходимости кодировать его в каждом представлении?
Задняя особенность - это всего лишь признак хаоса, в который этот проект вступит, если я не буду сейчас нарисовать его правильно. Есть ли там .net IVR frameworks, я могу проверить идеи? Любая помощь была бы оценена, я знаю, что это не новая проблема, я просто не могу показаться, что у меня есть лучший путь.
Крис, можете ли вы связаться со мной johnsheehan @ gmail, чтобы обсудить это? Теперь я работаю над Twilio, и у меня есть прототип MVC, который может помочь в вашей ситуации. –