Esempio n. 1
0
        public HttpResponseMessage outboundHttpResponseMessage([FromForm]  VoiceResponse voiceResponse)
        {
            HttpResponseMessage responseMessage = new HttpResponseMessage();
            string defaultVoiceAction           = "";

            if (voiceResponse.isActive == "1")
            {
                defaultVoiceAction      = sampleOutboundResponse();
                responseMessage         = Request.CreateResponse(HttpStatusCode.Created, defaultVoiceAction);
                responseMessage.Content = new StringContent(defaultVoiceAction, Encoding.UTF8, "application/xml");
                responseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");
                return(responseMessage);
            }
            else
            {
                // do something else, the call is complete
                return(null);
            }
        }
Esempio n. 2
0
        public HttpResponseMessage appHttpResponseMessage([FromForm] VoiceResponse voiceResponse)
        {
            HttpResponseMessage responseMessage = new HttpResponseMessage();
            // The Default action here is to <Redirect> smartly...
            // Redirect to outbound handler or the call is outbound
            // Redirect to inbound hander if the call is inbound
            // The value is always derived from the call direction parameter
            string appUrl = hostNameResolver();
            //string appHostname = "https://cdb5482a.ngrok.io";
            // This is a very dangerous hack strive to do something cleaner
            // // You can save the session ID as well
            //string sessionId = voiceResponse.sessionId;
            string defaultVoiceAction = "";

            if (voiceResponse.isActive == "1")
            {
                switch (voiceResponse.direction)
                {
                case "Inbound":
                    //defaultVoiceAction = $"{xmlHeader}<Response><Redirect>{appHostname}/service/inbound</Redirect></Response>";
                    defaultVoiceAction = $"{xmlHeader}<Response><Redirect>http://{appUrl}:7380/service/inbound</Redirect></Response>";
                    break;

                case "Outbound":
                    //defaultVoiceAction = $"{xmlHeader}<Response><Redirect>{appHostname}/service/outbound</Redirect></Response>";
                    defaultVoiceAction = $"{xmlHeader}<Response><Redirect>http://{appUrl}:7380/service/outbound</Redirect></Response>";
                    break;

                default:
                    //defaultVoiceAction = $"{xmlHeader}<Response><Redirect>{appHostname}/service/error</Redirect></Response>";
                    defaultVoiceAction = $"{xmlHeader}<Response><Redirect>http://{appUrl}:7380/service/inbound</Redirect></Response>";
                    break;
                }
            }
            responseMessage         = Request.CreateResponse(HttpStatusCode.Created, defaultVoiceAction);
            responseMessage.Content = new StringContent(defaultVoiceAction, Encoding.UTF8, "application/xml");
            responseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");
            return(responseMessage);
        }