public string InputIvrMachineDetection() { // create a logger placeholder Logger logger = null; string ncco = String.Empty; try { logger = NexmoLogger.GetLogger("InputIvrMachineDetectionVoiceLogger"); logger.Open(); using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8)) { var value = reader.ReadToEndAsync(); var voiceInputObject = JsonConvert.DeserializeObject <VoiceInputObject>(value.Result); logger.Log("Voice IVR Machine Detection Input body: " + JsonConvert.SerializeObject(voiceInputObject, Formatting.Indented)); ncco = NexmoApi.AnswerVoiceCallInputIvrMachineDetection(voiceInputObject, logger, configuration); } } catch (Exception e) { logger.Log(Level.Exception, e); } finally { logger.Close(); logger.Deregister(); } return(ncco); }