문제

프로젝트를위한 IVR 시스템을 만들고 결정했습니다. 트와 일리오 전화 부분을 처리합니다 (전화 작성 및 수신, SMS 메시지 보내기 및 수신). 이렇게하면 IVR 프론트 엔드가있는 웹 사이트가 표시되어 사용자가 터치 톤 전화를 사용하여 사이트를 탐색 할 수 있습니다.

나는 모든 컨텐츠를 전화로 탐색 할 수있는 것이 아닙니다.

Twilio는 QueryString 또는 Post를 통해 URL에 매개 변수를 보냅니다. IVR에 행동하는 방법을 알려주는 XML의 특수 하위 집합으로 응답합니다. 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> 

여기에 붙어있는 곳이 있습니다.

나는 보편적 인 "뒤로"버튼, 아마도 "건너 뛰기"버튼, "반복"버튼 등을 추가하려고합니다. 각보기에서 숫자를 누른 다음 if-ing을 감지하고 있습니다. 하드 코드로 Response.Redirect(). 나는 이것이 많은 수의 견해와 메뉴에 대해 빠르게 인정받을 수 없다는 것을 알고 있습니다.

그렇다면 MVC 앱을 어떻게 모델링하여 애플리케이션과 비슷하고 Zork 게임과 덜 모델을 만들 수 있습니까? 메뉴 객체의 스택, 각각 menuitem 객체 목록이 있습니까? "9"를 "백"의 보편적 옵션을 "9"라고 말하고 각보기에서 코딩하지 않고도 메뉴 시스템의 위치에 관계없이 앱이 앱을 존중할 수 있습니까?

후면 기능은 혼란의 증상 일뿐입니다.이 프로젝트는 지금 제대로 설계하는 데 잠시 시간이 걸리지 않으면 진행됩니다. 아이디어를 검사 할 수있는 .NET IVR 프레임 워크가 있습니까? 어떤 도움이든 감사 할 것입니다. 나는 이것이 새로운 문제가 아니라는 것을 알고 있습니다. 나는 최선의 길을 가로 질러 내 머리를 잡을 수없는 것 같습니다.

도움이 되었습니까?

해결책

비록 나는 당신이 말하는 것에 대한 단서가 거의 없지만, 아무도 Sofar가 아무 말도하지 않았기 때문에 나는 그것을 쏘지 않을 것이라고 말했기 때문입니다 (내가 완전히 방향에 있지 않다면 나를 쏘지 마십시오).

MVC 2에서는 귀하의 견해에서 작업을 렌더링 할 수 있습니다.

<%= Html.Action("home", "menu" , new { someparam = somevalue, someotherparam = someothervalue }) %>

이것은 Menu 당신의 행동 Home 주어진 매개 변수가있는 컨트롤러. 그만큼 Result 이의 Action 그런 다음 귀하의 관점에 삽입됩니다.
이렇게하면 뷰를 깨끗하게 유지하고 모든 메뉴를 한 곳에 유지할 수 있습니다. 위의 명시된 선을 모든보기에 추가하면됩니다.

다시 한번 동일하게 수행 할 수 있습니다 HtmlHelper그러나 때로는 위에서 언급 한 방법이 더 쉽습니다.

다른 팁

여기 트와 일리오의 리키.

어떤 이유로, Zork처럼 구성된 코드를 갖는 것은 나에게 재미있게 들리지만 실제로는 누군가가 누군가를 미치게하는 방법을 이해할 수 있습니다!

우리는 방금 개발자가 특정 종류의 응용 프로그램을 구성하는 방법에 대한 질문을 할 때 도움이되는 사소한 생산 준비 튜토리얼을 시작했습니다. 하나의 튜토리얼은 다음과 같습니다 ASP.NET MVC와 함께 C#을 사용하여 구축 된 IVR.

우리는 사물을 구조화하기로 결정한 방법을 살펴보면 3 개의 컨트롤러를 사용하여 논리를 제어합니다.

  • ivrcontroller.cs:이 컨트롤러에는 IVR에 전화 할 때 사용자를 환영하는 코드가 포함되어 있습니다.
  • menucontroller.cs:이 컨트롤러는 입력에 따라 사용자에게 적절한 IVR 메뉴를 결정하는 곳입니다.
  • PhoneExchangeController.cs:이 컨트롤러에는 IVR에서 다른 전화 번호로 통화를 전달하는 논리가 있습니다.

"9 번 누르기 위해 누르기"와 같은 것을 추가하여 경험을 사용자 정의하고자합니다. MenuController.cs 당신을 거기에 데려다 줄 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top