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); } }
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); }