string inputCallback(IntPtr input, Native.switch_input_type_t inputType) { try { switch (inputType) { case FreeSWITCH.Native.switch_input_type_t.SWITCH_INPUT_TYPE_DTMF: using (var dtmf = new Native.switch_dtmf_t(input, false)) { return dtmfCallback(dtmf); } case FreeSWITCH.Native.switch_input_type_t.SWITCH_INPUT_TYPE_EVENT: using (var swevt = new Native.switch_event(input, false)) { return eventCallback(swevt); } default: return ""; } } catch (Exception ex) { Log.WriteLine(LogLevel.Error, "InputCallback threw exception: " + ex.ToString()); return "-ERR InputCallback Exception: " + ex.Message; } }