/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class Api : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal Api(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(Api obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~Api() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_Api(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public Api(CoreSession s) : this(freeswitchPINVOKE.new_Api(CoreSession.getCPtr(s)), true) {
  }

  public string Execute(string command, string data) {
    string ret = freeswitchPINVOKE.Api_Execute(swigCPtr, command, data);
    return ret;
  }

  public string ExecuteString(string command) {
    string ret = freeswitchPINVOKE.Api_ExecuteString(swigCPtr, command);
    return ret;
  }

  public string getTime() {
    string ret = freeswitchPINVOKE.Api_getTime(swigCPtr);
    return ret;
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class audio_buffer_header_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal audio_buffer_header_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(audio_buffer_header_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~audio_buffer_header_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_audio_buffer_header_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint ts {
    set {
      freeswitchPINVOKE.audio_buffer_header_t_ts_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.audio_buffer_header_t_ts_get(swigCPtr);
      return ret;
    } 
  }

  public uint len {
    set {
      freeswitchPINVOKE.audio_buffer_header_t_len_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.audio_buffer_header_t_len_get(swigCPtr);
      return ret;
    } 
  }

  public audio_buffer_header_t() : this(freeswitchPINVOKE.new_audio_buffer_header_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum cache_db_flag_t {
  CDF_INUSE = (1 << 0),
  CDF_PRUNE = (1 << 1)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class CoreSession : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal CoreSession(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(CoreSession obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~CoreSession() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_CoreSession(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_core_session InternalSession {
    set {
      freeswitchPINVOKE.CoreSession_InternalSession_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.CoreSession_InternalSession_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_channel channel {
    set {
      freeswitchPINVOKE.CoreSession_channel_set(swigCPtr, SWIGTYPE_p_switch_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.CoreSession_channel_get(swigCPtr);
      SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.CoreSession_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.CoreSession_flags_get(swigCPtr);
      return ret;
    } 
  }

  public int allocated {
    set {
      freeswitchPINVOKE.CoreSession_allocated_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.CoreSession_allocated_get(swigCPtr);
      return ret;
    } 
  }

  public input_callback_state_t cb_state {
    set {
      freeswitchPINVOKE.CoreSession_cb_state_set(swigCPtr, input_callback_state_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.CoreSession_cb_state_get(swigCPtr);
      input_callback_state_t ret = (cPtr == IntPtr.Zero) ? null : new input_callback_state_t(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_state_t HookState {
    set {
      freeswitchPINVOKE.CoreSession_HookState_set(swigCPtr, (int)value);
    } 
    get {
      switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.CoreSession_HookState_get(swigCPtr);
      return ret;
    } 
  }

  public switch_call_cause_t cause {
    set {
      freeswitchPINVOKE.CoreSession_cause_set(swigCPtr, (int)value);
    } 
    get {
      switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.CoreSession_cause_get(swigCPtr);
      return ret;
    } 
  }

  public string uuid {
    set {
      freeswitchPINVOKE.CoreSession_uuid_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.CoreSession_uuid_get(swigCPtr);
      return ret;
    } 
  }

  public string tts_name {
    set {
      freeswitchPINVOKE.CoreSession_tts_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.CoreSession_tts_name_get(swigCPtr);
      return ret;
    } 
  }

  public string voice_name {
    set {
      freeswitchPINVOKE.CoreSession_voice_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.CoreSession_voice_name_get(swigCPtr);
      return ret;
    } 
  }

  public int insertFile(string file, string insert_file, int sample_point) {
    int ret = freeswitchPINVOKE.CoreSession_insertFile(swigCPtr, file, insert_file, sample_point);
    return ret;
  }

  public int Answer() {
    int ret = freeswitchPINVOKE.CoreSession_Answer(swigCPtr);
    return ret;
  }

  public int preAnswer() {
    int ret = freeswitchPINVOKE.CoreSession_preAnswer(swigCPtr);
    return ret;
  }

  public void Hangup(string cause) {
    freeswitchPINVOKE.CoreSession_Hangup(swigCPtr, cause);
  }

  public void hangupState() {
    freeswitchPINVOKE.CoreSession_hangupState(swigCPtr);
  }

  public void SetVariable(string var, string val) {
    freeswitchPINVOKE.CoreSession_SetVariable(swigCPtr, var, val);
  }

  public void SetPrivate(string var, SWIGTYPE_p_void val) {
    freeswitchPINVOKE.CoreSession_SetPrivate(swigCPtr, var, SWIGTYPE_p_void.getCPtr(val));
  }

  public SWIGTYPE_p_void GetPrivate(string var) {
    IntPtr cPtr = freeswitchPINVOKE.CoreSession_GetPrivate(swigCPtr, var);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public string GetVariable(string var) {
    string ret = freeswitchPINVOKE.CoreSession_GetVariable(swigCPtr, var);
    return ret;
  }

  public void Say(string tosay, string module_name, string say_type, string say_method, string say_gender) {
    freeswitchPINVOKE.CoreSession_Say(swigCPtr, tosay, module_name, say_type, say_method, say_gender);
  }

  public void SayPhrase(string phrase_name, string phrase_data, string phrase_lang) {
    freeswitchPINVOKE.CoreSession_SayPhrase(swigCPtr, phrase_name, phrase_data, phrase_lang);
  }

  public string hangupCause() {
    string ret = freeswitchPINVOKE.CoreSession_hangupCause(swigCPtr);
    return ret;
  }

  public string getState() {
    string ret = freeswitchPINVOKE.CoreSession_getState(swigCPtr);
    return ret;
  }

  public int RecordFile(string file_name, int time_limit, int silence_threshold, int silence_hits) {
    int ret = freeswitchPINVOKE.CoreSession_RecordFile(swigCPtr, file_name, time_limit, silence_threshold, silence_hits);
    return ret;
  }

  protected int originate(CoreSession a_leg_session, string dest, int timeout, switch_state_handler_table handlers) {
    int ret = freeswitchPINVOKE.CoreSession_originate(swigCPtr, CoreSession.getCPtr(a_leg_session), dest, timeout, switch_state_handler_table.getCPtr(handlers));
    return ret;
  }

  public virtual void destroy() {
    freeswitchPINVOKE.CoreSession_destroy(swigCPtr);
  }

  public int Speak(string text) {
    int ret = freeswitchPINVOKE.CoreSession_Speak(swigCPtr, text);
    return ret;
  }

  public void SetTtsParameters(string tts_name, string voice_name) {
    freeswitchPINVOKE.CoreSession_SetTtsParameters(swigCPtr, tts_name, voice_name);
  }

  public void set_tts_params(string tts_name, string voice_name) {
    freeswitchPINVOKE.CoreSession_set_tts_params(swigCPtr, tts_name, voice_name);
  }

  public int CollectDigits(int abs_timeout) {
    int ret = freeswitchPINVOKE.CoreSession_CollectDigits__SWIG_0(swigCPtr, abs_timeout);
    return ret;
  }

  public int CollectDigits(int digit_timeout, int abs_timeout) {
    int ret = freeswitchPINVOKE.CoreSession_CollectDigits__SWIG_1(swigCPtr, digit_timeout, abs_timeout);
    return ret;
  }

  public string GetDigits(int maxdigits, string terminators, int timeout) {
    string ret = freeswitchPINVOKE.CoreSession_GetDigits__SWIG_0(swigCPtr, maxdigits, terminators, timeout);
    return ret;
  }

  public string GetDigits(int maxdigits, string terminators, int timeout, int interdigit) {
    string ret = freeswitchPINVOKE.CoreSession_GetDigits__SWIG_1(swigCPtr, maxdigits, terminators, timeout, interdigit);
    return ret;
  }

  public int Transfer(string extension, string dialplan, string context) {
    int ret = freeswitchPINVOKE.CoreSession_Transfer(swigCPtr, extension, dialplan, context);
    return ret;
  }

  public string read(int min_digits, int max_digits, string prompt_audio_file, int timeout, string valid_terminators, int digit_timeout) {
    string ret = freeswitchPINVOKE.CoreSession_read(swigCPtr, min_digits, max_digits, prompt_audio_file, timeout, valid_terminators, digit_timeout);
    return ret;
  }

  public string PlayAndGetDigits(int min_digits, int max_digits, int max_tries, int timeout, string terminators, string audio_files, string bad_input_audio_files, string digits_regex, string var_name, int digit_timeout, string transfer_on_failure) {
    string ret = freeswitchPINVOKE.CoreSession_PlayAndGetDigits(swigCPtr, min_digits, max_digits, max_tries, timeout, terminators, audio_files, bad_input_audio_files, digits_regex, var_name, digit_timeout, transfer_on_failure);
    return ret;
  }

  public int StreamFile(string file, int starting_sample_count) {
    int ret = freeswitchPINVOKE.CoreSession_StreamFile(swigCPtr, file, starting_sample_count);
    return ret;
  }

  public int sleep(int ms, int sync) {
    int ret = freeswitchPINVOKE.CoreSession_sleep(swigCPtr, ms, sync);
    return ret;
  }

  public int flushEvents() {
    int ret = freeswitchPINVOKE.CoreSession_flushEvents(swigCPtr);
    return ret;
  }

  public int flushDigits() {
    int ret = freeswitchPINVOKE.CoreSession_flushDigits(swigCPtr);
    return ret;
  }

  public int SetAutoHangup(bool val) {
    int ret = freeswitchPINVOKE.CoreSession_SetAutoHangup(swigCPtr, val);
    return ret;
  }

  public bool Ready() {
    bool ret = freeswitchPINVOKE.CoreSession_Ready(swigCPtr);
    return ret;
  }

  public bool bridged() {
    bool ret = freeswitchPINVOKE.CoreSession_bridged(swigCPtr);
    return ret;
  }

  public bool answered() {
    bool ret = freeswitchPINVOKE.CoreSession_answered(swigCPtr);
    return ret;
  }

  public bool mediaReady() {
    bool ret = freeswitchPINVOKE.CoreSession_mediaReady(swigCPtr);
    return ret;
  }

  public void waitForAnswer(CoreSession calling_session) {
    freeswitchPINVOKE.CoreSession_waitForAnswer(swigCPtr, CoreSession.getCPtr(calling_session));
  }

  public void Execute(string app, string data) {
    freeswitchPINVOKE.CoreSession_Execute(swigCPtr, app, data);
  }

  public void sendEvent(Event sendME) {
    freeswitchPINVOKE.CoreSession_sendEvent(swigCPtr, Event.getCPtr(sendME));
  }

  public void setEventData(Event e) {
    freeswitchPINVOKE.CoreSession_setEventData(swigCPtr, Event.getCPtr(e));
  }

  public string getXMLCDR() {
    string ret = freeswitchPINVOKE.CoreSession_getXMLCDR(swigCPtr);
    return ret;
  }

  public virtual bool begin_allow_threads() {
    bool ret = freeswitchPINVOKE.CoreSession_begin_allow_threads(swigCPtr);
    return ret;
  }

  public virtual bool end_allow_threads() {
    bool ret = freeswitchPINVOKE.CoreSession_end_allow_threads(swigCPtr);
    return ret;
  }

  public string GetUuid() {
    string ret = freeswitchPINVOKE.CoreSession_GetUuid(swigCPtr);
    return ret;
  }

  public switch_input_args_t get_cb_args() {
    switch_input_args_t ret = new switch_input_args_t(freeswitchPINVOKE.CoreSession_get_cb_args(swigCPtr), false);
    return ret;
  }

  public virtual void check_hangup_hook() {
    freeswitchPINVOKE.CoreSession_check_hangup_hook(swigCPtr);
  }

  public void consoleLog(string level_str, string msg) {
    freeswitchPINVOKE.CoreSession_consoleLog(swigCPtr, level_str, msg);
  }

  public void consoleLog2(string level_str, string file, string func, int line, string msg) {
    freeswitchPINVOKE.CoreSession_consoleLog2(swigCPtr, level_str, file, func, line, msg);
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum dm_match_type_t {
  DM_MATCH_POSITIVE,
  DM_MATCH_NEGATIVE
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class dtls_fingerprint_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal dtls_fingerprint_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(dtls_fingerprint_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~dtls_fingerprint_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_dtls_fingerprint_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint len {
    set {
      freeswitchPINVOKE.dtls_fingerprint_t_len_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.dtls_fingerprint_t_len_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char data {
    set {
      freeswitchPINVOKE.dtls_fingerprint_t_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.dtls_fingerprint_t_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public string type {
    set {
      freeswitchPINVOKE.dtls_fingerprint_t_type_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.dtls_fingerprint_t_type_get(swigCPtr);
      return ret;
    } 
  }

  public string str {
    set {
      freeswitchPINVOKE.dtls_fingerprint_t_str_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.dtls_fingerprint_t_str_get(swigCPtr);
      return ret;
    } 
  }

  public dtls_fingerprint_t() : this(freeswitchPINVOKE.new_dtls_fingerprint_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum dtls_state_t {
  DS_HANDSHAKE,
  DS_SETUP,
  DS_READY,
  DS_FAIL,
  DS_INVALID
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum dtls_type_t {
  DTLS_TYPE_CLIENT = (1 << 0),
  DTLS_TYPE_SERVER = (1 << 1),
  DTLS_TYPE_RTP = (1 << 2),
  DTLS_TYPE_RTCP = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class DTMF : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal DTMF(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(DTMF obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~DTMF() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_DTMF(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public char digit {
    set {
      freeswitchPINVOKE.DTMF_digit_set(swigCPtr, value);
    } 
    get {
      char ret = freeswitchPINVOKE.DTMF_digit_get(swigCPtr);
      return ret;
    } 
  }

  public uint duration {
    set {
      freeswitchPINVOKE.DTMF_duration_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.DTMF_duration_get(swigCPtr);
      return ret;
    } 
  }

  public DTMF(char idigit, uint iduration) : this(freeswitchPINVOKE.new_DTMF(idigit, iduration), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum dtmf_flag_t {
  DTMF_FLAG_SKIP_PROCESS = (1 << 0),
  DTMF_FLAG_SENSITIVE = (1 << 1)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public partial class Event : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal Event(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(Event obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~Event() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_Event(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_event InternalEvent {
    set {
      freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr);
      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public string serialized_string {
    set {
      freeswitchPINVOKE.Event_serialized_string_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.Event_serialized_string_get(swigCPtr);
      return ret;
    } 
  }

  public int mine {
    set {
      freeswitchPINVOKE.Event_mine_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.Event_mine_get(swigCPtr);
      return ret;
    } 
  }

  public Event(string type, string subclass_name) : this(freeswitchPINVOKE.new_Event__SWIG_0(type, subclass_name), true) {
  }

  public Event(switch_event wrap_me, int free_me) : this(freeswitchPINVOKE.new_Event__SWIG_1(switch_event.getCPtr(wrap_me), free_me), true) {
  }

  public int chat_execute(string app, string data) {
    int ret = freeswitchPINVOKE.Event_chat_execute(swigCPtr, app, data);
    return ret;
  }

  public int chat_send(string dest_proto) {
    int ret = freeswitchPINVOKE.Event_chat_send(swigCPtr, dest_proto);
    return ret;
  }

  public string Serialize(string format) {
    string ret = freeswitchPINVOKE.Event_Serialize(swigCPtr, format);
    return ret;
  }

  public bool SetPriority(switch_priority_t priority) {
    bool ret = freeswitchPINVOKE.Event_SetPriority(swigCPtr, (int)priority);
    return ret;
  }

  public string GetHeader(string header_name) {
    string ret = freeswitchPINVOKE.Event_GetHeader(swigCPtr, header_name);
    return ret;
  }

  public string GetBody() {
    string ret = freeswitchPINVOKE.Event_GetBody(swigCPtr);
    return ret;
  }

  public string GetEventType() {
    string ret = freeswitchPINVOKE.Event_GetEventType(swigCPtr);
    return ret;
  }

  public bool AddBody(string value) {
    bool ret = freeswitchPINVOKE.Event_AddBody(swigCPtr, value);
    return ret;
  }

  public bool AddHeader(string header_name, string value) {
    bool ret = freeswitchPINVOKE.Event_AddHeader(swigCPtr, header_name, value);
    return ret;
  }

  public bool DeleteHeader(string header_name) {
    bool ret = freeswitchPINVOKE.Event_DeleteHeader(swigCPtr, header_name);
    return ret;
  }

  public bool Fire() {
    bool ret = freeswitchPINVOKE.Event_Fire(swigCPtr);
    return ret;
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class EventConsumer : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal EventConsumer(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(EventConsumer obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~EventConsumer() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_EventConsumer(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_queue_t events {
    set {
      freeswitchPINVOKE.EventConsumer_events_set(swigCPtr, SWIGTYPE_p_switch_queue_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.EventConsumer_events_get(swigCPtr);
      SWIGTYPE_p_switch_queue_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_queue_t(cPtr, false);
      return ret;
    } 
  }

  public switch_event_types_t e_event_id {
    set {
      freeswitchPINVOKE.EventConsumer_e_event_id_set(swigCPtr, (int)value);
    } 
    get {
      switch_event_types_t ret = (switch_event_types_t)freeswitchPINVOKE.EventConsumer_e_event_id_get(swigCPtr);
      return ret;
    } 
  }

  public string e_callback {
    set {
      freeswitchPINVOKE.EventConsumer_e_callback_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.EventConsumer_e_callback_get(swigCPtr);
      return ret;
    } 
  }

  public string e_subclass_name {
    set {
      freeswitchPINVOKE.EventConsumer_e_subclass_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.EventConsumer_e_subclass_name_get(swigCPtr);
      return ret;
    } 
  }

  public string e_cb_arg {
    set {
      freeswitchPINVOKE.EventConsumer_e_cb_arg_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.EventConsumer_e_cb_arg_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_switch_event_node enodes {
    set {
      freeswitchPINVOKE.EventConsumer_enodes_set(swigCPtr, SWIGTYPE_p_p_switch_event_node.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.EventConsumer_enodes_get(swigCPtr);
      SWIGTYPE_p_p_switch_event_node ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_switch_event_node(cPtr, false);
      return ret;
    } 
  }

  public uint node_index {
    set {
      freeswitchPINVOKE.EventConsumer_node_index_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.EventConsumer_node_index_get(swigCPtr);
      return ret;
    } 
  }

  public EventConsumer(string event_name, string subclass_name, int len) : this(freeswitchPINVOKE.new_EventConsumer(event_name, subclass_name, len), true) {
  }

  public int bind(string event_name, string subclass_name) {
    int ret = freeswitchPINVOKE.EventConsumer_bind(swigCPtr, event_name, subclass_name);
    return ret;
  }

  public Event pop(int block, int timeout) {
    IntPtr cPtr = freeswitchPINVOKE.EventConsumer_pop(swigCPtr, block, timeout);
    Event ret = (cPtr == IntPtr.Zero) ? null : new Event(cPtr, true);
    return ret;
  }

  public void cleanup() {
    freeswitchPINVOKE.EventConsumer_cleanup(swigCPtr);
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class freeswitch {
  public static switch_directories SWITCH_GLOBAL_dirs {
    set {
      freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get();
      switch_directories ret = (cPtr == IntPtr.Zero) ? null : new switch_directories(cPtr, false);
      return ret;
    } 
  }

  public static switch_filenames SWITCH_GLOBAL_filenames {
    set {
      freeswitchPINVOKE.SWITCH_GLOBAL_filenames_set(switch_filenames.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_filenames_get();
      switch_filenames ret = (cPtr == IntPtr.Zero) ? null : new switch_filenames(cPtr, false);
      return ret;
    } 
  }

  public static int switch_core_db_close(SWIGTYPE_p_sqlite3 db) {
    int ret = freeswitchPINVOKE.switch_core_db_close(SWIGTYPE_p_sqlite3.getCPtr(db));
    return ret;
  }

  public static int switch_core_db_open(string filename, SWIGTYPE_p_p_sqlite3 ppDb) {
    int ret = freeswitchPINVOKE.switch_core_db_open(filename, SWIGTYPE_p_p_sqlite3.getCPtr(ppDb));
    return ret;
  }

  public static SWIGTYPE_p_unsigned_char switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt stmt, int iCol) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol);
    SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
    return ret;
  }

  public static string switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt stmt, int N) {
    string ret = freeswitchPINVOKE.switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), N);
    return ret;
  }

  public static int switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt pStmt) {
    int ret = freeswitchPINVOKE.switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
    return ret;
  }

  public static string switch_core_db_errmsg(SWIGTYPE_p_sqlite3 db) {
    string ret = freeswitchPINVOKE.switch_core_db_errmsg(SWIGTYPE_p_sqlite3.getCPtr(db));
    return ret;
  }

  public static int switch_core_db_exec(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void data, ref string errmsg) {
    int ret = freeswitchPINVOKE.switch_core_db_exec(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(data), ref errmsg);
    return ret;
  }

  public static int switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt pStmt) {
    int ret = freeswitchPINVOKE.switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
    return ret;
  }

  public static int switch_core_db_prepare(SWIGTYPE_p_sqlite3 db, string zSql, int nBytes, SWIGTYPE_p_p_sqlite3_stmt ppStmt, ref string pzTail) {
    int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail);
    return ret;
  }

  public static int switch_core_db_step(SWIGTYPE_p_sqlite3_stmt stmt) {
    int ret = freeswitchPINVOKE.switch_core_db_step(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt));
    return ret;
  }

  public static int switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt pStmt) {
    int ret = freeswitchPINVOKE.switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
    return ret;
  }

  public static int switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt pStmt, int i, int iValue) {
    int ret = freeswitchPINVOKE.switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue);
    return ret;
  }

  public static int switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt pStmt, int i, long iValue) {
    int ret = freeswitchPINVOKE.switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue);
    return ret;
  }

  public static int switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt pStmt, int i, string zData, int nData, SWIGTYPE_p_f_p_void__void xDel) {
    int ret = freeswitchPINVOKE.switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, zData, nData, SWIGTYPE_p_f_p_void__void.getCPtr(xDel));
    return ret;
  }

  public static int switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt pStmt, int i, double dValue) {
    int ret = freeswitchPINVOKE.switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, dValue);
    return ret;
  }

  public static long switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3 db) {
    long ret = freeswitchPINVOKE.switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3.getCPtr(db));
    return ret;
  }

  public static int switch_core_db_get_table(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_p_p_char resultp, SWIGTYPE_p_int nrow, SWIGTYPE_p_int ncolumn, ref string errmsg) {
    int ret = freeswitchPINVOKE.switch_core_db_get_table(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_p_p_char.getCPtr(resultp), SWIGTYPE_p_int.getCPtr(nrow), SWIGTYPE_p_int.getCPtr(ncolumn), ref errmsg);
    return ret;
  }

  public static void switch_core_db_free_table(ref string result) {
    freeswitchPINVOKE.switch_core_db_free_table(ref result);
  }

  public static void switch_core_db_free(string z) {
    freeswitchPINVOKE.switch_core_db_free(z);
  }

  public static int switch_core_db_changes(SWIGTYPE_p_sqlite3 db) {
    int ret = freeswitchPINVOKE.switch_core_db_changes(SWIGTYPE_p_sqlite3.getCPtr(db));
    return ret;
  }

  public static int switch_core_db_load_extension(SWIGTYPE_p_sqlite3 db, string extension) {
    int ret = freeswitchPINVOKE.switch_core_db_load_extension(SWIGTYPE_p_sqlite3.getCPtr(db), extension);
    return ret;
  }

  public static string switch_sql_concat() {
    string ret = freeswitchPINVOKE.switch_sql_concat();
    return ret;
  }

  public static SWIGTYPE_p_real_pcre switch_regex_compile(string pattern, int options, ref string errorptr, SWIGTYPE_p_int erroroffset, SWIGTYPE_p_unsigned_char tables) {
    IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, ref errorptr, SWIGTYPE_p_int.getCPtr(erroroffset), SWIGTYPE_p_unsigned_char.getCPtr(tables));
    SWIGTYPE_p_real_pcre ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_real_pcre(cPtr, false);
    return ret;
  }

  public static int switch_regex_copy_substring(string subject, SWIGTYPE_p_int ovector, int stringcount, int stringnumber, string buffer, int size) {
    int ret = freeswitchPINVOKE.switch_regex_copy_substring(subject, SWIGTYPE_p_int.getCPtr(ovector), stringcount, stringnumber, buffer, size);
    return ret;
  }

  public static void switch_regex_free(SWIGTYPE_p_void data) {
    freeswitchPINVOKE.switch_regex_free(SWIGTYPE_p_void.getCPtr(data));
  }

  public static int switch_regex_perform(string field, string expression, SWIGTYPE_p_p_real_pcre new_re, SWIGTYPE_p_int ovector, uint olen) {
    int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_real_pcre.getCPtr(new_re), SWIGTYPE_p_int.getCPtr(ovector), olen);
    return ret;
  }

  public static void switch_perform_substitution(SWIGTYPE_p_real_pcre re, int match_count, string data, string field_data, string substituted, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_int ovector) {
    freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, data, field_data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_int.getCPtr(ovector));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
  }

  public static switch_status_t switch_regex_match(string target, string expression) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match(target, expression);
    return ret;
  }

  public static switch_status_t switch_regex_match_partial(string target, string expression, SWIGTYPE_p_int partial_match) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match_partial(target, expression, SWIGTYPE_p_int.getCPtr(partial_match));
    return ret;
  }

  public static void switch_capture_regex(SWIGTYPE_p_real_pcre re, int match_count, string field_data, SWIGTYPE_p_int ovector, string var, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void callback, SWIGTYPE_p_void user_data) {
    freeswitchPINVOKE.switch_capture_regex(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, field_data, SWIGTYPE_p_int.getCPtr(ovector), var, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
  }

  public static void switch_regex_set_var_callback(string var, string val, SWIGTYPE_p_void user_data) {
    freeswitchPINVOKE.switch_regex_set_var_callback(var, val, SWIGTYPE_p_void.getCPtr(user_data));
  }

  public static void switch_regex_set_event_header_callback(string var, string val, SWIGTYPE_p_void user_data) {
    freeswitchPINVOKE.switch_regex_set_event_header_callback(var, val, SWIGTYPE_p_void.getCPtr(user_data));
  }

  public static void switch_core_screen_size(SWIGTYPE_p_int x, SWIGTYPE_p_int y) {
    freeswitchPINVOKE.switch_core_screen_size(SWIGTYPE_p_int.getCPtr(x), SWIGTYPE_p_int.getCPtr(y));
  }

  public static void switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) {
    freeswitchPINVOKE.switch_core_session_sched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds);
  }

  public static void switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_unsched_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session session, uint seconds) {
    freeswitchPINVOKE.switch_core_session_enable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session), seconds);
  }

  public static void switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_disable_heartbeat(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static switch_status_t switch_core_media_bug_pop(SWIGTYPE_p_switch_core_session orig_session, string function, SWIGTYPE_p_p_switch_media_bug pop) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_pop(SWIGTYPE_p_switch_core_session.getCPtr(orig_session), function, SWIGTYPE_p_p_switch_media_bug.getCPtr(pop));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_exec_all(SWIGTYPE_p_switch_core_session orig_session, string function, SWIGTYPE_p_f_p_switch_media_bug_p_void__void cb, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_exec_all(SWIGTYPE_p_switch_core_session.getCPtr(orig_session), function, SWIGTYPE_p_f_p_switch_media_bug_p_void__void.getCPtr(cb), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static uint switch_core_media_bug_count(SWIGTYPE_p_switch_core_session orig_session, string function) {
    uint ret = freeswitchPINVOKE.switch_core_media_bug_count(SWIGTYPE_p_switch_core_session.getCPtr(orig_session), function);
    return ret;
  }

  public static switch_status_t switch_core_media_bug_add(SWIGTYPE_p_switch_core_session session, string function, string target, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_time_t stop_time, uint flags, SWIGTYPE_p_p_switch_media_bug new_bug) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_add(SWIGTYPE_p_switch_core_session.getCPtr(session), function, target, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_time_t.getCPtr(stop_time), flags, SWIGTYPE_p_p_switch_media_bug.getCPtr(new_bug));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_media_bug_pause(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_media_bug_resume(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_media_bug_inuse(SWIGTYPE_p_switch_media_bug bug, SWIGTYPE_p_switch_size_t readp, SWIGTYPE_p_switch_size_t writep) {
    freeswitchPINVOKE.switch_core_media_bug_inuse(SWIGTYPE_p_switch_media_bug.getCPtr(bug), SWIGTYPE_p_switch_size_t.getCPtr(readp), SWIGTYPE_p_switch_size_t.getCPtr(writep));
  }

  public static SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_frame switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug bug) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
    return ret;
  }

  public static switch_frame switch_core_media_bug_get_native_read_frame(SWIGTYPE_p_switch_media_bug bug) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_native_read_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
    return ret;
  }

  public static switch_frame switch_core_media_bug_get_native_write_frame(SWIGTYPE_p_switch_media_bug bug) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_native_write_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
    return ret;
  }

  public static void switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
    freeswitchPINVOKE.switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
  }

  public static switch_frame switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug bug) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
    return ret;
  }

  public static void switch_core_media_bug_set_read_demux_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
    freeswitchPINVOKE.switch_core_media_bug_set_read_demux_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
  }

  public static SWIGTYPE_p_switch_core_session switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug bug) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static uint switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) {
    uint ret = freeswitchPINVOKE.switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag);
    return ret;
  }

  public static uint switch_core_media_bug_set_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) {
    uint ret = freeswitchPINVOKE.switch_core_media_bug_set_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag);
    return ret;
  }

  public static uint switch_core_media_bug_clear_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) {
    uint ret = freeswitchPINVOKE.switch_core_media_bug_clear_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag);
    return ret;
  }

  public static void switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
    freeswitchPINVOKE.switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
  }

  public static uint switch_core_cpu_count() {
    uint ret = freeswitchPINVOKE.switch_core_cpu_count();
    return ret;
  }

  public static switch_status_t switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_media_bug bug) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_media_bug.getCPtr(bug));
    return ret;
  }

  public static uint switch_core_media_bug_prune(SWIGTYPE_p_switch_core_session session) {
    uint ret = freeswitchPINVOKE.switch_core_media_bug_prune(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_remove_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug bug) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_remove_all_function(SWIGTYPE_p_switch_core_session session, string function) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_all_function(SWIGTYPE_p_switch_core_session.getCPtr(session), function);
    return ret;
  }

  public static switch_status_t switch_core_media_bug_enumerate(SWIGTYPE_p_switch_core_session session, switch_stream_handle stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_enumerate(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_stream_handle.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_transfer_recordings(SWIGTYPE_p_switch_core_session orig_session, SWIGTYPE_p_switch_core_session new_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_transfer_recordings(SWIGTYPE_p_switch_core_session.getCPtr(orig_session), SWIGTYPE_p_switch_core_session.getCPtr(new_session));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_transfer_callback(SWIGTYPE_p_switch_core_session orig_session, SWIGTYPE_p_switch_core_session new_session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_f_p_switch_core_session_p_void__p_void user_data_dup_func) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_transfer_callback(SWIGTYPE_p_switch_core_session.getCPtr(orig_session), SWIGTYPE_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_f_p_switch_core_session_p_void__p_void.getCPtr(user_data_dup_func));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame, switch_bool_t fill) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame), (int)fill);
    return ret;
  }

  public static void switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug bug) {
    freeswitchPINVOKE.switch_core_media_bug_flush(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
  }

  public static switch_status_t switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_flush_all(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_media_bug_set_pre_buffer_framecount(SWIGTYPE_p_switch_media_bug bug, uint framecount) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_set_pre_buffer_framecount(SWIGTYPE_p_switch_media_bug.getCPtr(bug), framecount);
    return ret;
  }

  public static switch_status_t switch_core_port_allocator_new(string ip, ushort start, ushort end, uint flags, SWIGTYPE_p_p_switch_core_port_allocator new_allocator) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_new(ip, start, end, flags, SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(new_allocator));
    return ret;
  }

  public static switch_status_t switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator alloc, SWIGTYPE_p_unsigned_short port_ptr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), SWIGTYPE_p_unsigned_short.getCPtr(port_ptr));
    return ret;
  }

  public static switch_status_t switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator alloc, ushort port) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), port);
    return ret;
  }

  public static void switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator alloc) {
    freeswitchPINVOKE.switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(alloc));
  }

  public static int switch_core_test_flag(int flag) {
    int ret = freeswitchPINVOKE.switch_core_test_flag(flag);
    return ret;
  }

  public static switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err);
    return ret;
  }

  public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err);
    return ret;
  }

  public static uint switch_core_session_limit(uint new_limit) {
    uint ret = freeswitchPINVOKE.switch_core_session_limit(new_limit);
    return ret;
  }

  public static uint switch_core_sessions_per_second(uint new_limit) {
    uint ret = freeswitchPINVOKE.switch_core_sessions_per_second(new_limit);
    return ret;
  }

  public static switch_status_t switch_core_destroy() {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_destroy();
    return ret;
  }

  public static switch_status_t switch_core_session_io_read_lock(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_io_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_io_write_lock(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_io_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_io_rwunlock(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_io_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_read_lock(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock_hangup(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static void switch_core_session_write_lock(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static int switch_core_add_state_handler(switch_state_handler_table state_handler) {
    int ret = freeswitchPINVOKE.switch_core_add_state_handler(switch_state_handler_table.getCPtr(state_handler));
    return ret;
  }

  public static void switch_core_remove_state_handler(switch_state_handler_table state_handler) {
    freeswitchPINVOKE.switch_core_remove_state_handler(switch_state_handler_table.getCPtr(state_handler));
  }

  public static switch_state_handler_table switch_core_get_state_handler(int index) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index);
    switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
    return ret;
  }

  public static void switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t pool, string tag) {
    freeswitchPINVOKE.switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t.getCPtr(pool), tag);
  }

  public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line);
    return ret;
  }

  public static int switch_core_session_sync_clock() {
    int ret = freeswitchPINVOKE.switch_core_session_sync_clock();
    return ret;
  }

  public static switch_status_t switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line);
    return ret;
  }

  public static void switch_core_memory_pool_set_data(SWIGTYPE_p_apr_pool_t pool, string key, SWIGTYPE_p_void data) {
    freeswitchPINVOKE.switch_core_memory_pool_set_data(SWIGTYPE_p_apr_pool_t.getCPtr(pool), key, SWIGTYPE_p_void.getCPtr(data));
  }

  public static SWIGTYPE_p_void switch_core_memory_pool_get_data(SWIGTYPE_p_apr_pool_t pool, string key) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_memory_pool_get_data(SWIGTYPE_p_apr_pool_t.getCPtr(pool), key);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static void switch_core_session_run(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_run(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static uint switch_core_session_running(SWIGTYPE_p_switch_core_session session) {
    uint ret = freeswitchPINVOKE.switch_core_session_running(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static uint switch_core_session_started(SWIGTYPE_p_switch_core_session session) {
    uint ret = freeswitchPINVOKE.switch_core_session_started(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_core_perform_permanent_strdup(string todup, string file, string func, int line) {
    string ret = freeswitchPINVOKE.switch_core_perform_permanent_strdup(todup, file, func, line);
    return ret;
  }

  public static string switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session session, string todup, string file, string func, int line) {
    string ret = freeswitchPINVOKE.switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session.getCPtr(session), todup, file, func, line);
    return ret;
  }

  public static string switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t pool, string todup, string file, string func, int line) {
    string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), todup, file, func, line);
    return ret;
  }

  public static string switch_core_session_sprintf(SWIGTYPE_p_switch_core_session session, string fmt) {
    string ret = freeswitchPINVOKE.switch_core_session_sprintf(SWIGTYPE_p_switch_core_session.getCPtr(session), fmt);
    return ret;
  }

  public static string switch_core_sprintf(SWIGTYPE_p_apr_pool_t pool, string fmt) {
    string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_apr_pool_t.getCPtr(pool), fmt);
    return ret;
  }

  public static SWIGTYPE_p_apr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session));
    SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_switch_core_session switch_core_session_request_xml(switch_endpoint_interface endpoint_interface, SWIGTYPE_p_p_apr_pool_t pool, switch_xml xml) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_xml(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), switch_xml.getCPtr(xml));
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_switch_core_session switch_core_session_request_uuid(switch_endpoint_interface endpoint_interface, switch_call_direction_t direction, uint originate_flags, SWIGTYPE_p_p_apr_pool_t pool, string use_uuid) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_uuid(switch_endpoint_interface.getCPtr(endpoint_interface), (int)direction, originate_flags, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), use_uuid);
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session session, string use_uuid) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session), use_uuid);
    return ret;
  }

  public static void switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session session, string file, string func, int line) {
    freeswitchPINVOKE.switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session.getCPtr(session), file, func, line);
  }

  public static void switch_core_session_destroy_state(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_destroy_state(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_reporting_state(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_reporting_state(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_hangup_state(SWIGTYPE_p_switch_core_session session, switch_bool_t force) {
    freeswitchPINVOKE.switch_core_session_hangup_state(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)force);
  }

  public static uint switch_core_session_count() {
    uint ret = freeswitchPINVOKE.switch_core_session_count();
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_core_session_get_id(SWIGTYPE_p_switch_core_session session) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_get_id(SWIGTYPE_p_switch_core_session.getCPtr(session)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_core_session_id() {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id(), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_core_session_id_dec() {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id_dec(), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_core_session switch_core_session_request_by_name(string endpoint_name, switch_call_direction_t direction, SWIGTYPE_p_p_apr_pool_t pool) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, (int)direction, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool));
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_thread_pool_launch_thread(SWIGTYPE_p_p_switch_thread_data_s tdp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_thread_pool_launch_thread(SWIGTYPE_p_p_switch_thread_data_s.getCPtr(tdp));
    return ret;
  }

  public static switch_status_t switch_core_session_thread_pool_launch(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_pool_launch(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session));
    SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_switch_mutex_t switch_core_session_get_mutex(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_mutex(SWIGTYPE_p_switch_core_session.getCPtr(session));
    SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_wake_session_thread(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_wake_session_thread(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static void switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static string switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session session) {
    string ret = freeswitchPINVOKE.switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_set_loglevel(SWIGTYPE_p_switch_core_session session, switch_log_level_t loglevel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_loglevel(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)loglevel);
    return ret;
  }

  public static switch_log_level_t switch_core_session_get_loglevel(SWIGTYPE_p_switch_core_session session) {
    switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_core_session_get_loglevel(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static SWIGTYPE_p_stfu_instance_t switch_core_session_get_jb(SWIGTYPE_p_switch_core_session session, switch_media_type_t type) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_jb(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)type);
    SWIGTYPE_p_stfu_instance_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_stfu_instance_t(cPtr, false);
    return ret;
  }

  public static void switch_core_session_soft_lock(SWIGTYPE_p_switch_core_session session, uint sec) {
    freeswitchPINVOKE.switch_core_session_soft_lock(SWIGTYPE_p_switch_core_session.getCPtr(session), sec);
  }

  public static void switch_core_session_soft_unlock(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_soft_unlock(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_set_dmachine(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_dmachine dmachine, switch_digit_action_target_t target) {
    freeswitchPINVOKE.switch_core_session_set_dmachine(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), (int)target);
  }

  public static SWIGTYPE_p_switch_ivr_dmachine switch_core_session_get_dmachine(SWIGTYPE_p_switch_core_session session, switch_digit_action_target_t target) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_dmachine(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)target);
    SWIGTYPE_p_switch_ivr_dmachine ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_ivr_dmachine(cPtr, false);
    return ret;
  }

  public static switch_digit_action_target_t switch_ivr_dmachine_get_target(SWIGTYPE_p_switch_ivr_dmachine dmachine) {
    switch_digit_action_target_t ret = (switch_digit_action_target_t)freeswitchPINVOKE.switch_ivr_dmachine_get_target(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    return ret;
  }

  public static void switch_ivr_dmachine_set_target(SWIGTYPE_p_switch_ivr_dmachine dmachine, switch_digit_action_target_t target) {
    freeswitchPINVOKE.switch_ivr_dmachine_set_target(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), (int)target);
  }

  public static switch_status_t switch_ivr_dmachine_set_terminators(SWIGTYPE_p_switch_ivr_dmachine dmachine, string terminators) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_set_terminators(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), terminators);
    return ret;
  }

  public static switch_status_t switch_core_session_set_codec_slin(SWIGTYPE_p_switch_core_session session, switch_slin_data data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_codec_slin(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_slin_data.getCPtr(data));
    return ret;
  }

  public static string switch_core_get_uuid() {
    string ret = freeswitchPINVOKE.switch_core_get_uuid();
    return ret;
  }

  public static SWIGTYPE_p_switch_core_session switch_core_session_perform_locate(string uuid_str, string file, string func, int line) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_perform_locate(uuid_str, file, func, line);
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_switch_core_session switch_core_session_perform_force_locate(string uuid_str, string file, string func, int line) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_perform_force_locate(uuid_str, file, func, line);
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static string switch_core_get_variable(string varname) {
    string ret = freeswitchPINVOKE.switch_core_get_variable(varname);
    return ret;
  }

  public static string switch_core_get_variable_dup(string varname) {
    string ret = freeswitchPINVOKE.switch_core_get_variable_dup(varname);
    return ret;
  }

  public static string switch_core_get_variable_pdup(string varname, SWIGTYPE_p_apr_pool_t pool) {
    string ret = freeswitchPINVOKE.switch_core_get_variable_pdup(varname, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static string switch_core_get_hostname() {
    string ret = freeswitchPINVOKE.switch_core_get_hostname();
    return ret;
  }

  public static string switch_core_get_switchname() {
    string ret = freeswitchPINVOKE.switch_core_get_switchname();
    return ret;
  }

  public static string switch_core_get_domain(switch_bool_t dup) {
    string ret = freeswitchPINVOKE.switch_core_get_domain((int)dup);
    return ret;
  }

  public static void switch_core_set_variable(string varname, string value) {
    freeswitchPINVOKE.switch_core_set_variable(varname, value);
  }

  public static switch_status_t switch_core_get_variables(SWIGTYPE_p_p_switch_event arg0) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_get_variables(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
    return ret;
  }

  public static switch_bool_t switch_core_set_var_conditional(string varname, string value, string val2) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_set_var_conditional(varname, value, val2);
    return ret;
  }

  public static void switch_core_dump_variables(switch_stream_handle stream) {
    freeswitchPINVOKE.switch_core_dump_variables(switch_stream_handle.getCPtr(stream));
  }

  public static void switch_core_session_hupall(switch_call_cause_t cause) {
    freeswitchPINVOKE.switch_core_session_hupall((int)cause);
  }

  public static uint switch_core_session_hupall_matching_var_ans(string var_name, string var_val, switch_call_cause_t cause, switch_hup_type_t type) {
    uint ret = freeswitchPINVOKE.switch_core_session_hupall_matching_var_ans(var_name, var_val, (int)cause, (int)type);
    return ret;
  }

  public static switch_console_callback_match switch_core_session_findall_matching_var(string var_name, string var_val) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_findall_matching_var(var_name, var_val);
    switch_console_callback_match ret = (cPtr == IntPtr.Zero) ? null : new switch_console_callback_match(cPtr, false);
    return ret;
  }

  public static switch_console_callback_match switch_core_session_findall() {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_findall();
    switch_console_callback_match ret = (cPtr == IntPtr.Zero) ? null : new switch_console_callback_match(cPtr, false);
    return ret;
  }

  public static void switch_core_session_hupall_endpoint(switch_endpoint_interface endpoint_interface, switch_call_cause_t cause) {
    freeswitchPINVOKE.switch_core_session_hupall_endpoint(switch_endpoint_interface.getCPtr(endpoint_interface), (int)cause);
  }

  public static switch_status_t switch_core_session_perform_get_partner(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session partner, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_get_partner(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(partner), file, func, line);
    return ret;
  }

  public static switch_status_t switch_core_session_message_send(string uuid_str, switch_core_session_message message) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_message_send(uuid_str, switch_core_session_message.getCPtr(message));
    return ret;
  }

  public static switch_status_t switch_core_session_queue_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message));
    return ret;
  }

  public static void switch_core_session_free_message(SWIGTYPE_p_p_switch_core_session_message message) {
    freeswitchPINVOKE.switch_core_session_free_message(SWIGTYPE_p_p_switch_core_session_message.getCPtr(message));
  }

  public static switch_status_t switch_core_session_queue_signal_data(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void signal_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_signal_data(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(signal_data));
    return ret;
  }

  public static switch_status_t switch_core_session_dequeue_signal_data(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_void signal_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_signal_data(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_void.getCPtr(signal_data));
    return ret;
  }

  public static switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication);
    return ret;
  }

  public static switch_status_t switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication);
    return ret;
  }

  public static switch_status_t switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session_message message) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session_message.getCPtr(message));
    return ret;
  }

  public static switch_status_t switch_core_session_flush_message(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_flush_message(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(arg1));
    return ret;
  }

  public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_exec(SWIGTYPE_p_switch_core_session session, switch_application_interface application_interface, string arg) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_exec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_application_interface.getCPtr(application_interface), arg);
    return ret;
  }

  public static void switch_core_session_video_reset(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_video_reset(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static switch_status_t switch_core_session_execute_application_get_flags(SWIGTYPE_p_switch_core_session session, string app, string arg, SWIGTYPE_p_int flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application_get_flags(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg, SWIGTYPE_p_int.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_session_execute_application_async(SWIGTYPE_p_switch_core_session session, string app, string arg) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application_async(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg);
    return ret;
  }

  public static switch_status_t switch_core_session_get_app_flags(string app, SWIGTYPE_p_int flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_app_flags(app, SWIGTYPE_p_int.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session session, string exten, string dialplan, string context) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session.getCPtr(session), exten, dialplan, context);
    return ret;
  }

  public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_session_get_private_class(SWIGTYPE_p_switch_core_session session, switch_pvt_class_t index) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private_class(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)index);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_set_private_class(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info, switch_pvt_class_t index) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_private_class(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info), (int)index);
    return ret;
  }

  public static int switch_core_session_add_stream(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) {
    int ret = freeswitchPINVOKE.switch_core_session_add_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info));
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_session_get_stream(SWIGTYPE_p_switch_core_session session, int index) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static int switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session session) {
    int ret = freeswitchPINVOKE.switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static void switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj) {
    freeswitchPINVOKE.switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj));
  }

  public static void switch_core_thread_session_end(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_thread_session_end(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_service_session_av(SWIGTYPE_p_switch_core_session session, switch_bool_t audio, switch_bool_t video) {
    freeswitchPINVOKE.switch_core_service_session_av(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)audio, (int)video);
  }

  public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags, SWIGTYPE_p_switch_call_cause_t cancel_cause) {
    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags, SWIGTYPE_p_switch_call_cause_t.getCPtr(cancel_cause));
    return ret;
  }

  public static switch_status_t switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message), file, func, line);
    return ret;
  }

  public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
    return ret;
  }

  public static uint switch_core_session_event_count(SWIGTYPE_p_switch_core_session session) {
    uint ret = freeswitchPINVOKE.switch_core_session_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static uint switch_core_session_messages_waiting(SWIGTYPE_p_switch_core_session session) {
    uint ret = freeswitchPINVOKE.switch_core_session_messages_waiting(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1, switch_bool_t force) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1), (int)force);
    return ret;
  }

  public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1, switch_bool_t priority) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1), (int)priority);
    return ret;
  }

  public static uint switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session session) {
    uint ret = freeswitchPINVOKE.switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
    return ret;
  }

  public static uint switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session session) {
    uint ret = freeswitchPINVOKE.switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_core_session_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id);
    return ret;
  }

  public static switch_status_t switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id);
    return ret;
  }

  public static switch_status_t switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id);
    return ret;
  }

  public static switch_status_t switch_core_session_set_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_status_t switch_core_session_set_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_status_t switch_core_session_set_video_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_status_t switch_core_session_set_video_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec) {
    freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf, (int)reset_read_codec);
  }

  public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id);
    return ret;
  }

  public static switch_status_t switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session session, string file, string func, int line, switch_signal_t sig) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), file, func, line, (int)sig);
    return ret;
  }

  public static switch_status_t switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

  public static switch_status_t switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session session, string dtmf_string) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session.getCPtr(session), dtmf_string);
    return ret;
  }

  public static switch_status_t switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

  public static switch_status_t switch_core_hash_init_case(SWIGTYPE_p_p_switch_hashtable hash, switch_bool_t case_sensitive) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_init_case(SWIGTYPE_p_p_switch_hashtable.getCPtr(hash), (int)case_sensitive);
    return ret;
  }

  public static switch_status_t switch_core_hash_destroy(SWIGTYPE_p_p_switch_hashtable hash) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_destroy(SWIGTYPE_p_p_switch_hashtable.getCPtr(hash));
    return ret;
  }

  public static switch_status_t switch_core_hash_insert_destructor(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_f_p_void__void destructor) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_destructor(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_f_p_void__void.getCPtr(destructor));
    return ret;
  }

  public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_mutex_t mutex) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_locked(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
    return ret;
  }

  public static switch_status_t switch_core_hash_insert_wrlock(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_thread_rwlock_t rwlock) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_wrlock(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(rwlock));
    return ret;
  }

  public static switch_status_t switch_core_hash_delete(SWIGTYPE_p_switch_hashtable hash, string key) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key);
    return ret;
  }

  public static switch_status_t switch_core_hash_delete_locked(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_switch_mutex_t mutex) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_locked(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
    return ret;
  }

  public static switch_status_t switch_core_hash_delete_wrlock(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_switch_thread_rwlock_t rwlock) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_wrlock(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(rwlock));
    return ret;
  }

  public static switch_status_t switch_core_hash_delete_multi(SWIGTYPE_p_switch_hashtable hash, SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t callback, SWIGTYPE_p_void pData) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_multi(SWIGTYPE_p_switch_hashtable.getCPtr(hash), SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(pData));
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_hash_find(SWIGTYPE_p_switch_hashtable hash, string key) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_hash_find_locked(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_switch_mutex_t mutex) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_locked(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_hash_find_rdlock(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_switch_thread_rwlock_t rwlock) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_rdlock(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(rwlock));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_switch_hashtable_iterator switch_core_hash_first_iter(SWIGTYPE_p_switch_hashtable hash, SWIGTYPE_p_switch_hashtable_iterator hi) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_first_iter(SWIGTYPE_p_switch_hashtable.getCPtr(hash), SWIGTYPE_p_switch_hashtable_iterator.getCPtr(hi));
    SWIGTYPE_p_switch_hashtable_iterator ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_hashtable_iterator(cPtr, false);
    return ret;
  }

  public static switch_bool_t switch_core_hash_empty(SWIGTYPE_p_switch_hashtable hash) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_hash_empty(SWIGTYPE_p_switch_hashtable.getCPtr(hash));
    return ret;
  }

  public static SWIGTYPE_p_switch_hashtable_iterator switch_core_hash_next(SWIGTYPE_p_p_switch_hashtable_iterator hi) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_next(SWIGTYPE_p_p_switch_hashtable_iterator.getCPtr(hi));
    SWIGTYPE_p_switch_hashtable_iterator ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_hashtable_iterator(cPtr, false);
    return ret;
  }

  public static void switch_core_hash_this(SWIGTYPE_p_switch_hashtable_iterator hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) {
    freeswitchPINVOKE.switch_core_hash_this(SWIGTYPE_p_switch_hashtable_iterator.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val));
  }

  public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_init(switch_timer.getCPtr(timer), timer_name, interval, samples, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static void switch_time_calibrate_clock() {
    freeswitchPINVOKE.switch_time_calibrate_clock();
  }

  public static switch_status_t switch_core_timer_next(switch_timer timer) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_next(switch_timer.getCPtr(timer));
    return ret;
  }

  public static switch_status_t switch_core_timer_step(switch_timer timer) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_step(switch_timer.getCPtr(timer));
    return ret;
  }

  public static switch_status_t switch_core_timer_sync(switch_timer timer) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_sync(switch_timer.getCPtr(timer));
    return ret;
  }

  public static switch_status_t switch_core_timer_check(switch_timer timer, switch_bool_t step) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_check(switch_timer.getCPtr(timer), (int)step);
    return ret;
  }

  public static switch_status_t switch_core_timer_destroy(switch_timer timer) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_destroy(switch_timer.getCPtr(timer));
    return ret;
  }

  public static switch_status_t switch_core_codec_init_with_bitrate(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint bitrate, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init_with_bitrate(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, bitrate, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_codec_parse_fmtp(string codec_name, string fmtp, uint rate, switch_codec_fmtp codec_fmtp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_parse_fmtp(codec_name, fmtp, rate, switch_codec_fmtp.getCPtr(codec_fmtp));
    return ret;
  }

  public static switch_status_t switch_core_codec_reset(switch_codec codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_reset(switch_codec.getCPtr(codec));
    return ret;
  }

  public static switch_status_t switch_core_codec_encode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void decoded_data, uint decoded_data_len, uint decoded_rate, SWIGTYPE_p_void encoded_data, SWIGTYPE_p_unsigned_long encoded_data_len, SWIGTYPE_p_unsigned_long encoded_rate, SWIGTYPE_p_unsigned_int flag) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(decoded_data), decoded_data_len, decoded_rate, SWIGTYPE_p_void.getCPtr(encoded_data), SWIGTYPE_p_unsigned_long.getCPtr(encoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(encoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag));
    return ret;
  }

  public static switch_status_t switch_core_codec_decode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void encoded_data, uint encoded_data_len, uint encoded_rate, SWIGTYPE_p_void decoded_data, SWIGTYPE_p_unsigned_long decoded_data_len, SWIGTYPE_p_unsigned_long decoded_rate, SWIGTYPE_p_unsigned_int flag) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(encoded_data), encoded_data_len, encoded_rate, SWIGTYPE_p_void.getCPtr(decoded_data), SWIGTYPE_p_unsigned_long.getCPtr(decoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(decoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag));
    return ret;
  }

  public static switch_status_t switch_core_codec_destroy(switch_codec codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_destroy(switch_codec.getCPtr(codec));
    return ret;
  }

  public static switch_status_t switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
    return ret;
  }

  public static switch_status_t switch_core_session_set_real_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_real_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
    return ret;
  }

  public static void switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_unset_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_lock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_unlock_codec_write(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_lock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_unlock_codec_read(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static switch_status_t switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_status_t switch_core_session_get_real_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_real_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_status_t switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_status_t switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_read_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_status_t switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session session, switch_codec_implementation impp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_get_video_write_impl(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec_implementation.getCPtr(impp));
    return ret;
  }

  public static switch_codec switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
    return ret;
  }

  public static switch_codec switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
    return ret;
  }

  public static switch_codec switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
    return ret;
  }

  public static switch_codec switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
    return ret;
  }

  public static switch_codec switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
    return ret;
  }

  public static switch_codec switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_sqlite3 switch_core_db_open_file(string filename) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_file(filename);
    SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3 db, string sql, uint retries) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries);
    return ret;
  }

  public static switch_status_t switch_core_db_persistant_execute_trans(SWIGTYPE_p_sqlite3 db, string sql, uint retries) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute_trans(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries);
    return ret;
  }

  public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) {
    freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql);
  }

  public static switch_status_t switch_core_perform_file_open(string file, string func, int line, switch_file_handle fh, string file_path, uint channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_file_read(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
    return ret;
  }

  public static switch_status_t switch_core_file_write(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
    return ret;
  }

  public static switch_status_t switch_core_file_write_video(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write_video(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
    return ret;
  }

  public static switch_status_t switch_core_file_seek(switch_file_handle fh, SWIGTYPE_p_unsigned_int cur_pos, long samples, int whence) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_seek(switch_file_handle.getCPtr(fh), SWIGTYPE_p_unsigned_int.getCPtr(cur_pos), samples, whence);
    return ret;
  }

  public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string arg2) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, arg2);
    return ret;
  }

  public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, ref string arg2) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2);
    return ret;
  }

  public static switch_status_t switch_core_file_close(switch_file_handle fh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_close(switch_file_handle.getCPtr(fh));
    return ret;
  }

  public static switch_status_t switch_core_file_truncate(switch_file_handle fh, long offset) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_truncate(switch_file_handle.getCPtr(fh), offset);
    return ret;
  }

  public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, uint channels, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, channels, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_speech_feed_tts(switch_speech_handle sh, string text, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_feed_tts(switch_speech_handle.getCPtr(sh), text, SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static void switch_core_speech_flush_tts(switch_speech_handle sh) {
    freeswitchPINVOKE.switch_core_speech_flush_tts(switch_speech_handle.getCPtr(sh));
  }

  public static void switch_core_speech_text_param_tts(switch_speech_handle sh, string param, string val) {
    freeswitchPINVOKE.switch_core_speech_text_param_tts(switch_speech_handle.getCPtr(sh), param, val);
  }

  public static void switch_core_speech_numeric_param_tts(switch_speech_handle sh, string param, int val) {
    freeswitchPINVOKE.switch_core_speech_numeric_param_tts(switch_speech_handle.getCPtr(sh), param, val);
  }

  public static void switch_core_speech_float_param_tts(switch_speech_handle sh, string param, double val) {
    freeswitchPINVOKE.switch_core_speech_float_param_tts(switch_speech_handle.getCPtr(sh), param, val);
  }

  public static switch_status_t switch_core_speech_read_tts(switch_speech_handle sh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_read_tts(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen), SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_speech_close(switch_speech_handle sh, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_close(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_asr_open(switch_asr_handle ah, string module_name, string codec, int rate, string dest, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_open(switch_asr_handle.getCPtr(ah), module_name, codec, rate, dest, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_asr_close(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_close(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_asr_feed(switch_asr_handle ah, SWIGTYPE_p_void data, uint len, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_void.getCPtr(data), len, SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_asr_feed_dtmf(switch_asr_handle ah, switch_dtmf_t dtmf, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed_dtmf(switch_asr_handle.getCPtr(ah), switch_dtmf_t.getCPtr(dtmf), SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_asr_check_results(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_check_results(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_asr_get_results(switch_asr_handle ah, ref string xmlstr, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_results(switch_asr_handle.getCPtr(ah), ref xmlstr, SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_asr_get_result_headers(switch_asr_handle ah, SWIGTYPE_p_p_switch_event headers, SWIGTYPE_p_unsigned_long flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_result_headers(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_p_switch_event.getCPtr(headers), SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static switch_status_t switch_core_asr_load_grammar(switch_asr_handle ah, string grammar, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, name);
    return ret;
  }

  public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), name);
    return ret;
  }

  public static switch_status_t switch_core_asr_enable_grammar(switch_asr_handle ah, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_enable_grammar(switch_asr_handle.getCPtr(ah), name);
    return ret;
  }

  public static switch_status_t switch_core_asr_disable_grammar(switch_asr_handle ah, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_disable_grammar(switch_asr_handle.getCPtr(ah), name);
    return ret;
  }

  public static switch_status_t switch_core_asr_disable_all_grammars(switch_asr_handle ah) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_disable_all_grammars(switch_asr_handle.getCPtr(ah));
    return ret;
  }

  public static switch_status_t switch_core_asr_pause(switch_asr_handle ah) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_pause(switch_asr_handle.getCPtr(ah));
    return ret;
  }

  public static switch_status_t switch_core_asr_resume(switch_asr_handle ah) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_resume(switch_asr_handle.getCPtr(ah));
    return ret;
  }

  public static switch_status_t switch_core_asr_start_input_timers(switch_asr_handle ah) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_start_input_timers(switch_asr_handle.getCPtr(ah));
    return ret;
  }

  public static void switch_core_asr_text_param(switch_asr_handle ah, string param, string val) {
    freeswitchPINVOKE.switch_core_asr_text_param(switch_asr_handle.getCPtr(ah), param, val);
  }

  public static void switch_core_asr_numeric_param(switch_asr_handle ah, string param, int val) {
    freeswitchPINVOKE.switch_core_asr_numeric_param(switch_asr_handle.getCPtr(ah), param, val);
  }

  public static void switch_core_asr_float_param(switch_asr_handle ah, string param, double val) {
    freeswitchPINVOKE.switch_core_asr_float_param(switch_asr_handle.getCPtr(ah), param, val);
  }

  public static switch_status_t switch_core_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string arg1, string query) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), arg1, query);
    return ret;
  }

  public static switch_status_t switch_core_directory_next(switch_directory_handle dh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next(switch_directory_handle.getCPtr(dh));
    return ret;
  }

  public static switch_status_t switch_core_directory_next_pair(switch_directory_handle dh, ref string var, ref string val) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next_pair(switch_directory_handle.getCPtr(dh), ref var, ref val);
    return ret;
  }

  public static switch_status_t switch_core_directory_close(switch_directory_handle dh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_close(switch_directory_handle.getCPtr(dh));
    return ret;
  }

  public static SWIGTYPE_p_FILE switch_core_data_channel(switch_text_channel_t channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel);
    SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
    return ret;
  }

  public static switch_bool_t switch_core_ready() {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready();
    return ret;
  }

  public static switch_bool_t switch_core_running() {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_running();
    return ret;
  }

  public static switch_bool_t switch_core_ready_inbound() {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready_inbound();
    return ret;
  }

  public static switch_bool_t switch_core_ready_outbound() {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready_outbound();
    return ret;
  }

  public static uint switch_core_flags() {
    uint ret = freeswitchPINVOKE.switch_core_flags();
    return ret;
  }

  public static switch_status_t switch_core_management_exec(string relative_oid, switch_management_action_t action, string data, SWIGTYPE_p_switch_size_t datalen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_management_exec(relative_oid, (int)action, data, SWIGTYPE_p_switch_size_t.getCPtr(datalen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static int set_normal_priority() {
    int ret = freeswitchPINVOKE.set_normal_priority();
    return ret;
  }

  public static int set_auto_priority() {
    int ret = freeswitchPINVOKE.set_auto_priority();
    return ret;
  }

  public static int set_realtime_priority() {
    int ret = freeswitchPINVOKE.set_realtime_priority();
    return ret;
  }

  public static int set_low_priority() {
    int ret = freeswitchPINVOKE.set_low_priority();
    return ret;
  }

  public static int change_user_group(string user, string group) {
    int ret = freeswitchPINVOKE.change_user_group(user, group);
    return ret;
  }

  public static void switch_core_runtime_loop(int bg) {
    freeswitchPINVOKE.switch_core_runtime_loop(bg);
  }

  public static switch_status_t switch_core_set_console(string console) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_set_console(console);
    return ret;
  }

  public static void switch_core_measure_time(SWIGTYPE_p_switch_time_t total_ms, switch_core_time_duration duration) {
    freeswitchPINVOKE.switch_core_measure_time(SWIGTYPE_p_switch_time_t.getCPtr(total_ms), switch_core_time_duration.getCPtr(duration));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
  }

  public static SWIGTYPE_p_switch_time_t switch_core_uptime() {
    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_core_uptime(), true);
    return ret;
  }

  public static int switch_core_session_ctl(switch_session_ctl_t cmd, SWIGTYPE_p_void val) {
    int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_void.getCPtr(val));
    return ret;
  }

  public static SWIGTYPE_p_FILE switch_core_get_console() {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console();
    SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
    return ret;
  }

  public static void switch_core_set_globals() {
    freeswitchPINVOKE.switch_core_set_globals();
  }

  public static byte switch_core_session_compare(SWIGTYPE_p_switch_core_session a, SWIGTYPE_p_switch_core_session b) {
    byte ret = freeswitchPINVOKE.switch_core_session_compare(SWIGTYPE_p_switch_core_session.getCPtr(a), SWIGTYPE_p_switch_core_session.getCPtr(b));
    return ret;
  }

  public static byte switch_core_session_check_interface(SWIGTYPE_p_switch_core_session session, switch_endpoint_interface endpoint_interface) {
    byte ret = freeswitchPINVOKE.switch_core_session_check_interface(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_endpoint_interface.getCPtr(endpoint_interface));
    return ret;
  }

  public static SWIGTYPE_p_switch_hashtable_iterator switch_core_mime_index() {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index();
    SWIGTYPE_p_switch_hashtable_iterator ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_hashtable_iterator(cPtr, false);
    return ret;
  }

  public static string switch_core_mime_ext2type(string ext) {
    string ret = freeswitchPINVOKE.switch_core_mime_ext2type(ext);
    return ret;
  }

  public static switch_status_t switch_core_mime_add_type(string type, string ext) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_mime_add_type(type, ext);
    return ret;
  }

  public static switch_loadable_module_interface switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t pool, string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t.getCPtr(pool), name);
    switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_void switch_loadable_module_create_interface(switch_loadable_module_interface mod, switch_module_interface_name_t iname) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(switch_loadable_module_interface.getCPtr(mod), (int)iname);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_switch_time_t switch_micro_time_now() {
    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_micro_time_now(), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_time_t switch_mono_micro_time_now() {
    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_mono_micro_time_now(), true);
    return ret;
  }

  public static void switch_core_memory_reclaim() {
    freeswitchPINVOKE.switch_core_memory_reclaim();
  }

  public static void switch_core_memory_reclaim_events() {
    freeswitchPINVOKE.switch_core_memory_reclaim_events();
  }

  public static void switch_core_memory_reclaim_logger() {
    freeswitchPINVOKE.switch_core_memory_reclaim_logger();
  }

  public static void switch_core_memory_reclaim_all() {
    freeswitchPINVOKE.switch_core_memory_reclaim_all();
  }

  public static void switch_core_setrlimits() {
    freeswitchPINVOKE.switch_core_setrlimits();
  }

  public static SWIGTYPE_p_switch_time_t switch_time_ref() {
    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_time_ref(), true);
    return ret;
  }

  public static void switch_time_sync() {
    freeswitchPINVOKE.switch_time_sync();
  }

  public static SWIGTYPE_p_time_t switch_epoch_time_now(SWIGTYPE_p_time_t t) {
    SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_epoch_time_now(SWIGTYPE_p_time_t.getCPtr(t)), true);
    return ret;
  }

  public static string switch_lookup_timezone(string tz_name) {
    string ret = freeswitchPINVOKE.switch_lookup_timezone(tz_name);
    return ret;
  }

  public static switch_status_t switch_strftime_tz(string tz, string format, string date, uint len, SWIGTYPE_p_switch_time_t thetime) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len, SWIGTYPE_p_switch_time_t.getCPtr(thetime));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_time_exp_tz_name(string tz, SWIGTYPE_p_switch_time_exp_t tm, SWIGTYPE_p_switch_time_t thetime) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_time_exp_tz_name(tz, SWIGTYPE_p_switch_time_exp_t.getCPtr(tm), SWIGTYPE_p_switch_time_t.getCPtr(thetime));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_load_network_lists(switch_bool_t reload) {
    freeswitchPINVOKE.switch_load_network_lists((int)reload);
  }

  public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, ref string token) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token);
    return ret;
  }

  public static void switch_time_set_monotonic(switch_bool_t enable) {
    freeswitchPINVOKE.switch_time_set_monotonic((int)enable);
  }

  public static void switch_time_set_timerfd(int enable) {
    freeswitchPINVOKE.switch_time_set_timerfd(enable);
  }

  public static void switch_time_set_nanosleep(switch_bool_t enable) {
    freeswitchPINVOKE.switch_time_set_nanosleep((int)enable);
  }

  public static void switch_time_set_matrix(switch_bool_t enable) {
    freeswitchPINVOKE.switch_time_set_matrix((int)enable);
  }

  public static void switch_time_set_cond_yield(switch_bool_t enable) {
    freeswitchPINVOKE.switch_time_set_cond_yield((int)enable);
  }

  public static void switch_time_set_use_system_time(switch_bool_t enable) {
    freeswitchPINVOKE.switch_time_set_use_system_time((int)enable);
  }

  public static uint switch_core_min_dtmf_duration(uint duration) {
    uint ret = freeswitchPINVOKE.switch_core_min_dtmf_duration(duration);
    return ret;
  }

  public static uint switch_core_max_dtmf_duration(uint duration) {
    uint ret = freeswitchPINVOKE.switch_core_max_dtmf_duration(duration);
    return ret;
  }

  public static double switch_core_min_idle_cpu(double new_limit) {
    double ret = freeswitchPINVOKE.switch_core_min_idle_cpu(new_limit);
    return ret;
  }

  public static double switch_core_idle_cpu() {
    double ret = freeswitchPINVOKE.switch_core_idle_cpu();
    return ret;
  }

  public static uint switch_core_default_dtmf_duration(uint duration) {
    uint ret = freeswitchPINVOKE.switch_core_default_dtmf_duration(duration);
    return ret;
  }

  public static switch_status_t switch_console_set_complete(string arg0) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(arg0);
    return ret;
  }

  public static switch_status_t switch_console_set_alias(string arg0) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0);
    return ret;
  }

  public static int switch_system(string cmd, switch_bool_t wait) {
    int ret = freeswitchPINVOKE.switch_system(cmd, (int)wait);
    return ret;
  }

  public static int switch_stream_system(string cmd, switch_stream_handle stream) {
    int ret = freeswitchPINVOKE.switch_stream_system(cmd, switch_stream_handle.getCPtr(stream));
    return ret;
  }

  public static void switch_cond_yield(SWIGTYPE_p_switch_interval_time_t t) {
    freeswitchPINVOKE.switch_cond_yield(SWIGTYPE_p_switch_interval_time_t.getCPtr(t));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
  }

  public static void switch_cond_next() {
    freeswitchPINVOKE.switch_cond_next();
  }

  public static switch_status_t switch_core_chat_send_args(string dest_proto, string proto, string from, string to, string subject, string body, string type, string hint, switch_bool_t blocking) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_send_args(dest_proto, proto, from, to, subject, body, type, hint, (int)blocking);
    return ret;
  }

  public static switch_status_t switch_core_chat_send(string dest_proto, switch_event message_event) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_send(dest_proto, switch_event.getCPtr(message_event));
    return ret;
  }

  public static switch_status_t switch_core_chat_deliver(string dest_proto, SWIGTYPE_p_p_switch_event message_event) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_deliver(dest_proto, SWIGTYPE_p_p_switch_event.getCPtr(message_event));
    return ret;
  }

  public static switch_status_t switch_ivr_preprocess_session(SWIGTYPE_p_switch_core_session session, string cmds) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_preprocess_session(SWIGTYPE_p_switch_core_session.getCPtr(session), cmds);
    return ret;
  }

  public static void switch_core_sqldb_pause() {
    freeswitchPINVOKE.switch_core_sqldb_pause();
  }

  public static void switch_core_sqldb_resume() {
    freeswitchPINVOKE.switch_core_sqldb_resume();
  }

  public static string switch_cache_db_type_name(switch_cache_db_handle_type_t type) {
    string ret = freeswitchPINVOKE.switch_cache_db_type_name((int)type);
    return ret;
  }

  public static switch_cache_db_handle_type_t switch_cache_db_get_type(SWIGTYPE_p_switch_cache_db_handle dbh) {
    switch_cache_db_handle_type_t ret = (switch_cache_db_handle_type_t)freeswitchPINVOKE.switch_cache_db_get_type(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh));
    return ret;
  }

  public static void switch_cache_db_dismiss_db_handle(SWIGTYPE_p_p_switch_cache_db_handle dbh) {
    freeswitchPINVOKE.switch_cache_db_dismiss_db_handle(SWIGTYPE_p_p_switch_cache_db_handle.getCPtr(dbh));
  }

  public static void switch_cache_db_release_db_handle(SWIGTYPE_p_p_switch_cache_db_handle dbh) {
    freeswitchPINVOKE.switch_cache_db_release_db_handle(SWIGTYPE_p_p_switch_cache_db_handle.getCPtr(dbh));
  }

  public static switch_status_t _switch_cache_db_get_db_handle(SWIGTYPE_p_p_switch_cache_db_handle dbh, switch_cache_db_handle_type_t type, switch_cache_db_connection_options_t connection_options, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE._switch_cache_db_get_db_handle(SWIGTYPE_p_p_switch_cache_db_handle.getCPtr(dbh), (int)type, switch_cache_db_connection_options_t.getCPtr(connection_options), file, func, line);
    return ret;
  }

  public static switch_status_t _switch_cache_db_get_db_handle_dsn(SWIGTYPE_p_p_switch_cache_db_handle dbh, string dsn, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE._switch_cache_db_get_db_handle_dsn(SWIGTYPE_p_p_switch_cache_db_handle.getCPtr(dbh), dsn, file, func, line);
    return ret;
  }

  public static string switch_cache_db_execute_sql2str(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, string str, uint len, ref string err) {
    string ret = freeswitchPINVOKE.switch_cache_db_execute_sql2str(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, str, len, ref err);
    return ret;
  }

  public static switch_status_t switch_cache_db_execute_sql(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_execute_sql(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, ref err);
    return ret;
  }

  public static switch_status_t switch_cache_db_execute_sql_callback(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void pdata, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_execute_sql_callback(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(pdata), ref err);
    return ret;
  }

  public static switch_status_t switch_cache_db_execute_sql_callback_err(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_f_p_void_p_q_const__char__int err_callback, SWIGTYPE_p_void pdata, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_execute_sql_callback_err(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_f_p_void_p_q_const__char__int.getCPtr(err_callback), SWIGTYPE_p_void.getCPtr(pdata), ref err);
    return ret;
  }

  public static int switch_cache_db_affected_rows(SWIGTYPE_p_switch_cache_db_handle dbh) {
    int ret = freeswitchPINVOKE.switch_cache_db_affected_rows(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh));
    return ret;
  }

  public static int switch_cache_db_load_extension(SWIGTYPE_p_switch_cache_db_handle dbh, string extension) {
    int ret = freeswitchPINVOKE.switch_cache_db_load_extension(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), extension);
    return ret;
  }

  public static void switch_cache_db_status(switch_stream_handle stream) {
    freeswitchPINVOKE.switch_cache_db_status(switch_stream_handle.getCPtr(stream));
  }

  public static switch_status_t _switch_core_db_handle(SWIGTYPE_p_p_switch_cache_db_handle dbh, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE._switch_core_db_handle(SWIGTYPE_p_p_switch_cache_db_handle.getCPtr(dbh), file, func, line);
    return ret;
  }

  public static switch_bool_t switch_cache_db_test_reactive(SWIGTYPE_p_switch_cache_db_handle db, string test_sql, string drop_sql, string reactive_sql) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_cache_db_test_reactive(SWIGTYPE_p_switch_cache_db_handle.getCPtr(db), test_sql, drop_sql, reactive_sql);
    return ret;
  }

  public static switch_status_t switch_cache_db_persistant_execute(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, uint retries) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_persistant_execute(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, retries);
    return ret;
  }

  public static switch_status_t switch_cache_db_persistant_execute_trans_full(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, uint retries, string pre_trans_execute, string post_trans_execute, string inner_pre_trans_execute, string inner_post_trans_execute) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_persistant_execute_trans_full(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, retries, pre_trans_execute, post_trans_execute, inner_pre_trans_execute, inner_post_trans_execute);
    return ret;
  }

  public static void switch_core_set_signal_handlers() {
    freeswitchPINVOKE.switch_core_set_signal_handlers();
  }

  public static uint switch_core_debug_level() {
    uint ret = freeswitchPINVOKE.switch_core_debug_level();
    return ret;
  }

  public static void switch_cache_db_flush_handles() {
    freeswitchPINVOKE.switch_cache_db_flush_handles();
  }

  public static string switch_core_banner() {
    string ret = freeswitchPINVOKE.switch_core_banner();
    return ret;
  }

  public static switch_bool_t switch_core_session_in_thread(SWIGTYPE_p_switch_core_session session) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_session_in_thread(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static uint switch_default_ptime(string name, uint number) {
    uint ret = freeswitchPINVOKE.switch_default_ptime(name, number);
    return ret;
  }

  public static uint switch_default_rate(string name, uint number) {
    uint ret = freeswitchPINVOKE.switch_default_rate(name, number);
    return ret;
  }

  public static switch_status_t switch_core_add_registration(string user, string realm, string token, string url, uint expires, string network_ip, string network_port, string network_proto, string metadata) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_add_registration(user, realm, token, url, expires, network_ip, network_port, network_proto, metadata);
    return ret;
  }

  public static switch_status_t switch_core_del_registration(string user, string realm, string token) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_del_registration(user, realm, token);
    return ret;
  }

  public static switch_status_t switch_core_expire_registration(int force) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_expire_registration(force);
    return ret;
  }

  public static string switch_say_file_handle_get_variable(SWIGTYPE_p_switch_say_file_handle sh, string var) {
    string ret = freeswitchPINVOKE.switch_say_file_handle_get_variable(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh), var);
    return ret;
  }

  public static string switch_say_file_handle_get_path(SWIGTYPE_p_switch_say_file_handle sh) {
    string ret = freeswitchPINVOKE.switch_say_file_handle_get_path(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh));
    return ret;
  }

  public static string switch_say_file_handle_detach_path(SWIGTYPE_p_switch_say_file_handle sh) {
    string ret = freeswitchPINVOKE.switch_say_file_handle_detach_path(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh));
    return ret;
  }

  public static void switch_say_file_handle_destroy(SWIGTYPE_p_p_switch_say_file_handle sh) {
    freeswitchPINVOKE.switch_say_file_handle_destroy(SWIGTYPE_p_p_switch_say_file_handle.getCPtr(sh));
  }

  public static switch_status_t switch_say_file_handle_create(SWIGTYPE_p_p_switch_say_file_handle sh, string ext, SWIGTYPE_p_p_switch_event var_event) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_say_file_handle_create(SWIGTYPE_p_p_switch_say_file_handle.getCPtr(sh), ext, SWIGTYPE_p_p_switch_event.getCPtr(var_event));
    return ret;
  }

  public static void switch_say_file(SWIGTYPE_p_switch_say_file_handle sh, string fmt) {
    freeswitchPINVOKE.switch_say_file(SWIGTYPE_p_switch_say_file_handle.getCPtr(sh), fmt);
  }

  public static int switch_max_file_desc() {
    int ret = freeswitchPINVOKE.switch_max_file_desc();
    return ret;
  }

  public static void switch_close_extra_files(SWIGTYPE_p_int keep, int keep_ttl) {
    freeswitchPINVOKE.switch_close_extra_files(SWIGTYPE_p_int.getCPtr(keep), keep_ttl);
  }

  public static switch_status_t switch_core_thread_set_cpu_affinity(int cpu) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_thread_set_cpu_affinity(cpu);
    return ret;
  }

  public static void switch_os_yield() {
    freeswitchPINVOKE.switch_os_yield();
  }

  public static switch_status_t switch_core_get_stacksizes(SWIGTYPE_p_switch_size_t cur, SWIGTYPE_p_switch_size_t max) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_get_stacksizes(SWIGTYPE_p_switch_size_t.getCPtr(cur), SWIGTYPE_p_switch_size_t.getCPtr(max));
    return ret;
  }

  public static void switch_core_gen_encoded_silence(SWIGTYPE_p_unsigned_char data, switch_codec_implementation read_impl, SWIGTYPE_p_switch_size_t len) {
    freeswitchPINVOKE.switch_core_gen_encoded_silence(SWIGTYPE_p_unsigned_char.getCPtr(data), switch_codec_implementation.getCPtr(read_impl), SWIGTYPE_p_switch_size_t.getCPtr(len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
  }

  public static switch_cache_db_handle_type_t switch_core_dbtype() {
    switch_cache_db_handle_type_t ret = (switch_cache_db_handle_type_t)freeswitchPINVOKE.switch_core_dbtype();
    return ret;
  }

  public static void switch_core_sql_exec(string sql) {
    freeswitchPINVOKE.switch_core_sql_exec(sql);
  }

  public static int switch_core_recovery_recover(string technology, string profile_name) {
    int ret = freeswitchPINVOKE.switch_core_recovery_recover(technology, profile_name);
    return ret;
  }

  public static void switch_core_recovery_untrack(SWIGTYPE_p_switch_core_session session, switch_bool_t force) {
    freeswitchPINVOKE.switch_core_recovery_untrack(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)force);
  }

  public static void switch_core_recovery_track(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_recovery_track(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_recovery_flush(string technology, string profile_name) {
    freeswitchPINVOKE.switch_core_recovery_flush(technology, profile_name);
  }

  public static void switch_sql_queue_manager_pause(SWIGTYPE_p_switch_sql_queue_manager qm, switch_bool_t flush) {
    freeswitchPINVOKE.switch_sql_queue_manager_pause(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), (int)flush);
  }

  public static void switch_sql_queue_manager_resume(SWIGTYPE_p_switch_sql_queue_manager qm) {
    freeswitchPINVOKE.switch_sql_queue_manager_resume(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm));
  }

  public static int switch_sql_queue_manager_size(SWIGTYPE_p_switch_sql_queue_manager qm, uint index) {
    int ret = freeswitchPINVOKE.switch_sql_queue_manager_size(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), index);
    return ret;
  }

  public static switch_status_t switch_sql_queue_manager_push_confirm(SWIGTYPE_p_switch_sql_queue_manager qm, string sql, uint pos, switch_bool_t dup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_sql_queue_manager_push_confirm(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), sql, pos, (int)dup);
    return ret;
  }

  public static switch_status_t switch_sql_queue_manager_push(SWIGTYPE_p_switch_sql_queue_manager qm, string sql, uint pos, switch_bool_t dup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_sql_queue_manager_push(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), sql, pos, (int)dup);
    return ret;
  }

  public static switch_status_t switch_sql_queue_manager_destroy(SWIGTYPE_p_p_switch_sql_queue_manager qmp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_sql_queue_manager_destroy(SWIGTYPE_p_p_switch_sql_queue_manager.getCPtr(qmp));
    return ret;
  }

  public static switch_status_t switch_sql_queue_manager_init_name(string name, SWIGTYPE_p_p_switch_sql_queue_manager qmp, uint numq, string dsn, uint max_trans, string pre_trans_execute, string post_trans_execute, string inner_pre_trans_execute, string inner_post_trans_execute) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_sql_queue_manager_init_name(name, SWIGTYPE_p_p_switch_sql_queue_manager.getCPtr(qmp), numq, dsn, max_trans, pre_trans_execute, post_trans_execute, inner_pre_trans_execute, inner_post_trans_execute);
    return ret;
  }

  public static switch_status_t switch_sql_queue_manager_start(SWIGTYPE_p_switch_sql_queue_manager qm) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_sql_queue_manager_start(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm));
    return ret;
  }

  public static switch_status_t switch_sql_queue_manager_stop(SWIGTYPE_p_switch_sql_queue_manager qm) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_sql_queue_manager_stop(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm));
    return ret;
  }

  public static switch_status_t switch_cache_db_execute_sql_event_callback(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, SWIGTYPE_p_f_p_void_p_switch_event__int callback, SWIGTYPE_p_void pdata, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_execute_sql_event_callback(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, SWIGTYPE_p_f_p_void_p_switch_event__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(pdata), ref err);
    return ret;
  }

  public static void switch_sql_queue_manager_execute_sql_callback(SWIGTYPE_p_switch_sql_queue_manager qm, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void pdata) {
    freeswitchPINVOKE.switch_sql_queue_manager_execute_sql_callback(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(pdata));
  }

  public static void switch_sql_queue_manager_execute_sql_callback_err(SWIGTYPE_p_switch_sql_queue_manager qm, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_f_p_void_p_q_const__char__int err_callback, SWIGTYPE_p_void pdata) {
    freeswitchPINVOKE.switch_sql_queue_manager_execute_sql_callback_err(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_f_p_void_p_q_const__char__int.getCPtr(err_callback), SWIGTYPE_p_void.getCPtr(pdata));
  }

  public static void switch_sql_queue_manager_execute_sql_event_callback(SWIGTYPE_p_switch_sql_queue_manager qm, string sql, SWIGTYPE_p_f_p_void_p_switch_event__int callback, SWIGTYPE_p_void pdata) {
    freeswitchPINVOKE.switch_sql_queue_manager_execute_sql_event_callback(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), sql, SWIGTYPE_p_f_p_void_p_switch_event__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(pdata));
  }

  public static void switch_sql_queue_manager_execute_sql_event_callback_err(SWIGTYPE_p_switch_sql_queue_manager qm, string sql, SWIGTYPE_p_f_p_void_p_switch_event__int callback, SWIGTYPE_p_f_p_void_p_q_const__char__int err_callback, SWIGTYPE_p_void pdata) {
    freeswitchPINVOKE.switch_sql_queue_manager_execute_sql_event_callback_err(SWIGTYPE_p_switch_sql_queue_manager.getCPtr(qm), sql, SWIGTYPE_p_f_p_void_p_switch_event__int.getCPtr(callback), SWIGTYPE_p_f_p_void_p_q_const__char__int.getCPtr(err_callback), SWIGTYPE_p_void.getCPtr(pdata));
  }

  public static SWIGTYPE_p_pid_t switch_fork() {
    SWIGTYPE_p_pid_t ret = new SWIGTYPE_p_pid_t(freeswitchPINVOKE.switch_fork(), true);
    return ret;
  }

  public static int switch_core_gen_certs(string prefix) {
    int ret = freeswitchPINVOKE.switch_core_gen_certs(prefix);
    return ret;
  }

  public static int switch_core_cert_gen_fingerprint(string prefix, dtls_fingerprint_t fp) {
    int ret = freeswitchPINVOKE.switch_core_cert_gen_fingerprint(prefix, dtls_fingerprint_t.getCPtr(fp));
    return ret;
  }

  public static int switch_core_cert_expand_fingerprint(dtls_fingerprint_t fp, string str) {
    int ret = freeswitchPINVOKE.switch_core_cert_expand_fingerprint(dtls_fingerprint_t.getCPtr(fp), str);
    return ret;
  }

  public static int switch_core_cert_verify(dtls_fingerprint_t fp) {
    int ret = freeswitchPINVOKE.switch_core_cert_verify(dtls_fingerprint_t.getCPtr(fp));
    return ret;
  }

  public static switch_status_t switch_core_session_refresh_video(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_refresh_video(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static int switch_stream_system_fork(string cmd, switch_stream_handle stream) {
    int ret = freeswitchPINVOKE.switch_stream_system_fork(cmd, switch_stream_handle.getCPtr(stream));
    return ret;
  }

  public static switch_call_direction_t switch_ice_direction(SWIGTYPE_p_switch_core_session session) {
    switch_call_direction_t ret = (switch_call_direction_t)freeswitchPINVOKE.switch_ice_direction(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static void switch_core_session_debug_pool(switch_stream_handle stream) {
    freeswitchPINVOKE.switch_core_session_debug_pool(switch_stream_handle.getCPtr(stream));
  }

  public static string switch_version_major() {
    string ret = freeswitchPINVOKE.switch_version_major();
    return ret;
  }

  public static string switch_version_minor() {
    string ret = freeswitchPINVOKE.switch_version_minor();
    return ret;
  }

  public static string switch_version_micro() {
    string ret = freeswitchPINVOKE.switch_version_micro();
    return ret;
  }

  public static string switch_version_revision() {
    string ret = freeswitchPINVOKE.switch_version_revision();
    return ret;
  }

  public static string switch_version_revision_human() {
    string ret = freeswitchPINVOKE.switch_version_revision_human();
    return ret;
  }

  public static string switch_version_full() {
    string ret = freeswitchPINVOKE.switch_version_full();
    return ret;
  }

  public static string switch_version_full_human() {
    string ret = freeswitchPINVOKE.switch_version_full_human();
    return ret;
  }

  public static switch_status_t switch_loadable_module_init(switch_bool_t autoload) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_init((int)autoload);
    return ret;
  }

  public static void switch_loadable_module_shutdown() {
    freeswitchPINVOKE.switch_loadable_module_shutdown();
  }

  public static switch_endpoint_interface switch_loadable_module_get_endpoint_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_endpoint_interface(name);
    switch_endpoint_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_endpoint_interface(cPtr, false);
    return ret;
  }

  public static switch_codec_interface switch_loadable_module_get_codec_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_codec_interface(name);
    switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
    return ret;
  }

  public static string switch_parse_codec_buf(string buf, SWIGTYPE_p_unsigned_long interval, SWIGTYPE_p_unsigned_long rate, SWIGTYPE_p_unsigned_long bit, SWIGTYPE_p_unsigned_long channels) {
    string ret = freeswitchPINVOKE.switch_parse_codec_buf(buf, SWIGTYPE_p_unsigned_long.getCPtr(interval), SWIGTYPE_p_unsigned_long.getCPtr(rate), SWIGTYPE_p_unsigned_long.getCPtr(bit), SWIGTYPE_p_unsigned_long.getCPtr(channels));
    return ret;
  }

  public static switch_dialplan_interface switch_loadable_module_get_dialplan_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_dialplan_interface(name);
    switch_dialplan_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_dialplan_interface(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_loadable_module_enumerate_available(string dir_path, SWIGTYPE_p_f_p_void_p_q_const__char__int callback, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_enumerate_available(dir_path, SWIGTYPE_p_f_p_void_p_q_const__char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_status_t switch_loadable_module_enumerate_loaded(SWIGTYPE_p_f_p_void_p_q_const__char__int callback, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_enumerate_loaded(SWIGTYPE_p_f_p_void_p_q_const__char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_status_t switch_loadable_module_build_dynamic(string filename, SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t switch_module_load, SWIGTYPE_p_f_void__switch_status_t switch_module_runtime, SWIGTYPE_p_f_void__switch_status_t switch_module_shutdown, switch_bool_t runtime) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_build_dynamic(filename, SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t.getCPtr(switch_module_load), SWIGTYPE_p_f_void__switch_status_t.getCPtr(switch_module_runtime), SWIGTYPE_p_f_void__switch_status_t.getCPtr(switch_module_shutdown), (int)runtime);
    return ret;
  }

  public static switch_timer_interface switch_loadable_module_get_timer_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_timer_interface(name);
    switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
    return ret;
  }

  public static switch_application_interface switch_loadable_module_get_application_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_application_interface(name);
    switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false);
    return ret;
  }

  public static switch_chat_application_interface switch_loadable_module_get_chat_application_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_chat_application_interface(name);
    switch_chat_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_application_interface(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_execute_chat_app(switch_event message, string app, string data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_execute_chat_app(switch_event.getCPtr(message), app, data);
    return ret;
  }

  public static switch_api_interface switch_loadable_module_get_api_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_api_interface(name);
    switch_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_api_interface(cPtr, false);
    return ret;
  }

  public static switch_json_api_interface switch_loadable_module_get_json_api_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_json_api_interface(name);
    switch_json_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_json_api_interface(cPtr, false);
    return ret;
  }

  public static switch_file_interface switch_loadable_module_get_file_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_file_interface(name);
    switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
    return ret;
  }

  public static switch_speech_interface switch_loadable_module_get_speech_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_speech_interface(name);
    switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
    return ret;
  }

  public static switch_asr_interface switch_loadable_module_get_asr_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_asr_interface(name);
    switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
    return ret;
  }

  public static switch_directory_interface switch_loadable_module_get_directory_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_directory_interface(name);
    switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
    return ret;
  }

  public static switch_chat_interface switch_loadable_module_get_chat_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_chat_interface(name);
    switch_chat_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_interface(cPtr, false);
    return ret;
  }

  public static switch_say_interface switch_loadable_module_get_say_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_say_interface(name);
    switch_say_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_say_interface(cPtr, false);
    return ret;
  }

  public static switch_management_interface switch_loadable_module_get_management_interface(string relative_oid) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_management_interface(relative_oid);
    switch_management_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
    return ret;
  }

  public static switch_limit_interface switch_loadable_module_get_limit_interface(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_limit_interface(name);
    switch_limit_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_limit_interface(cPtr, false);
    return ret;
  }

  public static int switch_loadable_module_get_codecs(SWIGTYPE_p_p_switch_codec_implementation array, int arraylen) {
    int ret = freeswitchPINVOKE.switch_loadable_module_get_codecs(SWIGTYPE_p_p_switch_codec_implementation.getCPtr(array), arraylen);
    return ret;
  }

  public static int switch_loadable_module_get_codecs_sorted(SWIGTYPE_p_p_switch_codec_implementation array, int arraylen, ref string prefs, int preflen) {
    int ret = freeswitchPINVOKE.switch_loadable_module_get_codecs_sorted(SWIGTYPE_p_p_switch_codec_implementation.getCPtr(array), arraylen, ref prefs, preflen);
    return ret;
  }

  public static switch_status_t switch_api_execute(string cmd, string arg, SWIGTYPE_p_switch_core_session session, switch_stream_handle stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_api_execute(cmd, arg, SWIGTYPE_p_switch_core_session.getCPtr(session), switch_stream_handle.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_json_api_execute(SWIGTYPE_p_cJSON json, SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_cJSON retval) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_json_api_execute(SWIGTYPE_p_cJSON.getCPtr(json), SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_cJSON.getCPtr(retval));
    return ret;
  }

  public static switch_status_t switch_loadable_module_load_module(string dir, string fname, switch_bool_t runtime, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_load_module(dir, fname, (int)runtime, ref err);
    return ret;
  }

  public static switch_status_t switch_loadable_module_exists(string mod) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_exists(mod);
    return ret;
  }

  public static switch_status_t switch_loadable_module_unload_module(string dir, string fname, switch_bool_t force, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_unload_module(dir, fname, (int)force, ref err);
    return ret;
  }

  public static uint switch_core_codec_next_id() {
    uint ret = freeswitchPINVOKE.switch_core_codec_next_id();
    return ret;
  }

  public static int switch_check_interval(uint rate, uint ptime) {
    int ret = freeswitchPINVOKE.switch_check_interval(rate, ptime);
    return ret;
  }

  public static void switch_core_codec_add_implementation(SWIGTYPE_p_apr_pool_t pool, switch_codec_interface codec_interface, switch_codec_type_t codec_type, byte ianacode, string iananame, string fmtp, uint samples_per_second, uint actual_samples_per_second, int bits_per_second, int microseconds_per_packet, uint samples_per_packet, uint decoded_bytes_per_packet, uint encoded_bytes_per_packet, byte number_of_channels, int codec_frames_per_packet, SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t init, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t encode, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t decode, SWIGTYPE_p_f_p_switch_codec__switch_status_t destroy) {
    freeswitchPINVOKE.switch_core_codec_add_implementation(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_codec_interface.getCPtr(codec_interface), (int)codec_type, ianacode, iananame, fmtp, samples_per_second, actual_samples_per_second, bits_per_second, microseconds_per_packet, samples_per_packet, decoded_bytes_per_packet, encoded_bytes_per_packet, number_of_channels, codec_frames_per_packet, SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t.getCPtr(init), SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(encode), SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(decode), SWIGTYPE_p_f_p_switch_codec__switch_status_t.getCPtr(destroy));
  }

  public static switch_bool_t switch_core_codec_ready(switch_codec codec) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_codec_ready(switch_codec.getCPtr(codec));
    return ret;
  }

  public static SWIGTYPE_p_f_p_switch_core_session__int switch_core_get_secondary_recover_callback(string key) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_get_secondary_recover_callback(key);
    SWIGTYPE_p_f_p_switch_core_session__int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__int(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_register_secondary_recover_callback(string key, SWIGTYPE_p_f_p_switch_core_session__int cb) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_register_secondary_recover_callback(key, SWIGTYPE_p_f_p_switch_core_session__int.getCPtr(cb));
    return ret;
  }

  public static void switch_core_unregister_secondary_recover_callback(string key) {
    freeswitchPINVOKE.switch_core_unregister_secondary_recover_callback(key);
  }

  public static void switch_console_loop() {
    freeswitchPINVOKE.switch_console_loop();
  }

  public static switch_status_t switch_console_stream_raw_write(switch_stream_handle handle, SWIGTYPE_p_unsigned_char data, SWIGTYPE_p_switch_size_t datalen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_stream_raw_write(switch_stream_handle.getCPtr(handle), SWIGTYPE_p_unsigned_char.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_stream_write_file_contents(switch_stream_handle stream, string path) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_stream_write_file_contents(switch_stream_handle.getCPtr(stream), path);
    return ret;
  }

  public static switch_status_t switch_console_init(SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_console_shutdown() {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_shutdown();
    return ret;
  }

  public static switch_status_t switch_console_add_complete_func(string name, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t cb) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_add_complete_func(name, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t.getCPtr(cb));
    return ret;
  }

  public static switch_status_t switch_console_del_complete_func(string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_del_complete_func(name);
    return ret;
  }

  public static switch_status_t switch_console_run_complete_func(string func, string line, string last_word, SWIGTYPE_p_p_switch_console_callback_match matches) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_run_complete_func(func, line, last_word, SWIGTYPE_p_p_switch_console_callback_match.getCPtr(matches));
    return ret;
  }

  public static void switch_console_push_match_unique(SWIGTYPE_p_p_switch_console_callback_match matches, string new_val) {
    freeswitchPINVOKE.switch_console_push_match_unique(SWIGTYPE_p_p_switch_console_callback_match.getCPtr(matches), new_val);
  }

  public static void switch_console_push_match(SWIGTYPE_p_p_switch_console_callback_match matches, string new_val) {
    freeswitchPINVOKE.switch_console_push_match(SWIGTYPE_p_p_switch_console_callback_match.getCPtr(matches), new_val);
  }

  public static void switch_console_free_matches(SWIGTYPE_p_p_switch_console_callback_match matches) {
    freeswitchPINVOKE.switch_console_free_matches(SWIGTYPE_p_p_switch_console_callback_match.getCPtr(matches));
  }

  public static byte switch_console_complete(string line, string last_word, SWIGTYPE_p_FILE console_out, switch_stream_handle stream, switch_xml xml) {
    byte ret = freeswitchPINVOKE.switch_console_complete(line, last_word, SWIGTYPE_p_FILE.getCPtr(console_out), switch_stream_handle.getCPtr(stream), switch_xml.getCPtr(xml));
    return ret;
  }

  public static void switch_console_sort_matches(switch_console_callback_match matches) {
    freeswitchPINVOKE.switch_console_sort_matches(switch_console_callback_match.getCPtr(matches));
  }

  public static void switch_console_save_history() {
    freeswitchPINVOKE.switch_console_save_history();
  }

  public static string switch_console_expand_alias(string cmd, string arg) {
    string ret = freeswitchPINVOKE.switch_console_expand_alias(cmd, arg);
    return ret;
  }

  public static switch_status_t switch_console_execute(string xcmd, int rec, switch_stream_handle istream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_execute(xcmd, rec, switch_stream_handle.getCPtr(istream));
    return ret;
  }

  public static uint switch_toupper(uint eax) {
    uint ret = freeswitchPINVOKE.switch_toupper(eax);
    return ret;
  }

  public static uint switch_tolower(uint eax) {
    uint ret = freeswitchPINVOKE.switch_tolower(eax);
    return ret;
  }

  public static void switch_toupper_max(string s) {
    freeswitchPINVOKE.switch_toupper_max(s);
  }

  public static void switch_tolower_max(string s) {
    freeswitchPINVOKE.switch_tolower_max(s);
  }

  public static int old_switch_toupper(int c) {
    int ret = freeswitchPINVOKE.old_switch_toupper(c);
    return ret;
  }

  public static int old_switch_tolower(int c) {
    int ret = freeswitchPINVOKE.old_switch_tolower(c);
    return ret;
  }

  public static int switch_isalnum(int c) {
    int ret = freeswitchPINVOKE.switch_isalnum(c);
    return ret;
  }

  public static int switch_isalpha(int c) {
    int ret = freeswitchPINVOKE.switch_isalpha(c);
    return ret;
  }

  public static int switch_iscntrl(int c) {
    int ret = freeswitchPINVOKE.switch_iscntrl(c);
    return ret;
  }

  public static int switch_isdigit(int c) {
    int ret = freeswitchPINVOKE.switch_isdigit(c);
    return ret;
  }

  public static int switch_isgraph(int c) {
    int ret = freeswitchPINVOKE.switch_isgraph(c);
    return ret;
  }

  public static int switch_islower(int c) {
    int ret = freeswitchPINVOKE.switch_islower(c);
    return ret;
  }

  public static int switch_isprint(int c) {
    int ret = freeswitchPINVOKE.switch_isprint(c);
    return ret;
  }

  public static int switch_ispunct(int c) {
    int ret = freeswitchPINVOKE.switch_ispunct(c);
    return ret;
  }

  public static int switch_isspace(int c) {
    int ret = freeswitchPINVOKE.switch_isspace(c);
    return ret;
  }

  public static int switch_isupper(int c) {
    int ret = freeswitchPINVOKE.switch_isupper(c);
    return ret;
  }

  public static int switch_isxdigit(int c) {
    int ret = freeswitchPINVOKE.switch_isxdigit(c);
    return ret;
  }

  public static switch_bool_t switch_testv6_subnet(ip_t _ip, ip_t _net, ip_t _mask) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_testv6_subnet(ip_t.getCPtr(_ip), ip_t.getCPtr(_net), ip_t.getCPtr(_mask));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_print_host(SWIGTYPE_p_switch_sockaddr_t addr, string buf, SWIGTYPE_p_switch_size_t len) {
    string ret = freeswitchPINVOKE.switch_print_host(SWIGTYPE_p_switch_sockaddr_t.getCPtr(addr), buf, SWIGTYPE_p_switch_size_t.getCPtr(len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static int _zstr(string s) {
    int ret = freeswitchPINVOKE._zstr(s);
    return ret;
  }

  public static switch_bool_t switch_is_moh(string s) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s);
    return ret;
  }

  public static string switch_strchr_strict(string arg0, char find, string allowed) {
    string ret = freeswitchPINVOKE.switch_strchr_strict(arg0, find, allowed);
    return ret;
  }

  public static int switch_string_has_escaped_data(string arg0) {
    int ret = freeswitchPINVOKE.switch_string_has_escaped_data(arg0);
    return ret;
  }

  public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char arg0, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char arg2, SWIGTYPE_p_switch_size_t olen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(arg0), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(arg2), SWIGTYPE_p_switch_size_t.getCPtr(olen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_b64_decode(string arg0, string arg1, SWIGTYPE_p_switch_size_t olen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_amp_encode(string s, string buf, SWIGTYPE_p_switch_size_t len) {
    string ret = freeswitchPINVOKE.switch_amp_encode(s, buf, SWIGTYPE_p_switch_size_t.getCPtr(len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_bool_t switch_is_digit_string(string s) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_digit_string(s);
    return ret;
  }

  public static char switch_itodtmf(char i) {
    char ret = freeswitchPINVOKE.switch_itodtmf(i);
    return ret;
  }

  public static int switch_dtmftoi(string s) {
    int ret = freeswitchPINVOKE.switch_dtmftoi(s);
    return ret;
  }

  public static uint switch_known_bitrate(byte payload) {
    uint ret = freeswitchPINVOKE.switch_known_bitrate(payload);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_fd_read_line(int fd, string buf, SWIGTYPE_p_switch_size_t len) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_line(fd, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_fd_read_dline(int fd, ref string buf, SWIGTYPE_p_switch_size_t len) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_dline(fd, ref buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_fp_read_dline(SWIGTYPE_p_FILE fd, ref string buf, SWIGTYPE_p_switch_size_t len) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fp_read_dline(SWIGTYPE_p_FILE.getCPtr(fd), ref buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
    return ret;
  }

  public static switch_status_t switch_frame_alloc(SWIGTYPE_p_p_switch_frame frame, SWIGTYPE_p_switch_size_t size) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_alloc(SWIGTYPE_p_p_switch_frame.getCPtr(frame), SWIGTYPE_p_switch_size_t.getCPtr(size));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_frame_dup(switch_frame orig, SWIGTYPE_p_p_switch_frame clone) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_dup(switch_frame.getCPtr(orig), SWIGTYPE_p_p_switch_frame.getCPtr(clone));
    return ret;
  }

  public static switch_status_t switch_frame_free(SWIGTYPE_p_p_switch_frame frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_free(SWIGTYPE_p_p_switch_frame.getCPtr(frame));
    return ret;
  }

  public static switch_bool_t switch_is_number(string str) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str);
    return ret;
  }

  public static string switch_find_parameter(string str, string param, SWIGTYPE_p_apr_pool_t pool) {
    string ret = freeswitchPINVOKE.switch_find_parameter(str, param, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static int switch_true(string expr) {
    int ret = freeswitchPINVOKE.switch_true(expr);
    return ret;
  }

  public static byte switch_true_byte(string expr) {
    byte ret = freeswitchPINVOKE.switch_true_byte(expr);
    return ret;
  }

  public static int switch_false(string expr) {
    int ret = freeswitchPINVOKE.switch_false(expr);
    return ret;
  }

  public static switch_status_t switch_resolve_host(string host, string buf, uint buflen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resolve_host(host, buf, buflen);
    return ret;
  }

  public static switch_status_t switch_find_local_ip(string buf, int len, SWIGTYPE_p_int mask, int family) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, SWIGTYPE_p_int.getCPtr(mask), family);
    return ret;
  }

  public static switch_status_t switch_find_interface_ip(string buf, int len, SWIGTYPE_p_int mask, string ifname, int family) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_interface_ip(buf, len, SWIGTYPE_p_int.getCPtr(mask), ifname, family);
    return ret;
  }

  public static string get_addr(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr sa, SWIGTYPE_p_socklen_t salen) {
    string ret = freeswitchPINVOKE.get_addr(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string get_addr6(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr_in6 sa, SWIGTYPE_p_socklen_t salen) {
    string ret = freeswitchPINVOKE.get_addr6(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr_in6.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static int get_addr_int(SWIGTYPE_p_switch_sockaddr_t sa) {
    int ret = freeswitchPINVOKE.get_addr_int(SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa));
    return ret;
  }

  public static int switch_cmp_addr(SWIGTYPE_p_switch_sockaddr_t sa1, SWIGTYPE_p_switch_sockaddr_t sa2) {
    int ret = freeswitchPINVOKE.switch_cmp_addr(SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa1), SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa2));
    return ret;
  }

  public static ushort get_port(SWIGTYPE_p_sockaddr sa) {
    ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa));
    return ret;
  }

  public static int switch_build_uri(string uri, SWIGTYPE_p_switch_size_t size, string scheme, string user, SWIGTYPE_p_switch_sockaddr_t sa, int flags) {
    int ret = freeswitchPINVOKE.switch_build_uri(uri, SWIGTYPE_p_switch_size_t.getCPtr(size), scheme, user, SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa), flags);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_priority_name(switch_priority_t priority) {
    string ret = freeswitchPINVOKE.switch_priority_name((int)priority);
    return ret;
  }

  public static char switch_rfc2833_to_char(int arg0) {
    char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0);
    return ret;
  }

  public static byte switch_char_to_rfc2833(char key) {
    byte ret = freeswitchPINVOKE.switch_char_to_rfc2833(key);
    return ret;
  }

  public static string switch_sanitize_number(string number) {
    string ret = freeswitchPINVOKE.switch_sanitize_number(number);
    return ret;
  }

  public static switch_bool_t switch_string_var_check(string s, switch_bool_t disable) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check(s, (int)disable);
    return ret;
  }

  public static switch_bool_t switch_string_var_check_const(string s) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_string_var_check_const(s);
    return ret;
  }

  public static string switch_var_clean_string(string s) {
    string ret = freeswitchPINVOKE.switch_var_clean_string(s);
    return ret;
  }

  public static string switch_clean_string(string s) {
    string ret = freeswitchPINVOKE.switch_clean_string(s);
    return ret;
  }

  public static string switch_clean_name_string(string s) {
    string ret = freeswitchPINVOKE.switch_clean_name_string(s);
    return ret;
  }

  public static int switch_safe_atoi(string nptr, int dft) {
    int ret = freeswitchPINVOKE.switch_safe_atoi(nptr, dft);
    return ret;
  }

  public static string switch_safe_strdup(string it) {
    string ret = freeswitchPINVOKE.switch_safe_strdup(it);
    return ret;
  }

  public static string switch_lc_strdup(string it) {
    string ret = freeswitchPINVOKE.switch_lc_strdup(it);
    return ret;
  }

  public static string switch_uc_strdup(string it) {
    string ret = freeswitchPINVOKE.switch_uc_strdup(it);
    return ret;
  }

  public static switch_bool_t switch_strstr(string s, string q) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_strstr(s, q);
    return ret;
  }

  public static SWIGTYPE_p_switch_time_t switch_str_time(string arg0) {
    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(arg0), true);
    return ret;
  }

  public static uint switch_separate_string(string buf, char delim, ref string array, uint arraylen) {
    uint ret = freeswitchPINVOKE.switch_separate_string(buf, delim, ref array, arraylen);
    return ret;
  }

  public static uint switch_separate_string_string(string buf, string delim, ref string array, uint arraylen) {
    uint ret = freeswitchPINVOKE.switch_separate_string_string(buf, delim, ref array, arraylen);
    return ret;
  }

  public static string switch_strip_spaces(string str, switch_bool_t dup) {
    string ret = freeswitchPINVOKE.switch_strip_spaces(str, (int)dup);
    return ret;
  }

  public static string switch_strip_whitespace(string str) {
    string ret = freeswitchPINVOKE.switch_strip_whitespace(str);
    return ret;
  }

  public static string switch_strip_commas(string arg0, string arg1, SWIGTYPE_p_switch_size_t len) {
    string ret = freeswitchPINVOKE.switch_strip_commas(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_strip_nonnumerics(string arg0, string arg1, SWIGTYPE_p_switch_size_t len) {
    string ret = freeswitchPINVOKE.switch_strip_nonnumerics(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_separate_paren_args(string str) {
    string ret = freeswitchPINVOKE.switch_separate_paren_args(str);
    return ret;
  }

  public static string switch_stristr(string instr, string str) {
    string ret = freeswitchPINVOKE.switch_stristr(instr, str);
    return ret;
  }

  public static switch_bool_t switch_is_lan_addr(string ip) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_lan_addr(ip);
    return ret;
  }

  public static string switch_replace_char(string str, char from, char to, switch_bool_t dup) {
    string ret = freeswitchPINVOKE.switch_replace_char(str, from, to, (int)dup);
    return ret;
  }

  public static switch_bool_t switch_ast2regex(string pat, string rbuf, uint len) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ast2regex(pat, rbuf, len);
    return ret;
  }

  public static string switch_escape_char(SWIGTYPE_p_apr_pool_t pool, string arg1, string delim, char esc) {
    string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_apr_pool_t.getCPtr(pool), arg1, delim, esc);
    return ret;
  }

  public static string switch_escape_string(string arg0, string arg1, SWIGTYPE_p_switch_size_t outlen) {
    string ret = freeswitchPINVOKE.switch_escape_string(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(outlen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_escape_string_pool(string arg0, SWIGTYPE_p_apr_pool_t pool) {
    string ret = freeswitchPINVOKE.switch_escape_string_pool(arg0, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static int switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t poll, int ms) {
    int ret = freeswitchPINVOKE.switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t.getCPtr(poll), ms);
    return ret;
  }

  public static string switch_cut_path(string arg0) {
    string ret = freeswitchPINVOKE.switch_cut_path(arg0);
    return ret;
  }

  public static string switch_string_replace(string arg0, string search, string replace) {
    string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace);
    return ret;
  }

  public static switch_status_t switch_string_match(string arg0, uint string_len, string search, uint search_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(arg0, string_len, search, search_len);
    return ret;
  }

  public static int switch_strcasecmp_any(string str) {
    int ret = freeswitchPINVOKE.switch_strcasecmp_any(str);
    return ret;
  }

  public static string switch_util_quote_shell_arg(string arg0) {
    string ret = freeswitchPINVOKE.switch_util_quote_shell_arg(arg0);
    return ret;
  }

  public static string switch_util_quote_shell_arg_pool(string arg0, SWIGTYPE_p_apr_pool_t pool) {
    string ret = freeswitchPINVOKE.switch_util_quote_shell_arg_pool(arg0, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static string switch_url_encode(string url, string buf, uint len) {
    string ret = freeswitchPINVOKE.switch_url_encode(url, buf, len);
    return ret;
  }

  public static string switch_url_decode(string s) {
    string ret = freeswitchPINVOKE.switch_url_decode(s);
    return ret;
  }

  public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file, string convert_cmd, string convert_ext) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file, convert_cmd, convert_ext);
    return ret;
  }

  public static string switch_find_end_paren(string s, char open, char close) {
    string ret = freeswitchPINVOKE.switch_find_end_paren(s, open, close);
    return ret;
  }

  public static void switch_separate_file_params(string file, ref string file_portion, ref string params_portion) {
    freeswitchPINVOKE.switch_separate_file_params(file, ref file_portion, ref params_portion);
  }

  public static switch_bool_t switch_is_file_path(string file) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_file_path(file);
    return ret;
  }

  public static int switch_parse_cidr(string arg0, ip_t ip, ip_t mask, SWIGTYPE_p_unsigned_long bitp) {
    int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, ip_t.getCPtr(ip), ip_t.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp));
    return ret;
  }

  public static switch_status_t switch_network_list_create(SWIGTYPE_p_p_switch_network_list list, string name, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), name, (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token);
    return ret;
  }

  public static switch_status_t switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list list, string host, string mask_str, switch_bool_t ok) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list.getCPtr(list), host, mask_str, (int)ok);
    return ret;
  }

  public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, ref string token) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token);
    return ret;
  }

  public static switch_bool_t switch_network_list_validate_ip6_token(SWIGTYPE_p_switch_network_list list, ip_t ip, ref string token) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip6_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip_t.getCPtr(ip), ref token);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_dow_int2str(int val) {
    string ret = freeswitchPINVOKE.switch_dow_int2str(val);
    return ret;
  }

  public static int switch_dow_str2int(string exp) {
    int ret = freeswitchPINVOKE.switch_dow_str2int(exp);
    return ret;
  }

  public static switch_bool_t switch_dow_cmp(string exp, int val) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_dow_cmp(exp, val);
    return ret;
  }

  public static int switch_number_cmp(string exp, int val) {
    int ret = freeswitchPINVOKE.switch_number_cmp(exp, val);
    return ret;
  }

  public static int switch_tod_cmp(string exp, int val) {
    int ret = freeswitchPINVOKE.switch_tod_cmp(exp, val);
    return ret;
  }

  public static int switch_fulldate_cmp(string exp, SWIGTYPE_p_switch_time_t ts) {
    int ret = freeswitchPINVOKE.switch_fulldate_cmp(exp, SWIGTYPE_p_switch_time_t.getCPtr(ts));
    return ret;
  }

  public static void switch_split_date(string exp, SWIGTYPE_p_int year, SWIGTYPE_p_int month, SWIGTYPE_p_int day) {
    freeswitchPINVOKE.switch_split_date(exp, SWIGTYPE_p_int.getCPtr(year), SWIGTYPE_p_int.getCPtr(month), SWIGTYPE_p_int.getCPtr(day));
  }

  public static void switch_split_time(string exp, SWIGTYPE_p_int hour, SWIGTYPE_p_int min, SWIGTYPE_p_int sec) {
    freeswitchPINVOKE.switch_split_time(exp, SWIGTYPE_p_int.getCPtr(hour), SWIGTYPE_p_int.getCPtr(min), SWIGTYPE_p_int.getCPtr(sec));
  }

  public static int switch_split_user_domain(string arg0, ref string user, ref string domain) {
    int ret = freeswitchPINVOKE.switch_split_user_domain(arg0, ref user, ref domain);
    return ret;
  }

  public static string switch_uuid_str(string buf, SWIGTYPE_p_switch_size_t len) {
    string ret = freeswitchPINVOKE.switch_uuid_str(buf, SWIGTYPE_p_switch_size_t.getCPtr(len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_format_number(string num) {
    string ret = freeswitchPINVOKE.switch_format_number(num);
    return ret;
  }

  public static uint switch_atoui(string nptr) {
    uint ret = freeswitchPINVOKE.switch_atoui(nptr);
    return ret;
  }

  public static uint switch_atoul(string nptr) {
    uint ret = freeswitchPINVOKE.switch_atoul(nptr);
    return ret;
  }

  public static string switch_strerror_r(int errnum, string buf, SWIGTYPE_p_switch_size_t buflen) {
    string ret = freeswitchPINVOKE.switch_strerror_r(errnum, buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static int switch_wait_sock(int sock, uint ms, switch_poll_t flags) {
    int ret = freeswitchPINVOKE.switch_wait_sock(sock, ms, (int)flags);
    return ret;
  }

  public static int switch_wait_socklist(switch_waitlist_t waitlist, uint len, uint ms) {
    int ret = freeswitchPINVOKE.switch_wait_socklist(switch_waitlist_t.getCPtr(waitlist), len, ms);
    return ret;
  }

  public static switch_status_t switch_http_parse_header(string buffer, uint datalen, switch_http_request_t request) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_http_parse_header(buffer, datalen, switch_http_request_t.getCPtr(request));
    return ret;
  }

  public static void switch_http_free_request(switch_http_request_t request) {
    freeswitchPINVOKE.switch_http_free_request(switch_http_request_t.getCPtr(request));
  }

  public static void switch_http_dump_request(switch_http_request_t request) {
    freeswitchPINVOKE.switch_http_dump_request(switch_http_request_t.getCPtr(request));
  }

  public static void switch_http_parse_qs(switch_http_request_t request, string qs) {
    freeswitchPINVOKE.switch_http_parse_qs(switch_http_request_t.getCPtr(request), qs);
  }

  public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) {
    IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number);
    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension new_ext, switch_caller_extension orig, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension.getCPtr(new_ext), switch_caller_extension.getCPtr(orig), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static void switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string extra_data) {
    freeswitchPINVOKE.switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, extra_data);
  }

  public static void switch_caller_extension_add_application_printf(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string fmt) {
    freeswitchPINVOKE.switch_caller_extension_add_application_printf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, fmt);
  }

  public static string switch_caller_get_field_by_name(switch_caller_profile caller_profile, string name) {
    string ret = freeswitchPINVOKE.switch_caller_get_field_by_name(switch_caller_profile.getCPtr(caller_profile), name);
    return ret;
  }

  public static switch_caller_profile switch_caller_profile_new(SWIGTYPE_p_apr_pool_t pool, string username, string dialplan, string caller_id_name, string caller_id_number, string network_addr, string ani, string aniii, string rdnis, string source, string context, string destination_number) {
    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), username, dialplan, caller_id_name, caller_id_number, network_addr, ani, aniii, rdnis, source, context, destination_number);
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static switch_caller_profile switch_caller_profile_clone(SWIGTYPE_p_switch_core_session session, switch_caller_profile tocopy) {
    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy));
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t pool, switch_caller_profile tocopy) {
    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy));
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event arg2) {
    freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(arg2));
  }

  public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) {
    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_state(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_channel_state_t switch_channel_get_running_state(SWIGTYPE_p_switch_channel channel) {
    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static int switch_channel_check_signal(SWIGTYPE_p_switch_channel channel, switch_bool_t in_thread_only) {
    int ret = freeswitchPINVOKE.switch_channel_check_signal(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)in_thread_only);
    return ret;
  }

  public static int switch_channel_test_ready(SWIGTYPE_p_switch_channel channel, switch_bool_t check_ready, switch_bool_t check_media) {
    int ret = freeswitchPINVOKE.switch_channel_test_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)check_ready, (int)check_media);
    return ret;
  }

  public static void switch_channel_wait_for_state(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state) {
    freeswitchPINVOKE.switch_channel_wait_for_state(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state);
  }

  public static void switch_channel_wait_for_state_timeout(SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state, uint timeout) {
    freeswitchPINVOKE.switch_channel_wait_for_state_timeout(SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state, timeout);
  }

  public static switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel));
    return ret;
  }

  public static switch_channel_state_t switch_channel_perform_set_state(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_channel_state_t state) {
    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_state(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)state);
    return ret;
  }

  public static switch_channel_state_t switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel channel, switch_channel_state_t state, string file, string func, int line) {
    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)state, file, func, line);
    return ret;
  }

  public static switch_call_cause_t switch_channel_str2cause(string str) {
    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_str2cause(str);
    return ret;
  }

  public static switch_call_cause_t switch_channel_get_cause(SWIGTYPE_p_switch_channel channel) {
    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_call_cause_t switch_channel_cause_q850(switch_call_cause_t cause) {
    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_cause_q850((int)cause);
    return ret;
  }

  public static switch_call_cause_t switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel channel) {
    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static SWIGTYPE_p_switch_call_cause_t switch_channel_get_cause_ptr(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_cause_ptr(SWIGTYPE_p_switch_channel.getCPtr(channel));
    SWIGTYPE_p_switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_call_cause_t(cPtr, false);
    return ret;
  }

  public static string switch_channel_cause2str(switch_call_cause_t cause) {
    string ret = freeswitchPINVOKE.switch_channel_cause2str((int)cause);
    return ret;
  }

  public static switch_channel_timetable switch_channel_get_timetable(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_channel_alloc(SWIGTYPE_p_p_switch_channel channel, switch_call_direction_t direction, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_alloc(SWIGTYPE_p_p_switch_channel.getCPtr(channel), (int)direction, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_channel_init(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_core_session session, switch_channel_state_t state, switch_channel_flag_t flag) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_init(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_core_session.getCPtr(session), (int)state, (int)flag);
    return ret;
  }

  public static void switch_channel_set_presence_data_vals(SWIGTYPE_p_switch_channel channel, string presence_data_cols) {
    freeswitchPINVOKE.switch_channel_set_presence_data_vals(SWIGTYPE_p_switch_channel.getCPtr(channel), presence_data_cols);
  }

  public static void switch_channel_perform_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id, string file, string func, int line) {
    freeswitchPINVOKE.switch_channel_perform_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id, file, func, line);
  }

  public static void switch_channel_uninit(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_uninit(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static void switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
    freeswitchPINVOKE.switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
  }

  public static void switch_channel_step_caller_profile(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_step_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static void switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
    freeswitchPINVOKE.switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
  }

  public static void switch_channel_set_hunt_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
    freeswitchPINVOKE.switch_channel_set_hunt_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
  }

  public static switch_caller_profile switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static void switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
    freeswitchPINVOKE.switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
  }

  public static switch_caller_profile switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static void switch_channel_set_origination_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
    freeswitchPINVOKE.switch_channel_set_origination_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
  }

  public static switch_caller_profile switch_channel_get_origination_caller_profile(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_origination_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static string switch_channel_get_uuid(SWIGTYPE_p_switch_channel channel) {
    string ret = freeswitchPINVOKE.switch_channel_get_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_status_t switch_channel_set_profile_var(SWIGTYPE_p_switch_channel channel, string name, string val) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_profile_var(SWIGTYPE_p_switch_channel.getCPtr(channel), name, val);
    return ret;
  }

  public static switch_status_t switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check);
    return ret;
  }

  public static switch_status_t switch_channel_add_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check, switch_stack_t stack) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_add_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check, (int)stack);
    return ret;
  }

  public static switch_status_t switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string fmt) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, fmt);
    return ret;
  }

  public static switch_status_t switch_channel_set_variable_name_printf(SWIGTYPE_p_switch_channel channel, string val, string fmt) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_name_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), val, fmt);
    return ret;
  }

  public static switch_status_t switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_partner_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check);
    return ret;
  }

  public static string switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel channel, string varname) {
    string ret = freeswitchPINVOKE.switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname);
    return ret;
  }

  public static string switch_channel_get_hold_music(SWIGTYPE_p_switch_channel channel) {
    string ret = freeswitchPINVOKE.switch_channel_get_hold_music(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static string switch_channel_get_hold_music_partner(SWIGTYPE_p_switch_channel channel) {
    string ret = freeswitchPINVOKE.switch_channel_get_hold_music_partner(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static uint switch_channel_del_variable_prefix(SWIGTYPE_p_switch_channel channel, string prefix) {
    uint ret = freeswitchPINVOKE.switch_channel_del_variable_prefix(SWIGTYPE_p_switch_channel.getCPtr(channel), prefix);
    return ret;
  }

  public static switch_status_t switch_channel_transfer_variable_prefix(SWIGTYPE_p_switch_channel orig_channel, SWIGTYPE_p_switch_channel new_channel, string prefix) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_transfer_variable_prefix(SWIGTYPE_p_switch_channel.getCPtr(orig_channel), SWIGTYPE_p_switch_channel.getCPtr(new_channel), prefix);
    return ret;
  }

  public static switch_status_t switch_channel_export_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string val, string export_varname, switch_bool_t var_check) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_export_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, val, export_varname, (int)var_check);
    return ret;
  }

  public static void switch_channel_process_export(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel peer_channel, switch_event var_event, string export_varname) {
    freeswitchPINVOKE.switch_channel_process_export(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(peer_channel), switch_event.getCPtr(var_event), export_varname);
  }

  public static switch_status_t switch_channel_export_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string export_varname, string fmt) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_export_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, export_varname, fmt);
    return ret;
  }

  public static void switch_channel_set_scope_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
    freeswitchPINVOKE.switch_channel_set_scope_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
  }

  public static switch_status_t switch_channel_get_scope_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_scope_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
    return ret;
  }

  public static string switch_channel_get_variable_dup(SWIGTYPE_p_switch_channel channel, string varname, switch_bool_t dup, int idx) {
    string ret = freeswitchPINVOKE.switch_channel_get_variable_dup(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, (int)dup, idx);
    return ret;
  }

  public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
    return ret;
  }

  public static switch_status_t switch_channel_pass_callee_id(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_pass_callee_id(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel));
    return ret;
  }

  public static switch_event_header switch_channel_variable_first(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_variable_first(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
    return ret;
  }

  public static void switch_channel_variable_last(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_variable_last(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static void switch_channel_restart(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_restart(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_status_t switch_channel_caller_extension_masquerade(SWIGTYPE_p_switch_channel orig_channel, SWIGTYPE_p_switch_channel new_channel, uint offset) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_caller_extension_masquerade(SWIGTYPE_p_switch_channel.getCPtr(orig_channel), SWIGTYPE_p_switch_channel.getCPtr(new_channel), offset);
    return ret;
  }

  public static void switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) {
    freeswitchPINVOKE.switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension));
  }

  public static void switch_channel_invert_cid(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_invert_cid(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static void switch_channel_flip_cid(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_flip_cid(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static void switch_channel_sort_cid(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_sort_cid(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
    return ret;
  }

  public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
    return ret;
  }

  public static void switch_channel_set_flag_value(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag, uint value) {
    freeswitchPINVOKE.switch_channel_set_flag_value(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag, value);
  }

  public static void switch_channel_set_flag_recursive(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    freeswitchPINVOKE.switch_channel_set_flag_recursive(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
  }

  public static void switch_channel_set_cap_value(SWIGTYPE_p_switch_channel channel, switch_channel_cap_t cap, uint value) {
    freeswitchPINVOKE.switch_channel_set_cap_value(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)cap, value);
  }

  public static void switch_channel_clear_cap(SWIGTYPE_p_switch_channel channel, switch_channel_cap_t cap) {
    freeswitchPINVOKE.switch_channel_clear_cap(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)cap);
  }

  public static uint switch_channel_test_cap(SWIGTYPE_p_switch_channel channel, switch_channel_cap_t cap) {
    uint ret = freeswitchPINVOKE.switch_channel_test_cap(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)cap);
    return ret;
  }

  public static uint switch_channel_test_cap_partner(SWIGTYPE_p_switch_channel channel, switch_channel_cap_t cap) {
    uint ret = freeswitchPINVOKE.switch_channel_test_cap_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)cap);
    return ret;
  }

  public static switch_bool_t switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
    return ret;
  }

  public static switch_bool_t switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
    return ret;
  }

  public static uint switch_channel_test_flag_partner(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    uint ret = freeswitchPINVOKE.switch_channel_test_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
    return ret;
  }

  public static void switch_channel_set_state_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    freeswitchPINVOKE.switch_channel_set_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
  }

  public static void switch_channel_clear_state_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    freeswitchPINVOKE.switch_channel_clear_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
  }

  public static void switch_channel_clear_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    freeswitchPINVOKE.switch_channel_clear_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
  }

  public static void switch_channel_clear_flag_recursive(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    freeswitchPINVOKE.switch_channel_clear_flag_recursive(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
  }

  public static switch_status_t switch_channel_perform_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
    return ret;
  }

  public static switch_status_t switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
    return ret;
  }

  public static void switch_channel_check_zrtp(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_check_zrtp(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_status_t switch_channel_perform_ring_ready_value(SWIGTYPE_p_switch_channel channel, switch_ring_ready_t rv, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready_value(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)rv, file, func, line);
    return ret;
  }

  public static switch_status_t switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
    return ret;
  }

  public static switch_status_t switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
    return ret;
  }

  public static switch_status_t switch_channel_perform_mark_ring_ready_value(SWIGTYPE_p_switch_channel channel, switch_ring_ready_t rv, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready_value(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)rv, file, func, line);
    return ret;
  }

  public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
    int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
    return ret;
  }

  public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
    freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
  }

  public static switch_state_handler_table switch_channel_get_state_handler(SWIGTYPE_p_switch_channel channel, int index) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index);
    switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info));
    return ret;
  }

  public static SWIGTYPE_p_void switch_channel_get_private(SWIGTYPE_p_switch_channel channel, string key) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_void switch_channel_get_private_partner(SWIGTYPE_p_switch_channel channel, string key) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), key);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_channel_set_name(SWIGTYPE_p_switch_channel channel, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_name(SWIGTYPE_p_switch_channel.getCPtr(channel), name);
    return ret;
  }

  public static string switch_channel_get_name(SWIGTYPE_p_switch_channel channel) {
    string ret = freeswitchPINVOKE.switch_channel_get_name(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_channel_state_t switch_channel_perform_hangup(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_call_cause_t hangup_cause) {
    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)hangup_cause);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_channel_has_dtmf(SWIGTYPE_p_switch_channel channel) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_has_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)), true);
    return ret;
  }

  public static switch_status_t switch_channel_dtmf_lock(SWIGTYPE_p_switch_channel channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dtmf_lock(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_status_t switch_channel_try_dtmf_lock(SWIGTYPE_p_switch_channel channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_try_dtmf_lock(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_status_t switch_channel_dtmf_unlock(SWIGTYPE_p_switch_channel channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dtmf_unlock(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_status_t switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

  public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string);
    return ret;
  }

  public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

  public static void switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_channel_state_name(switch_channel_state_t state) {
    string ret = freeswitchPINVOKE.switch_channel_state_name((int)state);
    return ret;
  }

  public static switch_channel_state_t switch_channel_name_state(string name) {
    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name);
    return ret;
  }

  public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
    freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
  }

  public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
    freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
  }

  public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
    freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
  }

  public static string switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel channel, string arg1, switch_event var_list, switch_event api_list, uint recur) {
    string ret = freeswitchPINVOKE.switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1, switch_event.getCPtr(var_list), switch_event.getCPtr(api_list), recur);
    return ret;
  }

  public static string switch_channel_build_param_string(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile, string prefix) {
    string ret = freeswitchPINVOKE.switch_channel_build_param_string(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile), prefix);
    return ret;
  }

  public static switch_status_t switch_channel_set_timestamps(SWIGTYPE_p_switch_channel channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_timestamps(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static void switch_channel_perform_audio_sync(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    freeswitchPINVOKE.switch_channel_perform_audio_sync(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
  }

  public static void switch_channel_set_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
    freeswitchPINVOKE.switch_channel_set_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
  }

  public static void switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
    freeswitchPINVOKE.switch_channel_clear_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
  }

  public static int switch_channel_test_private_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
    int ret = freeswitchPINVOKE.switch_channel_test_private_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
    return ret;
  }

  public static void switch_channel_set_app_flag_key(string app, SWIGTYPE_p_switch_channel channel, uint flags) {
    freeswitchPINVOKE.switch_channel_set_app_flag_key(app, SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
  }

  public static void switch_channel_clear_app_flag_key(string app, SWIGTYPE_p_switch_channel channel, uint flags) {
    freeswitchPINVOKE.switch_channel_clear_app_flag_key(app, SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
  }

  public static int switch_channel_test_app_flag_key(string app, SWIGTYPE_p_switch_channel channel, uint flags) {
    int ret = freeswitchPINVOKE.switch_channel_test_app_flag_key(app, SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
    return ret;
  }

  public static void switch_channel_set_bridge_time(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_set_bridge_time(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static void switch_channel_set_hangup_time(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_set_hangup_time(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_call_direction_t switch_channel_direction(SWIGTYPE_p_switch_channel channel) {
    switch_call_direction_t ret = (switch_call_direction_t)freeswitchPINVOKE.switch_channel_direction(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_call_direction_t switch_channel_logical_direction(SWIGTYPE_p_switch_channel channel) {
    switch_call_direction_t ret = (switch_call_direction_t)freeswitchPINVOKE.switch_channel_logical_direction(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static void switch_channel_set_direction(SWIGTYPE_p_switch_channel channel, switch_call_direction_t direction) {
    freeswitchPINVOKE.switch_channel_set_direction(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)direction);
  }

  public static SWIGTYPE_p_switch_core_session switch_channel_get_session(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_session(SWIGTYPE_p_switch_channel.getCPtr(channel));
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static string switch_channel_get_flag_string(SWIGTYPE_p_switch_channel channel) {
    string ret = freeswitchPINVOKE.switch_channel_get_flag_string(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static string switch_channel_get_cap_string(SWIGTYPE_p_switch_channel channel) {
    string ret = freeswitchPINVOKE.switch_channel_get_cap_string(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static int switch_channel_state_change_pending(SWIGTYPE_p_switch_channel channel) {
    int ret = freeswitchPINVOKE.switch_channel_state_change_pending(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static void switch_channel_perform_set_callstate(SWIGTYPE_p_switch_channel channel, switch_channel_callstate_t callstate, string file, string func, int line) {
    freeswitchPINVOKE.switch_channel_perform_set_callstate(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)callstate, file, func, line);
  }

  public static switch_channel_callstate_t switch_channel_get_callstate(SWIGTYPE_p_switch_channel channel) {
    switch_channel_callstate_t ret = (switch_channel_callstate_t)freeswitchPINVOKE.switch_channel_get_callstate(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static string switch_channel_callstate2str(switch_channel_callstate_t callstate) {
    string ret = freeswitchPINVOKE.switch_channel_callstate2str((int)callstate);
    return ret;
  }

  public static switch_channel_callstate_t switch_channel_str2callstate(string str) {
    switch_channel_callstate_t ret = (switch_channel_callstate_t)freeswitchPINVOKE.switch_channel_str2callstate(str);
    return ret;
  }

  public static void switch_channel_mark_hold(SWIGTYPE_p_switch_channel channel, switch_bool_t on) {
    freeswitchPINVOKE.switch_channel_mark_hold(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)on);
  }

  public static switch_status_t switch_channel_execute_on(SWIGTYPE_p_switch_channel channel, string variable_prefix) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_execute_on(SWIGTYPE_p_switch_channel.getCPtr(channel), variable_prefix);
    return ret;
  }

  public static switch_status_t switch_channel_api_on(SWIGTYPE_p_switch_channel channel, string variable_prefix) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_api_on(SWIGTYPE_p_switch_channel.getCPtr(channel), variable_prefix);
    return ret;
  }

  public static void switch_channel_process_device_hangup(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_process_device_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_caller_extension switch_channel_get_queued_extension(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_queued_extension(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
    return ret;
  }

  public static void switch_channel_transfer_to_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) {
    freeswitchPINVOKE.switch_channel_transfer_to_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension));
  }

  public static string switch_channel_get_partner_uuid(SWIGTYPE_p_switch_channel channel) {
    string ret = freeswitchPINVOKE.switch_channel_get_partner_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static switch_hold_record_t switch_channel_get_hold_record(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_hold_record(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_hold_record_t ret = (cPtr == IntPtr.Zero) ? null : new switch_hold_record_t(cPtr, false);
    return ret;
  }

  public static void switch_channel_state_thread_lock(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_state_thread_lock(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static void switch_channel_state_thread_unlock(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_state_thread_unlock(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_status_t switch_channel_state_thread_trylock(SWIGTYPE_p_switch_channel channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_state_thread_trylock(SWIGTYPE_p_switch_channel.getCPtr(channel));
    return ret;
  }

  public static void switch_channel_handle_cause(SWIGTYPE_p_switch_channel channel, switch_call_cause_t cause) {
    freeswitchPINVOKE.switch_channel_handle_cause(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)cause);
  }

  public static void switch_channel_global_init(SWIGTYPE_p_apr_pool_t pool) {
    freeswitchPINVOKE.switch_channel_global_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
  }

  public static void switch_channel_global_uninit() {
    freeswitchPINVOKE.switch_channel_global_uninit();
  }

  public static string switch_channel_set_device_id(SWIGTYPE_p_switch_channel channel, string device_id) {
    string ret = freeswitchPINVOKE.switch_channel_set_device_id(SWIGTYPE_p_switch_channel.getCPtr(channel), device_id);
    return ret;
  }

  public static void switch_channel_clear_device_record(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_clear_device_record(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  public static switch_device_record_t switch_channel_get_device_record(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_device_record(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_device_record_t ret = (cPtr == IntPtr.Zero) ? null : new switch_device_record_t(cPtr, false);
    return ret;
  }

  public static void switch_channel_release_device_record(SWIGTYPE_p_p_switch_device_record_s dcdrp) {
    freeswitchPINVOKE.switch_channel_release_device_record(SWIGTYPE_p_p_switch_device_record_s.getCPtr(dcdrp));
  }

  public static switch_status_t switch_channel_bind_device_state_handler(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void function, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_bind_device_state_handler(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void.getCPtr(function), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_status_t switch_channel_unbind_device_state_handler(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void function) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_unbind_device_state_handler(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void.getCPtr(function));
    return ret;
  }

  public static string switch_channel_device_state2str(switch_device_state_t device_state) {
    string ret = freeswitchPINVOKE.switch_channel_device_state2str((int)device_state);
    return ret;
  }

  public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) {
    freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
  }

  public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) {
    freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
  }

  public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
    return ret;
  }

  public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) {
    freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_read(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_peek(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_peek(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_peek_zerocopy(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_p_void ptr) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_peek_zerocopy(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_p_void.getCPtr(ptr)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_read_loop(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read_loop(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_buffer_set_loops(SWIGTYPE_p_switch_buffer buffer, int loops) {
    freeswitchPINVOKE.switch_buffer_set_loops(SWIGTYPE_p_switch_buffer.getCPtr(buffer), loops);
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_write(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_write(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_toss(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_toss(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_buffer_zero(SWIGTYPE_p_switch_buffer buffer) {
    freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_slide_write(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_slide_write(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) {
    freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer));
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_zwrite(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_event_init(SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_event_shutdown() {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_shutdown();
    return ret;
  }

  public static switch_status_t switch_event_create_subclass_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, switch_event_types_t event_id, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), (int)event_id, subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority);
    return ret;
  }

  public static switch_event_header switch_event_get_header_ptr(switch_event arg0, string header_name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_event_get_header_ptr(switch_event.getCPtr(arg0), header_name);
    switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
    return ret;
  }

  public static string switch_event_get_header_idx(switch_event arg0, string header_name, int idx) {
    string ret = freeswitchPINVOKE.switch_event_get_header_idx(switch_event.getCPtr(arg0), header_name, idx);
    return ret;
  }

  public static switch_status_t switch_event_rename_header(switch_event arg0, string header_name, string new_header_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_rename_header(switch_event.getCPtr(arg0), header_name, new_header_name);
    return ret;
  }

  public static string switch_event_get_body(switch_event arg0) {
    string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0));
    return ret;
  }

  public static switch_status_t switch_event_set_subclass_name(switch_event arg0, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_subclass_name(switch_event.getCPtr(arg0), subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data);
    return ret;
  }

  public static switch_status_t switch_event_del_header_val(switch_event arg0, string header_name, string val) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header_val(switch_event.getCPtr(arg0), header_name, val);
    return ret;
  }

  public static int switch_event_add_array(switch_event arg0, string var, string val) {
    int ret = freeswitchPINVOKE.switch_event_add_array(switch_event.getCPtr(arg0), var, val);
    return ret;
  }

  public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) {
    freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
  }

  public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup));
    return ret;
  }

  public static void switch_event_merge(switch_event arg0, switch_event tomerge) {
    freeswitchPINVOKE.switch_event_merge(switch_event.getCPtr(arg0), switch_event.getCPtr(tomerge));
  }

  public static switch_status_t switch_event_dup_reply(SWIGTYPE_p_p_switch_event arg0, switch_event todup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup_reply(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup));
    return ret;
  }

  public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static void switch_event_prep_for_delivery_detailed(string file, string func, int line, switch_event arg3) {
    freeswitchPINVOKE.switch_event_prep_for_delivery_detailed(file, func, line, switch_event.getCPtr(arg3));
  }

  public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node));
    return ret;
  }

  public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node));
    return ret;
  }

  public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback));
    return ret;
  }

  public static string switch_event_name(switch_event_types_t arg0) {
    string ret = freeswitchPINVOKE.switch_event_name((int)arg0);
    return ret;
  }

  public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type));
    return ret;
  }

  public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_binary_deserialize(SWIGTYPE_p_p_switch_event eventp, SWIGTYPE_p_p_void data, SWIGTYPE_p_switch_size_t len, switch_bool_t duplicate) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_binary_deserialize(SWIGTYPE_p_p_switch_event.getCPtr(eventp), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len), (int)duplicate);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_event_binary_serialize(switch_event arg0, SWIGTYPE_p_p_void data, SWIGTYPE_p_switch_size_t len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_binary_serialize(switch_event.getCPtr(arg0), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
    return ret;
  }

  public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode);
    return ret;
  }

  public static switch_status_t switch_event_serialize_json(switch_event arg0, ref string str) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json(switch_event.getCPtr(arg0), ref str);
    return ret;
  }

  public static switch_status_t switch_event_serialize_json_obj(switch_event arg0, SWIGTYPE_p_p_cJSON json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json_obj(switch_event.getCPtr(arg0), SWIGTYPE_p_p_cJSON.getCPtr(json));
    return ret;
  }

  public static switch_status_t switch_event_create_json(SWIGTYPE_p_p_switch_event arg0, string json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_json(SWIGTYPE_p_p_switch_event.getCPtr(arg0), json);
    return ret;
  }

  public static switch_status_t switch_event_create_brackets(string data, char a, char b, char c, SWIGTYPE_p_p_switch_event arg4, ref string new_data, switch_bool_t dup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_brackets(data, a, b, c, SWIGTYPE_p_p_switch_event.getCPtr(arg4), ref new_data, (int)dup);
    return ret;
  }

  public static switch_status_t switch_event_create_array_pair(SWIGTYPE_p_p_switch_event arg0, ref string names, ref string vals, int len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_array_pair(SWIGTYPE_p_p_switch_event.getCPtr(arg0), ref names, ref vals, len);
    return ret;
  }

  public static switch_status_t switch_event_running() {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_running();
    return ret;
  }

  public static switch_status_t switch_event_set_body(switch_event arg0, string body) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_body(switch_event.getCPtr(arg0), body);
    return ret;
  }

  public static string switch_event_expand_headers_check(switch_event arg0, string arg1, switch_event var_list, switch_event api_list, uint recur) {
    string ret = freeswitchPINVOKE.switch_event_expand_headers_check(switch_event.getCPtr(arg0), arg1, switch_event.getCPtr(var_list), switch_event.getCPtr(api_list), recur);
    return ret;
  }

  public static switch_status_t switch_event_create_pres_in_detailed(string file, string func, int line, string proto, string login, string from, string from_domain, string status, string event_type, string alt_event_type, int event_count, string unique_id, string channel_state, string answer_state, string call_direction) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_pres_in_detailed(file, func, line, proto, login, from, from_domain, status, event_type, alt_event_type, event_count, unique_id, channel_state, answer_state, call_direction);
    return ret;
  }

  public static switch_status_t switch_event_create_plain(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_plain(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id);
    return ret;
  }

  public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) {
    freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
  }

  public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hashtable vars_map) {
    string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hashtable.getCPtr(vars_map));
    return ret;
  }

  public static int switch_event_check_permission_list(switch_event list, string name) {
    int ret = freeswitchPINVOKE.switch_event_check_permission_list(switch_event.getCPtr(list), name);
    return ret;
  }

  public static void switch_event_add_presence_data_cols(SWIGTYPE_p_switch_channel channel, switch_event arg1, string prefix) {
    freeswitchPINVOKE.switch_event_add_presence_data_cols(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1), prefix);
  }

  public static void switch_json_add_presence_data_cols(switch_event arg0, SWIGTYPE_p_cJSON json, string prefix) {
    freeswitchPINVOKE.switch_json_add_presence_data_cols(switch_event.getCPtr(arg0), SWIGTYPE_p_cJSON.getCPtr(json), prefix);
  }

  public static void switch_event_launch_dispatch_threads(uint max) {
    freeswitchPINVOKE.switch_event_launch_dispatch_threads(max);
  }

  public static uint switch_event_channel_broadcast(string event_channel, SWIGTYPE_p_p_cJSON json, string key, uint id) {
    uint ret = freeswitchPINVOKE.switch_event_channel_broadcast(event_channel, SWIGTYPE_p_p_cJSON.getCPtr(json), key, id);
    return ret;
  }

  public static uint switch_event_channel_unbind(string event_channel, SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void func) {
    uint ret = freeswitchPINVOKE.switch_event_channel_unbind(event_channel, SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void.getCPtr(func));
    return ret;
  }

  public static switch_status_t switch_event_channel_bind(string event_channel, SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void func, SWIGTYPE_p_unsigned_long id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_channel_bind(event_channel, SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void.getCPtr(func), SWIGTYPE_p_unsigned_long.getCPtr(id));
    return ret;
  }

  public static switch_status_t switch_live_array_clear(SWIGTYPE_p_switch_live_array_s la) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_live_array_clear(SWIGTYPE_p_switch_live_array_s.getCPtr(la));
    return ret;
  }

  public static switch_status_t switch_live_array_bootstrap(SWIGTYPE_p_switch_live_array_s la, string sessid, uint channel_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_live_array_bootstrap(SWIGTYPE_p_switch_live_array_s.getCPtr(la), sessid, channel_id);
    return ret;
  }

  public static switch_status_t switch_live_array_destroy(SWIGTYPE_p_p_switch_live_array_s live_arrayP) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_live_array_destroy(SWIGTYPE_p_p_switch_live_array_s.getCPtr(live_arrayP));
    return ret;
  }

  public static switch_status_t switch_live_array_create(string event_channel, string name, uint channel_id, SWIGTYPE_p_p_switch_live_array_s live_arrayP) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_live_array_create(event_channel, name, channel_id, SWIGTYPE_p_p_switch_live_array_s.getCPtr(live_arrayP));
    return ret;
  }

  public static SWIGTYPE_p_cJSON switch_live_array_get(SWIGTYPE_p_switch_live_array_s la, string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_live_array_get(SWIGTYPE_p_switch_live_array_s.getCPtr(la), name);
    SWIGTYPE_p_cJSON ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_cJSON(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_cJSON switch_live_array_get_idx(SWIGTYPE_p_switch_live_array_s la, int idx) {
    IntPtr cPtr = freeswitchPINVOKE.switch_live_array_get_idx(SWIGTYPE_p_switch_live_array_s.getCPtr(la), idx);
    SWIGTYPE_p_cJSON ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_cJSON(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_live_array_del(SWIGTYPE_p_switch_live_array_s la, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_live_array_del(SWIGTYPE_p_switch_live_array_s.getCPtr(la), name);
    return ret;
  }

  public static switch_status_t switch_live_array_add(SWIGTYPE_p_switch_live_array_s la, string name, int index, SWIGTYPE_p_p_cJSON obj, switch_bool_t destroy) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_live_array_add(SWIGTYPE_p_switch_live_array_s.getCPtr(la), name, index, SWIGTYPE_p_p_cJSON.getCPtr(obj), (int)destroy);
    return ret;
  }

  public static switch_status_t switch_live_array_visible(SWIGTYPE_p_switch_live_array_s la, switch_bool_t visible, switch_bool_t force) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_live_array_visible(SWIGTYPE_p_switch_live_array_s.getCPtr(la), (int)visible, (int)force);
    return ret;
  }

  public static switch_bool_t switch_live_array_isnew(SWIGTYPE_p_switch_live_array_s la) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_live_array_isnew(SWIGTYPE_p_switch_live_array_s.getCPtr(la));
    return ret;
  }

  public static void switch_live_array_lock(SWIGTYPE_p_switch_live_array_s la) {
    freeswitchPINVOKE.switch_live_array_lock(SWIGTYPE_p_switch_live_array_s.getCPtr(la));
  }

  public static void switch_live_array_unlock(SWIGTYPE_p_switch_live_array_s la) {
    freeswitchPINVOKE.switch_live_array_unlock(SWIGTYPE_p_switch_live_array_s.getCPtr(la));
  }

  public static void switch_live_array_set_user_data(SWIGTYPE_p_switch_live_array_s la, SWIGTYPE_p_void user_data) {
    freeswitchPINVOKE.switch_live_array_set_user_data(SWIGTYPE_p_switch_live_array_s.getCPtr(la), SWIGTYPE_p_void.getCPtr(user_data));
  }

  public static void switch_live_array_set_command_handler(SWIGTYPE_p_switch_live_array_s la, SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void command_handler) {
    freeswitchPINVOKE.switch_live_array_set_command_handler(SWIGTYPE_p_switch_live_array_s.getCPtr(la), SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void.getCPtr(command_handler));
  }

  public static void switch_live_array_parse_json(SWIGTYPE_p_cJSON json, uint channel_id) {
    freeswitchPINVOKE.switch_live_array_parse_json(SWIGTYPE_p_cJSON.getCPtr(json), channel_id);
  }

  public static switch_bool_t switch_live_array_add_alias(SWIGTYPE_p_switch_live_array_s la, string event_channel, string name) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_live_array_add_alias(SWIGTYPE_p_switch_live_array_s.getCPtr(la), event_channel, name);
    return ret;
  }

  public static switch_bool_t switch_live_array_clear_alias(SWIGTYPE_p_switch_live_array_s la, string event_channel, string name) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_live_array_clear_alias(SWIGTYPE_p_switch_live_array_s.getCPtr(la), event_channel, name);
    return ret;
  }

  public static switch_bool_t switch_event_channel_permission_verify(string cookie, string event_channel) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_event_channel_permission_verify(cookie, event_channel);
    return ret;
  }

  public static void switch_event_channel_permission_modify(string cookie, string event_channel, switch_bool_t set) {
    freeswitchPINVOKE.switch_event_channel_permission_modify(cookie, event_channel, (int)set);
  }

  public static void switch_event_channel_permission_clear(string cookie) {
    freeswitchPINVOKE.switch_event_channel_permission_clear(cookie);
  }

  public static switch_status_t switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, uint from_rate, uint to_rate, uint to_size, int quality, uint channels, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_perform_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, to_rate, to_size, quality, channels, file, func, line);
    return ret;
  }

  public static void switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t resampler) {
    freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler));
  }

  public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_short src, uint srclen) {
    uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_short.getCPtr(src), srclen);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_float_to_short(SWIGTYPE_p_float f, SWIGTYPE_p_short s, SWIGTYPE_p_switch_size_t len) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_float_to_short(SWIGTYPE_p_float.getCPtr(f), SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static int switch_char_to_float(string c, SWIGTYPE_p_float f, int len) {
    int ret = freeswitchPINVOKE.switch_char_to_float(c, SWIGTYPE_p_float.getCPtr(f), len);
    return ret;
  }

  public static int switch_float_to_char(SWIGTYPE_p_float f, string c, int len) {
    int ret = freeswitchPINVOKE.switch_float_to_char(SWIGTYPE_p_float.getCPtr(f), c, len);
    return ret;
  }

  public static int switch_short_to_float(SWIGTYPE_p_short s, SWIGTYPE_p_float f, int len) {
    int ret = freeswitchPINVOKE.switch_short_to_float(SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_float.getCPtr(f), len);
    return ret;
  }

  public static void switch_swap_linear(SWIGTYPE_p_short buf, int len) {
    freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len);
  }

  public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint channels, uint divisor) {
    freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, channels, divisor);
  }

  public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) {
    freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol);
  }

  public static void switch_change_sln_volume_granular(SWIGTYPE_p_short data, uint samples, int vol) {
    freeswitchPINVOKE.switch_change_sln_volume_granular(SWIGTYPE_p_short.getCPtr(data), samples, vol);
  }

  public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) {
    uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples);
    return ret;
  }

  public static uint switch_unmerge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) {
    uint ret = freeswitchPINVOKE.switch_unmerge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples);
    return ret;
  }

  public static void switch_mux_channels(SWIGTYPE_p_short data, SWIGTYPE_p_switch_size_t samples, uint orig_channels, uint channels) {
    freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(samples), orig_channels, channels);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
  }

  public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_generate_json_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_cJSON json_cdr, switch_bool_t urlencode) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_json_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_cJSON.getCPtr(json_cdr), (int)urlencode);
    return ret;
  }

  public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr));
    return ret;
  }

  public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) {
    int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off);
    return ret;
  }

  public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) {
    int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off);
    return ret;
  }

  public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(arg1));
    return ret;
  }

  public static switch_status_t switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_parse_all_messages(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_messages(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_parse_all_signal_data(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_signal_data(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_process_indications(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_process_indications(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message));
    return ret;
  }

  public static switch_status_t switch_ivr_sleep(SWIGTYPE_p_switch_core_session session, uint ms, switch_bool_t sync, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sleep(SWIGTYPE_p_switch_core_session.getCPtr(session), ms, (int)sync, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_park(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_park(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session session, switch_input_args_t args, uint digit_timeout, uint abs_timeout) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args), digit_timeout, abs_timeout);
    return ret;
  }

  public static switch_status_t switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session session, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t maxdigits, string terminators, string terminator, uint first_timeout, uint digit_timeout, uint abs_timeout) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session.getCPtr(session), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(maxdigits), terminators, terminator, first_timeout, digit_timeout, abs_timeout);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_play_and_detect_speech(SWIGTYPE_p_switch_core_session session, string file, string mod_name, string grammar, ref string result, uint input_timeout, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_and_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), file, mod_name, grammar, ref result, input_timeout, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_init(SWIGTYPE_p_switch_core_session session, string mod_name, string dest, switch_asr_handle ah) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_init(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, dest, switch_asr_handle.getCPtr(ah));
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string name, string dest, switch_asr_handle ah) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, grammar, name, dest, switch_asr_handle.getCPtr(ah));
    return ret;
  }

  public static switch_status_t switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session session, string grammar, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, name);
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), name);
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_enable_grammar(SWIGTYPE_p_switch_core_session session, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_enable_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), name);
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_disable_grammar(SWIGTYPE_p_switch_core_session session, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_disable_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), name);
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_disable_all_grammars(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_disable_all_grammars(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_set_param_detect_speech(SWIGTYPE_p_switch_core_session session, string name, string val) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_param_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), name, val);
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_start_input_timers(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_start_input_timers(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_record_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh));
    return ret;
  }

  public static switch_status_t switch_ivr_transfer_recordings(SWIGTYPE_p_switch_core_session orig_session, SWIGTYPE_p_switch_core_session new_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_recordings(SWIGTYPE_p_switch_core_session.getCPtr(orig_session), SWIGTYPE_p_switch_core_session.getCPtr(new_session));
    return ret;
  }

  public static switch_status_t switch_ivr_eavesdrop_pop_eavesdropper(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session sessionp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_pop_eavesdropper(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(sessionp));
    return ret;
  }

  public static switch_status_t switch_ivr_eavesdrop_exec_all(SWIGTYPE_p_switch_core_session session, string app, string arg) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_exec_all(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg);
    return ret;
  }

  public static switch_status_t switch_ivr_eavesdrop_update_display(SWIGTYPE_p_switch_core_session session, string name, string number) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_update_display(SWIGTYPE_p_switch_core_session.getCPtr(session), name, number);
    return ret;
  }

  public static switch_status_t switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session session, string uuid, string require_group, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, require_group, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_displace_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, string flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session session, string file) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file);
    return ret;
  }

  public static switch_status_t switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session session, string file) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file);
    return ret;
  }

  public static switch_status_t switch_ivr_session_audio(SWIGTYPE_p_switch_core_session session, string cmd, string direction, int level) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_audio(SWIGTYPE_p_switch_core_session.getCPtr(session), cmd, direction, level);
    return ret;
  }

  public static switch_status_t switch_ivr_stop_session_audio(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_session_audio(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session, switch_bool_t read_stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)read_stream);
    return ret;
  }

  public static switch_status_t switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, int hits, string app, string data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t callback) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), hits, app, data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t.getCPtr(callback));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint listen_hits, uint timeout_ms, string file) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, listen_hits, timeout_ms, file);
    return ret;
  }

  public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit);
    return ret;
  }

  public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, string var_name, string digit_buffer, uint digit_buffer_length, string digits_regex, uint digit_timeout, string transfer_on_failure) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_play_and_get_digits(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, max_tries, timeout, valid_terminators, audio_file, bad_input_audio_file, var_name, digit_buffer, digit_buffer_length, digits_regex, digit_timeout, transfer_on_failure);
    return ret;
  }

  public static switch_status_t switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session session, switch_speech_handle sh, switch_codec codec, switch_timer timer, string text, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_speech_handle.getCPtr(sh), switch_codec.getCPtr(codec), switch_timer.getCPtr(timer), text, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static void switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static switch_status_t switch_ivr_speak_text(SWIGTYPE_p_switch_core_session session, string tts_name, string voice_name, string text, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text(SWIGTYPE_p_switch_core_session.getCPtr(session), tts_name, voice_name, text, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags, SWIGTYPE_p_switch_call_cause_t cancel_cause) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags, SWIGTYPE_p_switch_call_cause_t.getCPtr(cancel_cause));
    return ret;
  }

  public static switch_status_t switch_ivr_enterprise_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, switch_event ovars, uint flags, SWIGTYPE_p_switch_call_cause_t cancel_cause) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_enterprise_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), switch_event.getCPtr(ovars), flags, SWIGTYPE_p_switch_call_cause_t.getCPtr(cancel_cause));
    return ret;
  }

  public static void switch_ivr_bridge_display(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
    freeswitchPINVOKE.switch_ivr_bridge_display(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
  }

  public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data));
    return ret;
  }

  public static switch_status_t switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
    return ret;
  }

  public static switch_status_t switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session session, string extension, string dialplan, string context) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session.getCPtr(session), extension, dialplan, context);
    return ret;
  }

  public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) {
    uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) {
    uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid);
    return ret;
  }

  public static switch_status_t switch_ivr_media(string uuid, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh);
    return ret;
  }

  public static switch_status_t switch_ivr_hold_toggle_uuid(string uuid, string message, switch_bool_t moh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_toggle_uuid(uuid, message, (int)moh);
    return ret;
  }

  public static switch_status_t switch_ivr_unhold_uuid(string uuid) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold_uuid(uuid);
    return ret;
  }

  public static switch_status_t switch_ivr_hold(SWIGTYPE_p_switch_core_session session, string message, switch_bool_t moh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), message, (int)moh);
    return ret;
  }

  public static switch_status_t switch_ivr_unhold(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static uint switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t runtime, string uuid, string path, uint flags) {
    uint ret = freeswitchPINVOKE.switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, path, flags);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_broadcast(string uuid, string path, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_broadcast(uuid, path, flags);
    return ret;
  }

  public static void switch_ivr_broadcast_in_thread(SWIGTYPE_p_switch_core_session session, string app, int flags) {
    freeswitchPINVOKE.switch_ivr_broadcast_in_thread(SWIGTYPE_p_switch_core_session.getCPtr(session), app, flags);
  }

  public static switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var);
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_p_switch_ivr_digit_stream stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits);
    return ret;
  }

  public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) {
    IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit);
    return ret;
  }

  public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string transfer_sound, string confirm_macro, string confirm_key, string tts_engine, string tts_voice, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, transfer_sound, confirm_macro, confirm_key, tts_engine, tts_voice, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind);
    return ret;
  }

  public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t function, string arg, string bind) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t.getCPtr(function), arg, bind);
    return ret;
  }

  public static switch_status_t switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_menu stack, string name, SWIGTYPE_p_void obj) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_menu.getCPtr(stack), name, SWIGTYPE_p_void.getCPtr(obj));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu stack) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu.getCPtr(stack));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_p_switch_ivr_menu menu_stack, switch_xml xml_menus, switch_xml xml_menu) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_p_switch_ivr_menu.getCPtr(menu_stack), switch_xml.getCPtr(xml_menus), switch_xml.getCPtr(xml_menu));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_str2action(string action_name, SWIGTYPE_p_switch_ivr_action_t action) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_str2action(action_name, SWIGTYPE_p_switch_ivr_action_t.getCPtr(action));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, string name, SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t function) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), name, SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t.getCPtr(function));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_ivr_phrase_macro_event(SWIGTYPE_p_switch_core_session session, string macro_name, string data, switch_event arg3, string lang, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro_event(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, switch_event.getCPtr(arg3), lang, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) {
    freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms);
  }

  public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) {
    freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg);
  }

  public static void switch_ivr_park_session(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_ivr_park_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static switch_status_t switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
    return ret;
  }

  public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators, uint digit_timeout) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_read(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, prompt_audio_file, var_name, digit_buffer, SWIGTYPE_p_switch_size_t.getCPtr(digit_buffer_length), timeout, valid_terminators, digit_timeout);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_block_dtmf_session(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_block_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_unblock_dtmf_session(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unblock_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key, uint bind_flags, string app) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, bind_flags, app);
    return ret;
  }

  public static switch_status_t switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key);
    return ret;
  }

  public static switch_status_t switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session session, string unhold_key, string moh_a, string moh_b) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), unhold_key, moh_a, moh_b);
    return ret;
  }

  public static switch_status_t switch_ivr_say(SWIGTYPE_p_switch_core_session session, string tosay, string module_name, string say_type, string say_method, string say_gender, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, module_name, say_type, say_method, say_gender, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_say_string(SWIGTYPE_p_switch_core_session session, string lang, string ext, string tosay, string module_name, string say_type, string say_method, string say_gender, ref string rstr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say_string(SWIGTYPE_p_switch_core_session.getCPtr(session), lang, ext, tosay, module_name, say_type, say_method, say_gender, ref rstr);
    return ret;
  }

  public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) {
    switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name);
    return ret;
  }

  public static switch_say_gender_t switch_ivr_get_say_gender_by_name(string name) {
    switch_say_gender_t ret = (switch_say_gender_t)freeswitchPINVOKE.switch_ivr_get_say_gender_by_name(name);
    return ret;
  }

  public static switch_say_type_t switch_ivr_get_say_type_by_name(string name) {
    switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_ivr_get_say_type_by_name(name);
    return ret;
  }

  public static switch_status_t switch_ivr_say_spell(SWIGTYPE_p_switch_core_session session, string tosay, switch_say_args_t say_args, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say_spell(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, switch_say_args_t.getCPtr(say_args), switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_say_ip(SWIGTYPE_p_switch_core_session session, string tosay, SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t number_func, switch_say_args_t say_args, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say_ip(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t.getCPtr(number_func), switch_say_args_t.getCPtr(say_args), switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_set_user(SWIGTYPE_p_switch_core_session session, string data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user(SWIGTYPE_p_switch_core_session.getCPtr(session), data);
    return ret;
  }

  public static switch_status_t switch_ivr_set_user_xml(SWIGTYPE_p_switch_core_session session, string prefix, string user, string domain, switch_xml x_user) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user_xml(SWIGTYPE_p_switch_core_session.getCPtr(session), prefix, user, domain, switch_xml.getCPtr(x_user));
    return ret;
  }

  public static switch_status_t switch_ivr_sound_test(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sound_test(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static void switch_process_import(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_channel peer_channel, string varname, string prefix) {
    freeswitchPINVOKE.switch_process_import(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_channel.getCPtr(peer_channel), varname, prefix);
  }

  public static switch_bool_t switch_ivr_uuid_exists(string uuid) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ivr_uuid_exists(uuid);
    return ret;
  }

  public static switch_bool_t switch_ivr_uuid_force_exists(string uuid) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ivr_uuid_force_exists(uuid);
    return ret;
  }

  public static switch_bool_t switch_ivr_dmachine_is_parsing(SWIGTYPE_p_switch_ivr_dmachine dmachine) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ivr_dmachine_is_parsing(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    return ret;
  }

  public static switch_status_t switch_ivr_dmachine_last_ping(SWIGTYPE_p_switch_ivr_dmachine dmachine) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_last_ping(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    return ret;
  }

  public static string switch_ivr_dmachine_get_name(SWIGTYPE_p_switch_ivr_dmachine dmachine) {
    string ret = freeswitchPINVOKE.switch_ivr_dmachine_get_name(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    return ret;
  }

  public static void switch_ivr_dmachine_set_match_callback(SWIGTYPE_p_switch_ivr_dmachine dmachine, SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t match_callback) {
    freeswitchPINVOKE.switch_ivr_dmachine_set_match_callback(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t.getCPtr(match_callback));
  }

  public static void switch_ivr_dmachine_set_nonmatch_callback(SWIGTYPE_p_switch_ivr_dmachine dmachine, SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t nonmatch_callback) {
    freeswitchPINVOKE.switch_ivr_dmachine_set_nonmatch_callback(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t.getCPtr(nonmatch_callback));
  }

  public static switch_status_t switch_ivr_dmachine_create(SWIGTYPE_p_p_switch_ivr_dmachine dmachine_p, string name, SWIGTYPE_p_apr_pool_t pool, uint digit_timeout, uint input_timeout, SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t match_callback, SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t nonmatch_callback, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_create(SWIGTYPE_p_p_switch_ivr_dmachine.getCPtr(dmachine_p), name, SWIGTYPE_p_apr_pool_t.getCPtr(pool), digit_timeout, input_timeout, SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t.getCPtr(match_callback), SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t.getCPtr(nonmatch_callback), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static void switch_ivr_dmachine_destroy(SWIGTYPE_p_p_switch_ivr_dmachine dmachine) {
    freeswitchPINVOKE.switch_ivr_dmachine_destroy(SWIGTYPE_p_p_switch_ivr_dmachine.getCPtr(dmachine));
  }

  public static switch_status_t switch_ivr_dmachine_bind(SWIGTYPE_p_switch_ivr_dmachine dmachine, string realm, string digits, int key, SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t callback, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_bind(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), realm, digits, key, SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_status_t switch_ivr_dmachine_feed(SWIGTYPE_p_switch_ivr_dmachine dmachine, string digits, SWIGTYPE_p_p_switch_ivr_dmachine_match match) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_feed(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), digits, SWIGTYPE_p_p_switch_ivr_dmachine_match.getCPtr(match));
    return ret;
  }

  public static switch_status_t switch_ivr_dmachine_clear(SWIGTYPE_p_switch_ivr_dmachine dmachine) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_clear(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    return ret;
  }

  public static switch_status_t switch_ivr_dmachine_ping(SWIGTYPE_p_switch_ivr_dmachine dmachine, SWIGTYPE_p_p_switch_ivr_dmachine_match match_p) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_ping(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), SWIGTYPE_p_p_switch_ivr_dmachine_match.getCPtr(match_p));
    return ret;
  }

  public static switch_ivr_dmachine_match switch_ivr_dmachine_get_match(SWIGTYPE_p_switch_ivr_dmachine dmachine) {
    IntPtr cPtr = freeswitchPINVOKE.switch_ivr_dmachine_get_match(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    switch_ivr_dmachine_match ret = (cPtr == IntPtr.Zero) ? null : new switch_ivr_dmachine_match(cPtr, false);
    return ret;
  }

  public static string switch_ivr_dmachine_get_failed_digits(SWIGTYPE_p_switch_ivr_dmachine dmachine) {
    string ret = freeswitchPINVOKE.switch_ivr_dmachine_get_failed_digits(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    return ret;
  }

  public static void switch_ivr_dmachine_set_digit_timeout_ms(SWIGTYPE_p_switch_ivr_dmachine dmachine, uint digit_timeout_ms) {
    freeswitchPINVOKE.switch_ivr_dmachine_set_digit_timeout_ms(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), digit_timeout_ms);
  }

  public static void switch_ivr_dmachine_set_input_timeout_ms(SWIGTYPE_p_switch_ivr_dmachine dmachine, uint input_timeout_ms) {
    freeswitchPINVOKE.switch_ivr_dmachine_set_input_timeout_ms(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), input_timeout_ms);
  }

  public static switch_status_t switch_ivr_dmachine_clear_realm(SWIGTYPE_p_switch_ivr_dmachine dmachine, string realm) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_clear_realm(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), realm);
    return ret;
  }

  public static switch_status_t switch_ivr_dmachine_set_realm(SWIGTYPE_p_switch_ivr_dmachine dmachine, string realm) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_dmachine_set_realm(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine), realm);
    return ret;
  }

  public static switch_status_t switch_ivr_get_file_handle(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_file_handle fh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_get_file_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_file_handle.getCPtr(fh));
    return ret;
  }

  public static switch_status_t switch_ivr_release_file_handle(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_file_handle fh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_release_file_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_file_handle.getCPtr(fh));
    return ret;
  }

  public static switch_status_t switch_ivr_process_fh(SWIGTYPE_p_switch_core_session session, string cmd, switch_file_handle fhp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_process_fh(SWIGTYPE_p_switch_core_session.getCPtr(session), cmd, switch_file_handle.getCPtr(fhp));
    return ret;
  }

  public static switch_status_t switch_ivr_insert_file(SWIGTYPE_p_switch_core_session session, string file, string insert_file, SWIGTYPE_p_switch_size_t sample_point) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_insert_file(SWIGTYPE_p_switch_core_session.getCPtr(session), file, insert_file, SWIGTYPE_p_switch_size_t.getCPtr(sample_point));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_create_message_reply(SWIGTYPE_p_p_switch_event reply, switch_event message, string new_proto) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_create_message_reply(SWIGTYPE_p_p_switch_event.getCPtr(reply), switch_event.getCPtr(message), new_proto);
    return ret;
  }

  public static string switch_ivr_check_presence_mapping(string exten_name, string domain_name) {
    string ret = freeswitchPINVOKE.switch_ivr_check_presence_mapping(exten_name, domain_name);
    return ret;
  }

  public static switch_status_t switch_ivr_kill_uuid(string uuid, switch_call_cause_t cause) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_kill_uuid(uuid, (int)cause);
    return ret;
  }

  public static switch_status_t switch_ivr_blind_transfer_ack(SWIGTYPE_p_switch_core_session session, switch_bool_t success) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_blind_transfer_ack(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)success);
    return ret;
  }

  public static switch_status_t switch_ivr_record_session_mask(SWIGTYPE_p_switch_core_session session, string file, switch_bool_t on) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session_mask(SWIGTYPE_p_switch_core_session.getCPtr(session), file, (int)on);
    return ret;
  }

  public static switch_status_t switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_crypto_direction_t direction, uint index, switch_rtp_crypto_key_type_t type, SWIGTYPE_p_unsigned_char key, SWIGTYPE_p_switch_size_t keylen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, (int)type, SWIGTYPE_p_unsigned_char.getCPtr(key), SWIGTYPE_p_switch_size_t.getCPtr(keylen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) {
    freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len);
  }

  public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) {
    freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
  }

  public static void switch_rtp_shutdown() {
    freeswitchPINVOKE.switch_rtp_shutdown();
  }

  public static ushort switch_rtp_set_start_port(ushort port) {
    ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port);
    return ret;
  }

  public static switch_status_t switch_rtp_set_ssrc(SWIGTYPE_p_switch_rtp rtp_session, uint ssrc) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ssrc);
    return ret;
  }

  public static switch_status_t switch_rtp_set_remote_ssrc(SWIGTYPE_p_switch_rtp rtp_session, uint ssrc) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ssrc);
    return ret;
  }

  public static ushort switch_rtp_set_end_port(ushort port) {
    ushort ret = freeswitchPINVOKE.switch_rtp_set_end_port(port);
    return ret;
  }

  public static ushort switch_rtp_request_port(string ip) {
    ushort ret = freeswitchPINVOKE.switch_rtp_request_port(ip);
    return ret;
  }

  public static void switch_rtp_release_port(string ip, ushort port) {
    freeswitchPINVOKE.switch_rtp_release_port(ip, port);
  }

  public static switch_status_t switch_rtp_set_interval(SWIGTYPE_p_switch_rtp rtp_session, uint ms_per_packet, uint samples_per_interval) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ms_per_packet, samples_per_interval);
    return ret;
  }

  public static switch_status_t switch_rtp_change_interval(SWIGTYPE_p_switch_rtp rtp_session, uint ms_per_packet, uint samples_per_interval) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_change_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ms_per_packet, samples_per_interval);
    return ret;
  }

  public static switch_status_t switch_rtp_create(SWIGTYPE_p_p_switch_rtp new_rtp_session, byte payload, uint samples_per_interval, uint ms_per_packet, SWIGTYPE_p_switch_rtp_flag_t flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, SWIGTYPE_p_switch_rtp_flag_t.getCPtr(flags), timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, SWIGTYPE_p_switch_rtp_flag_t flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, SWIGTYPE_p_switch_rtp_flag_t.getCPtr(flags), timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ushort remote_rtcp_port, switch_bool_t change_adv_addr, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, remote_rtcp_port, (int)change_adv_addr, ref err);
    return ret;
  }

  public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) {
    string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) {
    ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) {
    freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max);
  }

  public static switch_status_t switch_rtp_udptl_mode(SWIGTYPE_p_switch_rtp rtp_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_udptl_mode(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_reset(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_reset(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err);
    return ret;
  }

  public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static void switch_rtp_flush(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_flush(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) {
    byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session));
  }

  public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin, string password, string rpassword, ice_proto_t proto, switch_core_media_ice_type_t type, ice_t ice_params) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin, password, rpassword, (int)proto, (int)type, ice_t.getCPtr(ice_params));
    return ret;
  }

  public static switch_status_t switch_rtp_activate_rtcp(SWIGTYPE_p_switch_rtp rtp_session, int send_rate, ushort remote_port, switch_bool_t mux) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_rtcp(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), send_rate, remote_port, (int)mux);
    return ret;
  }

  public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames, uint max_queue_frames, uint samples_per_packet, uint samples_per_second, uint max_drift) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames, max_queue_frames, samples_per_packet, samples_per_second, max_drift);
    return ret;
  }

  public static switch_status_t switch_rtp_debug_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, string name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_debug_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), name);
    return ret;
  }

  public static switch_status_t switch_rtp_deactivate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_deactivate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static switch_status_t switch_rtp_pause_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, switch_bool_t pause) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_pause_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)pause);
    return ret;
  }

  public static SWIGTYPE_p_stfu_instance_t switch_rtp_get_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_stfu_instance_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_stfu_instance_t(cPtr, false);
    return ret;
  }

  public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_flag_t flag) {
    freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)flag);
  }

  public static void switch_rtp_set_flags(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_rtp_flag_t flags) {
    freeswitchPINVOKE.switch_rtp_set_flags(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_rtp_flag_t.getCPtr(flags));
  }

  public static void switch_rtp_clear_flags(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_rtp_flag_t flags) {
    freeswitchPINVOKE.switch_rtp_clear_flags(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_rtp_flag_t.getCPtr(flags));
  }

  public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_flag_t flags) {
    uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)flags);
    return ret;
  }

  public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_flag_t flag) {
    freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)flag);
  }

  public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
    return ret;
  }

  public static void switch_rtp_ping(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static uint switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session) {
    uint ret = freeswitchPINVOKE.switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp rtp_session, byte payload) {
    freeswitchPINVOKE.switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), payload);
  }

  public static uint switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp rtp_session) {
    uint ret = freeswitchPINVOKE.switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_set_invalid_handler(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void on_invalid) {
    freeswitchPINVOKE.switch_rtp_set_invalid_handler(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void.getCPtr(on_invalid));
  }

  public static switch_status_t switch_rtp_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags);
    return ret;
  }

  public static switch_status_t switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

  public static switch_status_t switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp rtp_session) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)), true);
    return ret;
  }

  public static switch_status_t switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags);
    return ret;
  }

  public static switch_status_t switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame, uint io_flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame), io_flags);
    return ret;
  }

  public static switch_status_t switch_rtcp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_rtcp_frame frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtcp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_rtcp_frame.getCPtr(frame));
    return ret;
  }

  public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_flush_t flush) {
    freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)flush);
  }

  public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags);
    return ret;
  }

  public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) {
    int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame));
    return ret;
  }

  public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) {
    int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) {
    uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) {
    freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data));
  }

  public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) {
    freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te);
  }

  public static void switch_rtp_set_telephony_recv_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) {
    freeswitchPINVOKE.switch_rtp_set_telephony_recv_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te);
  }

  public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) {
    freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt);
  }

  public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_rtp_set_payload_map(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_payload_map_s pmap) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_payload_map(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_payload_map_s.getCPtr(pmap));
    return ret;
  }

  public static void switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_bug_flag_t bugs) {
    freeswitchPINVOKE.switch_rtp_intentional_bugs(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)bugs);
  }

  public static switch_rtp_stats_t switch_rtp_get_stats(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_apr_pool_t pool) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_stats(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    switch_rtp_stats_t ret = (cPtr == IntPtr.Zero) ? null : new switch_rtp_stats_t(cPtr, false);
    return ret;
  }

  public static byte switch_rtp_check_auto_adj(SWIGTYPE_p_switch_rtp rtp_session) {
    byte ret = freeswitchPINVOKE.switch_rtp_check_auto_adj(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_set_interdigit_delay(SWIGTYPE_p_switch_rtp rtp_session, uint delay) {
    freeswitchPINVOKE.switch_rtp_set_interdigit_delay(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), delay);
  }

  public static switch_status_t switch_rtp_add_dtls(SWIGTYPE_p_switch_rtp rtp_session, dtls_fingerprint_t local_fp, dtls_fingerprint_t remote_fp, dtls_type_t type) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_dtls(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), dtls_fingerprint_t.getCPtr(local_fp), dtls_fingerprint_t.getCPtr(remote_fp), (int)type);
    return ret;
  }

  public static switch_status_t switch_rtp_del_dtls(SWIGTYPE_p_switch_rtp rtp_session, dtls_type_t type) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_del_dtls(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)type);
    return ret;
  }

  public static int switch_rtp_has_dtls() {
    int ret = freeswitchPINVOKE.switch_rtp_has_dtls();
    return ret;
  }

  public static void switch_rtp_video_refresh(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_video_refresh(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static switch_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize);
    return ret;
  }

  public static switch_status_t switch_log_shutdown() {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_shutdown();
    return ret;
  }

  public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console);
    return ret;
  }

  public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function));
    return ret;
  }

  public static string switch_log_level2str(switch_log_level_t level) {
    string ret = freeswitchPINVOKE.switch_log_level2str((int)level);
    return ret;
  }

  public static switch_log_level_t switch_log_str2level(string str) {
    switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_str2level(str);
    return ret;
  }

  public static uint switch_log_str2mask(string str) {
    uint ret = freeswitchPINVOKE.switch_log_str2mask(str);
    return ret;
  }

  public static switch_log_node_t switch_log_node_dup(switch_log_node_t node) {
    IntPtr cPtr = freeswitchPINVOKE.switch_log_node_dup(switch_log_node_t.getCPtr(node));
    switch_log_node_t ret = (cPtr == IntPtr.Zero) ? null : new switch_log_node_t(cPtr, false);
    return ret;
  }

  public static void switch_log_node_free(SWIGTYPE_p_p_switch_log_node_t pnode) {
    freeswitchPINVOKE.switch_log_node_free(SWIGTYPE_p_p_switch_log_node_t.getCPtr(pnode));
  }

  public static switch_xml switch_xml_parse_str_dynamic(string s, switch_bool_t dup) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str_dynamic(s, (int)dup);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_xml switch_xml_parse_fd(int fd) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_file(string file) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_file_simple(string file) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_child(switch_xml xml, string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_find_child_multi(switch_xml node, string childname) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child_multi(switch_xml.getCPtr(node), childname);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static string switch_xml_attr(switch_xml xml, string attr) {
    string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr);
    return ret;
  }

  public static string switch_xml_attr_soft(switch_xml xml, string attr) {
    string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr);
    return ret;
  }

  public static switch_xml switch_xml_get(switch_xml xml) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) {
    string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header);
    return ret;
  }

  public static string switch_xml_toxml_nolock(switch_xml xml, switch_bool_t prn_header) {
    string ret = freeswitchPINVOKE.switch_xml_toxml_nolock(switch_xml.getCPtr(xml), (int)prn_header);
    return ret;
  }

  public static string switch_xml_tohtml(switch_xml xml, switch_bool_t prn_header) {
    string ret = freeswitchPINVOKE.switch_xml_tohtml(switch_xml.getCPtr(xml), (int)prn_header);
    return ret;
  }

  public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) {
    string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_xml_free(switch_xml xml) {
    freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml));
  }

  public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) {
    freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize);
  }

  public static string switch_xml_error(switch_xml xml) {
    string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml));
    return ret;
  }

  public static switch_xml switch_xml_new(string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_cut(switch_xml xml) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_xml_set_root(switch_xml new_main) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_set_root(switch_xml.getCPtr(new_main));
    return ret;
  }

  public static switch_status_t switch_xml_set_open_root_function(SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml func, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_set_open_root_function(SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml.getCPtr(func), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_xml switch_xml_open_root(byte reload, ref string err) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err);
    return ret;
  }

  public static switch_status_t switch_xml_reload(ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_reload(ref err);
    return ret;
  }

  public static switch_status_t switch_xml_destroy() {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_destroy();
    return ret;
  }

  public static switch_xml switch_xml_root() {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_root();
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6, switch_bool_t clone) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6), (int)clone);
    return ret;
  }

  public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain));
    return ret;
  }

  public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event arg5) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_group(group_name, domain_name, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(group), switch_event.getCPtr(arg5));
    return ret;
  }

  public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event arg8) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup), switch_event.getCPtr(arg8));
    return ret;
  }

  public static switch_status_t switch_xml_locate_user_in_domain(string user_name, switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_in_domain(user_name, switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup));
    return ret;
  }

  public static switch_status_t switch_xml_locate_user_merged(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml user, switch_event arg5) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_merged(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(user), switch_event.getCPtr(arg5));
    return ret;
  }

  public static uint switch_xml_clear_user_cache(string key, string user_name, string domain_name) {
    uint ret = freeswitchPINVOKE.switch_xml_clear_user_cache(key, user_name, domain_name);
    return ret;
  }

  public static void switch_xml_merge_user(switch_xml user, switch_xml domain, switch_xml group) {
    freeswitchPINVOKE.switch_xml_merge_user(switch_xml.getCPtr(user), switch_xml.getCPtr(domain), switch_xml.getCPtr(group));
  }

  public static switch_xml switch_xml_dup(switch_xml xml) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_dup(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static void switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding binding, uint sections) {
    freeswitchPINVOKE.switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), sections);
  }

  public static void switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding binding, SWIGTYPE_p_void user_data) {
    freeswitchPINVOKE.switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), SWIGTYPE_p_void.getCPtr(user_data));
  }

  public static uint switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding binding) {
    uint ret = freeswitchPINVOKE.switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding));
    return ret;
  }

  public static SWIGTYPE_p_void switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding binding) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_xml_binding ret_binding) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_xml_binding.getCPtr(ret_binding));
    return ret;
  }

  public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding));
    return ret;
  }

  public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function));
    return ret;
  }

  public static uint switch_xml_parse_section_string(string str) {
    uint ret = freeswitchPINVOKE.switch_xml_parse_section_string(str);
    return ret;
  }

  public static int switch_xml_std_datetime_check(switch_xml xcond, SWIGTYPE_p_int offset, string tzname) {
    int ret = freeswitchPINVOKE.switch_xml_std_datetime_check(switch_xml.getCPtr(xcond), SWIGTYPE_p_int.getCPtr(offset), tzname);
    return ret;
  }

  public static switch_status_t switch_xml_locate_language(SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg2, SWIGTYPE_p_p_switch_xml language, SWIGTYPE_p_p_switch_xml phrases, SWIGTYPE_p_p_switch_xml macros, string str_language) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_language(SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2), SWIGTYPE_p_p_switch_xml.getCPtr(language), SWIGTYPE_p_p_switch_xml.getCPtr(phrases), SWIGTYPE_p_p_switch_xml.getCPtr(macros), str_language);
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_state_run(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_run) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_run(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_run));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_state_run(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_run) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_run(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_run));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
    return ret;
  }

  public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) {
    uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static uint switch_scheduler_del_task_id(uint task_id) {
    uint ret = freeswitchPINVOKE.switch_scheduler_del_task_id(task_id);
    return ret;
  }

  public static uint switch_scheduler_del_task_group(string group) {
    uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group);
    return ret;
  }

  public static void switch_scheduler_task_thread_start() {
    freeswitchPINVOKE.switch_scheduler_task_thread_start();
  }

  public static void switch_scheduler_task_thread_stop() {
    freeswitchPINVOKE.switch_scheduler_task_thread_stop();
  }

  public static int switch_config_open_file(switch_config cfg, string file_path) {
    int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path);
    return ret;
  }

  public static void switch_config_close_file(switch_config cfg) {
    freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg));
  }

  public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) {
    int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val);
    return ret;
  }

  public static void setGlobalVariable(string var_name, string var_val) {
    freeswitchPINVOKE.setGlobalVariable(var_name, var_val);
  }

  public static string getGlobalVariable(string var_name) {
    string ret = freeswitchPINVOKE.getGlobalVariable(var_name);
    return ret;
  }

  public static void consoleLog(string level_str, string msg) {
    freeswitchPINVOKE.consoleLog(level_str, msg);
  }

  public static void consoleLog2(string level_str, string file, string func, int line, string msg) {
    freeswitchPINVOKE.consoleLog2(level_str, file, func, line, msg);
  }

  public static void consoleCleanLog(string msg) {
    freeswitchPINVOKE.consoleCleanLog(msg);
  }

  public static bool running() {
    bool ret = freeswitchPINVOKE.running();
    return ret;
  }

  public static bool email(string to, string from, string headers, string body, string file, string convert_cmd, string convert_ext) {
    bool ret = freeswitchPINVOKE.email(to, from, headers, body, file, convert_cmd, convert_ext);
    return ret;
  }

  public static void console_log(string level_str, string msg) {
    freeswitchPINVOKE.console_log(level_str, msg);
  }

  public static void console_log2(string level_str, string file, string func, int line, string msg) {
    freeswitchPINVOKE.console_log2(level_str, file, func, line, msg);
  }

  public static void console_clean_log(string msg) {
    freeswitchPINVOKE.console_clean_log(msg);
  }

  public static void msleep(uint ms) {
    freeswitchPINVOKE.msleep(ms);
  }

  public static void bridge(CoreSession session_a, CoreSession session_b) {
    freeswitchPINVOKE.bridge(CoreSession.getCPtr(session_a), CoreSession.getCPtr(session_b));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
  }

  public static switch_status_t hanguphook(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.hanguphook(SWIGTYPE_p_switch_core_session.getCPtr(session));
    return ret;
  }

  public static switch_status_t dtmf_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void input, switch_input_type_t itype, SWIGTYPE_p_void buf, uint buflen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.dtmf_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(input), (int)itype, SWIGTYPE_p_void.getCPtr(buf), buflen);
    return ret;
  }

  public static readonly string FREESWITCH_PEN = freeswitchPINVOKE.FREESWITCH_PEN_get();
  public static readonly string FREESWITCH_OID_PREFIX = freeswitchPINVOKE.FREESWITCH_OID_PREFIX_get();
  public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get();
  public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get();
  public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get();
  public static readonly string SWITCH_ENT_ORIGINATE_DELIM = freeswitchPINVOKE.SWITCH_ENT_ORIGINATE_DELIM_get();
  public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get();
  public static readonly int SWITCH_TON_UNDEF = freeswitchPINVOKE.SWITCH_TON_UNDEF_get();
  public static readonly int SWITCH_NUMPLAN_UNDEF = freeswitchPINVOKE.SWITCH_NUMPLAN_UNDEF_get();
  public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get();
  public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get();
  public static readonly string SWITCH_SEQ_HOME_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_STR_get();
  public static readonly char SWITCH_SEQ_CLEARLINE_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_get();
  public static readonly string SWITCH_SEQ_CLEARLINE_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_STR_get();
  public static readonly string SWITCH_SEQ_CLEARLINEEND_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_CHAR_get();
  public static readonly char SWITCH_SEQ_CLEARSCR_CHAR0 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR0_get();
  public static readonly char SWITCH_SEQ_CLEARSCR_CHAR1 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR1_get();
  public static readonly string SWITCH_SEQ_CLEARSCR_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR_get();
  public static readonly string SWITCH_SEQ_AND_COLOR = freeswitchPINVOKE.SWITCH_SEQ_AND_COLOR_get();
  public static readonly string SWITCH_SEQ_END_COLOR = freeswitchPINVOKE.SWITCH_SEQ_END_COLOR_get();
  public static readonly string SWITCH_SEQ_F_BLACK = freeswitchPINVOKE.SWITCH_SEQ_F_BLACK_get();
  public static readonly string SWITCH_SEQ_F_RED = freeswitchPINVOKE.SWITCH_SEQ_F_RED_get();
  public static readonly string SWITCH_SEQ_F_GREEN = freeswitchPINVOKE.SWITCH_SEQ_F_GREEN_get();
  public static readonly string SWITCH_SEQ_F_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_F_YELLOW_get();
  public static readonly string SWITCH_SEQ_F_BLUE = freeswitchPINVOKE.SWITCH_SEQ_F_BLUE_get();
  public static readonly string SWITCH_SEQ_F_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_F_MAGEN_get();
  public static readonly string SWITCH_SEQ_F_CYAN = freeswitchPINVOKE.SWITCH_SEQ_F_CYAN_get();
  public static readonly string SWITCH_SEQ_F_WHITE = freeswitchPINVOKE.SWITCH_SEQ_F_WHITE_get();
  public static readonly string SWITCH_SEQ_B_BLACK = freeswitchPINVOKE.SWITCH_SEQ_B_BLACK_get();
  public static readonly string SWITCH_SEQ_B_RED = freeswitchPINVOKE.SWITCH_SEQ_B_RED_get();
  public static readonly string SWITCH_SEQ_B_GREEN = freeswitchPINVOKE.SWITCH_SEQ_B_GREEN_get();
  public static readonly string SWITCH_SEQ_B_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_B_YELLOW_get();
  public static readonly string SWITCH_SEQ_B_BLUE = freeswitchPINVOKE.SWITCH_SEQ_B_BLUE_get();
  public static readonly string SWITCH_SEQ_B_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_B_MAGEN_get();
  public static readonly string SWITCH_SEQ_B_CYAN = freeswitchPINVOKE.SWITCH_SEQ_B_CYAN_get();
  public static readonly string SWITCH_SEQ_B_WHITE = freeswitchPINVOKE.SWITCH_SEQ_B_WHITE_get();
  public static readonly string SWITCH_SEQ_FBLACK = freeswitchPINVOKE.SWITCH_SEQ_FBLACK_get();
  public static readonly string SWITCH_SEQ_FRED = freeswitchPINVOKE.SWITCH_SEQ_FRED_get();
  public static readonly string SWITCH_SEQ_FGREEN = freeswitchPINVOKE.SWITCH_SEQ_FGREEN_get();
  public static readonly string SWITCH_SEQ_FYELLOW = freeswitchPINVOKE.SWITCH_SEQ_FYELLOW_get();
  public static readonly string SWITCH_SEQ_FBLUE = freeswitchPINVOKE.SWITCH_SEQ_FBLUE_get();
  public static readonly string SWITCH_SEQ_FMAGEN = freeswitchPINVOKE.SWITCH_SEQ_FMAGEN_get();
  public static readonly string SWITCH_SEQ_FCYAN = freeswitchPINVOKE.SWITCH_SEQ_FCYAN_get();
  public static readonly string SWITCH_SEQ_FWHITE = freeswitchPINVOKE.SWITCH_SEQ_FWHITE_get();
  public static readonly string SWITCH_SEQ_BBLACK = freeswitchPINVOKE.SWITCH_SEQ_BBLACK_get();
  public static readonly string SWITCH_SEQ_BRED = freeswitchPINVOKE.SWITCH_SEQ_BRED_get();
  public static readonly string SWITCH_SEQ_BGREEN = freeswitchPINVOKE.SWITCH_SEQ_BGREEN_get();
  public static readonly string SWITCH_SEQ_BYELLOW = freeswitchPINVOKE.SWITCH_SEQ_BYELLOW_get();
  public static readonly string SWITCH_SEQ_BBLUE = freeswitchPINVOKE.SWITCH_SEQ_BBLUE_get();
  public static readonly string SWITCH_SEQ_BMAGEN = freeswitchPINVOKE.SWITCH_SEQ_BMAGEN_get();
  public static readonly string SWITCH_SEQ_BCYAN = freeswitchPINVOKE.SWITCH_SEQ_BCYAN_get();
  public static readonly string SWITCH_SEQ_BWHITE = freeswitchPINVOKE.SWITCH_SEQ_BWHITE_get();
  public static readonly string SWITCH_SEQ_HOME = freeswitchPINVOKE.SWITCH_SEQ_HOME_get();
  public static readonly string SWITCH_SEQ_CLEARLINE = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_get();
  public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get();
  public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get();
  public static readonly string SWITCH_DEFAULT_CLID_NAME = freeswitchPINVOKE.SWITCH_DEFAULT_CLID_NAME_get();
  public static readonly string SWITCH_DEFAULT_CLID_NUMBER = freeswitchPINVOKE.SWITCH_DEFAULT_CLID_NUMBER_get();
  public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get();
  public static readonly int SWITCH_MIN_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MIN_DTMF_DURATION_get();
  public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get();
  public static readonly string SWITCH_PATH_SEPARATOR = freeswitchPINVOKE.SWITCH_PATH_SEPARATOR_get();
  public static readonly string SWITCH_URL_SEPARATOR = freeswitchPINVOKE.SWITCH_URL_SEPARATOR_get();
  public static readonly string SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE = freeswitchPINVOKE.SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get();
  public static readonly string SWITCH_AUDIO_SPOOL_PATH_VARIABLE = freeswitchPINVOKE.SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get();
  public static readonly string SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get();
  public static readonly string SWITCH_READ_TERMINATOR_USED_VARIABLE = freeswitchPINVOKE.SWITCH_READ_TERMINATOR_USED_VARIABLE_get();
  public static readonly string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE = freeswitchPINVOKE.SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get();
  public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_VARIABLE_get();
  public static readonly string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get();
  public static readonly string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get();
  public static readonly string SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE = freeswitchPINVOKE.SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE_get();
  public static readonly string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE = freeswitchPINVOKE.SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get();
  public static readonly string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_READ_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_READ_RESULT_VARIABLE_get();
  public static readonly string SWITCH_ATT_XFER_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_ATT_XFER_RESULT_VARIABLE_get();
  public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get();
  public static readonly string SWITCH_COPY_JSON_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_JSON_CDR_VARIABLE_get();
  public static readonly string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get();
  public static readonly string SWITCH_TRANSFER_HISTORY_VARIABLE = freeswitchPINVOKE.SWITCH_TRANSFER_HISTORY_VARIABLE_get();
  public static readonly string SWITCH_TRANSFER_SOURCE_VARIABLE = freeswitchPINVOKE.SWITCH_TRANSFER_SOURCE_VARIABLE_get();
  public static readonly string SWITCH_SENSITIVE_DTMF_VARIABLE = freeswitchPINVOKE.SWITCH_SENSITIVE_DTMF_VARIABLE_get();
  public static readonly string SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE = freeswitchPINVOKE.SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE_get();
  public static readonly string SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE = freeswitchPINVOKE.SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_RING_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE_get();
  public static readonly string SWITCH_CALL_TIMEOUT_VARIABLE = freeswitchPINVOKE.SWITCH_CALL_TIMEOUT_VARIABLE_get();
  public static readonly string SWITCH_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_HOLDING_UUID_VARIABLE_get();
  public static readonly string SWITCH_SOFT_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_SOFT_HOLDING_UUID_VARIABLE_get();
  public static readonly string SWITCH_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get();
  public static readonly string SWITCH_API_BRIDGE_START_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_START_VARIABLE_get();
  public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_HOOK_VARIABLE_get();
  public static readonly string SWITCH_API_REPORTING_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_REPORTING_HOOK_VARIABLE_get();
  public static readonly string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get();
  public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get();
  public static readonly string SWITCH_SKIP_CDR_CAUSES_VARIABLE = freeswitchPINVOKE.SWITCH_SKIP_CDR_CAUSES_VARIABLE_get();
  public static readonly string SWITCH_FORCE_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_FORCE_PROCESS_CDR_VARIABLE_get();
  public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get();
  public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get();
  public static readonly string SWITCH_BRIDGE_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_UUID_VARIABLE_get();
  public static readonly string SWITCH_CONTINUE_ON_FAILURE_VARIABLE = freeswitchPINVOKE.SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();
  public static readonly string SWITCH_PLAYBACK_TERMINATORS_VARIABLE = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();
  public static readonly string SWITCH_PLAYBACK_TERMINATOR_USED = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATOR_USED_get();
  public static readonly string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();
  public static readonly string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();
  public static readonly string SWITCH_BYPASS_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_VARIABLE_get();
  public static readonly string SWITCH_PROXY_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_PROXY_MEDIA_VARIABLE_get();
  public static readonly string SWITCH_ZRTP_PASSTHRU_VARIABLE = freeswitchPINVOKE.SWITCH_ZRTP_PASSTHRU_VARIABLE_get();
  public static readonly string SWITCH_ENDPOINT_DISPOSITION_VARIABLE = freeswitchPINVOKE.SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();
  public static readonly string SWITCH_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_HOLD_MUSIC_VARIABLE_get();
  public static readonly string SWITCH_TEMP_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_TEMP_HOLD_MUSIC_VARIABLE_get();
  public static readonly string SWITCH_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_EXPORT_VARS_VARIABLE_get();
  public static readonly string SWITCH_BRIDGE_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_EXPORT_VARS_VARIABLE_get();
  public static readonly string SWITCH_R_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_R_SDP_VARIABLE_get();
  public static readonly string SWITCH_L_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_L_SDP_VARIABLE_get();
  public static readonly string SWITCH_B_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_B_SDP_VARIABLE_get();
  public static readonly string SWITCH_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_LAST_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_LAST_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_SIGNAL_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BOND_VARIABLE_get();
  public static readonly string SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE_get();
  public static readonly string SWITCH_ORIGINATOR_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VARIABLE_get();
  public static readonly string SWITCH_ORIGINATOR_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_CODEC_VARIABLE_get();
  public static readonly string SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get();
  public static readonly string SWITCH_LOCAL_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();
  public static readonly string SWITCH_LOCAL_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();
  public static readonly string SWITCH_ADVERTISED_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_ADVERTISED_MEDIA_IP_VARIABLE_get();
  public static readonly string SWITCH_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();
  public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();
  public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();
  public static readonly string SWITCH_REMOTE_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();
  public static readonly string SWITCH_LOCAL_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();
  public static readonly string SWITCH_LOCAL_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get();
  public static readonly string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_PARK_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();
  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();
  public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get();
  public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get();
  public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get();
  public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get();
  public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get();
  public static readonly int SWITCH_DEFAULT_FILE_BUFFER_LEN = freeswitchPINVOKE.SWITCH_DEFAULT_FILE_BUFFER_LEN_get();
  public static readonly int SWITCH_DTMF_LOG_LEN = freeswitchPINVOKE.SWITCH_DTMF_LOG_LEN_get();
  public static readonly int SWITCH_MAX_TRANS = freeswitchPINVOKE.SWITCH_MAX_TRANS_get();
  public static readonly int SWITCH_CORE_SESSION_MAX_PRIVATES = freeswitchPINVOKE.SWITCH_CORE_SESSION_MAX_PRIVATES_get();
  public static readonly double JITTER_VARIANCE_THRESHOLD = freeswitchPINVOKE.JITTER_VARIANCE_THRESHOLD_get();
  public static readonly double IPDV_THRESHOLD = freeswitchPINVOKE.IPDV_THRESHOLD_get();
  public static readonly int LOST_BURST_ANALYZE = freeswitchPINVOKE.LOST_BURST_ANALYZE_get();
  public static readonly int LOST_BURST_CAPTURE = freeswitchPINVOKE.LOST_BURST_CAPTURE_get();
  public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get();
  public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get();
  public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get();
  public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get();
  public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get();
  public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get();
  public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get();
  public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get();
  public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get();
  public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get();
  public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get();
  public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();
  public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get();
  public static readonly int SWITCH_MEDIA_TYPE_TOTAL = freeswitchPINVOKE.SWITCH_MEDIA_TYPE_TOTAL_get();
  public static readonly int SWITCH_SOCK_INVALID = freeswitchPINVOKE.SWITCH_SOCK_INVALID_get();
  public static readonly int DMACHINE_MAX_DIGIT_LEN = freeswitchPINVOKE.DMACHINE_MAX_DIGIT_LEN_get();
  public static readonly int MAX_ARG_RECURSION = freeswitchPINVOKE.MAX_ARG_RECURSION_get();
  public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get();
  public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get();
  public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get();
  public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get();
  public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get();
  public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get();
  public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get();
  public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get();
  public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get();
  public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get();
  public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get();
  public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get();
  public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get();
  public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get();
  public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get();
  public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get();
  public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get();
  public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get();
  public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get();
  public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get();
  public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get();
  public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get();
  public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get();
  public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get();
  public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get();
  public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get();
  public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get();
  public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get();
  public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get();
  public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get();
  public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();
  public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get();
  public static readonly string DTLS_SRTP_FNAME = freeswitchPINVOKE.DTLS_SRTP_FNAME_get();
  public static readonly int MAX_FPLEN = freeswitchPINVOKE.MAX_FPLEN_get();
  public static readonly int MAX_FPSTRLEN = freeswitchPINVOKE.MAX_FPSTRLEN_get();
  public static readonly int MESSAGE_STRING_ARG_MAX = freeswitchPINVOKE.MESSAGE_STRING_ARG_MAX_get();
  public static readonly int CACHE_DB_LEN = freeswitchPINVOKE.CACHE_DB_LEN_get();
  public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get();
  public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get();
  public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get();
  public static readonly int NO_EVENT_CHANNEL_ID = freeswitchPINVOKE.NO_EVENT_CHANNEL_ID_get();
  public static readonly string SWITCH_EVENT_CHANNEL_GLOBAL = freeswitchPINVOKE.SWITCH_EVENT_CHANNEL_GLOBAL_get();
  public static readonly int SWITCH_RESAMPLE_QUALITY = freeswitchPINVOKE.SWITCH_RESAMPLE_QUALITY_get();
  public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get();
  public static readonly int SWITCH_RTCP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTCP_MAX_BUF_LEN_get();
  public static readonly int SWITCH_RTP_MAX_BUF_LEN_WORDS = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_WORDS_get();
  public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get();
  public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get();
  public static readonly int MAX_CAND = freeswitchPINVOKE.MAX_CAND_get();
  public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get();
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

class freeswitchPINVOKE {

  protected class SWIGExceptionHelper {

    public delegate void ExceptionDelegate(string message);
    public delegate void ExceptionArgumentDelegate(string message, string paramName);

    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
    static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException);
    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);

    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);

    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")]
    public static extern void SWIGRegisterExceptionCallbacks_freeswitch(
                                ExceptionDelegate applicationDelegate,
                                ExceptionDelegate arithmeticDelegate,
                                ExceptionDelegate divideByZeroDelegate, 
                                ExceptionDelegate indexOutOfRangeDelegate, 
                                ExceptionDelegate invalidCastDelegate,
                                ExceptionDelegate invalidOperationDelegate,
                                ExceptionDelegate ioDelegate,
                                ExceptionDelegate nullReferenceDelegate,
                                ExceptionDelegate outOfMemoryDelegate, 
                                ExceptionDelegate overflowDelegate, 
                                ExceptionDelegate systemExceptionDelegate);

    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")]
    public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch(
                                ExceptionArgumentDelegate argumentDelegate,
                                ExceptionArgumentDelegate argumentNullDelegate,
                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);

    static void SetPendingApplicationException(string message) {
      SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArithmeticException(string message) {
      SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingDivideByZeroException(string message) {
      SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIndexOutOfRangeException(string message) {
      SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidCastException(string message) {
      SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidOperationException(string message) {
      SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIOException(string message) {
      SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingNullReferenceException(string message) {
      SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOutOfMemoryException(string message) {
      SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOverflowException(string message) {
      SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingSystemException(string message) {
      SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve()));
    }

    static void SetPendingArgumentException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArgumentNullException(string message, string paramName) {
      Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new System.ArgumentNullException(paramName, message));
    }
    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
      Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message));
    }

    static SWIGExceptionHelper() {
      SWIGRegisterExceptionCallbacks_freeswitch(
                                applicationDelegate,
                                arithmeticDelegate,
                                divideByZeroDelegate,
                                indexOutOfRangeDelegate,
                                invalidCastDelegate,
                                invalidOperationDelegate,
                                ioDelegate,
                                nullReferenceDelegate,
                                outOfMemoryDelegate,
                                overflowDelegate,
                                systemDelegate);

      SWIGRegisterExceptionCallbacksArgument_freeswitch(
                                argumentDelegate,
                                argumentNullDelegate,
                                argumentOutOfRangeDelegate);
    }
  }

  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();

  public class SWIGPendingException {
    [ThreadStatic]
    private static Exception pendingException = null;
    private static int numExceptionsPending = 0;

    public static bool Pending {
      get {
        bool pending = false;
        if (numExceptionsPending > 0)
          if (pendingException != null)
            pending = true;
        return pending;
      } 
    }

    public static void Set(Exception e) {
      if (pendingException != null)
        throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
      pendingException = e;
      lock(typeof(freeswitchPINVOKE)) {
        numExceptionsPending++;
      }
    }

    public static Exception Retrieve() {
      Exception e = null;
      if (numExceptionsPending > 0) {
        if (pendingException != null) {
          e = pendingException;
          pendingException = null;
          lock(typeof(freeswitchPINVOKE)) {
            numExceptionsPending--;
          }
        }
      }
      return e;
    }
  }


  static freeswitchPINVOKE() {
  }



  protected class SWIGStringHelper {

    public delegate string SWIGStringDelegate(string message);
    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);

    [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")]
    public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate);

    static string CreateString(string cString) {
      return cString;
    }

    static SWIGStringHelper() {
      SWIGRegisterStringCallback_freeswitch(stringDelegate);
    }
  }

  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();


  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")]
  public static extern string FREESWITCH_PEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")]
  public static extern string FREESWITCH_OID_PREFIX_get();

  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")]
  public static extern string FREESWITCH_ITAD_get();

  [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")]
  public static extern int __EXTENSIONS___get();

  [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")]
  public static extern int __BSD_VISIBLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENT_ORIGINATE_DELIM_get")]
  public static extern string SWITCH_ENT_ORIGINATE_DELIM_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")]
  public static extern string SWITCH_BLANK_STRING_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_TON_UNDEF_get")]
  public static extern int SWITCH_TON_UNDEF_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_NUMPLAN_UNDEF_get")]
  public static extern int SWITCH_NUMPLAN_UNDEF_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")]
  public static extern string SWITCH_SEQ_ESC_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")]
  public static extern char SWITCH_SEQ_HOME_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")]
  public static extern string SWITCH_SEQ_HOME_CHAR_STR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")]
  public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")]
  public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")]
  public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")]
  public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")]
  public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")]
  public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")]
  public static extern string SWITCH_SEQ_AND_COLOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")]
  public static extern string SWITCH_SEQ_END_COLOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")]
  public static extern string SWITCH_SEQ_F_BLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")]
  public static extern string SWITCH_SEQ_F_RED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")]
  public static extern string SWITCH_SEQ_F_GREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")]
  public static extern string SWITCH_SEQ_F_YELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")]
  public static extern string SWITCH_SEQ_F_BLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")]
  public static extern string SWITCH_SEQ_F_MAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")]
  public static extern string SWITCH_SEQ_F_CYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")]
  public static extern string SWITCH_SEQ_F_WHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")]
  public static extern string SWITCH_SEQ_B_BLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")]
  public static extern string SWITCH_SEQ_B_RED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")]
  public static extern string SWITCH_SEQ_B_GREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")]
  public static extern string SWITCH_SEQ_B_YELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")]
  public static extern string SWITCH_SEQ_B_BLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")]
  public static extern string SWITCH_SEQ_B_MAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")]
  public static extern string SWITCH_SEQ_B_CYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")]
  public static extern string SWITCH_SEQ_B_WHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")]
  public static extern string SWITCH_SEQ_FBLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")]
  public static extern string SWITCH_SEQ_FRED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")]
  public static extern string SWITCH_SEQ_FGREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")]
  public static extern string SWITCH_SEQ_FYELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")]
  public static extern string SWITCH_SEQ_FBLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")]
  public static extern string SWITCH_SEQ_FMAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")]
  public static extern string SWITCH_SEQ_FCYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")]
  public static extern string SWITCH_SEQ_FWHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")]
  public static extern string SWITCH_SEQ_BBLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")]
  public static extern string SWITCH_SEQ_BRED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")]
  public static extern string SWITCH_SEQ_BGREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")]
  public static extern string SWITCH_SEQ_BYELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")]
  public static extern string SWITCH_SEQ_BBLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")]
  public static extern string SWITCH_SEQ_BMAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")]
  public static extern string SWITCH_SEQ_BCYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")]
  public static extern string SWITCH_SEQ_BWHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")]
  public static extern string SWITCH_SEQ_HOME_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")]
  public static extern string SWITCH_SEQ_CLEARLINE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")]
  public static extern string SWITCH_SEQ_CLEARLINEEND_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")]
  public static extern string SWITCH_SEQ_CLEARSCR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_CLID_NAME_get")]
  public static extern string SWITCH_DEFAULT_CLID_NAME_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_CLID_NUMBER_get")]
  public static extern string SWITCH_DEFAULT_CLID_NUMBER_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")]
  public static extern int SWITCH_DEFAULT_DTMF_DURATION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MIN_DTMF_DURATION_get")]
  public static extern int SWITCH_MIN_DTMF_DURATION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")]
  public static extern int SWITCH_MAX_DTMF_DURATION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")]
  public static extern string SWITCH_PATH_SEPARATOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")]
  public static extern string SWITCH_URL_SEPARATOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get")]
  public static extern string SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get")]
  public static extern string SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_TERMINATOR_USED_VARIABLE_get")]
  public static extern string SWITCH_READ_TERMINATOR_USED_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get")]
  public static extern string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")]
  public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get")]
  public static extern string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get")]
  public static extern string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE_get")]
  public static extern string SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get")]
  public static extern string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")]
  public static extern string SWITCH_READ_RESULT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ATT_XFER_RESULT_VARIABLE_get")]
  public static extern string SWITCH_ATT_XFER_RESULT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")]
  public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_JSON_CDR_VARIABLE_get")]
  public static extern string SWITCH_COPY_JSON_CDR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")]
  public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_TRANSFER_HISTORY_VARIABLE_get")]
  public static extern string SWITCH_TRANSFER_HISTORY_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_TRANSFER_SOURCE_VARIABLE_get")]
  public static extern string SWITCH_TRANSFER_SOURCE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SENSITIVE_DTMF_VARIABLE_get")]
  public static extern string SWITCH_SENSITIVE_DTMF_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE_get")]
  public static extern string SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE_get")]
  public static extern string SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_RING_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_RING_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")]
  public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")]
  public static extern string SWITCH_HOLDING_UUID_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SOFT_HOLDING_UUID_VARIABLE_get")]
  public static extern string SWITCH_SOFT_HOLDING_UUID_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")]
  public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_START_VARIABLE_get")]
  public static extern string SWITCH_API_BRIDGE_START_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")]
  public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_REPORTING_HOOK_VARIABLE_get")]
  public static extern string SWITCH_API_REPORTING_HOOK_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get")]
  public static extern string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")]
  public static extern string SWITCH_PROCESS_CDR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SKIP_CDR_CAUSES_VARIABLE_get")]
  public static extern string SWITCH_SKIP_CDR_CAUSES_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_FORCE_PROCESS_CDR_VARIABLE_get")]
  public static extern string SWITCH_FORCE_PROCESS_CDR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")]
  public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")]
  public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")]
  public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")]
  public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")]
  public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")]
  public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")]
  public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ZRTP_PASSTHRU_VARIABLE_get")]
  public static extern string SWITCH_ZRTP_PASSTHRU_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")]
  public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")]
  public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_TEMP_HOLD_MUSIC_VARIABLE_get")]
  public static extern string SWITCH_TEMP_HOLD_MUSIC_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")]
  public static extern string SWITCH_EXPORT_VARS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_EXPORT_VARS_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_EXPORT_VARS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")]
  public static extern string SWITCH_R_SDP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")]
  public static extern string SWITCH_L_SDP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")]
  public static extern string SWITCH_B_SDP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LAST_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_LAST_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")]
  public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE_get")]
  public static extern string SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")]
  public static extern string SWITCH_ORIGINATOR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")]
  public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get")]
  public static extern string SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ADVERTISED_MEDIA_IP_VARIABLE_get")]
  public static extern string SWITCH_ADVERTISED_MEDIA_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")]
  public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")]
  public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")]
  public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")]
  public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")]
  public static extern string SWITCH_SPEECH_KEY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")]
  public static extern string SWITCH_UUID_BRIDGE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")]
  public static extern int SWITCH_BITS_PER_BYTE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get")]
  public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DTMF_LOG_LEN_get")]
  public static extern int SWITCH_DTMF_LOG_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_TRANS_get")]
  public static extern int SWITCH_MAX_TRANS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_SESSION_MAX_PRIVATES_get")]
  public static extern int SWITCH_CORE_SESSION_MAX_PRIVATES_get();

  [DllImport("mod_managed", EntryPoint="CSharp_JITTER_VARIANCE_THRESHOLD_get")]
  public static extern double JITTER_VARIANCE_THRESHOLD_get();

  [DllImport("mod_managed", EntryPoint="CSharp_IPDV_THRESHOLD_get")]
  public static extern double IPDV_THRESHOLD_get();

  [DllImport("mod_managed", EntryPoint="CSharp_LOST_BURST_ANALYZE_get")]
  public static extern int LOST_BURST_ANALYZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_LOST_BURST_CAPTURE_get")]
  public static extern int LOST_BURST_CAPTURE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")]
  public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")]
  public static extern char switch_dtmf_t_digit_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")]
  public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")]
  public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_flags_set")]
  public static extern void switch_dtmf_t_flags_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_flags_get")]
  public static extern int switch_dtmf_t_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_source_set")]
  public static extern void switch_dtmf_t_source_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_source_get")]
  public static extern int switch_dtmf_t_source_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")]
  public static extern IntPtr new_switch_dtmf_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")]
  public static extern void delete_switch_dtmf_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")]
  public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")]
  public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")]
  public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")]
  public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")]
  public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")]
  public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")]
  public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")]
  public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")]
  public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")]
  public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")]
  public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")]
  public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")]
  public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")]
  public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")]
  public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")]
  public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")]
  public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")]
  public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")]
  public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")]
  public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")]
  public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")]
  public static extern byte switch_bitpack_t_under_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")]
  public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")]
  public static extern byte switch_bitpack_t_over_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")]
  public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")]
  public static extern int switch_bitpack_t_mode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")]
  public static extern IntPtr new_switch_bitpack_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")]
  public static extern void delete_switch_bitpack_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")]
  public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")]
  public static extern string switch_directories_base_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")]
  public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")]
  public static extern string switch_directories_mod_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")]
  public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")]
  public static extern string switch_directories_conf_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")]
  public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")]
  public static extern string switch_directories_log_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_run_dir_set")]
  public static extern void switch_directories_run_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_run_dir_get")]
  public static extern string switch_directories_run_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")]
  public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")]
  public static extern string switch_directories_db_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")]
  public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")]
  public static extern string switch_directories_script_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")]
  public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")]
  public static extern string switch_directories_temp_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")]
  public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")]
  public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")]
  public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")]
  public static extern string switch_directories_grammar_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")]
  public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")]
  public static extern string switch_directories_storage_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_cache_dir_set")]
  public static extern void switch_directories_cache_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_cache_dir_get")]
  public static extern string switch_directories_cache_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_recordings_dir_set")]
  public static extern void switch_directories_recordings_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_recordings_dir_get")]
  public static extern string switch_directories_recordings_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_sounds_dir_set")]
  public static extern void switch_directories_sounds_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_sounds_dir_get")]
  public static extern string switch_directories_sounds_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_lib_dir_set")]
  public static extern void switch_directories_lib_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_lib_dir_get")]
  public static extern string switch_directories_lib_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_certs_dir_set")]
  public static extern void switch_directories_certs_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_certs_dir_get")]
  public static extern string switch_directories_certs_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")]
  public static extern IntPtr new_switch_directories();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")]
  public static extern void delete_switch_directories(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")]
  public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")]
  public static extern IntPtr SWITCH_GLOBAL_dirs_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_filenames_conf_name_set")]
  public static extern void switch_filenames_conf_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_filenames_conf_name_get")]
  public static extern string switch_filenames_conf_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_filenames")]
  public static extern IntPtr new_switch_filenames();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_filenames")]
  public static extern void delete_switch_filenames(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_filenames_set")]
  public static extern void SWITCH_GLOBAL_filenames_set(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_filenames_get")]
  public static extern IntPtr SWITCH_GLOBAL_filenames_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")]
  public static extern int SWITCH_MAX_STACKS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")]
  public static extern int SWITCH_THREAD_STACKSIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")]
  public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")]
  public static extern int SWITCH_MAX_INTERVAL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")]
  public static extern int SWITCH_INTERVAL_PAD_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")]
  public static extern int SWITCH_MAX_SAMPLE_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")]
  public static extern int SWITCH_BYTES_PER_SAMPLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")]
  public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")]
  public static extern int SWITCH_MAX_CODECS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")]
  public static extern int SWITCH_MAX_STATE_HANDLERS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")]
  public static extern int SWITCH_CORE_QUEUE_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")]
  public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_raw_bytes_set")]
  public static extern void switch_rtp_numbers_t_raw_bytes_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_raw_bytes_get")]
  public static extern IntPtr switch_rtp_numbers_t_raw_bytes_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_media_bytes_set")]
  public static extern void switch_rtp_numbers_t_media_bytes_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_media_bytes_get")]
  public static extern IntPtr switch_rtp_numbers_t_media_bytes_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_packet_count_set")]
  public static extern void switch_rtp_numbers_t_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_period_packet_count_set")]
  public static extern void switch_rtp_numbers_t_period_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_period_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_period_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_media_packet_count_set")]
  public static extern void switch_rtp_numbers_t_media_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_media_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_media_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_skip_packet_count_set")]
  public static extern void switch_rtp_numbers_t_skip_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_skip_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_skip_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jb_packet_count_set")]
  public static extern void switch_rtp_numbers_t_jb_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jb_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_jb_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_dtmf_packet_count_set")]
  public static extern void switch_rtp_numbers_t_dtmf_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_dtmf_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_dtmf_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_cng_packet_count_set")]
  public static extern void switch_rtp_numbers_t_cng_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_cng_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_cng_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_flush_packet_count_set")]
  public static extern void switch_rtp_numbers_t_flush_packet_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_flush_packet_count_get")]
  public static extern IntPtr switch_rtp_numbers_t_flush_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_largest_jb_size_set")]
  public static extern void switch_rtp_numbers_t_largest_jb_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_largest_jb_size_get")]
  public static extern IntPtr switch_rtp_numbers_t_largest_jb_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_proc_time_set")]
  public static extern void switch_rtp_numbers_t_last_proc_time_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_proc_time_get")]
  public static extern long switch_rtp_numbers_t_last_proc_time_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jitter_n_set")]
  public static extern void switch_rtp_numbers_t_jitter_n_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jitter_n_get")]
  public static extern long switch_rtp_numbers_t_jitter_n_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jitter_add_set")]
  public static extern void switch_rtp_numbers_t_jitter_add_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jitter_add_get")]
  public static extern long switch_rtp_numbers_t_jitter_add_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jitter_addsq_set")]
  public static extern void switch_rtp_numbers_t_jitter_addsq_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_jitter_addsq_get")]
  public static extern long switch_rtp_numbers_t_jitter_addsq_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_variance_set")]
  public static extern void switch_rtp_numbers_t_variance_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_variance_get")]
  public static extern double switch_rtp_numbers_t_variance_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_min_variance_set")]
  public static extern void switch_rtp_numbers_t_min_variance_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_min_variance_get")]
  public static extern double switch_rtp_numbers_t_min_variance_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_max_variance_set")]
  public static extern void switch_rtp_numbers_t_max_variance_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_max_variance_get")]
  public static extern double switch_rtp_numbers_t_max_variance_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_std_deviation_set")]
  public static extern void switch_rtp_numbers_t_std_deviation_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_std_deviation_get")]
  public static extern double switch_rtp_numbers_t_std_deviation_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_lossrate_set")]
  public static extern void switch_rtp_numbers_t_lossrate_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_lossrate_get")]
  public static extern double switch_rtp_numbers_t_lossrate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_burstrate_set")]
  public static extern void switch_rtp_numbers_t_burstrate_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_burstrate_get")]
  public static extern double switch_rtp_numbers_t_burstrate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_mean_interval_set")]
  public static extern void switch_rtp_numbers_t_mean_interval_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_mean_interval_get")]
  public static extern double switch_rtp_numbers_t_mean_interval_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_loss_set")]
  public static extern void switch_rtp_numbers_t_loss_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_loss_get")]
  public static extern IntPtr switch_rtp_numbers_t_loss_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_loss_set")]
  public static extern void switch_rtp_numbers_t_last_loss_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_loss_get")]
  public static extern int switch_rtp_numbers_t_last_loss_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_recved_set")]
  public static extern void switch_rtp_numbers_t_recved_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_recved_get")]
  public static extern int switch_rtp_numbers_t_recved_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_processed_seq_set")]
  public static extern void switch_rtp_numbers_t_last_processed_seq_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_processed_seq_get")]
  public static extern int switch_rtp_numbers_t_last_processed_seq_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_flaws_set")]
  public static extern void switch_rtp_numbers_t_flaws_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_flaws_get")]
  public static extern IntPtr switch_rtp_numbers_t_flaws_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_flaw_set")]
  public static extern void switch_rtp_numbers_t_last_flaw_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_last_flaw_get")]
  public static extern IntPtr switch_rtp_numbers_t_last_flaw_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_R_set")]
  public static extern void switch_rtp_numbers_t_R_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_R_get")]
  public static extern double switch_rtp_numbers_t_R_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_mos_set")]
  public static extern void switch_rtp_numbers_t_mos_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_numbers_t_mos_get")]
  public static extern double switch_rtp_numbers_t_mos_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_numbers_t")]
  public static extern IntPtr new_switch_rtp_numbers_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_numbers_t")]
  public static extern void delete_switch_rtp_numbers_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_numbers_t_packet_count_set")]
  public static extern void switch_rtcp_numbers_t_packet_count_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_numbers_t_packet_count_get")]
  public static extern uint switch_rtcp_numbers_t_packet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_numbers_t_octet_count_set")]
  public static extern void switch_rtcp_numbers_t_octet_count_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_numbers_t_octet_count_get")]
  public static extern uint switch_rtcp_numbers_t_octet_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_numbers_t_peer_ssrc_set")]
  public static extern void switch_rtcp_numbers_t_peer_ssrc_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_numbers_t_peer_ssrc_get")]
  public static extern uint switch_rtcp_numbers_t_peer_ssrc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtcp_numbers_t")]
  public static extern IntPtr new_switch_rtcp_numbers_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtcp_numbers_t")]
  public static extern void delete_switch_rtcp_numbers_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_inbound_set")]
  public static extern void switch_rtp_stats_t_inbound_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_inbound_get")]
  public static extern IntPtr switch_rtp_stats_t_inbound_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_outbound_set")]
  public static extern void switch_rtp_stats_t_outbound_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_outbound_get")]
  public static extern IntPtr switch_rtp_stats_t_outbound_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_rtcp_set")]
  public static extern void switch_rtp_stats_t_rtcp_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_rtcp_get")]
  public static extern IntPtr switch_rtp_stats_t_rtcp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_read_count_set")]
  public static extern void switch_rtp_stats_t_read_count_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_stats_t_read_count_get")]
  public static extern uint switch_rtp_stats_t_read_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_stats_t")]
  public static extern IntPtr new_switch_rtp_stats_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_stats_t")]
  public static extern void delete_switch_rtp_stats_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")]
  public static extern int SWITCH_RTP_CNG_PAYLOAD_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")]
  public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")]
  public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")]
  public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")]
  public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")]
  public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")]
  public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")]
  public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")]
  public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")]
  public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")]
  public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")]
  public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")]
  public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")]
  public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")]
  public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")]
  public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")]
  public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")]
  public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")]
  public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")]
  public static extern IntPtr new_switch_rtp_hdr_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")]
  public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_ext_t_length_set")]
  public static extern void switch_rtp_hdr_ext_t_length_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_ext_t_length_get")]
  public static extern uint switch_rtp_hdr_ext_t_length_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_ext_t_profile_set")]
  public static extern void switch_rtp_hdr_ext_t_profile_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_ext_t_profile_get")]
  public static extern uint switch_rtp_hdr_ext_t_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_ext_t")]
  public static extern IntPtr new_switch_rtp_hdr_ext_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_ext_t")]
  public static extern void delete_switch_rtp_hdr_ext_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_version_set")]
  public static extern void switch_rtcp_hdr_t_version_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_version_get")]
  public static extern uint switch_rtcp_hdr_t_version_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_p_set")]
  public static extern void switch_rtcp_hdr_t_p_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_p_get")]
  public static extern uint switch_rtcp_hdr_t_p_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_count_set")]
  public static extern void switch_rtcp_hdr_t_count_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_count_get")]
  public static extern uint switch_rtcp_hdr_t_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_type_set")]
  public static extern void switch_rtcp_hdr_t_type_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_type_get")]
  public static extern uint switch_rtcp_hdr_t_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_length_set")]
  public static extern void switch_rtcp_hdr_t_length_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_hdr_t_length_get")]
  public static extern uint switch_rtcp_hdr_t_length_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtcp_hdr_t")]
  public static extern IntPtr new_switch_rtcp_hdr_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtcp_hdr_t")]
  public static extern void delete_switch_rtcp_hdr_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_audio_buffer_header_t_ts_set")]
  public static extern void audio_buffer_header_t_ts_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_audio_buffer_header_t_ts_get")]
  public static extern uint audio_buffer_header_t_ts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_audio_buffer_header_t_len_set")]
  public static extern void audio_buffer_header_t_len_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_audio_buffer_header_t_len_get")]
  public static extern uint audio_buffer_header_t_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_audio_buffer_header_t")]
  public static extern IntPtr new_audio_buffer_header_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_audio_buffer_header_t")]
  public static extern void delete_audio_buffer_header_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxVersion_set")]
  public static extern void switch_t38_options_t_T38FaxVersion_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxVersion_get")]
  public static extern ushort switch_t38_options_t_T38FaxVersion_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_set")]
  public static extern void switch_t38_options_t_T38MaxBitRate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_get")]
  public static extern uint switch_t38_options_t_T38MaxBitRate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_set")]
  public static extern void switch_t38_options_t_T38FaxFillBitRemoval_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_get")]
  public static extern int switch_t38_options_t_T38FaxFillBitRemoval_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_set")]
  public static extern void switch_t38_options_t_T38FaxTranscodingMMR_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_get")]
  public static extern int switch_t38_options_t_T38FaxTranscodingMMR_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_set")]
  public static extern void switch_t38_options_t_T38FaxTranscodingJBIG_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_get")]
  public static extern int switch_t38_options_t_T38FaxTranscodingJBIG_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_set")]
  public static extern void switch_t38_options_t_T38FaxRateManagement_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_get")]
  public static extern string switch_t38_options_t_T38FaxRateManagement_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_set")]
  public static extern void switch_t38_options_t_T38FaxMaxBuffer_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_get")]
  public static extern uint switch_t38_options_t_T38FaxMaxBuffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_set")]
  public static extern void switch_t38_options_t_T38FaxMaxDatagram_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_get")]
  public static extern uint switch_t38_options_t_T38FaxMaxDatagram_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_set")]
  public static extern void switch_t38_options_t_T38FaxUdpEC_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_get")]
  public static extern string switch_t38_options_t_T38FaxUdpEC_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_set")]
  public static extern void switch_t38_options_t_T38VendorInfo_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_get")]
  public static extern string switch_t38_options_t_T38VendorInfo_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_remote_ip_set")]
  public static extern void switch_t38_options_t_remote_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_remote_ip_get")]
  public static extern string switch_t38_options_t_remote_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_remote_port_set")]
  public static extern void switch_t38_options_t_remote_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_remote_port_get")]
  public static extern ushort switch_t38_options_t_remote_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_local_ip_set")]
  public static extern void switch_t38_options_t_local_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_local_ip_get")]
  public static extern string switch_t38_options_t_local_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_local_port_set")]
  public static extern void switch_t38_options_t_local_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_local_port_get")]
  public static extern ushort switch_t38_options_t_local_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_sdp_o_line_set")]
  public static extern void switch_t38_options_t_sdp_o_line_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_sdp_o_line_get")]
  public static extern string switch_t38_options_t_sdp_o_line_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_t38_options_t")]
  public static extern IntPtr new_switch_t38_options_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_t38_options_t")]
  public static extern void delete_switch_t38_options_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MEDIA_TYPE_TOTAL_get")]
  public static extern int SWITCH_MEDIA_TYPE_TOTAL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SOCK_INVALID_get")]
  public static extern int SWITCH_SOCK_INVALID_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_node_val_set")]
  public static extern void switch_console_callback_match_node_val_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_node_val_get")]
  public static extern string switch_console_callback_match_node_val_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_node_next_set")]
  public static extern void switch_console_callback_match_node_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_node_next_get")]
  public static extern IntPtr switch_console_callback_match_node_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_console_callback_match_node")]
  public static extern IntPtr new_switch_console_callback_match_node();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_console_callback_match_node")]
  public static extern void delete_switch_console_callback_match_node(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_head_set")]
  public static extern void switch_console_callback_match_head_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_head_get")]
  public static extern IntPtr switch_console_callback_match_head_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_end_set")]
  public static extern void switch_console_callback_match_end_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_end_get")]
  public static extern IntPtr switch_console_callback_match_end_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_count_set")]
  public static extern void switch_console_callback_match_count_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_count_get")]
  public static extern int switch_console_callback_match_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_dynamic_set")]
  public static extern void switch_console_callback_match_dynamic_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_callback_match_dynamic_get")]
  public static extern int switch_console_callback_match_dynamic_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_console_callback_match")]
  public static extern IntPtr new_switch_console_callback_match();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_console_callback_match")]
  public static extern void delete_switch_console_callback_match(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_DMACHINE_MAX_DIGIT_LEN_get")]
  public static extern int DMACHINE_MAX_DIGIT_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_dmachine_set")]
  public static extern void switch_ivr_dmachine_match_dmachine_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_dmachine_get")]
  public static extern IntPtr switch_ivr_dmachine_match_dmachine_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_match_digits_set")]
  public static extern void switch_ivr_dmachine_match_match_digits_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_match_digits_get")]
  public static extern string switch_ivr_dmachine_match_match_digits_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_match_key_set")]
  public static extern void switch_ivr_dmachine_match_match_key_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_match_key_get")]
  public static extern int switch_ivr_dmachine_match_match_key_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_type_set")]
  public static extern void switch_ivr_dmachine_match_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_type_get")]
  public static extern int switch_ivr_dmachine_match_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_user_data_set")]
  public static extern void switch_ivr_dmachine_match_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_match_user_data_get")]
  public static extern IntPtr switch_ivr_dmachine_match_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_ivr_dmachine_match")]
  public static extern IntPtr new_switch_ivr_dmachine_match();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_ivr_dmachine_match")]
  public static extern void delete_switch_ivr_dmachine_match(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_MAX_ARG_RECURSION_get")]
  public static extern int MAX_ARG_RECURSION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")]
  public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")]
  public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")]
  public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")]
  public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")]
  public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")]
  public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")]
  public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")]
  public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")]
  public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")]
  public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_dmachine_set")]
  public static extern void switch_input_args_t_dmachine_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_dmachine_get")]
  public static extern IntPtr switch_input_args_t_dmachine_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_loops_set")]
  public static extern void switch_input_args_t_loops_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_loops_get")]
  public static extern int switch_input_args_t_loops_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")]
  public static extern IntPtr new_switch_input_args_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")]
  public static extern void delete_switch_input_args_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_type_set")]
  public static extern void switch_say_args_t_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_type_get")]
  public static extern int switch_say_args_t_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_method_set")]
  public static extern void switch_say_args_t_method_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_method_get")]
  public static extern int switch_say_args_t_method_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_gender_set")]
  public static extern void switch_say_args_t_gender_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_gender_get")]
  public static extern int switch_say_args_t_gender_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_ext_set")]
  public static extern void switch_say_args_t_ext_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_args_t_ext_get")]
  public static extern string switch_say_args_t_ext_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_args_t")]
  public static extern IntPtr new_switch_say_args_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_args_t")]
  public static extern void delete_switch_say_args_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")]
  public static extern int SWITCH_API_VERSION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")]
  public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")]
  public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")]
  public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")]
  public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")]
  public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")]
  public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")]
  public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")]
  public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_set")]
  public static extern void switch_loadable_module_function_table_t_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_get")]
  public static extern uint switch_loadable_module_function_table_t_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")]
  public static extern IntPtr new_switch_loadable_module_function_table_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")]
  public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_type_set")]
  public static extern void payload_map_t_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_type_get")]
  public static extern int payload_map_t_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_sdp_type_set")]
  public static extern void payload_map_t_sdp_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_sdp_type_get")]
  public static extern int payload_map_t_sdp_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_ptime_set")]
  public static extern void payload_map_t_ptime_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_ptime_get")]
  public static extern uint payload_map_t_ptime_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rate_set")]
  public static extern void payload_map_t_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rate_get")]
  public static extern uint payload_map_t_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_allocated_set")]
  public static extern void payload_map_t_allocated_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_allocated_get")]
  public static extern byte payload_map_t_allocated_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_negotiated_set")]
  public static extern void payload_map_t_negotiated_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_negotiated_get")]
  public static extern byte payload_map_t_negotiated_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_current_set")]
  public static extern void payload_map_t_current_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_current_get")]
  public static extern byte payload_map_t_current_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_hash_set")]
  public static extern void payload_map_t_hash_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_hash_get")]
  public static extern uint payload_map_t_hash_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rm_encoding_set")]
  public static extern void payload_map_t_rm_encoding_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rm_encoding_get")]
  public static extern string payload_map_t_rm_encoding_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_iananame_set")]
  public static extern void payload_map_t_iananame_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_iananame_get")]
  public static extern string payload_map_t_iananame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_pt_set")]
  public static extern void payload_map_t_pt_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_pt_get")]
  public static extern byte payload_map_t_pt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rm_rate_set")]
  public static extern void payload_map_t_rm_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rm_rate_get")]
  public static extern uint payload_map_t_rm_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_adv_rm_rate_set")]
  public static extern void payload_map_t_adv_rm_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_adv_rm_rate_get")]
  public static extern uint payload_map_t_adv_rm_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_codec_ms_set")]
  public static extern void payload_map_t_codec_ms_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_codec_ms_get")]
  public static extern uint payload_map_t_codec_ms_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_bitrate_set")]
  public static extern void payload_map_t_bitrate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_bitrate_get")]
  public static extern uint payload_map_t_bitrate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rm_fmtp_set")]
  public static extern void payload_map_t_rm_fmtp_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_rm_fmtp_get")]
  public static extern string payload_map_t_rm_fmtp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_agreed_pt_set")]
  public static extern void payload_map_t_agreed_pt_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_agreed_pt_get")]
  public static extern byte payload_map_t_agreed_pt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_recv_pt_set")]
  public static extern void payload_map_t_recv_pt_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_recv_pt_get")]
  public static extern byte payload_map_t_recv_pt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_fmtp_out_set")]
  public static extern void payload_map_t_fmtp_out_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_fmtp_out_get")]
  public static extern string payload_map_t_fmtp_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_remote_sdp_ip_set")]
  public static extern void payload_map_t_remote_sdp_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_remote_sdp_ip_get")]
  public static extern string payload_map_t_remote_sdp_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_remote_sdp_port_set")]
  public static extern void payload_map_t_remote_sdp_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_remote_sdp_port_get")]
  public static extern ushort payload_map_t_remote_sdp_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_channels_set")]
  public static extern void payload_map_t_channels_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_channels_get")]
  public static extern int payload_map_t_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_adv_channels_set")]
  public static extern void payload_map_t_adv_channels_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_adv_channels_get")]
  public static extern int payload_map_t_adv_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_next_set")]
  public static extern void payload_map_t_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_payload_map_t_next_get")]
  public static extern IntPtr payload_map_t_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_payload_map_t")]
  public static extern IntPtr new_payload_map_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_payload_map_t")]
  public static extern void delete_payload_map_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_waitlist_t_sock_set")]
  public static extern void switch_waitlist_t_sock_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_waitlist_t_sock_get")]
  public static extern int switch_waitlist_t_sock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_waitlist_t_events_set")]
  public static extern void switch_waitlist_t_events_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_waitlist_t_events_get")]
  public static extern uint switch_waitlist_t_events_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_waitlist_t_revents_set")]
  public static extern void switch_waitlist_t_revents_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_waitlist_t_revents_get")]
  public static extern uint switch_waitlist_t_revents_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_waitlist_t")]
  public static extern IntPtr new_switch_waitlist_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_waitlist_t")]
  public static extern void delete_switch_waitlist_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")]
  public static extern int switch_core_db_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")]
  public static extern int switch_core_db_open(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")]
  public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")]
  public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")]
  public static extern int switch_core_db_column_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")]
  public static extern string switch_core_db_errmsg(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")]
  public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")]
  public static extern int switch_core_db_finalize(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")]
  public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")]
  public static extern int switch_core_db_step(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")]
  public static extern int switch_core_db_reset(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")]
  public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")]
  public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")]
  public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")]
  public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")]
  public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")]
  public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")]
  public static extern void switch_core_db_free_table(ref string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")]
  public static extern void switch_core_db_free(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")]
  public static extern int switch_core_db_changes(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_load_extension")]
  public static extern int switch_core_db_load_extension(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")]
  public static extern int SWITCH_CORE_DB_OK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")]
  public static extern int SWITCH_CORE_DB_ERROR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")]
  public static extern int SWITCH_CORE_DB_INTERNAL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")]
  public static extern int SWITCH_CORE_DB_PERM_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")]
  public static extern int SWITCH_CORE_DB_ABORT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")]
  public static extern int SWITCH_CORE_DB_BUSY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")]
  public static extern int SWITCH_CORE_DB_LOCKED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")]
  public static extern int SWITCH_CORE_DB_NOMEM_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")]
  public static extern int SWITCH_CORE_DB_READONLY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")]
  public static extern int SWITCH_CORE_DB_INTERRUPT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")]
  public static extern int SWITCH_CORE_DB_IOERR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")]
  public static extern int SWITCH_CORE_DB_CORRUPT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")]
  public static extern int SWITCH_CORE_DB_NOTFOUND_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")]
  public static extern int SWITCH_CORE_DB_FULL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")]
  public static extern int SWITCH_CORE_DB_CANTOPEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")]
  public static extern int SWITCH_CORE_DB_PROTOCOL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")]
  public static extern int SWITCH_CORE_DB_EMPTY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")]
  public static extern int SWITCH_CORE_DB_SCHEMA_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")]
  public static extern int SWITCH_CORE_DB_TOOBIG_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")]
  public static extern int SWITCH_CORE_DB_CONSTRAINT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")]
  public static extern int SWITCH_CORE_DB_MISMATCH_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")]
  public static extern int SWITCH_CORE_DB_MISUSE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")]
  public static extern int SWITCH_CORE_DB_NOLFS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")]
  public static extern int SWITCH_CORE_DB_AUTH_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")]
  public static extern int SWITCH_CORE_DB_FORMAT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")]
  public static extern int SWITCH_CORE_DB_RANGE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")]
  public static extern int SWITCH_CORE_DB_NOTADB_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")]
  public static extern int SWITCH_CORE_DB_ROW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")]
  public static extern int SWITCH_CORE_DB_DONE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_concat")]
  public static extern string switch_sql_concat();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")]
  public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")]
  public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")]
  public static extern void switch_regex_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")]
  public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")]
  public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")]
  public static extern int switch_regex_match(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")]
  public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_capture_regex")]
  public static extern void switch_capture_regex(HandleRef jarg1, int jarg2, string jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_set_var_callback")]
  public static extern void switch_regex_set_var_callback(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_set_event_header_callback")]
  public static extern void switch_regex_set_event_header_callback(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")]
  public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")]
  public static extern int SWITCH_MAX_STREAMS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")]
  public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")]
  public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")]
  public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")]
  public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")]
  public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")]
  public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")]
  public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")]
  public static extern uint switch_core_time_duration_min_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")]
  public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")]
  public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")]
  public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")]
  public static extern uint switch_core_time_duration_day_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")]
  public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")]
  public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")]
  public static extern IntPtr new_switch_core_time_duration();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")]
  public static extern void delete_switch_core_time_duration(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")]
  public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")]
  public static extern string switch_app_log_app_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")]
  public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")]
  public static extern string switch_app_log_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_stamp_set")]
  public static extern void switch_app_log_stamp_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_stamp_get")]
  public static extern IntPtr switch_app_log_stamp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")]
  public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")]
  public static extern IntPtr switch_app_log_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")]
  public static extern IntPtr new_switch_app_log();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")]
  public static extern void delete_switch_app_log(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_func_set")]
  public static extern void switch_thread_data_t_func_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_func_get")]
  public static extern IntPtr switch_thread_data_t_func_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_obj_set")]
  public static extern void switch_thread_data_t_obj_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_obj_get")]
  public static extern IntPtr switch_thread_data_t_obj_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_alloc_set")]
  public static extern void switch_thread_data_t_alloc_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_alloc_get")]
  public static extern int switch_thread_data_t_alloc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_pool_set")]
  public static extern void switch_thread_data_t_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_data_t_pool_get")]
  public static extern IntPtr switch_thread_data_t_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_thread_data_t")]
  public static extern IntPtr new_switch_thread_data_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_thread_data_t")]
  public static extern void delete_switch_thread_data_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_on_set")]
  public static extern void switch_hold_record_t_on_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_on_get")]
  public static extern IntPtr switch_hold_record_t_on_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_off_set")]
  public static extern void switch_hold_record_t_off_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_off_get")]
  public static extern IntPtr switch_hold_record_t_off_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_uuid_set")]
  public static extern void switch_hold_record_t_uuid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_uuid_get")]
  public static extern string switch_hold_record_t_uuid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_next_set")]
  public static extern void switch_hold_record_t_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hold_record_t_next_get")]
  public static extern IntPtr switch_hold_record_t_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_hold_record_t")]
  public static extern IntPtr new_switch_hold_record_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_hold_record_t")]
  public static extern void delete_switch_hold_record_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_uuid_set")]
  public static extern void switch_device_node_t_uuid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_uuid_get")]
  public static extern string switch_device_node_t_uuid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_xml_cdr_set")]
  public static extern void switch_device_node_t_xml_cdr_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_xml_cdr_get")]
  public static extern IntPtr switch_device_node_t_xml_cdr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t__event_set")]
  public static extern void switch_device_node_t__event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t__event_get")]
  public static extern IntPtr switch_device_node_t__event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_callstate_set")]
  public static extern void switch_device_node_t_callstate_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_callstate_get")]
  public static extern int switch_device_node_t_callstate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_hold_record_set")]
  public static extern void switch_device_node_t_hold_record_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_hold_record_get")]
  public static extern IntPtr switch_device_node_t_hold_record_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_hup_profile_set")]
  public static extern void switch_device_node_t_hup_profile_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_hup_profile_get")]
  public static extern IntPtr switch_device_node_t_hup_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_direction_set")]
  public static extern void switch_device_node_t_direction_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_direction_get")]
  public static extern int switch_device_node_t_direction_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_parent_set")]
  public static extern void switch_device_node_t_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_parent_get")]
  public static extern IntPtr switch_device_node_t_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_next_set")]
  public static extern void switch_device_node_t_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_node_t_next_get")]
  public static extern IntPtr switch_device_node_t_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_device_node_t")]
  public static extern IntPtr new_switch_device_node_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_device_node_t")]
  public static extern void delete_switch_device_node_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_total_set")]
  public static extern void switch_device_stats_t_total_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_total_get")]
  public static extern uint switch_device_stats_t_total_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_total_in_set")]
  public static extern void switch_device_stats_t_total_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_total_in_get")]
  public static extern uint switch_device_stats_t_total_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_total_out_set")]
  public static extern void switch_device_stats_t_total_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_total_out_get")]
  public static extern uint switch_device_stats_t_total_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_offhook_set")]
  public static extern void switch_device_stats_t_offhook_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_offhook_get")]
  public static extern uint switch_device_stats_t_offhook_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_offhook_in_set")]
  public static extern void switch_device_stats_t_offhook_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_offhook_in_get")]
  public static extern uint switch_device_stats_t_offhook_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_offhook_out_set")]
  public static extern void switch_device_stats_t_offhook_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_offhook_out_get")]
  public static extern uint switch_device_stats_t_offhook_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_active_set")]
  public static extern void switch_device_stats_t_active_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_active_get")]
  public static extern uint switch_device_stats_t_active_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_active_in_set")]
  public static extern void switch_device_stats_t_active_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_active_in_get")]
  public static extern uint switch_device_stats_t_active_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_active_out_set")]
  public static extern void switch_device_stats_t_active_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_active_out_get")]
  public static extern uint switch_device_stats_t_active_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_held_set")]
  public static extern void switch_device_stats_t_held_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_held_get")]
  public static extern uint switch_device_stats_t_held_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_held_in_set")]
  public static extern void switch_device_stats_t_held_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_held_in_get")]
  public static extern uint switch_device_stats_t_held_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_held_out_set")]
  public static extern void switch_device_stats_t_held_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_held_out_get")]
  public static extern uint switch_device_stats_t_held_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_set")]
  public static extern void switch_device_stats_t_unheld_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_get")]
  public static extern uint switch_device_stats_t_unheld_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_in_set")]
  public static extern void switch_device_stats_t_unheld_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_in_get")]
  public static extern uint switch_device_stats_t_unheld_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_out_set")]
  public static extern void switch_device_stats_t_unheld_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_out_get")]
  public static extern uint switch_device_stats_t_unheld_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_hup_set")]
  public static extern void switch_device_stats_t_hup_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_hup_get")]
  public static extern uint switch_device_stats_t_hup_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_hup_in_set")]
  public static extern void switch_device_stats_t_hup_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_hup_in_get")]
  public static extern uint switch_device_stats_t_hup_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_hup_out_set")]
  public static extern void switch_device_stats_t_hup_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_hup_out_get")]
  public static extern uint switch_device_stats_t_hup_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ringing_set")]
  public static extern void switch_device_stats_t_ringing_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ringing_get")]
  public static extern uint switch_device_stats_t_ringing_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ringing_in_set")]
  public static extern void switch_device_stats_t_ringing_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ringing_in_get")]
  public static extern uint switch_device_stats_t_ringing_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ringing_out_set")]
  public static extern void switch_device_stats_t_ringing_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ringing_out_get")]
  public static extern uint switch_device_stats_t_ringing_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_early_set")]
  public static extern void switch_device_stats_t_early_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_early_get")]
  public static extern uint switch_device_stats_t_early_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_early_in_set")]
  public static extern void switch_device_stats_t_early_in_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_early_in_get")]
  public static extern uint switch_device_stats_t_early_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_early_out_set")]
  public static extern void switch_device_stats_t_early_out_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_early_out_get")]
  public static extern uint switch_device_stats_t_early_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ring_wait_set")]
  public static extern void switch_device_stats_t_ring_wait_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_ring_wait_get")]
  public static extern uint switch_device_stats_t_ring_wait_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_device_stats_t")]
  public static extern IntPtr new_switch_device_stats_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_device_stats_t")]
  public static extern void delete_switch_device_stats_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_device_id_set")]
  public static extern void switch_device_record_t_device_id_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_device_id_get")]
  public static extern string switch_device_record_t_device_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_uuid_set")]
  public static extern void switch_device_record_t_uuid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_uuid_get")]
  public static extern string switch_device_record_t_uuid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_refs_set")]
  public static extern void switch_device_record_t_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_refs_get")]
  public static extern int switch_device_record_t_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_stats_set")]
  public static extern void switch_device_record_t_stats_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_stats_get")]
  public static extern IntPtr switch_device_record_t_stats_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_last_stats_set")]
  public static extern void switch_device_record_t_last_stats_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_last_stats_get")]
  public static extern IntPtr switch_device_record_t_last_stats_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_state_set")]
  public static extern void switch_device_record_t_state_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_state_get")]
  public static extern int switch_device_record_t_state_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_last_state_set")]
  public static extern void switch_device_record_t_last_state_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_last_state_get")]
  public static extern int switch_device_record_t_last_state_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_active_start_set")]
  public static extern void switch_device_record_t_active_start_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_active_start_get")]
  public static extern IntPtr switch_device_record_t_active_start_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_active_stop_set")]
  public static extern void switch_device_record_t_active_stop_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_active_stop_get")]
  public static extern IntPtr switch_device_record_t_active_stop_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_last_call_time_set")]
  public static extern void switch_device_record_t_last_call_time_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_last_call_time_get")]
  public static extern IntPtr switch_device_record_t_last_call_time_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_ring_start_set")]
  public static extern void switch_device_record_t_ring_start_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_ring_start_get")]
  public static extern IntPtr switch_device_record_t_ring_start_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_ring_stop_set")]
  public static extern void switch_device_record_t_ring_stop_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_ring_stop_get")]
  public static extern IntPtr switch_device_record_t_ring_stop_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_hold_start_set")]
  public static extern void switch_device_record_t_hold_start_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_hold_start_get")]
  public static extern IntPtr switch_device_record_t_hold_start_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_hold_stop_set")]
  public static extern void switch_device_record_t_hold_stop_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_hold_stop_get")]
  public static extern IntPtr switch_device_record_t_hold_stop_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_call_start_set")]
  public static extern void switch_device_record_t_call_start_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_call_start_get")]
  public static extern IntPtr switch_device_record_t_call_start_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_uuid_list_set")]
  public static extern void switch_device_record_t_uuid_list_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_uuid_list_get")]
  public static extern IntPtr switch_device_record_t_uuid_list_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_uuid_tail_set")]
  public static extern void switch_device_record_t_uuid_tail_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_uuid_tail_get")]
  public static extern IntPtr switch_device_record_t_uuid_tail_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_mutex_set")]
  public static extern void switch_device_record_t_mutex_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_mutex_get")]
  public static extern IntPtr switch_device_record_t_mutex_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_pool_set")]
  public static extern void switch_device_record_t_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_pool_get")]
  public static extern IntPtr switch_device_record_t_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_user_data_set")]
  public static extern void switch_device_record_t_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_record_t_user_data_get")]
  public static extern IntPtr switch_device_record_t_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_device_record_t")]
  public static extern IntPtr new_switch_device_record_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_device_record_t")]
  public static extern void delete_switch_device_record_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_DTLS_SRTP_FNAME_get")]
  public static extern string DTLS_SRTP_FNAME_get();

  [DllImport("mod_managed", EntryPoint="CSharp_MAX_FPLEN_get")]
  public static extern int MAX_FPLEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_MAX_FPSTRLEN_get")]
  public static extern int MAX_FPSTRLEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_len_set")]
  public static extern void dtls_fingerprint_t_len_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_len_get")]
  public static extern uint dtls_fingerprint_t_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_data_set")]
  public static extern void dtls_fingerprint_t_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_data_get")]
  public static extern IntPtr dtls_fingerprint_t_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_type_set")]
  public static extern void dtls_fingerprint_t_type_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_type_get")]
  public static extern string dtls_fingerprint_t_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_str_set")]
  public static extern void dtls_fingerprint_t_str_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_dtls_fingerprint_t_str_get")]
  public static extern string dtls_fingerprint_t_str_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_dtls_fingerprint_t")]
  public static extern IntPtr new_dtls_fingerprint_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_dtls_fingerprint_t")]
  public static extern void delete_dtls_fingerprint_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_MESSAGE_STRING_ARG_MAX_get")]
  public static extern int MESSAGE_STRING_ARG_MAX_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")]
  public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")]
  public static extern string switch_core_session_message_from_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")]
  public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")]
  public static extern int switch_core_session_message_message_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")]
  public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")]
  public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")]
  public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")]
  public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")]
  public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")]
  public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")]
  public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")]
  public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")]
  public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")]
  public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")]
  public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")]
  public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")]
  public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")]
  public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")]
  public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")]
  public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")]
  public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")]
  public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")]
  public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")]
  public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")]
  public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")]
  public static extern uint switch_core_session_message_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_set")]
  public static extern void switch_core_session_message__file_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_get")]
  public static extern string switch_core_session_message__file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_set")]
  public static extern void switch_core_session_message__func_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_get")]
  public static extern string switch_core_session_message__func_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_set")]
  public static extern void switch_core_session_message__line_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_get")]
  public static extern int switch_core_session_message__line_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_array_arg_set")]
  public static extern void switch_core_session_message_string_array_arg_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_array_arg_get")]
  public static extern IntPtr switch_core_session_message_string_array_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_delivery_time_set")]
  public static extern void switch_core_session_message_delivery_time_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_delivery_time_get")]
  public static extern IntPtr switch_core_session_message_delivery_time_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")]
  public static extern IntPtr new_switch_core_session_message();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")]
  public static extern void delete_switch_core_session_message(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")]
  public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")]
  public static extern int switch_core_thread_session_running_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")]
  public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")]
  public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")]
  public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")]
  public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")]
  public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")]
  public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")]
  public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")]
  public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")]
  public static extern IntPtr new_switch_core_thread_session();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")]
  public static extern void delete_switch_core_thread_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_screen_size")]
  public static extern void switch_core_screen_size(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sched_heartbeat")]
  public static extern void switch_core_session_sched_heartbeat(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unsched_heartbeat")]
  public static extern void switch_core_session_unsched_heartbeat(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_enable_heartbeat")]
  public static extern void switch_core_session_enable_heartbeat(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_disable_heartbeat")]
  public static extern void switch_core_session_disable_heartbeat(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_pop")]
  public static extern int switch_core_media_bug_pop(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_exec_all")]
  public static extern int switch_core_media_bug_exec_all(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_count")]
  public static extern uint switch_core_media_bug_count(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")]
  public static extern int switch_core_media_bug_add(HandleRef jarg1, string jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7, HandleRef jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_pause")]
  public static extern void switch_core_media_bug_pause(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_resume")]
  public static extern void switch_core_media_bug_resume(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_inuse")]
  public static extern void switch_core_media_bug_inuse(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")]
  public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")]
  public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_native_read_frame")]
  public static extern IntPtr switch_core_media_bug_get_native_read_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_native_write_frame")]
  public static extern IntPtr switch_core_media_bug_get_native_write_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")]
  public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")]
  public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_demux_frame")]
  public static extern void switch_core_media_bug_set_read_demux_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_session")]
  public static extern IntPtr switch_core_media_bug_get_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_test_flag")]
  public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_flag")]
  public static extern uint switch_core_media_bug_set_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_clear_flag")]
  public static extern uint switch_core_media_bug_clear_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")]
  public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_cpu_count")]
  public static extern uint switch_core_cpu_count();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")]
  public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_prune")]
  public static extern uint switch_core_media_bug_prune(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_callback")]
  public static extern int switch_core_media_bug_remove_callback(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")]
  public static extern int switch_core_media_bug_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all_function")]
  public static extern int switch_core_media_bug_remove_all_function(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_enumerate")]
  public static extern int switch_core_media_bug_enumerate(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_transfer_recordings")]
  public static extern int switch_core_media_bug_transfer_recordings(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_transfer_callback")]
  public static extern int switch_core_media_bug_transfer_callback(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")]
  public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush")]
  public static extern void switch_core_media_bug_flush(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush_all")]
  public static extern int switch_core_media_bug_flush_all(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_pre_buffer_framecount")]
  public static extern int switch_core_media_bug_set_pre_buffer_framecount(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")]
  public static extern int switch_core_port_allocator_new(string jarg1, ushort jarg2, ushort jarg3, uint jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")]
  public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")]
  public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")]
  public static extern void switch_core_port_allocator_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_test_flag")]
  public static extern int switch_core_test_flag(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")]
  public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")]
  public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")]
  public static extern uint switch_core_session_limit(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")]
  public static extern uint switch_core_sessions_per_second(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")]
  public static extern int switch_core_destroy();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_io_read_lock")]
  public static extern int switch_core_session_io_read_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_io_write_lock")]
  public static extern int switch_core_session_io_write_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_io_rwunlock")]
  public static extern int switch_core_session_io_rwunlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")]
  public static extern int switch_core_session_read_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock_hangup")]
  public static extern int switch_core_session_read_lock_hangup(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")]
  public static extern void switch_core_session_write_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")]
  public static extern void switch_core_session_rwunlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")]
  public static extern int switch_core_add_state_handler(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")]
  public static extern void switch_core_remove_state_handler(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")]
  public static extern IntPtr switch_core_get_state_handler(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")]
  public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")]
  public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sync_clock")]
  public static extern int switch_core_session_sync_clock();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")]
  public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_set_data")]
  public static extern void switch_core_memory_pool_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_get_data")]
  public static extern IntPtr switch_core_memory_pool_get_data(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")]
  public static extern void switch_core_session_run(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")]
  public static extern uint switch_core_session_running(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_started")]
  public static extern uint switch_core_session_started(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")]
  public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")]
  public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")]
  public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")]
  public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")]
  public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")]
  public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")]
  public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")]
  public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")]
  public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_xml")]
  public static extern IntPtr switch_core_session_request_xml(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_uuid")]
  public static extern IntPtr switch_core_session_request_uuid(HandleRef jarg1, int jarg2, uint jarg3, HandleRef jarg4, string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_uuid")]
  public static extern int switch_core_session_set_uuid(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")]
  public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_destroy_state")]
  public static extern void switch_core_session_destroy_state(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reporting_state")]
  public static extern void switch_core_session_reporting_state(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hangup_state")]
  public static extern void switch_core_session_hangup_state(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")]
  public static extern uint switch_core_session_count();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_id")]
  public static extern IntPtr switch_core_session_get_id(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")]
  public static extern IntPtr switch_core_session_id();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id_dec")]
  public static extern IntPtr switch_core_session_id_dec();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")]
  public static extern IntPtr switch_core_session_request_by_name(string jarg1, int jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")]
  public static extern int switch_core_session_thread_launch(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_thread_pool_launch_thread")]
  public static extern int switch_thread_pool_launch_thread(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_pool_launch")]
  public static extern int switch_core_session_thread_pool_launch(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")]
  public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_mutex")]
  public static extern IntPtr switch_core_session_get_mutex(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_wake_session_thread")]
  public static extern int switch_core_session_wake_session_thread(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")]
  public static extern void switch_core_session_signal_state_change(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")]
  public static extern string switch_core_session_get_uuid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_loglevel")]
  public static extern int switch_core_session_set_loglevel(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_loglevel")]
  public static extern int switch_core_session_get_loglevel(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_jb")]
  public static extern IntPtr switch_core_session_get_jb(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_soft_lock")]
  public static extern void switch_core_session_soft_lock(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_soft_unlock")]
  public static extern void switch_core_session_soft_unlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_dmachine")]
  public static extern void switch_core_session_set_dmachine(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_dmachine")]
  public static extern IntPtr switch_core_session_get_dmachine(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_get_target")]
  public static extern int switch_ivr_dmachine_get_target(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_set_target")]
  public static extern void switch_ivr_dmachine_set_target(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_set_terminators")]
  public static extern int switch_ivr_dmachine_set_terminators(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_codec_slin")]
  public static extern int switch_core_session_set_codec_slin(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")]
  public static extern string switch_core_get_uuid();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_locate")]
  public static extern IntPtr switch_core_session_perform_locate(string jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_force_locate")]
  public static extern IntPtr switch_core_session_perform_force_locate(string jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")]
  public static extern string switch_core_get_variable(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable_dup")]
  public static extern string switch_core_get_variable_dup(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable_pdup")]
  public static extern string switch_core_get_variable_pdup(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_hostname")]
  public static extern string switch_core_get_hostname();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_switchname")]
  public static extern string switch_core_get_switchname();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_domain")]
  public static extern string switch_core_get_domain(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")]
  public static extern void switch_core_set_variable(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variables")]
  public static extern int switch_core_get_variables(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_var_conditional")]
  public static extern int switch_core_set_var_conditional(string jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")]
  public static extern void switch_core_dump_variables(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")]
  public static extern void switch_core_session_hupall(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var_ans")]
  public static extern uint switch_core_session_hupall_matching_var_ans(string jarg1, string jarg2, int jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_findall_matching_var")]
  public static extern IntPtr switch_core_session_findall_matching_var(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_findall")]
  public static extern IntPtr switch_core_session_findall();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")]
  public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_get_partner")]
  public static extern int switch_core_session_perform_get_partner(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")]
  public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")]
  public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_free_message")]
  public static extern void switch_core_session_free_message(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_signal_data")]
  public static extern int switch_core_session_queue_signal_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_signal_data")]
  public static extern int switch_core_session_dequeue_signal_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")]
  public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")]
  public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")]
  public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")]
  public static extern int switch_core_session_flush_message(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")]
  public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")]
  public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")]
  public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_video_reset")]
  public static extern void switch_core_session_video_reset(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application_get_flags")]
  public static extern int switch_core_session_execute_application_get_flags(HandleRef jarg1, string jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application_async")]
  public static extern int switch_core_session_execute_application_async(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_flags")]
  public static extern int switch_core_session_get_app_flags(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")]
  public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")]
  public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private_class")]
  public static extern IntPtr switch_core_session_get_private_class(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private_class")]
  public static extern int switch_core_session_set_private_class(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")]
  public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")]
  public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream_count")]
  public static extern int switch_core_session_get_stream_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_launch_thread")]
  public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")]
  public static extern void switch_core_thread_session_end(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session_av")]
  public static extern void switch_core_service_session_av(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")]
  public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7, HandleRef jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_receive_message")]
  public static extern int switch_core_session_perform_receive_message(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")]
  public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")]
  public static extern uint switch_core_session_event_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_messages_waiting")]
  public static extern uint switch_core_session_messages_waiting(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")]
  public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")]
  public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")]
  public static extern uint switch_core_session_private_event_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")]
  public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")]
  public static extern uint switch_core_session_flush_private_events(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")]
  public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")]
  public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")]
  public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_impl")]
  public static extern int switch_core_session_set_read_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_impl")]
  public static extern int switch_core_session_set_write_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_impl")]
  public static extern int switch_core_session_set_video_read_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_impl")]
  public static extern int switch_core_session_set_video_write_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")]
  public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")]
  public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")]
  public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")]
  public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")]
  public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")]
  public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init_case")]
  public static extern int switch_core_hash_init_case(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")]
  public static extern int switch_core_hash_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_destructor")]
  public static extern int switch_core_hash_insert_destructor(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")]
  public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_wrlock")]
  public static extern int switch_core_hash_insert_wrlock(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")]
  public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")]
  public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_wrlock")]
  public static extern int switch_core_hash_delete_wrlock(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_multi")]
  public static extern int switch_core_hash_delete_multi(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")]
  public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")]
  public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_rdlock")]
  public static extern IntPtr switch_core_hash_find_rdlock(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_first_iter")]
  public static extern IntPtr switch_core_hash_first_iter(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_empty")]
  public static extern int switch_core_hash_empty(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_next")]
  public static extern IntPtr switch_core_hash_next(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_this")]
  public static extern void switch_core_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")]
  public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_calibrate_clock")]
  public static extern void switch_time_calibrate_clock();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")]
  public static extern int switch_core_timer_next(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")]
  public static extern int switch_core_timer_step(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")]
  public static extern int switch_core_timer_sync(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")]
  public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")]
  public static extern int switch_core_timer_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init_with_bitrate")]
  public static extern int switch_core_codec_init_with_bitrate(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, uint jarg8, HandleRef jarg9, HandleRef jarg10);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")]
  public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_parse_fmtp")]
  public static extern int switch_core_codec_parse_fmtp(string jarg1, string jarg2, uint jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_reset")]
  public static extern int switch_core_codec_reset(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")]
  public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")]
  public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")]
  public static extern int switch_core_codec_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")]
  public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_real_read_codec")]
  public static extern int switch_core_session_set_real_read_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")]
  public static extern void switch_core_session_unset_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_write_codec")]
  public static extern void switch_core_session_unset_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_write")]
  public static extern void switch_core_session_lock_codec_write(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_write")]
  public static extern void switch_core_session_unlock_codec_write(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_read")]
  public static extern void switch_core_session_lock_codec_read(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_read")]
  public static extern void switch_core_session_unlock_codec_read(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_impl")]
  public static extern int switch_core_session_get_read_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_real_read_impl")]
  public static extern int switch_core_session_get_real_read_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_impl")]
  public static extern int switch_core_session_get_write_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_impl")]
  public static extern int switch_core_session_get_video_read_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_impl")]
  public static extern int switch_core_session_get_video_write_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")]
  public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")]
  public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")]
  public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")]
  public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")]
  public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")]
  public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")]
  public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")]
  public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")]
  public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")]
  public static extern IntPtr switch_core_db_open_file(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")]
  public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute_trans")]
  public static extern int switch_core_db_persistant_execute_trans(HandleRef jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")]
  public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")]
  public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, uint jarg6, uint jarg7, uint jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")]
  public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")]
  public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write_video")]
  public static extern int switch_core_file_write_video(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")]
  public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")]
  public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")]
  public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")]
  public static extern int switch_core_file_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_truncate")]
  public static extern int switch_core_file_truncate(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")]
  public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, uint jarg6, HandleRef jarg7, HandleRef jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")]
  public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")]
  public static extern void switch_core_speech_flush_tts(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")]
  public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")]
  public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")]
  public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")]
  public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")]
  public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")]
  public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")]
  public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")]
  public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed_dtmf")]
  public static extern int switch_core_asr_feed_dtmf(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")]
  public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")]
  public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_result_headers")]
  public static extern int switch_core_asr_get_result_headers(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")]
  public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")]
  public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_enable_grammar")]
  public static extern int switch_core_asr_enable_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_disable_grammar")]
  public static extern int switch_core_asr_disable_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_disable_all_grammars")]
  public static extern int switch_core_asr_disable_all_grammars(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")]
  public static extern int switch_core_asr_pause(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")]
  public static extern int switch_core_asr_resume(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_start_input_timers")]
  public static extern int switch_core_asr_start_input_timers(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_text_param")]
  public static extern void switch_core_asr_text_param(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_numeric_param")]
  public static extern void switch_core_asr_numeric_param(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_float_param")]
  public static extern void switch_core_asr_float_param(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")]
  public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")]
  public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")]
  public static extern int switch_core_directory_next(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")]
  public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")]
  public static extern int switch_core_directory_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")]
  public static extern IntPtr switch_core_data_channel(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")]
  public static extern int switch_core_ready();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_running")]
  public static extern int switch_core_running();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready_inbound")]
  public static extern int switch_core_ready_inbound();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready_outbound")]
  public static extern int switch_core_ready_outbound();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")]
  public static extern uint switch_core_flags();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")]
  public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_set_normal_priority")]
  public static extern int set_normal_priority();

  [DllImport("mod_managed", EntryPoint="CSharp_set_auto_priority")]
  public static extern int set_auto_priority();

  [DllImport("mod_managed", EntryPoint="CSharp_set_realtime_priority")]
  public static extern int set_realtime_priority();

  [DllImport("mod_managed", EntryPoint="CSharp_set_low_priority")]
  public static extern int set_low_priority();

  [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")]
  public static extern int change_user_group(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")]
  public static extern void switch_core_runtime_loop(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")]
  public static extern int switch_core_set_console(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")]
  public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")]
  public static extern IntPtr switch_core_uptime();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")]
  public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")]
  public static extern IntPtr switch_core_get_console();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")]
  public static extern void switch_core_set_globals();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")]
  public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")]
  public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")]
  public static extern IntPtr switch_core_mime_index();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")]
  public static extern string switch_core_mime_ext2type(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")]
  public static extern int switch_core_mime_add_type(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")]
  public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")]
  public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_micro_time_now")]
  public static extern IntPtr switch_micro_time_now();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_mono_micro_time_now")]
  public static extern IntPtr switch_mono_micro_time_now();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")]
  public static extern void switch_core_memory_reclaim();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")]
  public static extern void switch_core_memory_reclaim_events();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")]
  public static extern void switch_core_memory_reclaim_logger();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")]
  public static extern void switch_core_memory_reclaim_all();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")]
  public static extern void switch_core_setrlimits();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_ref")]
  public static extern IntPtr switch_time_ref();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")]
  public static extern void switch_time_sync();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_epoch_time_now")]
  public static extern IntPtr switch_epoch_time_now(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_lookup_timezone")]
  public static extern string switch_lookup_timezone(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")]
  public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_exp_tz_name")]
  public static extern int switch_time_exp_tz_name(string jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")]
  public static extern void switch_load_network_lists(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")]
  public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")]
  public static extern void switch_time_set_monotonic(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_timerfd")]
  public static extern void switch_time_set_timerfd(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_nanosleep")]
  public static extern void switch_time_set_nanosleep(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_matrix")]
  public static extern void switch_time_set_matrix(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_cond_yield")]
  public static extern void switch_time_set_cond_yield(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_use_system_time")]
  public static extern void switch_time_set_use_system_time(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_min_dtmf_duration")]
  public static extern uint switch_core_min_dtmf_duration(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")]
  public static extern uint switch_core_max_dtmf_duration(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_min_idle_cpu")]
  public static extern double switch_core_min_idle_cpu(double jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_idle_cpu")]
  public static extern double switch_core_idle_cpu();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")]
  public static extern uint switch_core_default_dtmf_duration(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")]
  public static extern int switch_console_set_complete(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")]
  public static extern int switch_console_set_alias(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_system")]
  public static extern int switch_system(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_system")]
  public static extern int switch_stream_system(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_yield")]
  public static extern void switch_cond_yield(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_next")]
  public static extern void switch_cond_next();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_send_args")]
  public static extern int switch_core_chat_send_args(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, int jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_send")]
  public static extern int switch_core_chat_send(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_deliver")]
  public static extern int switch_core_chat_deliver(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_preprocess_session")]
  public static extern int switch_ivr_preprocess_session(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sqldb_pause")]
  public static extern void switch_core_sqldb_pause();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sqldb_resume")]
  public static extern void switch_core_sqldb_resume();

  [DllImport("mod_managed", EntryPoint="CSharp_CACHE_DB_LEN_get")]
  public static extern int CACHE_DB_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_core_db_dbh_set")]
  public static extern void switch_cache_db_native_handle_t_core_db_dbh_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_core_db_dbh_get")]
  public static extern IntPtr switch_cache_db_native_handle_t_core_db_dbh_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_odbc_dbh_set")]
  public static extern void switch_cache_db_native_handle_t_odbc_dbh_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_odbc_dbh_get")]
  public static extern IntPtr switch_cache_db_native_handle_t_odbc_dbh_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_pgsql_dbh_set")]
  public static extern void switch_cache_db_native_handle_t_pgsql_dbh_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_native_handle_t_pgsql_dbh_get")]
  public static extern IntPtr switch_cache_db_native_handle_t_pgsql_dbh_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_native_handle_t")]
  public static extern IntPtr new_switch_cache_db_native_handle_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_cache_db_native_handle_t")]
  public static extern void delete_switch_cache_db_native_handle_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_core_db_options_t_db_path_set")]
  public static extern void switch_cache_db_core_db_options_t_db_path_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_core_db_options_t_db_path_get")]
  public static extern string switch_cache_db_core_db_options_t_db_path_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_core_db_options_t")]
  public static extern IntPtr new_switch_cache_db_core_db_options_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_cache_db_core_db_options_t")]
  public static extern void delete_switch_cache_db_core_db_options_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_odbc_options_t_dsn_set")]
  public static extern void switch_cache_db_odbc_options_t_dsn_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_odbc_options_t_dsn_get")]
  public static extern string switch_cache_db_odbc_options_t_dsn_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_odbc_options_t_user_set")]
  public static extern void switch_cache_db_odbc_options_t_user_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_odbc_options_t_user_get")]
  public static extern string switch_cache_db_odbc_options_t_user_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_odbc_options_t_pass_set")]
  public static extern void switch_cache_db_odbc_options_t_pass_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_odbc_options_t_pass_get")]
  public static extern string switch_cache_db_odbc_options_t_pass_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_odbc_options_t")]
  public static extern IntPtr new_switch_cache_db_odbc_options_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_cache_db_odbc_options_t")]
  public static extern void delete_switch_cache_db_odbc_options_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_pgsql_options_t_dsn_set")]
  public static extern void switch_cache_db_pgsql_options_t_dsn_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_pgsql_options_t_dsn_get")]
  public static extern string switch_cache_db_pgsql_options_t_dsn_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_pgsql_options_t")]
  public static extern IntPtr new_switch_cache_db_pgsql_options_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_cache_db_pgsql_options_t")]
  public static extern void delete_switch_cache_db_pgsql_options_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_core_db_options_set")]
  public static extern void switch_cache_db_connection_options_t_core_db_options_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_core_db_options_get")]
  public static extern IntPtr switch_cache_db_connection_options_t_core_db_options_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_odbc_options_set")]
  public static extern void switch_cache_db_connection_options_t_odbc_options_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_odbc_options_get")]
  public static extern IntPtr switch_cache_db_connection_options_t_odbc_options_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_pgsql_options_set")]
  public static extern void switch_cache_db_connection_options_t_pgsql_options_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_connection_options_t_pgsql_options_get")]
  public static extern IntPtr switch_cache_db_connection_options_t_pgsql_options_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_cache_db_connection_options_t")]
  public static extern IntPtr new_switch_cache_db_connection_options_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_cache_db_connection_options_t")]
  public static extern void delete_switch_cache_db_connection_options_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_type_name")]
  public static extern string switch_cache_db_type_name(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_get_type")]
  public static extern int switch_cache_db_get_type(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_dismiss_db_handle")]
  public static extern void switch_cache_db_dismiss_db_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_release_db_handle")]
  public static extern void switch_cache_db_release_db_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp__switch_cache_db_get_db_handle")]
  public static extern int _switch_cache_db_get_db_handle(HandleRef jarg1, int jarg2, HandleRef jarg3, string jarg4, string jarg5, int jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp__switch_cache_db_get_db_handle_dsn")]
  public static extern int _switch_cache_db_get_db_handle_dsn(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_execute_sql2str")]
  public static extern string switch_cache_db_execute_sql2str(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_execute_sql")]
  public static extern int switch_cache_db_execute_sql(HandleRef jarg1, string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_execute_sql_callback")]
  public static extern int switch_cache_db_execute_sql_callback(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_execute_sql_callback_err")]
  public static extern int switch_cache_db_execute_sql_callback_err(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_affected_rows")]
  public static extern int switch_cache_db_affected_rows(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_load_extension")]
  public static extern int switch_cache_db_load_extension(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_status")]
  public static extern void switch_cache_db_status(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp__switch_core_db_handle")]
  public static extern int _switch_core_db_handle(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_test_reactive")]
  public static extern int switch_cache_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_persistant_execute")]
  public static extern int switch_cache_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_persistant_execute_trans_full")]
  public static extern int switch_cache_db_persistant_execute_trans_full(HandleRef jarg1, string jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, string jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_signal_handlers")]
  public static extern void switch_core_set_signal_handlers();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_debug_level")]
  public static extern uint switch_core_debug_level();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_flush_handles")]
  public static extern void switch_cache_db_flush_handles();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_banner")]
  public static extern string switch_core_banner();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_in_thread")]
  public static extern int switch_core_session_in_thread(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_default_ptime")]
  public static extern uint switch_default_ptime(string jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_default_rate")]
  public static extern uint switch_default_rate(string jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_registration")]
  public static extern int switch_core_add_registration(string jarg1, string jarg2, string jarg3, string jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_del_registration")]
  public static extern int switch_core_del_registration(string jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_expire_registration")]
  public static extern int switch_core_expire_registration(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_get_variable")]
  public static extern string switch_say_file_handle_get_variable(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_get_path")]
  public static extern string switch_say_file_handle_get_path(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_detach_path")]
  public static extern string switch_say_file_handle_detach_path(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_destroy")]
  public static extern void switch_say_file_handle_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_file_handle_create")]
  public static extern int switch_say_file_handle_create(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_file")]
  public static extern void switch_say_file(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_max_file_desc")]
  public static extern int switch_max_file_desc();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_close_extra_files")]
  public static extern void switch_close_extra_files(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_set_cpu_affinity")]
  public static extern int switch_core_thread_set_cpu_affinity(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_os_yield")]
  public static extern void switch_os_yield();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_stacksizes")]
  public static extern int switch_core_get_stacksizes(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_gen_encoded_silence")]
  public static extern void switch_core_gen_encoded_silence(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dbtype")]
  public static extern int switch_core_dbtype();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sql_exec")]
  public static extern void switch_core_sql_exec(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_recovery_recover")]
  public static extern int switch_core_recovery_recover(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_recovery_untrack")]
  public static extern void switch_core_recovery_untrack(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_recovery_track")]
  public static extern void switch_core_recovery_track(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_recovery_flush")]
  public static extern void switch_core_recovery_flush(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_pause")]
  public static extern void switch_sql_queue_manager_pause(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_resume")]
  public static extern void switch_sql_queue_manager_resume(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_size")]
  public static extern int switch_sql_queue_manager_size(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_push_confirm")]
  public static extern int switch_sql_queue_manager_push_confirm(HandleRef jarg1, string jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_push")]
  public static extern int switch_sql_queue_manager_push(HandleRef jarg1, string jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_destroy")]
  public static extern int switch_sql_queue_manager_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_init_name")]
  public static extern int switch_sql_queue_manager_init_name(string jarg1, HandleRef jarg2, uint jarg3, string jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_start")]
  public static extern int switch_sql_queue_manager_start(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_stop")]
  public static extern int switch_sql_queue_manager_stop(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cache_db_execute_sql_event_callback")]
  public static extern int switch_cache_db_execute_sql_event_callback(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_execute_sql_callback")]
  public static extern void switch_sql_queue_manager_execute_sql_callback(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_execute_sql_callback_err")]
  public static extern void switch_sql_queue_manager_execute_sql_callback_err(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_execute_sql_event_callback")]
  public static extern void switch_sql_queue_manager_execute_sql_event_callback(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sql_queue_manager_execute_sql_event_callback_err")]
  public static extern void switch_sql_queue_manager_execute_sql_event_callback_err(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_fork")]
  public static extern IntPtr switch_fork();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_gen_certs")]
  public static extern int switch_core_gen_certs(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_cert_gen_fingerprint")]
  public static extern int switch_core_cert_gen_fingerprint(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_cert_expand_fingerprint")]
  public static extern int switch_core_cert_expand_fingerprint(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_cert_verify")]
  public static extern int switch_core_cert_verify(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_refresh_video")]
  public static extern int switch_core_session_refresh_video(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_system_fork")]
  public static extern int switch_stream_system_fork(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ice_direction")]
  public static extern int switch_ice_direction(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_debug_pool")]
  public static extern void switch_core_session_debug_pool(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_version_major")]
  public static extern string switch_version_major();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_version_minor")]
  public static extern string switch_version_minor();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_version_micro")]
  public static extern string switch_version_micro();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_version_revision")]
  public static extern string switch_version_revision();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_version_revision_human")]
  public static extern string switch_version_revision_human();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_version_full")]
  public static extern string switch_version_full();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_version_full_human")]
  public static extern string switch_version_full_human();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_module_name_set")]
  public static extern void switch_loadable_module_interface_module_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_module_name_get")]
  public static extern string switch_loadable_module_interface_module_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_endpoint_interface_set")]
  public static extern void switch_loadable_module_interface_endpoint_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_endpoint_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_endpoint_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_timer_interface_set")]
  public static extern void switch_loadable_module_interface_timer_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_timer_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_timer_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_dialplan_interface_set")]
  public static extern void switch_loadable_module_interface_dialplan_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_dialplan_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_dialplan_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_codec_interface_set")]
  public static extern void switch_loadable_module_interface_codec_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_codec_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_codec_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_application_interface_set")]
  public static extern void switch_loadable_module_interface_application_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_application_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_application_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_chat_application_interface_set")]
  public static extern void switch_loadable_module_interface_chat_application_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_chat_application_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_chat_application_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_api_interface_set")]
  public static extern void switch_loadable_module_interface_api_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_api_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_api_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_json_api_interface_set")]
  public static extern void switch_loadable_module_interface_json_api_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_json_api_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_json_api_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_file_interface_set")]
  public static extern void switch_loadable_module_interface_file_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_file_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_file_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_speech_interface_set")]
  public static extern void switch_loadable_module_interface_speech_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_speech_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_speech_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_directory_interface_set")]
  public static extern void switch_loadable_module_interface_directory_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_directory_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_directory_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_chat_interface_set")]
  public static extern void switch_loadable_module_interface_chat_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_chat_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_chat_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_say_interface_set")]
  public static extern void switch_loadable_module_interface_say_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_say_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_say_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_asr_interface_set")]
  public static extern void switch_loadable_module_interface_asr_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_asr_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_asr_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_management_interface_set")]
  public static extern void switch_loadable_module_interface_management_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_management_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_management_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_limit_interface_set")]
  public static extern void switch_loadable_module_interface_limit_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_limit_interface_get")]
  public static extern IntPtr switch_loadable_module_interface_limit_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_rwlock_set")]
  public static extern void switch_loadable_module_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_rwlock_get")]
  public static extern IntPtr switch_loadable_module_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_refs_set")]
  public static extern void switch_loadable_module_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_refs_get")]
  public static extern int switch_loadable_module_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_pool_set")]
  public static extern void switch_loadable_module_interface_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_pool_get")]
  public static extern IntPtr switch_loadable_module_interface_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_interface")]
  public static extern IntPtr new_switch_loadable_module_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_interface")]
  public static extern void delete_switch_loadable_module_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_init")]
  public static extern int switch_loadable_module_init(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_shutdown")]
  public static extern void switch_loadable_module_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_endpoint_interface")]
  public static extern IntPtr switch_loadable_module_get_endpoint_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_codec_interface")]
  public static extern IntPtr switch_loadable_module_get_codec_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_codec_buf")]
  public static extern string switch_parse_codec_buf(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_dialplan_interface")]
  public static extern IntPtr switch_loadable_module_get_dialplan_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_enumerate_available")]
  public static extern int switch_loadable_module_enumerate_available(string jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_enumerate_loaded")]
  public static extern int switch_loadable_module_enumerate_loaded(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_build_dynamic")]
  public static extern int switch_loadable_module_build_dynamic(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_timer_interface")]
  public static extern IntPtr switch_loadable_module_get_timer_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_application_interface")]
  public static extern IntPtr switch_loadable_module_get_application_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_chat_application_interface")]
  public static extern IntPtr switch_loadable_module_get_chat_application_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_execute_chat_app")]
  public static extern int switch_core_execute_chat_app(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_api_interface")]
  public static extern IntPtr switch_loadable_module_get_api_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_json_api_interface")]
  public static extern IntPtr switch_loadable_module_get_json_api_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_file_interface")]
  public static extern IntPtr switch_loadable_module_get_file_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_speech_interface")]
  public static extern IntPtr switch_loadable_module_get_speech_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_asr_interface")]
  public static extern IntPtr switch_loadable_module_get_asr_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_directory_interface")]
  public static extern IntPtr switch_loadable_module_get_directory_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_chat_interface")]
  public static extern IntPtr switch_loadable_module_get_chat_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_say_interface")]
  public static extern IntPtr switch_loadable_module_get_say_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_management_interface")]
  public static extern IntPtr switch_loadable_module_get_management_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_limit_interface")]
  public static extern IntPtr switch_loadable_module_get_limit_interface(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_codecs")]
  public static extern int switch_loadable_module_get_codecs(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_get_codecs_sorted")]
  public static extern int switch_loadable_module_get_codecs_sorted(HandleRef jarg1, int jarg2, ref string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_execute")]
  public static extern int switch_api_execute(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_execute")]
  public static extern int switch_json_api_execute(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_load_module")]
  public static extern int switch_loadable_module_load_module(string jarg1, string jarg2, int jarg3, ref string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_exists")]
  public static extern int switch_loadable_module_exists(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_unload_module")]
  public static extern int switch_loadable_module_unload_module(string jarg1, string jarg2, int jarg3, ref string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_next_id")]
  public static extern uint switch_core_codec_next_id();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_check_interval")]
  public static extern int switch_check_interval(uint jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_add_implementation")]
  public static extern void switch_core_codec_add_implementation(HandleRef jarg1, HandleRef jarg2, int jarg3, byte jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, int jarg9, int jarg10, uint jarg11, uint jarg12, uint jarg13, byte jarg14, int jarg15, HandleRef jarg16, HandleRef jarg17, HandleRef jarg18, HandleRef jarg19);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_ready")]
  public static extern int switch_core_codec_ready(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_secondary_recover_callback")]
  public static extern IntPtr switch_core_get_secondary_recover_callback(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_register_secondary_recover_callback")]
  public static extern int switch_core_register_secondary_recover_callback(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_unregister_secondary_recover_callback")]
  public static extern void switch_core_unregister_secondary_recover_callback(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")]
  public static extern int SWITCH_CMD_CHUNK_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")]
  public static extern void switch_console_loop();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")]
  public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_write_file_contents")]
  public static extern int switch_stream_write_file_contents(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_init")]
  public static extern int switch_console_init(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_shutdown")]
  public static extern int switch_console_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_add_complete_func")]
  public static extern int switch_console_add_complete_func(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_del_complete_func")]
  public static extern int switch_console_del_complete_func(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_run_complete_func")]
  public static extern int switch_console_run_complete_func(string jarg1, string jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_push_match_unique")]
  public static extern void switch_console_push_match_unique(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_push_match")]
  public static extern void switch_console_push_match(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_free_matches")]
  public static extern void switch_console_free_matches(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_complete")]
  public static extern byte switch_console_complete(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_sort_matches")]
  public static extern void switch_console_sort_matches(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_save_history")]
  public static extern void switch_console_save_history();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_expand_alias")]
  public static extern string switch_console_expand_alias(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_execute")]
  public static extern int switch_console_execute(string jarg1, int jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_toupper")]
  public static extern uint switch_toupper(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_tolower")]
  public static extern uint switch_tolower(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_toupper_max")]
  public static extern void switch_toupper_max(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_tolower_max")]
  public static extern void switch_tolower_max(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_old_switch_toupper")]
  public static extern int old_switch_toupper(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_old_switch_tolower")]
  public static extern int old_switch_tolower(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isalnum")]
  public static extern int switch_isalnum(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isalpha")]
  public static extern int switch_isalpha(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_iscntrl")]
  public static extern int switch_iscntrl(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isdigit")]
  public static extern int switch_isdigit(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isgraph")]
  public static extern int switch_isgraph(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_islower")]
  public static extern int switch_islower(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isprint")]
  public static extern int switch_isprint(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ispunct")]
  public static extern int switch_ispunct(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isspace")]
  public static extern int switch_isspace(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isupper")]
  public static extern int switch_isupper(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isxdigit")]
  public static extern int switch_isxdigit(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ip_t_v4_set")]
  public static extern void ip_t_v4_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ip_t_v4_get")]
  public static extern uint ip_t_v4_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ip_t_v6_set")]
  public static extern void ip_t_v6_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ip_t_v6_get")]
  public static extern IntPtr ip_t_v6_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_ip_t")]
  public static extern IntPtr new_ip_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_ip_t")]
  public static extern void delete_ip_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_testv6_subnet")]
  public static extern int switch_testv6_subnet(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_print_host")]
  public static extern string switch_print_host(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")]
  public static extern int SWITCH_SMAX_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")]
  public static extern int SWITCH_SMIN_get();

  [DllImport("mod_managed", EntryPoint="CSharp__zstr")]
  public static extern int _zstr(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")]
  public static extern int switch_is_moh(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strchr_strict")]
  public static extern string switch_strchr_strict(string jarg1, char jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_has_escaped_data")]
  public static extern int switch_string_has_escaped_data(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")]
  public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")]
  public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_amp_encode")]
  public static extern string switch_amp_encode(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_digit_string")]
  public static extern int switch_is_digit_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_itodtmf")]
  public static extern char switch_itodtmf(char jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmftoi")]
  public static extern int switch_dtmftoi(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_known_bitrate")]
  public static extern uint switch_known_bitrate(byte jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")]
  public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_dline")]
  public static extern IntPtr switch_fd_read_dline(int jarg1, ref string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_fp_read_dline")]
  public static extern IntPtr switch_fp_read_dline(HandleRef jarg1, ref string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_alloc")]
  public static extern int switch_frame_alloc(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_dup")]
  public static extern int switch_frame_dup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_free")]
  public static extern int switch_frame_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")]
  public static extern int switch_is_number(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_parameter")]
  public static extern string switch_find_parameter(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_true")]
  public static extern int switch_true(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_true_byte")]
  public static extern byte switch_true_byte(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_false")]
  public static extern int switch_false(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_resolve_host")]
  public static extern int switch_resolve_host(string jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")]
  public static extern int switch_find_local_ip(string jarg1, int jarg2, HandleRef jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_interface_ip")]
  public static extern int switch_find_interface_ip(string jarg1, int jarg2, HandleRef jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_get_addr")]
  public static extern string get_addr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_get_addr6")]
  public static extern string get_addr6(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_get_addr_int")]
  public static extern int get_addr_int(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cmp_addr")]
  public static extern int switch_cmp_addr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_get_port")]
  public static extern ushort get_port(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")]
  public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")]
  public static extern string switch_priority_name(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")]
  public static extern char switch_rfc2833_to_char(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")]
  public static extern byte switch_char_to_rfc2833(char jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_sanitize_number")]
  public static extern string switch_sanitize_number(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check")]
  public static extern int switch_string_var_check(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check_const")]
  public static extern int switch_string_var_check_const(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_var_clean_string")]
  public static extern string switch_var_clean_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")]
  public static extern string switch_clean_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_name_string")]
  public static extern string switch_clean_name_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_atoi")]
  public static extern int switch_safe_atoi(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")]
  public static extern string switch_safe_strdup(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_lc_strdup")]
  public static extern string switch_lc_strdup(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_uc_strdup")]
  public static extern string switch_uc_strdup(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")]
  public static extern int switch_strstr(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")]
  public static extern IntPtr switch_str_time(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")]
  public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string_string")]
  public static extern uint switch_separate_string_string(string jarg1, string jarg2, ref string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")]
  public static extern string switch_strip_spaces(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_whitespace")]
  public static extern string switch_strip_whitespace(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_commas")]
  public static extern string switch_strip_commas(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_nonnumerics")]
  public static extern string switch_strip_nonnumerics(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")]
  public static extern string switch_separate_paren_args(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")]
  public static extern string switch_stristr(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")]
  public static extern int switch_is_lan_addr(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")]
  public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")]
  public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")]
  public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_string")]
  public static extern string switch_escape_string(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_string_pool")]
  public static extern string switch_escape_string_pool(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")]
  public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")]
  public static extern string switch_cut_path(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")]
  public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")]
  public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strcasecmp_any")]
  public static extern int switch_strcasecmp_any(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_util_quote_shell_arg")]
  public static extern string switch_util_quote_shell_arg(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_util_quote_shell_arg_pool")]
  public static extern string switch_util_quote_shell_arg_pool(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")]
  public static extern string switch_url_encode(string jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")]
  public static extern string switch_url_decode(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")]
  public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")]
  public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_file_params")]
  public static extern void switch_separate_file_params(string jarg1, ref string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_file_path")]
  public static extern int switch_is_file_path(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")]
  public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")]
  public static extern int switch_network_list_create(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")]
  public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")]
  public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")]
  public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip6_token")]
  public static extern int switch_network_list_validate_ip6_token(HandleRef jarg1, HandleRef jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dow_int2str")]
  public static extern string switch_dow_int2str(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dow_str2int")]
  public static extern int switch_dow_str2int(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dow_cmp")]
  public static extern int switch_dow_cmp(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_number_cmp")]
  public static extern int switch_number_cmp(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_tod_cmp")]
  public static extern int switch_tod_cmp(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_fulldate_cmp")]
  public static extern int switch_fulldate_cmp(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_split_date")]
  public static extern void switch_split_date(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_split_time")]
  public static extern void switch_split_time(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_split_user_domain")]
  public static extern int switch_split_user_domain(string jarg1, ref string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_uuid_str")]
  public static extern string switch_uuid_str(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_format_number")]
  public static extern string switch_format_number(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_atoui")]
  public static extern uint switch_atoui(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_atoul")]
  public static extern uint switch_atoul(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strerror_r")]
  public static extern string switch_strerror_r(int jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_wait_sock")]
  public static extern int switch_wait_sock(int jarg1, uint jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_wait_socklist")]
  public static extern int switch_wait_socklist(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_method_set")]
  public static extern void switch_http_request_t_method_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_method_get")]
  public static extern string switch_http_request_t_method_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_uri_set")]
  public static extern void switch_http_request_t_uri_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_uri_get")]
  public static extern string switch_http_request_t_uri_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_qs_set")]
  public static extern void switch_http_request_t_qs_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_qs_get")]
  public static extern string switch_http_request_t_qs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_host_set")]
  public static extern void switch_http_request_t_host_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_host_get")]
  public static extern string switch_http_request_t_host_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_port_set")]
  public static extern void switch_http_request_t_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_port_get")]
  public static extern ushort switch_http_request_t_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_from_set")]
  public static extern void switch_http_request_t_from_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_from_get")]
  public static extern string switch_http_request_t_from_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_user_agent_set")]
  public static extern void switch_http_request_t_user_agent_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_user_agent_get")]
  public static extern string switch_http_request_t_user_agent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_referer_set")]
  public static extern void switch_http_request_t_referer_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_referer_get")]
  public static extern string switch_http_request_t_referer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_user_set")]
  public static extern void switch_http_request_t_user_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_user_get")]
  public static extern string switch_http_request_t_user_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_keepalive_set")]
  public static extern void switch_http_request_t_keepalive_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_keepalive_get")]
  public static extern int switch_http_request_t_keepalive_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_content_type_set")]
  public static extern void switch_http_request_t_content_type_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_content_type_get")]
  public static extern string switch_http_request_t_content_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_content_length_set")]
  public static extern void switch_http_request_t_content_length_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_content_length_get")]
  public static extern IntPtr switch_http_request_t_content_length_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_bytes_header_set")]
  public static extern void switch_http_request_t_bytes_header_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_bytes_header_get")]
  public static extern IntPtr switch_http_request_t_bytes_header_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_bytes_read_set")]
  public static extern void switch_http_request_t_bytes_read_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_bytes_read_get")]
  public static extern IntPtr switch_http_request_t_bytes_read_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_bytes_buffered_set")]
  public static extern void switch_http_request_t_bytes_buffered_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_bytes_buffered_get")]
  public static extern IntPtr switch_http_request_t_bytes_buffered_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_headers_set")]
  public static extern void switch_http_request_t_headers_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_headers_get")]
  public static extern IntPtr switch_http_request_t_headers_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_user_data_set")]
  public static extern void switch_http_request_t_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t_user_data_get")]
  public static extern IntPtr switch_http_request_t_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t__buffer_set")]
  public static extern void switch_http_request_t__buffer_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t__buffer_get")]
  public static extern string switch_http_request_t__buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t__destroy_headers_set")]
  public static extern void switch_http_request_t__destroy_headers_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_request_t__destroy_headers_get")]
  public static extern int switch_http_request_t__destroy_headers_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_http_request_t")]
  public static extern IntPtr new_switch_http_request_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_http_request_t")]
  public static extern void delete_switch_http_request_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_parse_header")]
  public static extern int switch_http_parse_header(string jarg1, uint jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_free_request")]
  public static extern void switch_http_free_request(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_dump_request")]
  public static extern void switch_http_dump_request(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_http_parse_qs")]
  public static extern void switch_http_parse_qs(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_profile_node_t_var_set")]
  public static extern void profile_node_t_var_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_profile_node_t_var_get")]
  public static extern string profile_node_t_var_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_profile_node_t_val_set")]
  public static extern void profile_node_t_val_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_profile_node_t_val_get")]
  public static extern string profile_node_t_val_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_profile_node_t_next_set")]
  public static extern void profile_node_t_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_profile_node_t_next_get")]
  public static extern IntPtr profile_node_t_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_profile_node_t")]
  public static extern IntPtr new_profile_node_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_profile_node_t")]
  public static extern void delete_profile_node_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")]
  public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")]
  public static extern string switch_caller_profile_username_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")]
  public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")]
  public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")]
  public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")]
  public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")]
  public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")]
  public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_orig_caller_id_name_set")]
  public static extern void switch_caller_profile_orig_caller_id_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_orig_caller_id_name_get")]
  public static extern string switch_caller_profile_orig_caller_id_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_orig_caller_id_number_set")]
  public static extern void switch_caller_profile_orig_caller_id_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_orig_caller_id_number_get")]
  public static extern string switch_caller_profile_orig_caller_id_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_callee_id_name_set")]
  public static extern void switch_caller_profile_callee_id_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_callee_id_name_get")]
  public static extern string switch_caller_profile_callee_id_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_callee_id_number_set")]
  public static extern void switch_caller_profile_callee_id_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_callee_id_number_get")]
  public static extern string switch_caller_profile_callee_id_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")]
  public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")]
  public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")]
  public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")]
  public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")]
  public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")]
  public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")]
  public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")]
  public static extern string switch_caller_profile_ani_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")]
  public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")]
  public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")]
  public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")]
  public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")]
  public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")]
  public static extern string switch_caller_profile_aniii_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")]
  public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")]
  public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")]
  public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")]
  public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")]
  public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")]
  public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")]
  public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")]
  public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")]
  public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")]
  public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")]
  public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")]
  public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")]
  public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")]
  public static extern string switch_caller_profile_source_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")]
  public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")]
  public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")]
  public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")]
  public static extern string switch_caller_profile_uuid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")]
  public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")]
  public static extern string switch_caller_profile_context_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")]
  public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")]
  public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")]
  public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")]
  public static extern uint switch_caller_profile_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")]
  public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")]
  public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")]
  public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")]
  public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_origination_caller_profile_set")]
  public static extern void switch_caller_profile_origination_caller_profile_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_origination_caller_profile_get")]
  public static extern IntPtr switch_caller_profile_origination_caller_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_hunt_caller_profile_set")]
  public static extern void switch_caller_profile_hunt_caller_profile_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_hunt_caller_profile_get")]
  public static extern IntPtr switch_caller_profile_hunt_caller_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")]
  public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")]
  public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_old_times_set")]
  public static extern void switch_caller_profile_old_times_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_old_times_get")]
  public static extern IntPtr switch_caller_profile_old_times_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")]
  public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")]
  public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")]
  public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")]
  public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")]
  public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")]
  public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_direction_set")]
  public static extern void switch_caller_profile_direction_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_direction_get")]
  public static extern int switch_caller_profile_direction_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_logical_direction_set")]
  public static extern void switch_caller_profile_logical_direction_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_logical_direction_get")]
  public static extern int switch_caller_profile_logical_direction_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_soft_set")]
  public static extern void switch_caller_profile_soft_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_soft_get")]
  public static extern IntPtr switch_caller_profile_soft_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_str_set")]
  public static extern void switch_caller_profile_uuid_str_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_str_get")]
  public static extern string switch_caller_profile_uuid_str_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone_of_set")]
  public static extern void switch_caller_profile_clone_of_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone_of_get")]
  public static extern string switch_caller_profile_clone_of_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_transfer_source_set")]
  public static extern void switch_caller_profile_transfer_source_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_transfer_source_get")]
  public static extern string switch_caller_profile_transfer_source_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")]
  public static extern IntPtr new_switch_caller_profile();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")]
  public static extern void delete_switch_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")]
  public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")]
  public static extern string switch_caller_application_application_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")]
  public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")]
  public static extern string switch_caller_application_application_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")]
  public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")]
  public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")]
  public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")]
  public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")]
  public static extern IntPtr new_switch_caller_application();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")]
  public static extern void delete_switch_caller_application(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")]
  public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")]
  public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")]
  public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")]
  public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")]
  public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")]
  public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")]
  public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")]
  public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")]
  public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")]
  public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")]
  public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")]
  public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")]
  public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")]
  public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")]
  public static extern IntPtr new_switch_caller_extension();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")]
  public static extern void delete_switch_caller_extension(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")]
  public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")]
  public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")]
  public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application_printf")]
  public static extern void switch_caller_extension_add_application_printf(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")]
  public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")]
  public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")]
  public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")]
  public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")]
  public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")]
  public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")]
  public static extern IntPtr switch_frame_codec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")]
  public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")]
  public static extern string switch_frame_source_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")]
  public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")]
  public static extern IntPtr switch_frame_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")]
  public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")]
  public static extern uint switch_frame_packetlen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_extra_data_set")]
  public static extern void switch_frame_extra_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_extra_data_get")]
  public static extern IntPtr switch_frame_extra_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")]
  public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")]
  public static extern IntPtr switch_frame_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")]
  public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")]
  public static extern uint switch_frame_datalen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")]
  public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")]
  public static extern uint switch_frame_buflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")]
  public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")]
  public static extern uint switch_frame_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")]
  public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")]
  public static extern uint switch_frame_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_channels_set")]
  public static extern void switch_frame_channels_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_channels_get")]
  public static extern uint switch_frame_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")]
  public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")]
  public static extern byte switch_frame_payload_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")]
  public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")]
  public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")]
  public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")]
  public static extern ushort switch_frame_seq_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")]
  public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")]
  public static extern uint switch_frame_ssrc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")]
  public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")]
  public static extern int switch_frame_m_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")]
  public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")]
  public static extern uint switch_frame_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_user_data_set")]
  public static extern void switch_frame_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_user_data_get")]
  public static extern IntPtr switch_frame_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_pmap_set")]
  public static extern void switch_frame_pmap_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_pmap_get")]
  public static extern IntPtr switch_frame_pmap_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")]
  public static extern IntPtr new_switch_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")]
  public static extern void delete_switch_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")]
  public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")]
  public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")]
  public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")]
  public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")]
  public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")]
  public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")]
  public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")]
  public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")]
  public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")]
  public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")]
  public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")]
  public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")]
  public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")]
  public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")]
  public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")]
  public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")]
  public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")]
  public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")]
  public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")]
  public static extern IntPtr switch_state_handler_table_on_park_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reporting_set")]
  public static extern void switch_state_handler_table_on_reporting_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reporting_get")]
  public static extern IntPtr switch_state_handler_table_on_reporting_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_destroy_set")]
  public static extern void switch_state_handler_table_on_destroy_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_destroy_get")]
  public static extern IntPtr switch_state_handler_table_on_destroy_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_flags_set")]
  public static extern void switch_state_handler_table_flags_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_flags_get")]
  public static extern int switch_state_handler_table_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_set")]
  public static extern void switch_state_handler_table_padding_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")]
  public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")]
  public static extern IntPtr new_switch_state_handler_table();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")]
  public static extern void delete_switch_state_handler_table(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_read_function_set")]
  public static extern void switch_stream_handle_read_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_read_function_get")]
  public static extern IntPtr switch_stream_handle_read_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")]
  public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")]
  public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")]
  public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")]
  public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")]
  public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")]
  public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")]
  public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")]
  public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")]
  public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")]
  public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")]
  public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")]
  public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")]
  public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")]
  public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")]
  public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")]
  public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")]
  public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")]
  public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")]
  public static extern IntPtr new_switch_stream_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")]
  public static extern void delete_switch_stream_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")]
  public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")]
  public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")]
  public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")]
  public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")]
  public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")]
  public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")]
  public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")]
  public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")]
  public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")]
  public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")]
  public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")]
  public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")]
  public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")]
  public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")]
  public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")]
  public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")]
  public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")]
  public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")]
  public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_get")]
  public static extern IntPtr switch_io_routines_write_video_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_run_set")]
  public static extern void switch_io_routines_state_run_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_run_get")]
  public static extern IntPtr switch_io_routines_state_run_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_get_jb_set")]
  public static extern void switch_io_routines_get_jb_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_get_jb_get")]
  public static extern IntPtr switch_io_routines_get_jb_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")]
  public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")]
  public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")]
  public static extern IntPtr new_switch_io_routines();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")]
  public static extern void delete_switch_io_routines(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")]
  public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")]
  public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")]
  public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")]
  public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")]
  public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")]
  public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")]
  public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")]
  public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")]
  public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")]
  public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_set")]
  public static extern void switch_endpoint_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_get")]
  public static extern int switch_endpoint_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_set")]
  public static extern void switch_endpoint_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_get")]
  public static extern IntPtr switch_endpoint_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_set")]
  public static extern void switch_endpoint_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_get")]
  public static extern IntPtr switch_endpoint_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")]
  public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")]
  public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_recover_callback_set")]
  public static extern void switch_endpoint_interface_recover_callback_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_recover_callback_get")]
  public static extern IntPtr switch_endpoint_interface_recover_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")]
  public static extern IntPtr new_switch_endpoint_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")]
  public static extern void delete_switch_endpoint_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")]
  public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")]
  public static extern int switch_timer_interval_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")]
  public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")]
  public static extern uint switch_timer_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")]
  public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")]
  public static extern uint switch_timer_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")]
  public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")]
  public static extern uint switch_timer_samplecount_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")]
  public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")]
  public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")]
  public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")]
  public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")]
  public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")]
  public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")]
  public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")]
  public static extern IntPtr switch_timer_diff_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")]
  public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")]
  public static extern IntPtr switch_timer_tick_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")]
  public static extern IntPtr new_switch_timer();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")]
  public static extern void delete_switch_timer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")]
  public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")]
  public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")]
  public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")]
  public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")]
  public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")]
  public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")]
  public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")]
  public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")]
  public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")]
  public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")]
  public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")]
  public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")]
  public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")]
  public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")]
  public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")]
  public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_set")]
  public static extern void switch_timer_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_get")]
  public static extern int switch_timer_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_set")]
  public static extern void switch_timer_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_get")]
  public static extern IntPtr switch_timer_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_set")]
  public static extern void switch_timer_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_get")]
  public static extern IntPtr switch_timer_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")]
  public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")]
  public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")]
  public static extern IntPtr new_switch_timer_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")]
  public static extern void delete_switch_timer_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")]
  public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")]
  public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")]
  public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")]
  public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")]
  public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")]
  public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_set")]
  public static extern void switch_dialplan_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_get")]
  public static extern int switch_dialplan_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_set")]
  public static extern void switch_dialplan_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_get")]
  public static extern IntPtr switch_dialplan_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_set")]
  public static extern void switch_dialplan_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_get")]
  public static extern IntPtr switch_dialplan_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")]
  public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")]
  public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")]
  public static extern IntPtr new_switch_dialplan_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")]
  public static extern void delete_switch_dialplan_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")]
  public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")]
  public static extern string switch_file_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")]
  public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")]
  public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")]
  public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")]
  public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_truncate_set")]
  public static extern void switch_file_interface_file_truncate_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_truncate_get")]
  public static extern IntPtr switch_file_interface_file_truncate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")]
  public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")]
  public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")]
  public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")]
  public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_video_set")]
  public static extern void switch_file_interface_file_read_video_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_video_get")]
  public static extern IntPtr switch_file_interface_file_read_video_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_video_set")]
  public static extern void switch_file_interface_file_write_video_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_video_get")]
  public static extern IntPtr switch_file_interface_file_write_video_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")]
  public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")]
  public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")]
  public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")]
  public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")]
  public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")]
  public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")]
  public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")]
  public static extern string switch_file_interface_extens_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")]
  public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")]
  public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_set")]
  public static extern void switch_file_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_get")]
  public static extern int switch_file_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_set")]
  public static extern void switch_file_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_get")]
  public static extern IntPtr switch_file_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_set")]
  public static extern void switch_file_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_get")]
  public static extern IntPtr switch_file_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")]
  public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")]
  public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")]
  public static extern IntPtr new_switch_file_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")]
  public static extern void delete_switch_file_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")]
  public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")]
  public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")]
  public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")]
  public static extern uint switch_file_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")]
  public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")]
  public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")]
  public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")]
  public static extern uint switch_file_handle_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")]
  public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")]
  public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")]
  public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")]
  public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")]
  public static extern void switch_file_handle_channels_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")]
  public static extern uint switch_file_handle_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_real_channels_set")]
  public static extern void switch_file_handle_real_channels_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_real_channels_get")]
  public static extern uint switch_file_handle_real_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")]
  public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")]
  public static extern uint switch_file_handle_format_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")]
  public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")]
  public static extern uint switch_file_handle_sections_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")]
  public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")]
  public static extern int switch_file_handle_seekable_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")]
  public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")]
  public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")]
  public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")]
  public static extern int switch_file_handle_speed_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")]
  public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")]
  public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")]
  public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")]
  public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")]
  public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")]
  public static extern uint switch_file_handle_interval_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")]
  public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")]
  public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")]
  public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")]
  public static extern string switch_file_handle_handler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")]
  public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")]
  public static extern long switch_file_handle_pos_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")]
  public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")]
  public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")]
  public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")]
  public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")]
  public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")]
  public static extern uint switch_file_handle_thresh_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")]
  public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")]
  public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")]
  public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")]
  public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_in_set")]
  public static extern void switch_file_handle_samples_in_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_in_get")]
  public static extern IntPtr switch_file_handle_samples_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_out_set")]
  public static extern void switch_file_handle_samples_out_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_out_get")]
  public static extern IntPtr switch_file_handle_samples_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")]
  public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")]
  public static extern int switch_file_handle_vol_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")]
  public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")]
  public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")]
  public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")]
  public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")]
  public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")]
  public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")]
  public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")]
  public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_set")]
  public static extern void switch_file_handle_pre_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_get")]
  public static extern IntPtr switch_file_handle_pre_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_set")]
  public static extern void switch_file_handle_pre_buffer_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_get")]
  public static extern IntPtr switch_file_handle_pre_buffer_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_set")]
  public static extern void switch_file_handle_pre_buffer_datalen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_get")]
  public static extern IntPtr switch_file_handle_pre_buffer_datalen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")]
  public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")]
  public static extern string switch_file_handle_file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")]
  public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")]
  public static extern string switch_file_handle_func_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")]
  public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")]
  public static extern int switch_file_handle_line_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_path_set")]
  public static extern void switch_file_handle_file_path_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_path_get")]
  public static extern string switch_file_handle_file_path_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_spool_path_set")]
  public static extern void switch_file_handle_spool_path_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_spool_path_get")]
  public static extern string switch_file_handle_spool_path_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prefix_set")]
  public static extern void switch_file_handle_prefix_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prefix_get")]
  public static extern string switch_file_handle_prefix_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_max_samples_set")]
  public static extern void switch_file_handle_max_samples_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_max_samples_get")]
  public static extern int switch_file_handle_max_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle__params_set")]
  public static extern void switch_file_handle__params_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle__params_get")]
  public static extern IntPtr switch_file_handle__params_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_cur_channels_set")]
  public static extern void switch_file_handle_cur_channels_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_cur_channels_get")]
  public static extern uint switch_file_handle_cur_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_cur_samplerate_set")]
  public static extern void switch_file_handle_cur_samplerate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_cur_samplerate_get")]
  public static extern uint switch_file_handle_cur_samplerate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")]
  public static extern IntPtr new_switch_file_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")]
  public static extern void delete_switch_file_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")]
  public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")]
  public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")]
  public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")]
  public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")]
  public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")]
  public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")]
  public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")]
  public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")]
  public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")]
  public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")]
  public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")]
  public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")]
  public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")]
  public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")]
  public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")]
  public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")]
  public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")]
  public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")]
  public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")]
  public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_result_headers_set")]
  public static extern void switch_asr_interface_asr_get_result_headers_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_result_headers_get")]
  public static extern IntPtr switch_asr_interface_asr_get_result_headers_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_start_input_timers_set")]
  public static extern void switch_asr_interface_asr_start_input_timers_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_start_input_timers_get")]
  public static extern IntPtr switch_asr_interface_asr_start_input_timers_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_text_param_set")]
  public static extern void switch_asr_interface_asr_text_param_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_text_param_get")]
  public static extern IntPtr switch_asr_interface_asr_text_param_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_numeric_param_set")]
  public static extern void switch_asr_interface_asr_numeric_param_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_numeric_param_get")]
  public static extern IntPtr switch_asr_interface_asr_numeric_param_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_float_param_set")]
  public static extern void switch_asr_interface_asr_float_param_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_float_param_get")]
  public static extern IntPtr switch_asr_interface_asr_float_param_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")]
  public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")]
  public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_set")]
  public static extern void switch_asr_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_get")]
  public static extern int switch_asr_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_set")]
  public static extern void switch_asr_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_get")]
  public static extern IntPtr switch_asr_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_set")]
  public static extern void switch_asr_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_get")]
  public static extern IntPtr switch_asr_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")]
  public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")]
  public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_enable_grammar_set")]
  public static extern void switch_asr_interface_asr_enable_grammar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_enable_grammar_get")]
  public static extern IntPtr switch_asr_interface_asr_enable_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_disable_grammar_set")]
  public static extern void switch_asr_interface_asr_disable_grammar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_disable_grammar_get")]
  public static extern IntPtr switch_asr_interface_asr_disable_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_disable_all_grammars_set")]
  public static extern void switch_asr_interface_asr_disable_all_grammars_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_disable_all_grammars_get")]
  public static extern IntPtr switch_asr_interface_asr_disable_all_grammars_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_dtmf_set")]
  public static extern void switch_asr_interface_asr_feed_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_dtmf_get")]
  public static extern IntPtr switch_asr_interface_asr_feed_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")]
  public static extern IntPtr new_switch_asr_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")]
  public static extern void delete_switch_asr_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")]
  public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")]
  public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")]
  public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")]
  public static extern uint switch_asr_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")]
  public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")]
  public static extern string switch_asr_handle_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")]
  public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")]
  public static extern string switch_asr_handle_codec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")]
  public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")]
  public static extern uint switch_asr_handle_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")]
  public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")]
  public static extern string switch_asr_handle_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")]
  public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")]
  public static extern string switch_asr_handle_param_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")]
  public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")]
  public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_buffer_set")]
  public static extern void switch_asr_handle_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_buffer_get")]
  public static extern IntPtr switch_asr_handle_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_dbuf_set")]
  public static extern void switch_asr_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_dbuf_get")]
  public static extern IntPtr switch_asr_handle_dbuf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_dbuflen_set")]
  public static extern void switch_asr_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_dbuflen_get")]
  public static extern IntPtr switch_asr_handle_dbuflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_resampler_set")]
  public static extern void switch_asr_handle_resampler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_resampler_get")]
  public static extern IntPtr switch_asr_handle_resampler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_samplerate_set")]
  public static extern void switch_asr_handle_samplerate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_samplerate_get")]
  public static extern uint switch_asr_handle_samplerate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_native_rate_set")]
  public static extern void switch_asr_handle_native_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_native_rate_get")]
  public static extern uint switch_asr_handle_native_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")]
  public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")]
  public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")]
  public static extern IntPtr new_switch_asr_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")]
  public static extern void delete_switch_asr_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")]
  public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")]
  public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")]
  public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")]
  public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")]
  public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")]
  public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")]
  public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")]
  public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")]
  public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")]
  public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")]
  public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")]
  public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")]
  public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")]
  public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_set")]
  public static extern void switch_speech_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_get")]
  public static extern int switch_speech_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_set")]
  public static extern void switch_speech_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_get")]
  public static extern IntPtr switch_speech_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_set")]
  public static extern void switch_speech_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_get")]
  public static extern IntPtr switch_speech_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")]
  public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")]
  public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")]
  public static extern IntPtr new_switch_speech_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")]
  public static extern void delete_switch_speech_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")]
  public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")]
  public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")]
  public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")]
  public static extern uint switch_speech_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")]
  public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")]
  public static extern string switch_speech_handle_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")]
  public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")]
  public static extern uint switch_speech_handle_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")]
  public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")]
  public static extern uint switch_speech_handle_speed_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")]
  public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")]
  public static extern uint switch_speech_handle_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_channels_set")]
  public static extern void switch_speech_handle_channels_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_channels_get")]
  public static extern uint switch_speech_handle_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_real_channels_set")]
  public static extern void switch_speech_handle_real_channels_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_real_channels_get")]
  public static extern uint switch_speech_handle_real_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")]
  public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")]
  public static extern string switch_speech_handle_voice_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")]
  public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")]
  public static extern string switch_speech_handle_engine_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")]
  public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")]
  public static extern string switch_speech_handle_param_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")]
  public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")]
  public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_resampler_set")]
  public static extern void switch_speech_handle_resampler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_resampler_get")]
  public static extern IntPtr switch_speech_handle_resampler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_buffer_set")]
  public static extern void switch_speech_handle_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_buffer_get")]
  public static extern IntPtr switch_speech_handle_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuf_set")]
  public static extern void switch_speech_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuf_get")]
  public static extern IntPtr switch_speech_handle_dbuf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuflen_set")]
  public static extern void switch_speech_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuflen_get")]
  public static extern IntPtr switch_speech_handle_dbuflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samplerate_set")]
  public static extern void switch_speech_handle_samplerate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samplerate_get")]
  public static extern uint switch_speech_handle_samplerate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_native_rate_set")]
  public static extern void switch_speech_handle_native_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_native_rate_get")]
  public static extern uint switch_speech_handle_native_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")]
  public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")]
  public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")]
  public static extern IntPtr new_switch_speech_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")]
  public static extern void delete_switch_speech_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")]
  public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")]
  public static extern string switch_say_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")]
  public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")]
  public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_string_function_set")]
  public static extern void switch_say_interface_say_string_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_string_function_get")]
  public static extern IntPtr switch_say_interface_say_string_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")]
  public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")]
  public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_set")]
  public static extern void switch_say_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_get")]
  public static extern int switch_say_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_set")]
  public static extern void switch_say_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_get")]
  public static extern IntPtr switch_say_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_set")]
  public static extern void switch_say_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_get")]
  public static extern IntPtr switch_say_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")]
  public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")]
  public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")]
  public static extern IntPtr new_switch_say_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")]
  public static extern void delete_switch_say_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")]
  public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")]
  public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")]
  public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")]
  public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")]
  public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")]
  public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_set")]
  public static extern void switch_chat_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_get")]
  public static extern int switch_chat_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_set")]
  public static extern void switch_chat_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_get")]
  public static extern IntPtr switch_chat_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_set")]
  public static extern void switch_chat_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_get")]
  public static extern IntPtr switch_chat_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")]
  public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")]
  public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")]
  public static extern IntPtr new_switch_chat_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")]
  public static extern void delete_switch_chat_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")]
  public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")]
  public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")]
  public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")]
  public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")]
  public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")]
  public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_set")]
  public static extern void switch_management_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_get")]
  public static extern int switch_management_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_set")]
  public static extern void switch_management_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_get")]
  public static extern IntPtr switch_management_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_set")]
  public static extern void switch_management_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_get")]
  public static extern IntPtr switch_management_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")]
  public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")]
  public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")]
  public static extern IntPtr new_switch_management_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")]
  public static extern void delete_switch_management_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_interface_name_set")]
  public static extern void switch_limit_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_interface_name_get")]
  public static extern string switch_limit_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_incr_set")]
  public static extern void switch_limit_interface_incr_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_incr_get")]
  public static extern IntPtr switch_limit_interface_incr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_release_set")]
  public static extern void switch_limit_interface_release_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_release_get")]
  public static extern IntPtr switch_limit_interface_release_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_usage_set")]
  public static extern void switch_limit_interface_usage_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_usage_get")]
  public static extern IntPtr switch_limit_interface_usage_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_reset_set")]
  public static extern void switch_limit_interface_reset_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_reset_get")]
  public static extern IntPtr switch_limit_interface_reset_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_status_set")]
  public static extern void switch_limit_interface_status_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_status_get")]
  public static extern IntPtr switch_limit_interface_status_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_interval_reset_set")]
  public static extern void switch_limit_interface_interval_reset_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_interval_reset_get")]
  public static extern IntPtr switch_limit_interface_interval_reset_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_rwlock_set")]
  public static extern void switch_limit_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_rwlock_get")]
  public static extern IntPtr switch_limit_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_refs_set")]
  public static extern void switch_limit_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_refs_get")]
  public static extern int switch_limit_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_reflock_set")]
  public static extern void switch_limit_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_reflock_get")]
  public static extern IntPtr switch_limit_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_parent_set")]
  public static extern void switch_limit_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_parent_get")]
  public static extern IntPtr switch_limit_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_next_set")]
  public static extern void switch_limit_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_limit_interface_next_get")]
  public static extern IntPtr switch_limit_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_limit_interface")]
  public static extern IntPtr new_switch_limit_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_limit_interface")]
  public static extern void delete_switch_limit_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")]
  public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")]
  public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")]
  public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")]
  public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")]
  public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")]
  public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")]
  public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")]
  public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")]
  public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")]
  public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")]
  public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")]
  public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")]
  public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")]
  public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_set")]
  public static extern void switch_directory_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_get")]
  public static extern int switch_directory_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_set")]
  public static extern void switch_directory_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_get")]
  public static extern IntPtr switch_directory_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_set")]
  public static extern void switch_directory_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_get")]
  public static extern IntPtr switch_directory_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")]
  public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")]
  public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")]
  public static extern IntPtr new_switch_directory_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")]
  public static extern void delete_switch_directory_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")]
  public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")]
  public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")]
  public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")]
  public static extern uint switch_directory_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")]
  public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")]
  public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")]
  public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")]
  public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")]
  public static extern IntPtr new_switch_directory_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")]
  public static extern void delete_switch_directory_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_unused_set")]
  public static extern void switch_codec_settings_unused_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_unused_get")]
  public static extern int switch_codec_settings_unused_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")]
  public static extern IntPtr new_switch_codec_settings();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")]
  public static extern void delete_switch_codec_settings(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_actual_samples_per_second_set")]
  public static extern void switch_codec_fmtp_actual_samples_per_second_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_actual_samples_per_second_get")]
  public static extern uint switch_codec_fmtp_actual_samples_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_bits_per_second_set")]
  public static extern void switch_codec_fmtp_bits_per_second_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_bits_per_second_get")]
  public static extern int switch_codec_fmtp_bits_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_microseconds_per_packet_set")]
  public static extern void switch_codec_fmtp_microseconds_per_packet_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_microseconds_per_packet_get")]
  public static extern int switch_codec_fmtp_microseconds_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_stereo_set")]
  public static extern void switch_codec_fmtp_stereo_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_stereo_get")]
  public static extern int switch_codec_fmtp_stereo_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_private_info_set")]
  public static extern void switch_codec_fmtp_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_private_info_get")]
  public static extern IntPtr switch_codec_fmtp_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_fmtp")]
  public static extern IntPtr new_switch_codec_fmtp();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_fmtp")]
  public static extern void delete_switch_codec_fmtp(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")]
  public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")]
  public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")]
  public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")]
  public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")]
  public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")]
  public static extern string switch_codec_fmtp_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")]
  public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")]
  public static extern string switch_codec_fmtp_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")]
  public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")]
  public static extern uint switch_codec_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")]
  public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")]
  public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")]
  public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")]
  public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")]
  public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")]
  public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_set")]
  public static extern void switch_codec_mutex_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_get")]
  public static extern IntPtr switch_codec_mutex_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_next_set")]
  public static extern void switch_codec_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_next_get")]
  public static extern IntPtr switch_codec_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_session_set")]
  public static extern void switch_codec_session_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_session_get")]
  public static extern IntPtr switch_codec_session_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_cur_frame_set")]
  public static extern void switch_codec_cur_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_cur_frame_get")]
  public static extern IntPtr switch_codec_cur_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")]
  public static extern IntPtr new_switch_codec();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")]
  public static extern void delete_switch_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")]
  public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")]
  public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")]
  public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")]
  public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")]
  public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")]
  public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")]
  public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")]
  public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")]
  public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")]
  public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")]
  public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")]
  public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")]
  public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")]
  public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_set")]
  public static extern void switch_codec_implementation_microseconds_per_packet_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_get")]
  public static extern int switch_codec_implementation_microseconds_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_set")]
  public static extern void switch_codec_implementation_samples_per_packet_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_get")]
  public static extern uint switch_codec_implementation_samples_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_set")]
  public static extern void switch_codec_implementation_decoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_get")]
  public static extern uint switch_codec_implementation_decoded_bytes_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_set")]
  public static extern void switch_codec_implementation_encoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_get")]
  public static extern uint switch_codec_implementation_encoded_bytes_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")]
  public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")]
  public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_set")]
  public static extern void switch_codec_implementation_codec_frames_per_packet_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_get")]
  public static extern int switch_codec_implementation_codec_frames_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")]
  public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")]
  public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")]
  public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")]
  public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")]
  public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")]
  public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")]
  public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")]
  public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")]
  public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")]
  public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_impl_id_set")]
  public static extern void switch_codec_implementation_impl_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_impl_id_get")]
  public static extern uint switch_codec_implementation_impl_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")]
  public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")]
  public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")]
  public static extern IntPtr new_switch_codec_implementation();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")]
  public static extern void delete_switch_codec_implementation(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")]
  public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")]
  public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")]
  public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")]
  public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parse_fmtp_set")]
  public static extern void switch_codec_interface_parse_fmtp_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parse_fmtp_get")]
  public static extern IntPtr switch_codec_interface_parse_fmtp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")]
  public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")]
  public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")]
  public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")]
  public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_set")]
  public static extern void switch_codec_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_get")]
  public static extern int switch_codec_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_set")]
  public static extern void switch_codec_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_get")]
  public static extern IntPtr switch_codec_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_set")]
  public static extern void switch_codec_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_get")]
  public static extern IntPtr switch_codec_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")]
  public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")]
  public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")]
  public static extern IntPtr new_switch_codec_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")]
  public static extern void delete_switch_codec_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")]
  public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")]
  public static extern string switch_application_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")]
  public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")]
  public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")]
  public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")]
  public static extern string switch_application_interface_long_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")]
  public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")]
  public static extern string switch_application_interface_short_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")]
  public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")]
  public static extern string switch_application_interface_syntax_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")]
  public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")]
  public static extern uint switch_application_interface_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")]
  public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")]
  public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_set")]
  public static extern void switch_application_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_get")]
  public static extern int switch_application_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_set")]
  public static extern void switch_application_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_get")]
  public static extern IntPtr switch_application_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_set")]
  public static extern void switch_application_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_get")]
  public static extern IntPtr switch_application_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")]
  public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")]
  public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")]
  public static extern IntPtr new_switch_application_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")]
  public static extern void delete_switch_application_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_interface_name_set")]
  public static extern void switch_chat_application_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_interface_name_get")]
  public static extern string switch_chat_application_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_chat_application_function_set")]
  public static extern void switch_chat_application_interface_chat_application_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_chat_application_function_get")]
  public static extern IntPtr switch_chat_application_interface_chat_application_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_long_desc_set")]
  public static extern void switch_chat_application_interface_long_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_long_desc_get")]
  public static extern string switch_chat_application_interface_long_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_short_desc_set")]
  public static extern void switch_chat_application_interface_short_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_short_desc_get")]
  public static extern string switch_chat_application_interface_short_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_syntax_set")]
  public static extern void switch_chat_application_interface_syntax_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_syntax_get")]
  public static extern string switch_chat_application_interface_syntax_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_flags_set")]
  public static extern void switch_chat_application_interface_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_flags_get")]
  public static extern uint switch_chat_application_interface_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_rwlock_set")]
  public static extern void switch_chat_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_rwlock_get")]
  public static extern IntPtr switch_chat_application_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_refs_set")]
  public static extern void switch_chat_application_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_refs_get")]
  public static extern int switch_chat_application_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_reflock_set")]
  public static extern void switch_chat_application_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_reflock_get")]
  public static extern IntPtr switch_chat_application_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_parent_set")]
  public static extern void switch_chat_application_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_parent_get")]
  public static extern IntPtr switch_chat_application_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_next_set")]
  public static extern void switch_chat_application_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_application_interface_next_get")]
  public static extern IntPtr switch_chat_application_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_application_interface")]
  public static extern IntPtr new_switch_chat_application_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_application_interface")]
  public static extern void delete_switch_chat_application_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")]
  public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")]
  public static extern string switch_api_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")]
  public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")]
  public static extern string switch_api_interface_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")]
  public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")]
  public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")]
  public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")]
  public static extern string switch_api_interface_syntax_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")]
  public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")]
  public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_set")]
  public static extern void switch_api_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_get")]
  public static extern int switch_api_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_set")]
  public static extern void switch_api_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_get")]
  public static extern IntPtr switch_api_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_set")]
  public static extern void switch_api_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_get")]
  public static extern IntPtr switch_api_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")]
  public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")]
  public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")]
  public static extern IntPtr new_switch_api_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")]
  public static extern void delete_switch_api_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_interface_name_set")]
  public static extern void switch_json_api_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_interface_name_get")]
  public static extern string switch_json_api_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_desc_set")]
  public static extern void switch_json_api_interface_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_desc_get")]
  public static extern string switch_json_api_interface_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_function_set")]
  public static extern void switch_json_api_interface_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_function_get")]
  public static extern IntPtr switch_json_api_interface_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_syntax_set")]
  public static extern void switch_json_api_interface_syntax_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_syntax_get")]
  public static extern string switch_json_api_interface_syntax_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_rwlock_set")]
  public static extern void switch_json_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_rwlock_get")]
  public static extern IntPtr switch_json_api_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_refs_set")]
  public static extern void switch_json_api_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_refs_get")]
  public static extern int switch_json_api_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_reflock_set")]
  public static extern void switch_json_api_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_reflock_get")]
  public static extern IntPtr switch_json_api_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_parent_set")]
  public static extern void switch_json_api_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_parent_get")]
  public static extern IntPtr switch_json_api_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_next_set")]
  public static extern void switch_json_api_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_api_interface_next_get")]
  public static extern IntPtr switch_json_api_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_json_api_interface")]
  public static extern IntPtr new_switch_json_api_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_json_api_interface")]
  public static extern void delete_switch_json_api_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_session_set")]
  public static extern void switch_slin_data_session_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_session_get")]
  public static extern IntPtr switch_slin_data_session_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_write_frame_set")]
  public static extern void switch_slin_data_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_write_frame_get")]
  public static extern IntPtr switch_slin_data_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_codec_set")]
  public static extern void switch_slin_data_codec_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_codec_get")]
  public static extern IntPtr switch_slin_data_codec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_frame_data_set")]
  public static extern void switch_slin_data_frame_data_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_slin_data_frame_data_get")]
  public static extern string switch_slin_data_frame_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_slin_data")]
  public static extern IntPtr new_switch_slin_data();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_slin_data")]
  public static extern void delete_switch_slin_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")]
  public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")]
  public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")]
  public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")]
  public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")]
  public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")]
  public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")]
  public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")]
  public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")]
  public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")]
  public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")]
  public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")]
  public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")]
  public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")]
  public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_resurrected_set")]
  public static extern void switch_channel_timetable_resurrected_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_resurrected_get")]
  public static extern IntPtr switch_channel_timetable_resurrected_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_bridged_set")]
  public static extern void switch_channel_timetable_bridged_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_bridged_get")]
  public static extern IntPtr switch_channel_timetable_bridged_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_last_hold_set")]
  public static extern void switch_channel_timetable_last_hold_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_last_hold_get")]
  public static extern IntPtr switch_channel_timetable_last_hold_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hold_accum_set")]
  public static extern void switch_channel_timetable_hold_accum_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hold_accum_get")]
  public static extern IntPtr switch_channel_timetable_hold_accum_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")]
  public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")]
  public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")]
  public static extern IntPtr new_switch_channel_timetable();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")]
  public static extern void delete_switch_channel_timetable(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")]
  public static extern int switch_channel_get_state(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")]
  public static extern int switch_channel_get_running_state(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_check_signal")]
  public static extern int switch_channel_check_signal(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_ready")]
  public static extern int switch_channel_test_ready(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")]
  public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state_timeout")]
  public static extern void switch_channel_wait_for_state_timeout(HandleRef jarg1, int jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")]
  public static extern int switch_channel_wait_for_flag(HandleRef jarg1, int jarg2, int jarg3, uint jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")]
  public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")]
  public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")]
  public static extern int switch_channel_str2cause(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")]
  public static extern int switch_channel_get_cause(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")]
  public static extern int switch_channel_cause_q850(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")]
  public static extern int switch_channel_get_cause_q850(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_ptr")]
  public static extern IntPtr switch_channel_get_cause_ptr(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")]
  public static extern string switch_channel_cause2str(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")]
  public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")]
  public static extern int switch_channel_alloc(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")]
  public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_presence_data_vals")]
  public static extern void switch_channel_set_presence_data_vals(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_presence")]
  public static extern void switch_channel_perform_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, int jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")]
  public static extern void switch_channel_uninit(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")]
  public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_step_caller_profile")]
  public static extern void switch_channel_step_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")]
  public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")]
  public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_hunt_caller_profile")]
  public static extern void switch_channel_set_hunt_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")]
  public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")]
  public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")]
  public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_origination_caller_profile")]
  public static extern void switch_channel_set_origination_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_origination_caller_profile")]
  public static extern IntPtr switch_channel_get_origination_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_uuid")]
  public static extern string switch_channel_get_uuid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_profile_var")]
  public static extern int switch_channel_set_profile_var(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_var_check")]
  public static extern int switch_channel_set_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_variable_var_check")]
  public static extern int switch_channel_add_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")]
  public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_name_printf")]
  public static extern int switch_channel_set_variable_name_printf(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner_var_check")]
  public static extern int switch_channel_set_variable_partner_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")]
  public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_hold_music")]
  public static extern string switch_channel_get_hold_music(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_hold_music_partner")]
  public static extern string switch_channel_get_hold_music_partner(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_del_variable_prefix")]
  public static extern uint switch_channel_del_variable_prefix(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_transfer_variable_prefix")]
  public static extern int switch_channel_transfer_variable_prefix(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_export_variable_var_check")]
  public static extern int switch_channel_export_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_process_export")]
  public static extern void switch_channel_process_export(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_export_variable_printf")]
  public static extern int switch_channel_export_variable_printf(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_scope_variables")]
  public static extern void switch_channel_set_scope_variables(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_scope_variables")]
  public static extern int switch_channel_get_scope_variables(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_dup")]
  public static extern string switch_channel_get_variable_dup(HandleRef jarg1, string jarg2, int jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variables")]
  public static extern int switch_channel_get_variables(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_pass_callee_id")]
  public static extern int switch_channel_pass_callee_id(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_first")]
  public static extern IntPtr switch_channel_variable_first(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")]
  public static extern void switch_channel_variable_last(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_restart")]
  public static extern void switch_channel_restart(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_caller_extension_masquerade")]
  public static extern int switch_channel_caller_extension_masquerade(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")]
  public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_invert_cid")]
  public static extern void switch_channel_invert_cid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flip_cid")]
  public static extern void switch_channel_flip_cid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_sort_cid")]
  public static extern void switch_channel_sort_cid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")]
  public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")]
  public static extern uint switch_channel_test_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_value")]
  public static extern void switch_channel_set_flag_value(HandleRef jarg1, int jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_recursive")]
  public static extern void switch_channel_set_flag_recursive(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_cap_value")]
  public static extern void switch_channel_set_cap_value(HandleRef jarg1, int jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_cap")]
  public static extern void switch_channel_clear_cap(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_cap")]
  public static extern uint switch_channel_test_cap(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_cap_partner")]
  public static extern uint switch_channel_test_cap_partner(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")]
  public static extern int switch_channel_set_flag_partner(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")]
  public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag_partner")]
  public static extern uint switch_channel_test_flag_partner(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")]
  public static extern void switch_channel_set_state_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_flag")]
  public static extern void switch_channel_clear_state_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")]
  public static extern void switch_channel_clear_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_recursive")]
  public static extern void switch_channel_clear_flag_recursive(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")]
  public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")]
  public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_check_zrtp")]
  public static extern void switch_channel_check_zrtp(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready_value")]
  public static extern int switch_channel_perform_ring_ready_value(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")]
  public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")]
  public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready_value")]
  public static extern int switch_channel_perform_mark_ring_ready_value(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")]
  public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")]
  public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")]
  public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")]
  public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")]
  public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private_partner")]
  public static extern IntPtr switch_channel_get_private_partner(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")]
  public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")]
  public static extern string switch_channel_get_name(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")]
  public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")]
  public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dtmf_lock")]
  public static extern int switch_channel_dtmf_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_try_dtmf_lock")]
  public static extern int switch_channel_try_dtmf_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dtmf_unlock")]
  public static extern int switch_channel_dtmf_unlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")]
  public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")]
  public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")]
  public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")]
  public static extern void switch_channel_flush_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")]
  public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")]
  public static extern string switch_channel_state_name(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")]
  public static extern int switch_channel_name_state(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")]
  public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_basic_data")]
  public static extern void switch_channel_event_set_basic_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_extended_data")]
  public static extern void switch_channel_event_set_extended_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables_check")]
  public static extern string switch_channel_expand_variables_check(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")]
  public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")]
  public static extern int switch_channel_set_timestamps(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_audio_sync")]
  public static extern void switch_channel_perform_audio_sync(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private_flag")]
  public static extern void switch_channel_set_private_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_private_flag")]
  public static extern void switch_channel_clear_private_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_private_flag")]
  public static extern int switch_channel_test_private_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_app_flag_key")]
  public static extern void switch_channel_set_app_flag_key(string jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_app_flag_key")]
  public static extern void switch_channel_clear_app_flag_key(string jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_app_flag_key")]
  public static extern int switch_channel_test_app_flag_key(string jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_bridge_time")]
  public static extern void switch_channel_set_bridge_time(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_hangup_time")]
  public static extern void switch_channel_set_hangup_time(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_direction")]
  public static extern int switch_channel_direction(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_logical_direction")]
  public static extern int switch_channel_logical_direction(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_direction")]
  public static extern void switch_channel_set_direction(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_session")]
  public static extern IntPtr switch_channel_get_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_flag_string")]
  public static extern string switch_channel_get_flag_string(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cap_string")]
  public static extern string switch_channel_get_cap_string(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_change_pending")]
  public static extern int switch_channel_state_change_pending(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_callstate")]
  public static extern void switch_channel_perform_set_callstate(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_callstate")]
  public static extern int switch_channel_get_callstate(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_callstate2str")]
  public static extern string switch_channel_callstate2str(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2callstate")]
  public static extern int switch_channel_str2callstate(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_mark_hold")]
  public static extern void switch_channel_mark_hold(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_execute_on")]
  public static extern int switch_channel_execute_on(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_api_on")]
  public static extern int switch_channel_api_on(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_process_device_hangup")]
  public static extern void switch_channel_process_device_hangup(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_queued_extension")]
  public static extern IntPtr switch_channel_get_queued_extension(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_transfer_to_extension")]
  public static extern void switch_channel_transfer_to_extension(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_partner_uuid")]
  public static extern string switch_channel_get_partner_uuid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_hold_record")]
  public static extern IntPtr switch_channel_get_hold_record(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_thread_lock")]
  public static extern void switch_channel_state_thread_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_thread_unlock")]
  public static extern void switch_channel_state_thread_unlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_thread_trylock")]
  public static extern int switch_channel_state_thread_trylock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_handle_cause")]
  public static extern void switch_channel_handle_cause(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_global_init")]
  public static extern void switch_channel_global_init(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_global_uninit")]
  public static extern void switch_channel_global_uninit();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_device_id")]
  public static extern string switch_channel_set_device_id(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_device_record")]
  public static extern void switch_channel_clear_device_record(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_device_record")]
  public static extern IntPtr switch_channel_get_device_record(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_release_device_record")]
  public static extern void switch_channel_release_device_record(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_bind_device_state_handler")]
  public static extern int switch_channel_bind_device_state_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_unbind_device_state_handler")]
  public static extern int switch_channel_unbind_device_state_handler(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_device_state2str")]
  public static extern string switch_channel_device_state2str(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")]
  public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")]
  public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")]
  public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")]
  public static extern void switch_buffer_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")]
  public static extern int switch_buffer_trylock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")]
  public static extern void switch_buffer_unlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")]
  public static extern IntPtr switch_buffer_len(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")]
  public static extern IntPtr switch_buffer_freespace(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")]
  public static extern IntPtr switch_buffer_inuse(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")]
  public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_peek")]
  public static extern IntPtr switch_buffer_peek(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_peek_zerocopy")]
  public static extern IntPtr switch_buffer_peek_zerocopy(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")]
  public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")]
  public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")]
  public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")]
  public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")]
  public static extern void switch_buffer_zero(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_slide_write")]
  public static extern IntPtr switch_buffer_slide_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")]
  public static extern void switch_buffer_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zwrite")]
  public static extern IntPtr switch_buffer_zwrite(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_set")]
  public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")]
  public static extern string switch_event_header_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")]
  public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")]
  public static extern string switch_event_header_value_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_array_set")]
  public static extern void switch_event_header_array_set(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_array_get")]
  public static extern string switch_event_header_array_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_idx_set")]
  public static extern void switch_event_header_idx_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_idx_get")]
  public static extern int switch_event_header_idx_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_set")]
  public static extern void switch_event_header_hash_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_get")]
  public static extern uint switch_event_header_hash_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")]
  public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")]
  public static extern IntPtr switch_event_header_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")]
  public static extern IntPtr new_switch_event_header();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")]
  public static extern void delete_switch_event_header(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")]
  public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")]
  public static extern int switch_event_event_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")]
  public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")]
  public static extern int switch_event_priority_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")]
  public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")]
  public static extern string switch_event_owner_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")]
  public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")]
  public static extern string switch_event_subclass_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")]
  public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")]
  public static extern IntPtr switch_event_headers_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")]
  public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")]
  public static extern IntPtr switch_event_last_header_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")]
  public static extern void switch_event_body_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")]
  public static extern string switch_event_body_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")]
  public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")]
  public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")]
  public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")]
  public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")]
  public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")]
  public static extern uint switch_event_key_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")]
  public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")]
  public static extern IntPtr switch_event_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_flags_set")]
  public static extern void switch_event_flags_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_flags_get")]
  public static extern int switch_event_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")]
  public static extern IntPtr new_switch_event();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")]
  public static extern void delete_switch_event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_event_id_set")]
  public static extern void switch_serial_event_t_event_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_event_id_get")]
  public static extern int switch_serial_event_t_event_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_priority_set")]
  public static extern void switch_serial_event_t_priority_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_priority_get")]
  public static extern int switch_serial_event_t_priority_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_flags_set")]
  public static extern void switch_serial_event_t_flags_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_flags_get")]
  public static extern int switch_serial_event_t_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_owner_set")]
  public static extern void switch_serial_event_t_owner_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_owner_get")]
  public static extern string switch_serial_event_t_owner_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_subclass_name_set")]
  public static extern void switch_serial_event_t_subclass_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_subclass_name_get")]
  public static extern string switch_serial_event_t_subclass_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_body_set")]
  public static extern void switch_serial_event_t_body_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_t_body_get")]
  public static extern string switch_serial_event_t_body_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_serial_event_t")]
  public static extern IntPtr new_switch_serial_event_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_serial_event_t")]
  public static extern void delete_switch_serial_event_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_header_t_name_set")]
  public static extern void switch_serial_event_header_t_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_header_t_name_get")]
  public static extern string switch_serial_event_header_t_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_header_t_value_set")]
  public static extern void switch_serial_event_header_t_value_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_serial_event_header_t_value_get")]
  public static extern string switch_serial_event_header_t_value_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_serial_event_header_t")]
  public static extern IntPtr new_switch_serial_event_header_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_serial_event_header_t")]
  public static extern void delete_switch_serial_event_header_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")]
  public static extern int switch_event_init(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")]
  public static extern int switch_event_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass_detailed")]
  public static extern int switch_event_create_subclass_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, int jarg5, string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")]
  public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header_ptr")]
  public static extern IntPtr switch_event_get_header_ptr(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header_idx")]
  public static extern string switch_event_get_header_idx(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_rename_header")]
  public static extern int switch_event_rename_header(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")]
  public static extern string switch_event_get_body(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_subclass_name")]
  public static extern int switch_event_set_subclass_name(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")]
  public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header_val")]
  public static extern int switch_event_del_header_val(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_array")]
  public static extern int switch_event_add_array(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")]
  public static extern void switch_event_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")]
  public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_merge")]
  public static extern void switch_event_merge(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup_reply")]
  public static extern int switch_event_dup_reply(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")]
  public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_prep_for_delivery_detailed")]
  public static extern void switch_event_prep_for_delivery_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")]
  public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")]
  public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")]
  public static extern int switch_event_unbind(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")]
  public static extern int switch_event_unbind_callback(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")]
  public static extern string switch_event_name(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")]
  public static extern int switch_name_event(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")]
  public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")]
  public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_binary_deserialize")]
  public static extern int switch_event_binary_deserialize(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_binary_serialize")]
  public static extern int switch_event_binary_serialize(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")]
  public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize_json")]
  public static extern int switch_event_serialize_json(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize_json_obj")]
  public static extern int switch_event_serialize_json_obj(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_json")]
  public static extern int switch_event_create_json(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_brackets")]
  public static extern int switch_event_create_brackets(string jarg1, char jarg2, char jarg3, char jarg4, HandleRef jarg5, ref string jarg6, int jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_array_pair")]
  public static extern int switch_event_create_array_pair(HandleRef jarg1, ref string jarg2, ref string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")]
  public static extern int switch_event_running();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_body")]
  public static extern int switch_event_set_body(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers_check")]
  public static extern string switch_event_expand_headers_check(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")]
  public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_plain")]
  public static extern int switch_event_create_plain(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")]
  public static extern void switch_event_deliver(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")]
  public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_check_permission_list")]
  public static extern int switch_event_check_permission_list(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_presence_data_cols")]
  public static extern void switch_event_add_presence_data_cols(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_json_add_presence_data_cols")]
  public static extern void switch_json_add_presence_data_cols(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_launch_dispatch_threads")]
  public static extern void switch_event_launch_dispatch_threads(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_channel_broadcast")]
  public static extern uint switch_event_channel_broadcast(string jarg1, HandleRef jarg2, string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_channel_unbind")]
  public static extern uint switch_event_channel_unbind(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_channel_bind")]
  public static extern int switch_event_channel_bind(string jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_NO_EVENT_CHANNEL_ID_get")]
  public static extern int NO_EVENT_CHANNEL_ID_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EVENT_CHANNEL_GLOBAL_get")]
  public static extern string SWITCH_EVENT_CHANNEL_GLOBAL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_clear")]
  public static extern int switch_live_array_clear(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_bootstrap")]
  public static extern int switch_live_array_bootstrap(HandleRef jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_destroy")]
  public static extern int switch_live_array_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_create")]
  public static extern int switch_live_array_create(string jarg1, string jarg2, uint jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_get")]
  public static extern IntPtr switch_live_array_get(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_get_idx")]
  public static extern IntPtr switch_live_array_get_idx(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_del")]
  public static extern int switch_live_array_del(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_add")]
  public static extern int switch_live_array_add(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_visible")]
  public static extern int switch_live_array_visible(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_isnew")]
  public static extern int switch_live_array_isnew(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_lock")]
  public static extern void switch_live_array_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_unlock")]
  public static extern void switch_live_array_unlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_set_user_data")]
  public static extern void switch_live_array_set_user_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_set_command_handler")]
  public static extern void switch_live_array_set_command_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_parse_json")]
  public static extern void switch_live_array_parse_json(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_add_alias")]
  public static extern int switch_live_array_add_alias(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_live_array_clear_alias")]
  public static extern int switch_live_array_clear_alias(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_channel_permission_verify")]
  public static extern int switch_event_channel_permission_verify(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_channel_permission_modify")]
  public static extern void switch_event_channel_permission_modify(string jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_channel_permission_clear")]
  public static extern void switch_event_channel_permission_clear(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RESAMPLE_QUALITY_get")]
  public static extern int SWITCH_RESAMPLE_QUALITY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")]
  public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")]
  public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")]
  public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")]
  public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")]
  public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")]
  public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")]
  public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")]
  public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")]
  public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")]
  public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")]
  public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")]
  public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")]
  public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")]
  public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")]
  public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")]
  public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_channels_set")]
  public static extern void switch_audio_resampler_t_channels_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_channels_get")]
  public static extern int switch_audio_resampler_t_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")]
  public static extern IntPtr new_switch_audio_resampler_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")]
  public static extern void delete_switch_audio_resampler_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_perform_create")]
  public static extern int switch_resample_perform_create(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, int jarg5, uint jarg6, string jarg7, string jarg8, int jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")]
  public static extern void switch_resample_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")]
  public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")]
  public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")]
  public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")]
  public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")]
  public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")]
  public static extern void switch_swap_linear(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")]
  public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")]
  public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume_granular")]
  public static extern void switch_change_sln_volume_granular(HandleRef jarg1, uint jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")]
  public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unmerge_sln")]
  public static extern uint switch_unmerge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")]
  public static extern void switch_mux_channels(HandleRef jarg1, HandleRef jarg2, uint jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")]
  public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")]
  public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")]
  public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")]
  public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")]
  public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")]
  public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")]
  public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")]
  public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")]
  public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")]
  public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")]
  public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")]
  public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")]
  public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")]
  public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")]
  public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")]
  public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")]
  public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")]
  public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")]
  public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")]
  public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")]
  public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")]
  public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")]
  public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")]
  public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")]
  public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")]
  public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")]
  public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")]
  public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")]
  public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")]
  public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")]
  public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")]
  public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")]
  public static extern IntPtr new_switch_unicast_conninfo();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")]
  public static extern void delete_switch_unicast_conninfo(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")]
  public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")]
  public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_json_cdr")]
  public static extern int switch_ivr_generate_json_cdr(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")]
  public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")]
  public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")]
  public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")]
  public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")]
  public static extern int switch_ivr_parse_all_events(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")]
  public static extern int switch_ivr_parse_next_event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_messages")]
  public static extern int switch_ivr_parse_all_messages(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_signal_data")]
  public static extern int switch_ivr_parse_all_signal_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_process_indications")]
  public static extern int switch_ivr_process_indications(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")]
  public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, int jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")]
  public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")]
  public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")]
  public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_and_detect_speech")]
  public static extern int switch_ivr_play_and_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, ref string jarg5, uint jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_init")]
  public static extern int switch_ivr_detect_speech_init(HandleRef jarg1, string jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")]
  public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")]
  public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")]
  public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")]
  public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")]
  public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")]
  public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_enable_grammar")]
  public static extern int switch_ivr_detect_speech_enable_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_disable_grammar")]
  public static extern int switch_ivr_detect_speech_disable_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_disable_all_grammars")]
  public static extern int switch_ivr_detect_speech_disable_all_grammars(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_param_detect_speech")]
  public static extern int switch_ivr_set_param_detect_speech(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_start_input_timers")]
  public static extern int switch_ivr_detect_speech_start_input_timers(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")]
  public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_recordings")]
  public static extern int switch_ivr_transfer_recordings(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_pop_eavesdropper")]
  public static extern int switch_ivr_eavesdrop_pop_eavesdropper(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_exec_all")]
  public static extern int switch_ivr_eavesdrop_exec_all(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_update_display")]
  public static extern int switch_ivr_eavesdrop_update_display(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")]
  public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")]
  public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")]
  public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")]
  public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_audio")]
  public static extern int switch_ivr_session_audio(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_session_audio")]
  public static extern int switch_ivr_stop_session_audio(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")]
  public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")]
  public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")]
  public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")]
  public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")]
  public static extern int switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")]
  public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")]
  public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6, string jarg7, string jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_file")]
  public static extern int switch_ivr_play_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_silence")]
  public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")]
  public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")]
  public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")]
  public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, uint jarg11, string jarg12, uint jarg13, string jarg14);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")]
  public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")]
  public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")]
  public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")]
  public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11, HandleRef jarg12);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_enterprise_originate")]
  public static extern int switch_ivr_enterprise_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11, HandleRef jarg12);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bridge_display")]
  public static extern void switch_ivr_bridge_display(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")]
  public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")]
  public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")]
  public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")]
  public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")]
  public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")]
  public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")]
  public static extern int switch_ivr_media(string jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")]
  public static extern int switch_ivr_nomedia(string jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")]
  public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_toggle_uuid")]
  public static extern int switch_ivr_hold_toggle_uuid(string jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")]
  public static extern int switch_ivr_unhold_uuid(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")]
  public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")]
  public static extern int switch_ivr_unhold(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")]
  public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")]
  public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast_in_thread")]
  public static extern void switch_ivr_broadcast_in_thread(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")]
  public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")]
  public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")]
  public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")]
  public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")]
  public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")]
  public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")]
  public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")]
  public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")]
  public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")]
  public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")]
  public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12, int jarg13, int jarg14, int jarg15, int jarg16, int jarg17, int jarg18, HandleRef jarg19);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")]
  public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")]
  public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")]
  public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")]
  public static extern int switch_ivr_menu_stack_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")]
  public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")]
  public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")]
  public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")]
  public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro_event")]
  public static extern int switch_ivr_phrase_macro_event(HandleRef jarg1, string jarg2, string jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")]
  public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")]
  public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")]
  public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")]
  public static extern void switch_ivr_park_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")]
  public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")]
  public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9, uint jarg10);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_block_dtmf_session")]
  public static extern int switch_ivr_block_dtmf_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unblock_dtmf_session")]
  public static extern int switch_ivr_unblock_dtmf_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")]
  public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")]
  public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")]
  public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")]
  public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say_string")]
  public static extern int switch_ivr_say_string(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, ref string jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")]
  public static extern int switch_ivr_get_say_method_by_name(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_gender_by_name")]
  public static extern int switch_ivr_get_say_gender_by_name(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")]
  public static extern int switch_ivr_get_say_type_by_name(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say_spell")]
  public static extern int switch_ivr_say_spell(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say_ip")]
  public static extern int switch_ivr_say_ip(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")]
  public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user_xml")]
  public static extern int switch_ivr_set_user_xml(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sound_test")]
  public static extern int switch_ivr_sound_test(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_process_import")]
  public static extern void switch_process_import(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_exists")]
  public static extern int switch_ivr_uuid_exists(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_force_exists")]
  public static extern int switch_ivr_uuid_force_exists(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_is_parsing")]
  public static extern int switch_ivr_dmachine_is_parsing(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_last_ping")]
  public static extern int switch_ivr_dmachine_last_ping(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_get_name")]
  public static extern string switch_ivr_dmachine_get_name(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_set_match_callback")]
  public static extern void switch_ivr_dmachine_set_match_callback(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_set_nonmatch_callback")]
  public static extern void switch_ivr_dmachine_set_nonmatch_callback(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_create")]
  public static extern int switch_ivr_dmachine_create(HandleRef jarg1, string jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_destroy")]
  public static extern void switch_ivr_dmachine_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_bind")]
  public static extern int switch_ivr_dmachine_bind(HandleRef jarg1, string jarg2, string jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_feed")]
  public static extern int switch_ivr_dmachine_feed(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_clear")]
  public static extern int switch_ivr_dmachine_clear(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_ping")]
  public static extern int switch_ivr_dmachine_ping(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_get_match")]
  public static extern IntPtr switch_ivr_dmachine_get_match(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_get_failed_digits")]
  public static extern string switch_ivr_dmachine_get_failed_digits(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_set_digit_timeout_ms")]
  public static extern void switch_ivr_dmachine_set_digit_timeout_ms(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_set_input_timeout_ms")]
  public static extern void switch_ivr_dmachine_set_input_timeout_ms(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_clear_realm")]
  public static extern int switch_ivr_dmachine_clear_realm(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_dmachine_set_realm")]
  public static extern int switch_ivr_dmachine_set_realm(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_file_handle")]
  public static extern int switch_ivr_get_file_handle(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_release_file_handle")]
  public static extern int switch_ivr_release_file_handle(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_process_fh")]
  public static extern int switch_ivr_process_fh(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_insert_file")]
  public static extern int switch_ivr_insert_file(HandleRef jarg1, string jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_create_message_reply")]
  public static extern int switch_ivr_create_message_reply(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_check_presence_mapping")]
  public static extern string switch_ivr_check_presence_mapping(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_kill_uuid")]
  public static extern int switch_ivr_kill_uuid(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_blind_transfer_ack")]
  public static extern int switch_ivr_blind_transfer_ack(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session_mask")]
  public static extern int switch_ivr_record_session_mask(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")]
  public static extern int SWITCH_RTP_MAX_BUF_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTCP_MAX_BUF_LEN_get")]
  public static extern int SWITCH_RTCP_MAX_BUF_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_WORDS_get")]
  public static extern int SWITCH_RTP_MAX_BUF_LEN_WORDS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")]
  public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")]
  public static extern string SWITCH_RTP_CRYPTO_KEY_80_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_srtp_crypto_suite_t_name_set")]
  public static extern void switch_srtp_crypto_suite_t_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_srtp_crypto_suite_t_name_get")]
  public static extern string switch_srtp_crypto_suite_t_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_srtp_crypto_suite_t_type_set")]
  public static extern void switch_srtp_crypto_suite_t_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_srtp_crypto_suite_t_type_get")]
  public static extern int switch_srtp_crypto_suite_t_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_srtp_crypto_suite_t_keylen_set")]
  public static extern void switch_srtp_crypto_suite_t_keylen_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_srtp_crypto_suite_t_keylen_get")]
  public static extern int switch_srtp_crypto_suite_t_keylen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_srtp_crypto_suite_t")]
  public static extern IntPtr new_switch_srtp_crypto_suite_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_srtp_crypto_suite_t")]
  public static extern void delete_switch_srtp_crypto_suite_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")]
  public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")]
  public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")]
  public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")]
  public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")]
  public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")]
  public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")]
  public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")]
  public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")]
  public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")]
  public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")]
  public static extern IntPtr new_switch_rtp_crypto_key();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")]
  public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_foundation_set")]
  public static extern void icand_t_foundation_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_foundation_get")]
  public static extern string icand_t_foundation_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_component_id_set")]
  public static extern void icand_t_component_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_component_id_get")]
  public static extern int icand_t_component_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_transport_set")]
  public static extern void icand_t_transport_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_transport_get")]
  public static extern string icand_t_transport_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_priority_set")]
  public static extern void icand_t_priority_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_priority_get")]
  public static extern uint icand_t_priority_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_con_addr_set")]
  public static extern void icand_t_con_addr_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_con_addr_get")]
  public static extern string icand_t_con_addr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_con_port_set")]
  public static extern void icand_t_con_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_con_port_get")]
  public static extern ushort icand_t_con_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_cand_type_set")]
  public static extern void icand_t_cand_type_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_cand_type_get")]
  public static extern string icand_t_cand_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_raddr_set")]
  public static extern void icand_t_raddr_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_raddr_get")]
  public static extern string icand_t_raddr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_rport_set")]
  public static extern void icand_t_rport_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_rport_get")]
  public static extern ushort icand_t_rport_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_generation_set")]
  public static extern void icand_t_generation_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_generation_get")]
  public static extern string icand_t_generation_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_ready_set")]
  public static extern void icand_t_ready_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_icand_t_ready_get")]
  public static extern byte icand_t_ready_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_icand_t")]
  public static extern IntPtr new_icand_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_icand_t")]
  public static extern void delete_icand_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_MAX_CAND_get")]
  public static extern int MAX_CAND_get();

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_cands_set")]
  public static extern void ice_t_cands_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_cands_get")]
  public static extern IntPtr ice_t_cands_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_cand_idx_set")]
  public static extern void ice_t_cand_idx_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_cand_idx_get")]
  public static extern int ice_t_cand_idx_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_chosen_set")]
  public static extern void ice_t_chosen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_chosen_get")]
  public static extern IntPtr ice_t_chosen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_ufrag_set")]
  public static extern void ice_t_ufrag_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_ufrag_get")]
  public static extern string ice_t_ufrag_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_pwd_set")]
  public static extern void ice_t_pwd_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_pwd_get")]
  public static extern string ice_t_pwd_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_options_set")]
  public static extern void ice_t_options_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_ice_t_options_get")]
  public static extern string ice_t_options_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_ice_t")]
  public static extern IntPtr new_ice_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_ice_t")]
  public static extern void delete_ice_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")]
  public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")]
  public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")]
  public static extern void switch_rtp_init(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")]
  public static extern void switch_rtp_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")]
  public static extern ushort switch_rtp_set_start_port(ushort jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_ssrc")]
  public static extern int switch_rtp_set_ssrc(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_ssrc")]
  public static extern int switch_rtp_set_remote_ssrc(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")]
  public static extern ushort switch_rtp_set_end_port(ushort jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")]
  public static extern ushort switch_rtp_request_port(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")]
  public static extern void switch_rtp_release_port(string jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_interval")]
  public static extern int switch_rtp_set_interval(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_change_interval")]
  public static extern int switch_rtp_change_interval(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")]
  public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, HandleRef jarg5, string jarg6, ref string jarg7, HandleRef jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")]
  public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, HandleRef jarg8, string jarg9, ref string jarg10, HandleRef jarg11);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")]
  public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, ushort jarg4, int jarg5, ref string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")]
  public static extern string switch_rtp_get_remote_host(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")]
  public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset_media_timer")]
  public static extern void switch_rtp_reset_media_timer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")]
  public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_udptl_mode")]
  public static extern int switch_rtp_udptl_mode(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset")]
  public static extern void switch_rtp_reset(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")]
  public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")]
  public static extern void switch_rtp_kill_socket(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")]
  public static extern void switch_rtp_break(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_flush")]
  public static extern void switch_rtp_flush(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")]
  public static extern byte switch_rtp_ready(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")]
  public static extern void switch_rtp_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")]
  public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, int jarg6, int jarg7, HandleRef jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_rtcp")]
  public static extern int switch_rtp_activate_rtcp(HandleRef jarg1, int jarg2, ushort jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")]
  public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, uint jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_debug_jitter_buffer")]
  public static extern int switch_rtp_debug_jitter_buffer(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_deactivate_jitter_buffer")]
  public static extern int switch_rtp_deactivate_jitter_buffer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_pause_jitter_buffer")]
  public static extern int switch_rtp_pause_jitter_buffer(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_jitter_buffer")]
  public static extern IntPtr switch_rtp_get_jitter_buffer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")]
  public static extern void switch_rtp_set_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flags")]
  public static extern void switch_rtp_set_flags(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flags")]
  public static extern void switch_rtp_clear_flags(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")]
  public static extern uint switch_rtp_test_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")]
  public static extern void switch_rtp_clear_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")]
  public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ping")]
  public static extern void switch_rtp_ping(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")]
  public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")]
  public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")]
  public static extern uint switch_rtp_get_default_payload(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invalid_handler")]
  public static extern void switch_rtp_set_invalid_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")]
  public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")]
  public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")]
  public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")]
  public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")]
  public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")]
  public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")]
  public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtcp_zerocopy_read_frame")]
  public static extern int switch_rtcp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_rtp_flush_read_buffer")]
  public static extern void rtp_flush_read_buffer(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")]
  public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")]
  public static extern int switch_rtp_disable_vad(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")]
  public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")]
  public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")]
  public static extern uint switch_rtp_get_ssrc(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")]
  public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")]
  public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_recv_event")]
  public static extern void switch_rtp_set_telephony_recv_event(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")]
  public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")]
  public static extern IntPtr switch_rtp_get_private(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_payload_map")]
  public static extern int switch_rtp_set_payload_map(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_intentional_bugs")]
  public static extern void switch_rtp_intentional_bugs(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_stats")]
  public static extern IntPtr switch_rtp_get_stats(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_check_auto_adj")]
  public static extern byte switch_rtp_check_auto_adj(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_interdigit_delay")]
  public static extern void switch_rtp_set_interdigit_delay(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_dtls")]
  public static extern int switch_rtp_add_dtls(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_del_dtls")]
  public static extern int switch_rtp_del_dtls(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtls")]
  public static extern int switch_rtp_has_dtls();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_video_refresh")]
  public static extern void switch_rtp_video_refresh(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")]
  public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")]
  public static extern string switch_log_node_t_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")]
  public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")]
  public static extern string switch_log_node_t_file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")]
  public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")]
  public static extern uint switch_log_node_t_line_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")]
  public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")]
  public static extern string switch_log_node_t_func_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")]
  public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")]
  public static extern int switch_log_node_t_level_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")]
  public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")]
  public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")]
  public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")]
  public static extern string switch_log_node_t_content_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")]
  public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")]
  public static extern string switch_log_node_t_userdata_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_set")]
  public static extern void switch_log_node_t_channel_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_get")]
  public static extern int switch_log_node_t_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_slevel_set")]
  public static extern void switch_log_node_t_slevel_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_slevel_get")]
  public static extern int switch_log_node_t_slevel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")]
  public static extern IntPtr new_switch_log_node_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")]
  public static extern void delete_switch_log_node_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")]
  public static extern int switch_log_init(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")]
  public static extern int switch_log_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")]
  public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")]
  public static extern int switch_log_unbind_logger(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")]
  public static extern string switch_log_level2str(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")]
  public static extern int switch_log_str2level(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")]
  public static extern uint switch_log_str2mask(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_dup")]
  public static extern IntPtr switch_log_node_dup(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_free")]
  public static extern void switch_log_node_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")]
  public static extern int SWITCH_XML_BUFSIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")]
  public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")]
  public static extern string switch_xml_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")]
  public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")]
  public static extern string switch_xml_attr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")]
  public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")]
  public static extern string switch_xml_txt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")]
  public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")]
  public static extern string switch_xml_free_path_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")]
  public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")]
  public static extern IntPtr switch_xml_off_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")]
  public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")]
  public static extern IntPtr switch_xml_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")]
  public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")]
  public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")]
  public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")]
  public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")]
  public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")]
  public static extern IntPtr switch_xml_child_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")]
  public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")]
  public static extern IntPtr switch_xml_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")]
  public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")]
  public static extern uint switch_xml_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_is_switch_xml_root_t_set")]
  public static extern void switch_xml_is_switch_xml_root_t_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_is_switch_xml_root_t_get")]
  public static extern int switch_xml_is_switch_xml_root_t_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_refs_set")]
  public static extern void switch_xml_refs_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_refs_get")]
  public static extern uint switch_xml_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")]
  public static extern IntPtr new_switch_xml();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")]
  public static extern void delete_switch_xml(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str_dynamic")]
  public static extern IntPtr switch_xml_parse_str_dynamic(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")]
  public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")]
  public static extern IntPtr switch_xml_parse_fd(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")]
  public static extern IntPtr switch_xml_parse_file(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")]
  public static extern IntPtr switch_xml_parse_file_simple(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")]
  public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")]
  public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")]
  public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child_multi")]
  public static extern IntPtr switch_xml_find_child_multi(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")]
  public static extern string switch_xml_attr(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")]
  public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")]
  public static extern IntPtr switch_xml_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")]
  public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_nolock")]
  public static extern string switch_xml_toxml_nolock(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_tohtml")]
  public static extern string switch_xml_tohtml(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")]
  public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")]
  public static extern void switch_xml_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")]
  public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")]
  public static extern string switch_xml_error(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")]
  public static extern IntPtr switch_xml_new(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")]
  public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")]
  public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")]
  public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")]
  public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")]
  public static extern IntPtr switch_xml_cut(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")]
  public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_root")]
  public static extern int switch_xml_set_root(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_open_root_function")]
  public static extern int switch_xml_set_open_root_function(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")]
  public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")]
  public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_reload")]
  public static extern int switch_xml_reload(ref string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")]
  public static extern int switch_xml_destroy();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")]
  public static extern IntPtr switch_xml_root();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")]
  public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, int jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")]
  public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_group")]
  public static extern int switch_xml_locate_group(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")]
  public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user_in_domain")]
  public static extern int switch_xml_locate_user_in_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user_merged")]
  public static extern int switch_xml_locate_user_merged(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_clear_user_cache")]
  public static extern uint switch_xml_clear_user_cache(string jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_merge_user")]
  public static extern void switch_xml_merge_user(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_dup")]
  public static extern IntPtr switch_xml_dup(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")]
  public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_sections")]
  public static extern void switch_xml_set_binding_sections(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_user_data")]
  public static extern void switch_xml_set_binding_user_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_sections")]
  public static extern uint switch_xml_get_binding_sections(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_user_data")]
  public static extern IntPtr switch_xml_get_binding_user_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function_ret")]
  public static extern int switch_xml_bind_search_function_ret(HandleRef jarg1, uint jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")]
  public static extern int switch_xml_unbind_search_function(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")]
  public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")]
  public static extern uint switch_xml_parse_section_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_std_datetime_check")]
  public static extern int switch_xml_std_datetime_check(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_language")]
  public static extern int switch_xml_locate_language(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, string jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")]
  public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")]
  public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")]
  public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")]
  public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")]
  public static extern IntPtr new_switch_io_event_hook_outgoing_channel();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")]
  public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")]
  public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")]
  public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")]
  public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")]
  public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")]
  public static extern IntPtr new_switch_io_event_hook_receive_message();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")]
  public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")]
  public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")]
  public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")]
  public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")]
  public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")]
  public static extern IntPtr new_switch_io_event_hook_receive_event();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")]
  public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")]
  public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")]
  public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")]
  public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")]
  public static extern IntPtr new_switch_io_event_hook_read_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")]
  public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")]
  public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")]
  public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")]
  public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")]
  public static extern IntPtr new_switch_io_event_hook_video_read_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")]
  public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")]
  public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")]
  public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")]
  public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")]
  public static extern IntPtr new_switch_io_event_hook_write_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")]
  public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")]
  public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")]
  public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")]
  public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")]
  public static extern IntPtr new_switch_io_event_hook_video_write_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_write_frame")]
  public static extern void delete_switch_io_event_hook_video_write_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_set")]
  public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")]
  public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")]
  public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")]
  public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")]
  public static extern IntPtr new_switch_io_event_hook_kill_channel();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")]
  public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")]
  public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")]
  public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")]
  public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")]
  public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")]
  public static extern IntPtr new_switch_io_event_hook_send_dtmf();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")]
  public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")]
  public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")]
  public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")]
  public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")]
  public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")]
  public static extern IntPtr new_switch_io_event_hook_recv_dtmf();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")]
  public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")]
  public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")]
  public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")]
  public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")]
  public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")]
  public static extern IntPtr new_switch_io_event_hook_state_change();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")]
  public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_run_state_run_set")]
  public static extern void switch_io_event_hook_state_run_state_run_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_run_state_run_get")]
  public static extern IntPtr switch_io_event_hook_state_run_state_run_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_run_next_set")]
  public static extern void switch_io_event_hook_state_run_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_run_next_get")]
  public static extern IntPtr switch_io_event_hook_state_run_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_run")]
  public static extern IntPtr new_switch_io_event_hook_state_run();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_run")]
  public static extern void delete_switch_io_event_hook_state_run(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")]
  public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")]
  public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")]
  public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")]
  public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")]
  public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")]
  public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")]
  public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")]
  public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")]
  public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")]
  public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")]
  public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")]
  public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")]
  public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_get")]
  public static extern IntPtr switch_io_event_hooks_video_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_set")]
  public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")]
  public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")]
  public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")]
  public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")]
  public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")]
  public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")]
  public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")]
  public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_run_set")]
  public static extern void switch_io_event_hooks_state_run_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_run_get")]
  public static extern IntPtr switch_io_event_hooks_state_run_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")]
  public static extern IntPtr new_switch_io_event_hooks();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")]
  public static extern void delete_switch_io_event_hooks(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")]
  public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")]
  public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")]
  public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")]
  public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_run")]
  public static extern int switch_core_event_hook_add_state_run(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")]
  public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")]
  public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")]
  public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_write_frame")]
  public static extern int switch_core_event_hook_add_video_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_kill_channel")]
  public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")]
  public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")]
  public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")]
  public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")]
  public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")]
  public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")]
  public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_run")]
  public static extern int switch_core_event_hook_remove_state_run(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")]
  public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")]
  public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")]
  public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_write_frame")]
  public static extern int switch_core_event_hook_remove_video_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_kill_channel")]
  public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")]
  public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")]
  public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")]
  public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")]
  public static extern long switch_scheduler_task_created_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")]
  public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")]
  public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")]
  public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")]
  public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_repeat_set")]
  public static extern void switch_scheduler_task_repeat_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_repeat_get")]
  public static extern uint switch_scheduler_task_repeat_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")]
  public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")]
  public static extern string switch_scheduler_task_group_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")]
  public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")]
  public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")]
  public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")]
  public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_hash_set")]
  public static extern void switch_scheduler_task_hash_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_hash_get")]
  public static extern uint switch_scheduler_task_hash_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")]
  public static extern IntPtr new_switch_scheduler_task();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")]
  public static extern void delete_switch_scheduler_task(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")]
  public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")]
  public static extern uint switch_scheduler_del_task_id(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")]
  public static extern uint switch_scheduler_del_task_group(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")]
  public static extern void switch_scheduler_task_thread_start();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")]
  public static extern void switch_scheduler_task_thread_stop();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")]
  public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")]
  public static extern IntPtr switch_config_file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")]
  public static extern void switch_config_path_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")]
  public static extern string switch_config_path_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")]
  public static extern void switch_config_category_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")]
  public static extern string switch_config_category_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")]
  public static extern void switch_config_section_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")]
  public static extern string switch_config_section_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")]
  public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")]
  public static extern string switch_config_buf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")]
  public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")]
  public static extern int switch_config_lineno_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")]
  public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")]
  public static extern int switch_config_catno_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")]
  public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")]
  public static extern int switch_config_sectno_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")]
  public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")]
  public static extern int switch_config_lockto_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")]
  public static extern IntPtr new_switch_config();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")]
  public static extern void delete_switch_config(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")]
  public static extern int switch_config_open_file(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")]
  public static extern void switch_config_close_file(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")]
  public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_setGlobalVariable")]
  public static extern void setGlobalVariable(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_getGlobalVariable")]
  public static extern string getGlobalVariable(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")]
  public static extern void consoleLog(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_consoleLog2")]
  public static extern void consoleLog2(string jarg1, string jarg2, string jarg3, int jarg4, string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")]
  public static extern void consoleCleanLog(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_running")]
  public static extern bool running();

  [DllImport("mod_managed", EntryPoint="CSharp_email")]
  public static extern bool email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")]
  public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, int jarg12, int jarg13, int jarg14, int jarg15, int jarg16, int jarg17);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")]
  public static extern void delete_IvrMenu(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")]
  public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")]
  public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Api")]
  public static extern IntPtr new_Api(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")]
  public static extern void delete_Api(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")]
  public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")]
  public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Api_getTime")]
  public static extern string Api_getTime(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")]
  public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")]
  public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")]
  public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")]
  public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")]
  public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")]
  public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")]
  public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")]
  public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")]
  public static extern IntPtr new_input_callback_state_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")]
  public static extern void delete_input_callback_state_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")]
  public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")]
  public static extern char DTMF_digit_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")]
  public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")]
  public static extern uint DTMF_duration_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")]
  public static extern IntPtr new_DTMF(char jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")]
  public static extern void delete_DTMF(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")]
  public static extern IntPtr new_Stream__SWIG_0();

  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")]
  public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")]
  public static extern void delete_Stream(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Stream_read")]
  public static extern string Stream_read(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")]
  public static extern void Stream_Write(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Stream_raw_write")]
  public static extern void Stream_raw_write(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")]
  public static extern string Stream_get_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")]
  public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")]
  public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")]
  public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")]
  public static extern string Event_serialized_string_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")]
  public static extern void Event_mine_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")]
  public static extern int Event_mine_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")]
  public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")]
  public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")]
  public static extern void delete_Event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_chat_execute")]
  public static extern int Event_chat_execute(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_chat_send")]
  public static extern int Event_chat_send(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")]
  public static extern string Event_Serialize(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")]
  public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")]
  public static extern string Event_GetHeader(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")]
  public static extern string Event_GetBody(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")]
  public static extern string Event_GetEventType(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")]
  public static extern bool Event_AddBody(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")]
  public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")]
  public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")]
  public static extern bool Event_Fire(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")]
  public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")]
  public static extern IntPtr EventConsumer_events_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")]
  public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")]
  public static extern int EventConsumer_e_event_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")]
  public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")]
  public static extern string EventConsumer_e_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")]
  public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")]
  public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")]
  public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")]
  public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_enodes_set")]
  public static extern void EventConsumer_enodes_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_enodes_get")]
  public static extern IntPtr EventConsumer_enodes_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_index_set")]
  public static extern void EventConsumer_node_index_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_index_get")]
  public static extern uint EventConsumer_node_index_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")]
  public static extern IntPtr new_EventConsumer(string jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")]
  public static extern void delete_EventConsumer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_bind")]
  public static extern int EventConsumer_bind(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")]
  public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_cleanup")]
  public static extern void EventConsumer_cleanup(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")]
  public static extern void delete_CoreSession(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")]
  public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")]
  public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")]
  public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")]
  public static extern IntPtr CoreSession_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")]
  public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")]
  public static extern uint CoreSession_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")]
  public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")]
  public static extern int CoreSession_allocated_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")]
  public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")]
  public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")]
  public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")]
  public static extern int CoreSession_HookState_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cause_set")]
  public static extern void CoreSession_cause_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cause_get")]
  public static extern int CoreSession_cause_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")]
  public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")]
  public static extern string CoreSession_uuid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")]
  public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")]
  public static extern string CoreSession_tts_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")]
  public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")]
  public static extern string CoreSession_voice_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_insertFile")]
  public static extern int CoreSession_insertFile(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")]
  public static extern int CoreSession_Answer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")]
  public static extern int CoreSession_preAnswer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")]
  public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_hangupState")]
  public static extern void CoreSession_hangupState(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")]
  public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")]
  public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")]
  public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")]
  public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")]
  public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")]
  public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_hangupCause")]
  public static extern string CoreSession_hangupCause(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getState")]
  public static extern string CoreSession_getState(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")]
  public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_originate")]
  public static extern int CoreSession_originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")]
  public static extern void CoreSession_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")]
  public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")]
  public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_set_tts_params")]
  public static extern void CoreSession_set_tts_params(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits__SWIG_0")]
  public static extern int CoreSession_CollectDigits__SWIG_0(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits__SWIG_1")]
  public static extern int CoreSession_CollectDigits__SWIG_1(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")]
  public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")]
  public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")]
  public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")]
  public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6, int jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")]
  public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")]
  public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")]
  public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")]
  public static extern int CoreSession_flushEvents(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")]
  public static extern int CoreSession_flushDigits(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")]
  public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")]
  public static extern bool CoreSession_Ready(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_bridged")]
  public static extern bool CoreSession_bridged(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")]
  public static extern bool CoreSession_answered(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")]
  public static extern bool CoreSession_mediaReady(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")]
  public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")]
  public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")]
  public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")]
  public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")]
  public static extern string CoreSession_getXMLCDR(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")]
  public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")]
  public static extern bool CoreSession_end_allow_threads(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")]
  public static extern string CoreSession_GetUuid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")]
  public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")]
  public static extern void CoreSession_check_hangup_hook(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_consoleLog")]
  public static extern void CoreSession_consoleLog(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_consoleLog2")]
  public static extern void CoreSession_consoleLog2(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5, string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_console_log")]
  public static extern void console_log(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_console_log2")]
  public static extern void console_log2(string jarg1, string jarg2, string jarg3, int jarg4, string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")]
  public static extern void console_clean_log(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_msleep")]
  public static extern void msleep(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_bridge")]
  public static extern void bridge(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")]
  public static extern int hanguphook(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")]
  public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")]
  public static extern IntPtr new_ManagedSession__SWIG_0();

  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")]
  public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")]
  public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")]
  public static extern void delete_ManagedSession(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_SWIGUpcast")]
  public static extern IntPtr ManagedSession_SWIGUpcast(IntPtr jarg1);
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class icand_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal icand_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(icand_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~icand_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_icand_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string foundation {
    set {
      freeswitchPINVOKE.icand_t_foundation_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.icand_t_foundation_get(swigCPtr);
      return ret;
    } 
  }

  public int component_id {
    set {
      freeswitchPINVOKE.icand_t_component_id_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.icand_t_component_id_get(swigCPtr);
      return ret;
    } 
  }

  public string transport {
    set {
      freeswitchPINVOKE.icand_t_transport_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.icand_t_transport_get(swigCPtr);
      return ret;
    } 
  }

  public uint priority {
    set {
      freeswitchPINVOKE.icand_t_priority_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.icand_t_priority_get(swigCPtr);
      return ret;
    } 
  }

  public string con_addr {
    set {
      freeswitchPINVOKE.icand_t_con_addr_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.icand_t_con_addr_get(swigCPtr);
      return ret;
    } 
  }

  public ushort con_port {
    set {
      freeswitchPINVOKE.icand_t_con_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.icand_t_con_port_get(swigCPtr);
      return ret;
    } 
  }

  public string cand_type {
    set {
      freeswitchPINVOKE.icand_t_cand_type_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.icand_t_cand_type_get(swigCPtr);
      return ret;
    } 
  }

  public string raddr {
    set {
      freeswitchPINVOKE.icand_t_raddr_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.icand_t_raddr_get(swigCPtr);
      return ret;
    } 
  }

  public ushort rport {
    set {
      freeswitchPINVOKE.icand_t_rport_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.icand_t_rport_get(swigCPtr);
      return ret;
    } 
  }

  public string generation {
    set {
      freeswitchPINVOKE.icand_t_generation_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.icand_t_generation_get(swigCPtr);
      return ret;
    } 
  }

  public byte ready {
    set {
      freeswitchPINVOKE.icand_t_ready_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.icand_t_ready_get(swigCPtr);
      return ret;
    } 
  }

  public icand_t() : this(freeswitchPINVOKE.new_icand_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum ice_proto_t {
  IPR_RTP,
  IPR_RTCP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class ice_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal ice_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(ice_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~ice_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_ice_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_a_2__icand_s cands {
    set {
      freeswitchPINVOKE.ice_t_cands_set(swigCPtr, SWIGTYPE_p_a_2__icand_s.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.ice_t_cands_get(swigCPtr);
      SWIGTYPE_p_a_2__icand_s ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_a_2__icand_s(cPtr, false);
      return ret;
    } 
  }

  public int cand_idx {
    set {
      freeswitchPINVOKE.ice_t_cand_idx_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.ice_t_cand_idx_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_int chosen {
    set {
      freeswitchPINVOKE.ice_t_chosen_set(swigCPtr, SWIGTYPE_p_int.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.ice_t_chosen_get(swigCPtr);
      SWIGTYPE_p_int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
      return ret;
    } 
  }

  public string ufrag {
    set {
      freeswitchPINVOKE.ice_t_ufrag_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.ice_t_ufrag_get(swigCPtr);
      return ret;
    } 
  }

  public string pwd {
    set {
      freeswitchPINVOKE.ice_t_pwd_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.ice_t_pwd_get(swigCPtr);
      return ret;
    } 
  }

  public string options {
    set {
      freeswitchPINVOKE.ice_t_options_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.ice_t_options_get(swigCPtr);
      return ret;
    } 
  }

  public ice_t() : this(freeswitchPINVOKE.new_ice_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class input_callback_state_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal input_callback_state_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(input_callback_state_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~input_callback_state_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_void function {
    set {
      freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void threadState {
    set {
      freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void extra {
    set {
      freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public string funcargs {
    set {
      freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr);
      return ret;
    } 
  }

  public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class ip_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal ip_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(ip_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~ip_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_ip_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint v4 {
    set {
      freeswitchPINVOKE.ip_t_v4_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.ip_t_v4_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_in6_addr v6 {
    set {
      freeswitchPINVOKE.ip_t_v6_set(swigCPtr, SWIGTYPE_p_in6_addr.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_in6_addr ret = new SWIGTYPE_p_in6_addr(freeswitchPINVOKE.ip_t_v6_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public ip_t() : this(freeswitchPINVOKE.new_ip_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class IvrMenu : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal IvrMenu(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(IvrMenu obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~IvrMenu() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_IvrMenu(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string transfer_sound, string confirm_macro, string confirm_key, string tts_engine, string tts_voice, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts) : this(freeswitchPINVOKE.new_IvrMenu(IvrMenu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, transfer_sound, confirm_macro, confirm_key, tts_engine, tts_voice, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) {
  }

  public void bindAction(string action, string arg, string bind) {
    freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind);
  }

  public void Execute(CoreSession session, string name) {
    freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name);
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public partial class ManagedSession : CoreSession {
  private HandleRef swigCPtr;

  internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSession_SWIGUpcast(cPtr), cMemoryOwn) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(ManagedSession obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~ManagedSession() {
    Dispose();
  }

  public override void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_ManagedSession(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
      base.Dispose();
    }
  }

  public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) {
  }

  public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) {
  }

  public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class payload_map_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal payload_map_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(payload_map_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~payload_map_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_payload_map_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_media_type_t type {
    set {
      freeswitchPINVOKE.payload_map_t_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_media_type_t ret = (switch_media_type_t)freeswitchPINVOKE.payload_map_t_type_get(swigCPtr);
      return ret;
    } 
  }

  public switch_sdp_type_t sdp_type {
    set {
      freeswitchPINVOKE.payload_map_t_sdp_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_sdp_type_t ret = (switch_sdp_type_t)freeswitchPINVOKE.payload_map_t_sdp_type_get(swigCPtr);
      return ret;
    } 
  }

  public uint ptime {
    set {
      freeswitchPINVOKE.payload_map_t_ptime_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.payload_map_t_ptime_get(swigCPtr);
      return ret;
    } 
  }

  public uint rate {
    set {
      freeswitchPINVOKE.payload_map_t_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.payload_map_t_rate_get(swigCPtr);
      return ret;
    } 
  }

  public byte allocated {
    set {
      freeswitchPINVOKE.payload_map_t_allocated_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.payload_map_t_allocated_get(swigCPtr);
      return ret;
    } 
  }

  public byte negotiated {
    set {
      freeswitchPINVOKE.payload_map_t_negotiated_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.payload_map_t_negotiated_get(swigCPtr);
      return ret;
    } 
  }

  public byte current {
    set {
      freeswitchPINVOKE.payload_map_t_current_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.payload_map_t_current_get(swigCPtr);
      return ret;
    } 
  }

  public uint hash {
    set {
      freeswitchPINVOKE.payload_map_t_hash_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.payload_map_t_hash_get(swigCPtr);
      return ret;
    } 
  }

  public string rm_encoding {
    set {
      freeswitchPINVOKE.payload_map_t_rm_encoding_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.payload_map_t_rm_encoding_get(swigCPtr);
      return ret;
    } 
  }

  public string iananame {
    set {
      freeswitchPINVOKE.payload_map_t_iananame_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.payload_map_t_iananame_get(swigCPtr);
      return ret;
    } 
  }

  public byte pt {
    set {
      freeswitchPINVOKE.payload_map_t_pt_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.payload_map_t_pt_get(swigCPtr);
      return ret;
    } 
  }

  public uint rm_rate {
    set {
      freeswitchPINVOKE.payload_map_t_rm_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.payload_map_t_rm_rate_get(swigCPtr);
      return ret;
    } 
  }

  public uint adv_rm_rate {
    set {
      freeswitchPINVOKE.payload_map_t_adv_rm_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.payload_map_t_adv_rm_rate_get(swigCPtr);
      return ret;
    } 
  }

  public uint codec_ms {
    set {
      freeswitchPINVOKE.payload_map_t_codec_ms_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.payload_map_t_codec_ms_get(swigCPtr);
      return ret;
    } 
  }

  public uint bitrate {
    set {
      freeswitchPINVOKE.payload_map_t_bitrate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.payload_map_t_bitrate_get(swigCPtr);
      return ret;
    } 
  }

  public string rm_fmtp {
    set {
      freeswitchPINVOKE.payload_map_t_rm_fmtp_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.payload_map_t_rm_fmtp_get(swigCPtr);
      return ret;
    } 
  }

  public byte agreed_pt {
    set {
      freeswitchPINVOKE.payload_map_t_agreed_pt_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.payload_map_t_agreed_pt_get(swigCPtr);
      return ret;
    } 
  }

  public byte recv_pt {
    set {
      freeswitchPINVOKE.payload_map_t_recv_pt_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.payload_map_t_recv_pt_get(swigCPtr);
      return ret;
    } 
  }

  public string fmtp_out {
    set {
      freeswitchPINVOKE.payload_map_t_fmtp_out_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.payload_map_t_fmtp_out_get(swigCPtr);
      return ret;
    } 
  }

  public string remote_sdp_ip {
    set {
      freeswitchPINVOKE.payload_map_t_remote_sdp_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.payload_map_t_remote_sdp_ip_get(swigCPtr);
      return ret;
    } 
  }

  public ushort remote_sdp_port {
    set {
      freeswitchPINVOKE.payload_map_t_remote_sdp_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.payload_map_t_remote_sdp_port_get(swigCPtr);
      return ret;
    } 
  }

  public int channels {
    set {
      freeswitchPINVOKE.payload_map_t_channels_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.payload_map_t_channels_get(swigCPtr);
      return ret;
    } 
  }

  public int adv_channels {
    set {
      freeswitchPINVOKE.payload_map_t_adv_channels_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.payload_map_t_adv_channels_get(swigCPtr);
      return ret;
    } 
  }

  public payload_map_t next {
    set {
      freeswitchPINVOKE.payload_map_t_next_set(swigCPtr, payload_map_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.payload_map_t_next_get(swigCPtr);
      payload_map_t ret = (cPtr == IntPtr.Zero) ? null : new payload_map_t(cPtr, false);
      return ret;
    } 
  }

  public payload_map_t() : this(freeswitchPINVOKE.new_payload_map_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class profile_node_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal profile_node_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(profile_node_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~profile_node_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_profile_node_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string var {
    set {
      freeswitchPINVOKE.profile_node_t_var_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.profile_node_t_var_get(swigCPtr);
      return ret;
    } 
  }

  public string val {
    set {
      freeswitchPINVOKE.profile_node_t_val_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.profile_node_t_val_get(swigCPtr);
      return ret;
    } 
  }

  public profile_node_t next {
    set {
      freeswitchPINVOKE.profile_node_t_next_set(swigCPtr, profile_node_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.profile_node_t_next_get(swigCPtr);
      profile_node_t ret = (cPtr == IntPtr.Zero) ? null : new profile_node_t(cPtr, false);
      return ret;
    } 
  }

  public profile_node_t() : this(freeswitchPINVOKE.new_profile_node_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum session_flag_t {
  S_HUP = (1 << 0),
  S_FREE = (1 << 1),
  S_RDLOCK = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public partial class Stream : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal Stream(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(Stream obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~Stream() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_Stream(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) {
  }

  public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) {
  }

  public string read(SWIGTYPE_p_int len) {
    string ret = freeswitchPINVOKE.Stream_read(swigCPtr, SWIGTYPE_p_int.getCPtr(len));
    return ret;
  }

  public void Write(string data) {
    freeswitchPINVOKE.Stream_Write(swigCPtr, data);
  }

  public void raw_write(string data, int len) {
    freeswitchPINVOKE.Stream_raw_write(swigCPtr, data, len);
  }

  public string get_data() {
    string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr);
    return ret;
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_apr_pool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_apr_pool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_apr_pool_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_a_2__icand_s {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_a_2__icand_s(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_a_2__icand_s() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_a_2__icand_s obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_cJSON {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_cJSON(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_cJSON() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_cJSON obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_FILE {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_FILE() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_FILE obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_float {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_float() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_float obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_codec__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_void__p_void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_void__p_void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_void__p_void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void__p_void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session__int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session__int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session__int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__int obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_event__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_event__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_event__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_event__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_media_bug_p_void__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_media_bug_p_void__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_media_bug_p_void__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_scheduler_task__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_scheduler_task__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_timer__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_void_p_q_const__char__int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void_p_q_const__char__int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void_p_q_const__char__int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_p_q_const__char__int obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_void_p_switch_event__int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void_p_switch_event__int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void_p_switch_event__int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_p_switch_event__int obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_void__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_void__p_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_void__p_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_void__p_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_void__p_char obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_void__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_void__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_in6_addr {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_in6_addr(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_in6_addr() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_in6_addr obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_int obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_pid_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_pid_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_pid_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_pid_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_apr_pool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_apr_pool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_apr_pool_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_char obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_cJSON {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_cJSON(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_cJSON() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_cJSON obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_payload_map_s {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_payload_map_s(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_payload_map_s() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_payload_map_s obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_p_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_p_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_real_pcre {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_real_pcre() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_sqlite3 {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_sqlite3() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_sqlite3_stmt {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_sqlite3_stmt() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_audio_resampler_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_audio_resampler_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_buffer {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_buffer() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_cache_db_handle {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_cache_db_handle(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_cache_db_handle() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_cache_db_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_caller_extension {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_caller_extension() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_channel {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_channel() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_codec_implementation {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_codec_implementation(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_codec_implementation() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_codec_implementation obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_console_callback_match {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_console_callback_match(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_console_callback_match() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_console_callback_match obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_core_port_allocator {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_port_allocator() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_core_session {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_session() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_core_session_message {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_session_message() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_device_record_s {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_device_record_s(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_device_record_s() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_device_record_s obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_event {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_event() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_event_node {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_event_node() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_file_handle {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_file_handle(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_file_handle() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_file_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_frame {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_frame() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_hashtable {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_hashtable(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_hashtable() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hashtable obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_hashtable_iterator {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_hashtable_iterator(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_hashtable_iterator() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hashtable_iterator obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_digit_stream {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_digit_stream() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_dmachine {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_dmachine(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_dmachine() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_dmachine obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_dmachine_match {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_dmachine_match(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_dmachine_match() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_dmachine_match obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_menu {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_menu() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_live_array_s {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_live_array_s(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_live_array_s() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_live_array_s obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_log_node_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_log_node_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_log_node_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_log_node_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_media_bug {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_media_bug() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_network_list {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_network_list() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_rtp {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_rtp() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_say_file_handle {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_say_file_handle(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_say_file_handle() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_say_file_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_sql_queue_manager {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_sql_queue_manager(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_sql_queue_manager() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_sql_queue_manager obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_thread_data_s {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_thread_data_s(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_thread_data_s() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_thread_data_s obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_xml {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_xml() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_xml_binding {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_xml_binding() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_p_void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_real_pcre {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_real_pcre() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_short {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_short() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_short obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_sockaddr {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sockaddr() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_sockaddr_in6 {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_sockaddr_in6(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sockaddr_in6() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr_in6 obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_socklen_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_socklen_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_sqlite3 {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sqlite3() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_sqlite3_stmt {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sqlite3_stmt() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_stfu_instance_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_stfu_instance_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_stfu_instance_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_stfu_instance_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_buffer {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_buffer() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_cache_db_handle {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_cache_db_handle(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_cache_db_handle() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_cache_db_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_call_cause_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_call_cause_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_channel {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_channel() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_core_port_allocator {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_core_port_allocator() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_core_session {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_core_session() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_event_types_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_event_types_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_file_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_file_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_hashtable {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_hashtable(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_hashtable() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_hashtable obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_hashtable_iterator {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_hashtable_iterator(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_hashtable_iterator() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_hashtable_iterator obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_interval_time_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_interval_time_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_interval_time_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_interval_time_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_action_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_action_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_digit_stream {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_digit_stream() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_digit_stream_parser {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_digit_stream_parser() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_dmachine {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_dmachine(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_dmachine() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_dmachine obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_menu {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_menu() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_menu_xml_ctx {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_live_array_s {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_live_array_s(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_live_array_s() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_live_array_s obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_media_bug {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_media_bug() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_mutex_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_mutex_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_network_list {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_network_list() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_odbc_handle {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_odbc_handle(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_odbc_handle() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_odbc_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_pgsql_handle {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_pgsql_handle(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_pgsql_handle() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_pgsql_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_pollfd_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_pollfd_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_queue_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_queue_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_rtcp_frame {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_rtcp_frame(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_rtcp_frame() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtcp_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_rtp {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_rtp() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_rtp_flag_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_rtp_flag_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_rtp_flag_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp_flag_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_say_file_handle {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_say_file_handle(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_say_file_handle() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_say_file_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_size_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_size_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_sockaddr_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_sockaddr_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_socket_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_socket_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_sql_queue_manager {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_sql_queue_manager(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_sql_queue_manager() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_sql_queue_manager obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ssize_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ssize_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_thread_rwlock_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_thread_rwlock_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_thread_start_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_thread_start_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_thread_start_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_start_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_time_exp_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_time_exp_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_time_exp_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_exp_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_time_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_time_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_xml_binding {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_xml_binding(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_xml_binding() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_switch_xml_binding obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_time_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_time_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_time_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_long {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_long() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_short {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_short() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

  internal static HandleRef getCPtr(SWIGTYPE_p_void obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_abc_type_t {
  SWITCH_ABC_TYPE_INIT,
  SWITCH_ABC_TYPE_READ,
  SWITCH_ABC_TYPE_WRITE,
  SWITCH_ABC_TYPE_WRITE_REPLACE,
  SWITCH_ABC_TYPE_READ_REPLACE,
  SWITCH_ABC_TYPE_READ_PING,
  SWITCH_ABC_TYPE_TAP_NATIVE_READ,
  SWITCH_ABC_TYPE_TAP_NATIVE_WRITE,
  SWITCH_ABC_TYPE_CLOSE
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_api_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_api_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_api_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_api_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_api_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_api_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_api_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public string desc {
    set {
      freeswitchPINVOKE.switch_api_interface_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_api_interface_desc_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t function {
    set {
      freeswitchPINVOKE.switch_api_interface_function_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_function_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public string syntax {
    set {
      freeswitchPINVOKE.switch_api_interface_syntax_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_api_interface_syntax_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_api_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_api_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_api_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_api_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_api_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_api_interface next {
    set {
      freeswitchPINVOKE.switch_api_interface_next_set(swigCPtr, switch_api_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_next_get(swigCPtr);
      switch_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_api_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_api_interface() : this(freeswitchPINVOKE.new_switch_api_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_application_flag_enum_t {
  SAF_NONE = 0,
  SAF_SUPPORT_NOMEDIA = (1 << 0),
  SAF_ROUTING_EXEC = (1 << 1),
  SAF_MEDIA_TAP = (1 << 2),
  SAF_ZOMBIE_EXEC = (1 << 3),
  SAF_NO_LOOPBACK = (1 << 4)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_application_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_application_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_application_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_application_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_application_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_application_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
    set {
      freeswitchPINVOKE.switch_application_interface_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_application_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
      return ret;
    } 
  }

  public string long_desc {
    set {
      freeswitchPINVOKE.switch_application_interface_long_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_long_desc_get(swigCPtr);
      return ret;
    } 
  }

  public string short_desc {
    set {
      freeswitchPINVOKE.switch_application_interface_short_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_short_desc_get(swigCPtr);
      return ret;
    } 
  }

  public string syntax {
    set {
      freeswitchPINVOKE.switch_application_interface_syntax_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_syntax_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_application_interface_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_application_interface_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_application_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_application_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_application_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_application_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_application_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_application_interface next {
    set {
      freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr);
      switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_app_log : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_app_log(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_app_log obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_app_log() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_app_log(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string app {
    set {
      freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr);
      return ret;
    } 
  }

  public string arg {
    set {
      freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t stamp {
    set {
      freeswitchPINVOKE.switch_app_log_stamp_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_app_log_stamp_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_app_log next {
    set {
      freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr);
      switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
      return ret;
    } 
  }

  public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_asr_flag_enum_t {
  SWITCH_ASR_FLAG_NONE = 0,
  SWITCH_ASR_FLAG_DATA = (1 << 0),
  SWITCH_ASR_FLAG_FREE_POOL = (1 << 1),
  SWITCH_ASR_FLAG_CLOSED = (1 << 2),
  SWITCH_ASR_FLAG_FIRE_EVENTS = (1 << 3),
  SWITCH_ASR_FLAG_AUTO_RESUME = (1 << 4)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_asr_handle : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_asr_handle(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_asr_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_asr_handle() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_asr_handle(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_asr_interface asr_interface {
    set {
      freeswitchPINVOKE.switch_asr_handle_asr_interface_set(swigCPtr, switch_asr_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_asr_interface_get(swigCPtr);
      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_asr_handle_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_asr_handle_flags_get(swigCPtr);
      return ret;
    } 
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_asr_handle_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_name_get(swigCPtr);
      return ret;
    } 
  }

  public string codec {
    set {
      freeswitchPINVOKE.switch_asr_handle_codec_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_codec_get(swigCPtr);
      return ret;
    } 
  }

  public uint rate {
    set {
      freeswitchPINVOKE.switch_asr_handle_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_asr_handle_rate_get(swigCPtr);
      return ret;
    } 
  }

  public string grammar {
    set {
      freeswitchPINVOKE.switch_asr_handle_grammar_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_grammar_get(swigCPtr);
      return ret;
    } 
  }

  public string param {
    set {
      freeswitchPINVOKE.switch_asr_handle_param_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_param_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_asr_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer buffer {
    set {
      freeswitchPINVOKE.switch_asr_handle_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char dbuf {
    set {
      freeswitchPINVOKE.switch_asr_handle_dbuf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t dbuflen {
    set {
      freeswitchPINVOKE.switch_asr_handle_dbuflen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_asr_handle_dbuflen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_audio_resampler_t resampler {
    set {
      freeswitchPINVOKE.switch_asr_handle_resampler_set(swigCPtr, switch_audio_resampler_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == IntPtr.Zero) ? null : new switch_audio_resampler_t(cPtr, false);
      return ret;
    } 
  }

  public uint samplerate {
    set {
      freeswitchPINVOKE.switch_asr_handle_samplerate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_asr_handle_samplerate_get(swigCPtr);
      return ret;
    } 
  }

  public uint native_rate {
    set {
      freeswitchPINVOKE.switch_asr_handle_native_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_asr_handle_native_rate_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_asr_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_handle() : this(freeswitchPINVOKE.new_switch_asr_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_asr_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_asr_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_asr_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_asr_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_asr_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_asr_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t asr_open {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t asr_load_grammar {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t asr_unload_grammar {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_close {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t asr_feed {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_feed_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_feed_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_resume {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_resume_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_resume_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_pause {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_pause_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_pause_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_check_results {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_check_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_check_results_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t asr_get_results {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_get_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_get_results_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t asr_get_result_headers {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_get_result_headers_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_get_result_headers_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_start_input_timers {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_start_input_timers_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_start_input_timers_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void asr_text_param {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_text_param_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_text_param_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void asr_numeric_param {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_numeric_param_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_numeric_param_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void asr_float_param {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_float_param_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_float_param_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_asr_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_asr_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_asr_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_asr_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_asr_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_interface next {
    set {
      freeswitchPINVOKE.switch_asr_interface_next_set(swigCPtr, switch_asr_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_next_get(swigCPtr);
      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t asr_enable_grammar {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_enable_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_enable_grammar_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t asr_disable_grammar {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_disable_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_disable_grammar_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_disable_all_grammars {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_disable_all_grammars_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_disable_all_grammars_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t asr_feed_dtmf {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_feed_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_feed_dtmf_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_interface() : this(freeswitchPINVOKE.new_switch_asr_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_audio_col_t {
  SWITCH_AUDIO_COL_STR_TITLE = 0x01,
  SWITCH_AUDIO_COL_STR_COPYRIGHT = 0x02,
  SWITCH_AUDIO_COL_STR_SOFTWARE = 0x03,
  SWITCH_AUDIO_COL_STR_ARTIST = 0x04,
  SWITCH_AUDIO_COL_STR_COMMENT = 0x05,
  SWITCH_AUDIO_COL_STR_DATE = 0x06
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_audio_resampler_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_audio_resampler_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_audio_resampler_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_audio_resampler_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_audio_resampler_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_void resampler {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_resampler_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_resampler_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public int from_rate {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_from_rate_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_audio_resampler_t_from_rate_get(swigCPtr);
      return ret;
    } 
  }

  public int to_rate {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_rate_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_audio_resampler_t_to_rate_get(swigCPtr);
      return ret;
    } 
  }

  public double factor {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_factor_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_audio_resampler_t_factor_get(swigCPtr);
      return ret;
    } 
  }

  public double rfactor {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_rfactor_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_audio_resampler_t_rfactor_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_short to {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_set(swigCPtr, SWIGTYPE_p_short.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_to_get(swigCPtr);
      SWIGTYPE_p_short ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_short(cPtr, false);
      return ret;
    } 
  }

  public uint to_len {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_len_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_len_get(swigCPtr);
      return ret;
    } 
  }

  public uint to_size {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_size_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_size_get(swigCPtr);
      return ret;
    } 
  }

  public int channels {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_channels_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_audio_resampler_t_channels_get(swigCPtr);
      return ret;
    } 
  }

  public switch_audio_resampler_t() : this(freeswitchPINVOKE.new_switch_audio_resampler_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_bind_flag_enum_t {
  SBF_DIAL_ALEG = (1 << 0),
  SBF_EXEC_ALEG = (1 << 1),
  SBF_DIAL_BLEG = (1 << 2),
  SBF_EXEC_BLEG = (1 << 3),
  SBF_EXEC_OPPOSITE = (1 << 4),
  SBF_EXEC_SAME = (1 << 5),
  SBF_ONCE = (1 << 6),
  SBF_EXEC_INLINE = (1 << 7)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_bitpack_mode_t {
  SWITCH_BITPACK_MODE_RFC3551,
  SWITCH_BITPACK_MODE_AAL2
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_bitpack_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_bitpack_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_bitpack_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_bitpack_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_bitpack_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_unsigned_char buf {
    set {
      freeswitchPINVOKE.switch_bitpack_t_buf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_buf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public uint buflen {
    set {
      freeswitchPINVOKE.switch_bitpack_t_buflen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_bitpack_t_buflen_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char cur {
    set {
      freeswitchPINVOKE.switch_bitpack_t_cur_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_cur_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public uint bytes {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bytes_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_bitpack_t_bytes_get(swigCPtr);
      return ret;
    } 
  }

  public uint bits_tot {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bits_tot_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_bitpack_t_bits_tot_get(swigCPtr);
      return ret;
    } 
  }

  public byte bits_cur {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bits_cur_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_cur_get(swigCPtr);
      return ret;
    } 
  }

  public byte bits_rem {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bits_rem_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_rem_get(swigCPtr);
      return ret;
    } 
  }

  public byte frame_bits {
    set {
      freeswitchPINVOKE.switch_bitpack_t_frame_bits_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_frame_bits_get(swigCPtr);
      return ret;
    } 
  }

  public byte shiftby {
    set {
      freeswitchPINVOKE.switch_bitpack_t_shiftby_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_shiftby_get(swigCPtr);
      return ret;
    } 
  }

  public byte this_byte {
    set {
      freeswitchPINVOKE.switch_bitpack_t_this_byte_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_this_byte_get(swigCPtr);
      return ret;
    } 
  }

  public byte under {
    set {
      freeswitchPINVOKE.switch_bitpack_t_under_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_under_get(swigCPtr);
      return ret;
    } 
  }

  public byte over {
    set {
      freeswitchPINVOKE.switch_bitpack_t_over_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_over_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bitpack_mode_t mode {
    set {
      freeswitchPINVOKE.switch_bitpack_t_mode_set(swigCPtr, (int)value);
    } 
    get {
      switch_bitpack_mode_t ret = (switch_bitpack_mode_t)freeswitchPINVOKE.switch_bitpack_t_mode_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bitpack_t() : this(freeswitchPINVOKE.new_switch_bitpack_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_bool_t {
  SWITCH_FALSE = 0,
  SWITCH_TRUE = 1
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_cache_db_connection_options_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_connection_options_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_cache_db_connection_options_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_cache_db_connection_options_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_connection_options_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_cache_db_core_db_options_t core_db_options {
    set {
      freeswitchPINVOKE.switch_cache_db_connection_options_t_core_db_options_set(swigCPtr, switch_cache_db_core_db_options_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_connection_options_t_core_db_options_get(swigCPtr);
      switch_cache_db_core_db_options_t ret = (cPtr == IntPtr.Zero) ? null : new switch_cache_db_core_db_options_t(cPtr, false);
      return ret;
    } 
  }

  public switch_cache_db_odbc_options_t odbc_options {
    set {
      freeswitchPINVOKE.switch_cache_db_connection_options_t_odbc_options_set(swigCPtr, switch_cache_db_odbc_options_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_connection_options_t_odbc_options_get(swigCPtr);
      switch_cache_db_odbc_options_t ret = (cPtr == IntPtr.Zero) ? null : new switch_cache_db_odbc_options_t(cPtr, false);
      return ret;
    } 
  }

  public switch_cache_db_pgsql_options_t pgsql_options {
    set {
      freeswitchPINVOKE.switch_cache_db_connection_options_t_pgsql_options_set(swigCPtr, switch_cache_db_pgsql_options_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_connection_options_t_pgsql_options_get(swigCPtr);
      switch_cache_db_pgsql_options_t ret = (cPtr == IntPtr.Zero) ? null : new switch_cache_db_pgsql_options_t(cPtr, false);
      return ret;
    } 
  }

  public switch_cache_db_connection_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_connection_options_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_cache_db_core_db_options_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_core_db_options_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_cache_db_core_db_options_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_cache_db_core_db_options_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_core_db_options_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string db_path {
    set {
      freeswitchPINVOKE.switch_cache_db_core_db_options_t_db_path_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_core_db_options_t_db_path_get(swigCPtr);
      return ret;
    } 
  }

  public switch_cache_db_core_db_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_core_db_options_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_cache_db_handle_type_t {
  SCDB_TYPE_CORE_DB,
  SCDB_TYPE_ODBC,
  SCDB_TYPE_PGSQL
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_cache_db_native_handle_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_native_handle_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_cache_db_native_handle_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_cache_db_native_handle_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_native_handle_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_sqlite3 core_db_dbh {
    set {
      freeswitchPINVOKE.switch_cache_db_native_handle_t_core_db_dbh_set(swigCPtr, SWIGTYPE_p_sqlite3.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_native_handle_t_core_db_dbh_get(swigCPtr);
      SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_odbc_handle odbc_dbh {
    set {
      freeswitchPINVOKE.switch_cache_db_native_handle_t_odbc_dbh_set(swigCPtr, SWIGTYPE_p_switch_odbc_handle.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_native_handle_t_odbc_dbh_get(swigCPtr);
      SWIGTYPE_p_switch_odbc_handle ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_odbc_handle(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_pgsql_handle pgsql_dbh {
    set {
      freeswitchPINVOKE.switch_cache_db_native_handle_t_pgsql_dbh_set(swigCPtr, SWIGTYPE_p_switch_pgsql_handle.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_native_handle_t_pgsql_dbh_get(swigCPtr);
      SWIGTYPE_p_switch_pgsql_handle ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_pgsql_handle(cPtr, false);
      return ret;
    } 
  }

  public switch_cache_db_native_handle_t() : this(freeswitchPINVOKE.new_switch_cache_db_native_handle_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_cache_db_odbc_options_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_odbc_options_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_cache_db_odbc_options_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_cache_db_odbc_options_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_odbc_options_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string dsn {
    set {
      freeswitchPINVOKE.switch_cache_db_odbc_options_t_dsn_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_odbc_options_t_dsn_get(swigCPtr);
      return ret;
    } 
  }

  public string user {
    set {
      freeswitchPINVOKE.switch_cache_db_odbc_options_t_user_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_odbc_options_t_user_get(swigCPtr);
      return ret;
    } 
  }

  public string pass {
    set {
      freeswitchPINVOKE.switch_cache_db_odbc_options_t_pass_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_odbc_options_t_pass_get(swigCPtr);
      return ret;
    } 
  }

  public switch_cache_db_odbc_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_odbc_options_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_cache_db_pgsql_options_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_pgsql_options_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_cache_db_pgsql_options_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_cache_db_pgsql_options_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_pgsql_options_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string dsn {
    set {
      freeswitchPINVOKE.switch_cache_db_pgsql_options_t_dsn_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_pgsql_options_t_dsn_get(swigCPtr);
      return ret;
    } 
  }

  public switch_cache_db_pgsql_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_pgsql_options_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_caller_application : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_caller_application(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_caller_application obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_caller_application() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_caller_application(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string application_name {
    set {
      freeswitchPINVOKE.switch_caller_application_application_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_application_application_name_get(swigCPtr);
      return ret;
    } 
  }

  public string application_data {
    set {
      freeswitchPINVOKE.switch_caller_application_application_data_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_application_application_data_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
    set {
      freeswitchPINVOKE.switch_caller_application_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_application_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application next {
    set {
      freeswitchPINVOKE.switch_caller_application_next_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_next_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application() : this(freeswitchPINVOKE.new_switch_caller_application(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_caller_extension : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_caller_extension(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_caller_extension obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_caller_extension() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_caller_extension(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string extension_name {
    set {
      freeswitchPINVOKE.switch_caller_extension_extension_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_extension_extension_name_get(swigCPtr);
      return ret;
    } 
  }

  public string extension_number {
    set {
      freeswitchPINVOKE.switch_caller_extension_extension_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_extension_extension_number_get(swigCPtr);
      return ret;
    } 
  }

  public switch_caller_application current_application {
    set {
      freeswitchPINVOKE.switch_caller_extension_current_application_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_current_application_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application last_application {
    set {
      freeswitchPINVOKE.switch_caller_extension_last_application_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_last_application_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application applications {
    set {
      freeswitchPINVOKE.switch_caller_extension_applications_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_applications_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile children {
    set {
      freeswitchPINVOKE.switch_caller_extension_children_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_children_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_extension next {
    set {
      freeswitchPINVOKE.switch_caller_extension_next_set(swigCPtr, switch_caller_extension.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_next_get(swigCPtr);
      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_extension() : this(freeswitchPINVOKE.new_switch_caller_extension(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_caller_profile : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_caller_profile(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_caller_profile obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_caller_profile() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_caller_profile(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string username {
    set {
      freeswitchPINVOKE.switch_caller_profile_username_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_username_get(swigCPtr);
      return ret;
    } 
  }

  public string dialplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_dialplan_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_dialplan_get(swigCPtr);
      return ret;
    } 
  }

  public string caller_id_name {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_id_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_name_get(swigCPtr);
      return ret;
    } 
  }

  public string caller_id_number {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_id_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_number_get(swigCPtr);
      return ret;
    } 
  }

  public string orig_caller_id_name {
    set {
      freeswitchPINVOKE.switch_caller_profile_orig_caller_id_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_orig_caller_id_name_get(swigCPtr);
      return ret;
    } 
  }

  public string orig_caller_id_number {
    set {
      freeswitchPINVOKE.switch_caller_profile_orig_caller_id_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_orig_caller_id_number_get(swigCPtr);
      return ret;
    } 
  }

  public string callee_id_name {
    set {
      freeswitchPINVOKE.switch_caller_profile_callee_id_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_callee_id_name_get(swigCPtr);
      return ret;
    } 
  }

  public string callee_id_number {
    set {
      freeswitchPINVOKE.switch_caller_profile_callee_id_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_callee_id_number_get(swigCPtr);
      return ret;
    } 
  }

  public byte caller_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte caller_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string network_addr {
    set {
      freeswitchPINVOKE.switch_caller_profile_network_addr_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_network_addr_get(swigCPtr);
      return ret;
    } 
  }

  public string ani {
    set {
      freeswitchPINVOKE.switch_caller_profile_ani_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_ani_get(swigCPtr);
      return ret;
    } 
  }

  public byte ani_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_ani_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte ani_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_ani_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string aniii {
    set {
      freeswitchPINVOKE.switch_caller_profile_aniii_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_aniii_get(swigCPtr);
      return ret;
    } 
  }

  public string rdnis {
    set {
      freeswitchPINVOKE.switch_caller_profile_rdnis_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_rdnis_get(swigCPtr);
      return ret;
    } 
  }

  public byte rdnis_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_rdnis_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte rdnis_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string destination_number {
    set {
      freeswitchPINVOKE.switch_caller_profile_destination_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_destination_number_get(swigCPtr);
      return ret;
    } 
  }

  public byte destination_number_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_destination_number_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte destination_number_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string source {
    set {
      freeswitchPINVOKE.switch_caller_profile_source_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_source_get(swigCPtr);
      return ret;
    } 
  }

  public string chan_name {
    set {
      freeswitchPINVOKE.switch_caller_profile_chan_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_chan_name_get(swigCPtr);
      return ret;
    } 
  }

  public string uuid {
    set {
      freeswitchPINVOKE.switch_caller_profile_uuid_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_uuid_get(swigCPtr);
      return ret;
    } 
  }

  public string context {
    set {
      freeswitchPINVOKE.switch_caller_profile_context_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_context_get(swigCPtr);
      return ret;
    } 
  }

  public string profile_index {
    set {
      freeswitchPINVOKE.switch_caller_profile_profile_index_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_profile_index_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_caller_profile_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_caller_profile_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_caller_profile originator_caller_profile {
    set {
      freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile originatee_caller_profile {
    set {
      freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile origination_caller_profile {
    set {
      freeswitchPINVOKE.switch_caller_profile_origination_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_origination_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile hunt_caller_profile {
    set {
      freeswitchPINVOKE.switch_caller_profile_hunt_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_hunt_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_timetable times {
    set {
      freeswitchPINVOKE.switch_caller_profile_times_set(swigCPtr, switch_channel_timetable.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_times_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_timetable old_times {
    set {
      freeswitchPINVOKE.switch_caller_profile_old_times_set(swigCPtr, switch_channel_timetable.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_old_times_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_extension caller_extension {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_extension_set(swigCPtr, switch_caller_extension.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_caller_extension_get(swigCPtr);
      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_caller_profile_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile next {
    set {
      freeswitchPINVOKE.switch_caller_profile_next_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_next_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_call_direction_t direction {
    set {
      freeswitchPINVOKE.switch_caller_profile_direction_set(swigCPtr, (int)value);
    } 
    get {
      switch_call_direction_t ret = (switch_call_direction_t)freeswitchPINVOKE.switch_caller_profile_direction_get(swigCPtr);
      return ret;
    } 
  }

  public switch_call_direction_t logical_direction {
    set {
      freeswitchPINVOKE.switch_caller_profile_logical_direction_set(swigCPtr, (int)value);
    } 
    get {
      switch_call_direction_t ret = (switch_call_direction_t)freeswitchPINVOKE.switch_caller_profile_logical_direction_get(swigCPtr);
      return ret;
    } 
  }

  public profile_node_t soft {
    set {
      freeswitchPINVOKE.switch_caller_profile_soft_set(swigCPtr, profile_node_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_soft_get(swigCPtr);
      profile_node_t ret = (cPtr == IntPtr.Zero) ? null : new profile_node_t(cPtr, false);
      return ret;
    } 
  }

  public string uuid_str {
    set {
      freeswitchPINVOKE.switch_caller_profile_uuid_str_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_uuid_str_get(swigCPtr);
      return ret;
    } 
  }

  public string clone_of {
    set {
      freeswitchPINVOKE.switch_caller_profile_clone_of_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_clone_of_get(swigCPtr);
      return ret;
    } 
  }

  public string transfer_source {
    set {
      freeswitchPINVOKE.switch_caller_profile_transfer_source_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_transfer_source_get(swigCPtr);
      return ret;
    } 
  }

  public switch_caller_profile() : this(freeswitchPINVOKE.new_switch_caller_profile(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_caller_profile_flag_enum_t {
  SWITCH_CPF_NONE = 0,
  SWITCH_CPF_SCREEN = (1 << 0),
  SWITCH_CPF_HIDE_NAME = (1 << 1),
  SWITCH_CPF_HIDE_NUMBER = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_call_cause_t {
  SWITCH_CAUSE_NONE = 0,
  SWITCH_CAUSE_UNALLOCATED_NUMBER = 1,
  SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET = 2,
  SWITCH_CAUSE_NO_ROUTE_DESTINATION = 3,
  SWITCH_CAUSE_CHANNEL_UNACCEPTABLE = 6,
  SWITCH_CAUSE_CALL_AWARDED_DELIVERED = 7,
  SWITCH_CAUSE_NORMAL_CLEARING = 16,
  SWITCH_CAUSE_USER_BUSY = 17,
  SWITCH_CAUSE_NO_USER_RESPONSE = 18,
  SWITCH_CAUSE_NO_ANSWER = 19,
  SWITCH_CAUSE_SUBSCRIBER_ABSENT = 20,
  SWITCH_CAUSE_CALL_REJECTED = 21,
  SWITCH_CAUSE_NUMBER_CHANGED = 22,
  SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23,
  SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR = 25,
  SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER = 27,
  SWITCH_CAUSE_INVALID_NUMBER_FORMAT = 28,
  SWITCH_CAUSE_FACILITY_REJECTED = 29,
  SWITCH_CAUSE_RESPONSE_TO_STATUS_ENQUIRY = 30,
  SWITCH_CAUSE_NORMAL_UNSPECIFIED = 31,
  SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION = 34,
  SWITCH_CAUSE_NETWORK_OUT_OF_ORDER = 38,
  SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE = 41,
  SWITCH_CAUSE_SWITCH_CONGESTION = 42,
  SWITCH_CAUSE_ACCESS_INFO_DISCARDED = 43,
  SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL = 44,
  SWITCH_CAUSE_PRE_EMPTED = 45,
  SWITCH_CAUSE_FACILITY_NOT_SUBSCRIBED = 50,
  SWITCH_CAUSE_OUTGOING_CALL_BARRED = 52,
  SWITCH_CAUSE_INCOMING_CALL_BARRED = 54,
  SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH = 57,
  SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58,
  SWITCH_CAUSE_SERVICE_UNAVAILABLE = 63,
  SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL = 65,
  SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED = 66,
  SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED = 69,
  SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED = 79,
  SWITCH_CAUSE_INVALID_CALL_REFERENCE = 81,
  SWITCH_CAUSE_INCOMPATIBLE_DESTINATION = 88,
  SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED = 95,
  SWITCH_CAUSE_MANDATORY_IE_MISSING = 96,
  SWITCH_CAUSE_MESSAGE_TYPE_NONEXIST = 97,
  SWITCH_CAUSE_WRONG_MESSAGE = 98,
  SWITCH_CAUSE_IE_NONEXIST = 99,
  SWITCH_CAUSE_INVALID_IE_CONTENTS = 100,
  SWITCH_CAUSE_WRONG_CALL_STATE = 101,
  SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE = 102,
  SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103,
  SWITCH_CAUSE_PROTOCOL_ERROR = 111,
  SWITCH_CAUSE_INTERWORKING = 127,
  SWITCH_CAUSE_SUCCESS = 142,
  SWITCH_CAUSE_ORIGINATOR_CANCEL = 487,
  SWITCH_CAUSE_CRASH = 500,
  SWITCH_CAUSE_SYSTEM_SHUTDOWN = 501,
  SWITCH_CAUSE_LOSE_RACE = 502,
  SWITCH_CAUSE_MANAGER_REQUEST = 503,
  SWITCH_CAUSE_BLIND_TRANSFER = 600,
  SWITCH_CAUSE_ATTENDED_TRANSFER = 601,
  SWITCH_CAUSE_ALLOTTED_TIMEOUT = 602,
  SWITCH_CAUSE_USER_CHALLENGE = 603,
  SWITCH_CAUSE_MEDIA_TIMEOUT = 604,
  SWITCH_CAUSE_PICKED_OFF = 605,
  SWITCH_CAUSE_USER_NOT_REGISTERED = 606,
  SWITCH_CAUSE_PROGRESS_TIMEOUT = 607,
  SWITCH_CAUSE_INVALID_GATEWAY = 608,
  SWITCH_CAUSE_GATEWAY_DOWN = 609,
  SWITCH_CAUSE_INVALID_URL = 610,
  SWITCH_CAUSE_INVALID_PROFILE = 611,
  SWITCH_CAUSE_NO_PICKUP = 612,
  SWITCH_CAUSE_SRTP_READ_ERROR = 613
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_call_direction_t {
  SWITCH_CALL_DIRECTION_INBOUND,
  SWITCH_CALL_DIRECTION_OUTBOUND
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_channel_app_flag_t {
  CF_APP_TAGGED = (1 << 0),
  CF_APP_T38 = (1 << 1),
  CF_APP_T38_REQ = (1 << 2),
  CF_APP_T38_FAIL = (1 << 3),
  CF_APP_T38_NEGOTIATED = (1 << 4)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_channel_callstate_t {
  CCS_DOWN,
  CCS_DIALING,
  CCS_RINGING,
  CCS_EARLY,
  CCS_ACTIVE,
  CCS_HELD,
  CCS_RING_WAIT,
  CCS_HANGUP,
  CCS_UNHELD
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_channel_cap_t {
  CC_MEDIA_ACK = 1,
  CC_BYPASS_MEDIA,
  CC_PROXY_MEDIA,
  CC_JITTERBUFFER,
  CC_FS_RTP,
  CC_QUEUEABLE_DTMF_DELAY,
  CC_FLAG_MAX
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_channel_flag_t {
  CF_ANSWERED = 1,
  CF_OUTBOUND,
  CF_EARLY_MEDIA,
  CF_BRIDGE_ORIGINATOR,
  CF_UUID_BRIDGE_ORIGINATOR,
  CF_TRANSFER,
  CF_ACCEPT_CNG,
  CF_REDIRECT,
  CF_BRIDGED,
  CF_HOLD,
  CF_SERVICE,
  CF_TAGGED,
  CF_WINNER,
  CF_CONTROLLED,
  CF_PROXY_MODE,
  CF_SUSPEND,
  CF_EVENT_PARSE,
  CF_GEN_RINGBACK,
  CF_RING_READY,
  CF_BREAK,
  CF_BROADCAST,
  CF_UNICAST,
  CF_VIDEO,
  CF_EVENT_LOCK,
  CF_EVENT_LOCK_PRI,
  CF_RESET,
  CF_ORIGINATING,
  CF_STOP_BROADCAST,
  CF_PROXY_MEDIA,
  CF_INNER_BRIDGE,
  CF_REQ_MEDIA,
  CF_VERBOSE_EVENTS,
  CF_PAUSE_BUGS,
  CF_DIVERT_EVENTS,
  CF_BLOCK_STATE,
  CF_FS_RTP,
  CF_REPORTING,
  CF_PARK,
  CF_TIMESTAMP_SET,
  CF_ORIGINATOR,
  CF_XFER_ZOMBIE,
  CF_MEDIA_ACK,
  CF_THREAD_SLEEPING,
  CF_DISABLE_RINGBACK,
  CF_NOT_READY,
  CF_SIGNAL_BRIDGE_TTL,
  CF_MEDIA_BRIDGE_TTL,
  CF_BYPASS_MEDIA_AFTER_BRIDGE,
  CF_LEG_HOLDING,
  CF_BROADCAST_DROP_MEDIA,
  CF_EARLY_HANGUP,
  CF_MEDIA_SET,
  CF_CONSUME_ON_ORIGINATE,
  CF_PASSTHRU_PTIME_MISMATCH,
  CF_BRIDGE_NOWRITE,
  CF_RECOVERED,
  CF_JITTERBUFFER,
  CF_JITTERBUFFER_PLC,
  CF_DIALPLAN,
  CF_BLEG,
  CF_BLOCK_BROADCAST_UNTIL_MEDIA,
  CF_CNG_PLC,
  CF_ATTENDED_TRANSFER,
  CF_LAZY_ATTENDED_TRANSFER,
  CF_SIGNAL_DATA,
  CF_SIMPLIFY,
  CF_ZOMBIE_EXEC,
  CF_INTERCEPT,
  CF_INTERCEPTED,
  CF_VIDEO_REFRESH_REQ,
  CF_SERVICE_AUDIO,
  CF_SERVICE_VIDEO,
  CF_ZRTP_PASSTHRU_REQ,
  CF_ZRTP_PASSTHRU,
  CF_ZRTP_HASH,
  CF_CHANNEL_SWAP,
  CF_DEVICE_LEG,
  CF_FINAL_DEVICE_LEG,
  CF_PICKUP,
  CF_CONFIRM_BLIND_TRANSFER,
  CF_NO_PRESENCE,
  CF_CONFERENCE,
  CF_CONFERENCE_ADV,
  CF_RECOVERING,
  CF_RECOVERING_BRIDGE,
  CF_TRACKED,
  CF_TRACKABLE,
  CF_NO_CDR,
  CF_EARLY_OK,
  CF_MEDIA_TRANS,
  CF_HOLD_ON_BRIDGE,
  CF_SECURE,
  CF_LIBERAL_DTMF,
  CF_SLA_BARGE,
  CF_SLA_BARGING,
  CF_PROTO_HOLD,
  CF_HOLD_LOCK,
  CF_VIDEO_POSSIBLE,
  CF_NOTIMER_DURING_BRIDGE,
  CF_PASS_RFC2833,
  CF_T38_PASSTHRU,
  CF_DROP_DTMF,
  CF_REINVITE,
  CF_AUTOFLUSH_DURING_BRIDGE,
  CF_RTP_NOTIMER_DURING_BRIDGE,
  CF_WEBRTC,
  CF_WEBRTC_MOZ,
  CF_ICE,
  CF_DTLS,
  CF_VERBOSE_SDP,
  CF_DTLS_OK,
  CF_3PCC,
  CF_VIDEO_PASSIVE,
  CF_NOVIDEO,
  CF_VIDEO_ECHO,
  CF_SLA_INTERCEPT,
  CF_VIDEO_BREAK,
  CF_AUDIO_PAUSE,
  CF_VIDEO_PAUSE,
  CF_BYPASS_MEDIA_AFTER_HOLD,
  CF_HANGUP_HELD,
  CF_CONFERENCE_RESET_MEDIA,
  CF_FLAG_MAX
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_channel_state_t {
  CS_NEW,
  CS_INIT,
  CS_ROUTING,
  CS_SOFT_EXECUTE,
  CS_EXECUTE,
  CS_EXCHANGE_MEDIA,
  CS_PARK,
  CS_CONSUME_MEDIA,
  CS_HIBERNATE,
  CS_RESET,
  CS_HANGUP,
  CS_REPORTING,
  CS_DESTROY,
  CS_NONE
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_channel_timetable : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_channel_timetable(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_channel_timetable obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_channel_timetable() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_channel_timetable(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_time_t profile_created {
    set {
      freeswitchPINVOKE.switch_channel_timetable_profile_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_profile_created_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t created {
    set {
      freeswitchPINVOKE.switch_channel_timetable_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_created_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t answered {
    set {
      freeswitchPINVOKE.switch_channel_timetable_answered_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_answered_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t progress {
    set {
      freeswitchPINVOKE.switch_channel_timetable_progress_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t progress_media {
    set {
      freeswitchPINVOKE.switch_channel_timetable_progress_media_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_media_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t hungup {
    set {
      freeswitchPINVOKE.switch_channel_timetable_hungup_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_hungup_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t transferred {
    set {
      freeswitchPINVOKE.switch_channel_timetable_transferred_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_transferred_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t resurrected {
    set {
      freeswitchPINVOKE.switch_channel_timetable_resurrected_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_resurrected_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t bridged {
    set {
      freeswitchPINVOKE.switch_channel_timetable_bridged_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_bridged_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t last_hold {
    set {
      freeswitchPINVOKE.switch_channel_timetable_last_hold_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_last_hold_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t hold_accum {
    set {
      freeswitchPINVOKE.switch_channel_timetable_hold_accum_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_hold_accum_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_channel_timetable next {
    set {
      freeswitchPINVOKE.switch_channel_timetable_next_set(swigCPtr, switch_channel_timetable.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_channel_timetable_next_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_timetable() : this(freeswitchPINVOKE.new_switch_channel_timetable(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_chat_application_flag_enum_t {
  SCAF_NONE = 0
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_chat_application_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_chat_application_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_chat_application_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_chat_application_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_chat_application_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_chat_application_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t chat_application_function {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_chat_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_chat_application_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public string long_desc {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_long_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_chat_application_interface_long_desc_get(swigCPtr);
      return ret;
    } 
  }

  public string short_desc {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_short_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_chat_application_interface_short_desc_get(swigCPtr);
      return ret;
    } 
  }

  public string syntax {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_syntax_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_chat_application_interface_syntax_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_chat_application_interface_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_chat_application_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_application_interface next {
    set {
      freeswitchPINVOKE.switch_chat_application_interface_next_set(swigCPtr, switch_chat_application_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_next_get(swigCPtr);
      switch_chat_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_application_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_application_interface() : this(freeswitchPINVOKE.new_switch_chat_application_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_chat_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_chat_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_chat_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_chat_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_chat_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_chat_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_chat_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_event__switch_status_t chat_send {
    set {
      freeswitchPINVOKE.switch_chat_interface_chat_send_set(swigCPtr, SWIGTYPE_p_f_p_switch_event__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_chat_send_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_event__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_chat_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_chat_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_chat_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_chat_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_chat_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_interface next {
    set {
      freeswitchPINVOKE.switch_chat_interface_next_set(swigCPtr, switch_chat_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_next_get(swigCPtr);
      switch_chat_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_interface() : this(freeswitchPINVOKE.new_switch_chat_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_codec : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_codec obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_codec() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_codec_interface codec_interface {
    set {
      freeswitchPINVOKE.switch_codec_codec_interface_set(swigCPtr, switch_codec_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_interface_get(swigCPtr);
      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_implementation implementation {
    set {
      freeswitchPINVOKE.switch_codec_implementation_set(swigCPtr, switch_codec_implementation.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
      return ret;
    } 
  }

  public string fmtp_in {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_in_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_fmtp_in_get(swigCPtr);
      return ret;
    } 
  }

  public string fmtp_out {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_out_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_fmtp_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_codec_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_codec_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_codec_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public byte agreed_pt {
    set {
      freeswitchPINVOKE.switch_codec_agreed_pt_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_codec_agreed_pt_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t mutex {
    set {
      freeswitchPINVOKE.switch_codec_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_codec next {
    set {
      freeswitchPINVOKE.switch_codec_next_set(swigCPtr, switch_codec.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_next_get(swigCPtr);
      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_core_session session {
    set {
      freeswitchPINVOKE.switch_codec_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_session_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
      return ret;
    } 
  }

  public switch_frame cur_frame {
    set {
      freeswitchPINVOKE.switch_codec_cur_frame_set(swigCPtr, switch_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_cur_frame_get(swigCPtr);
      switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_codec() : this(freeswitchPINVOKE.new_switch_codec(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_codec_flag_enum_t {
  SWITCH_CODEC_FLAG_ENCODE = (1 << 0),
  SWITCH_CODEC_FLAG_DECODE = (1 << 1),
  SWITCH_CODEC_FLAG_SILENCE_START = (1 << 2),
  SWITCH_CODEC_FLAG_SILENCE_STOP = (1 << 3),
  SWITCH_CODEC_FLAG_SILENCE = (1 << 4),
  SWITCH_CODEC_FLAG_FREE_POOL = (1 << 5),
  SWITCH_CODEC_FLAG_AAL2 = (1 << 6),
  SWITCH_CODEC_FLAG_PASSTHROUGH = (1 << 7),
  SWITCH_CODEC_FLAG_READY = (1 << 8)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_codec_fmtp : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_fmtp(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_codec_fmtp obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_codec_fmtp() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_fmtp(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint actual_samples_per_second {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_actual_samples_per_second_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_fmtp_actual_samples_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public int bits_per_second {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_bits_per_second_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_fmtp_bits_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public int microseconds_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_microseconds_per_packet_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_fmtp_microseconds_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public int stereo {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_stereo_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_fmtp_stereo_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_fmtp_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_fmtp() : this(freeswitchPINVOKE.new_switch_codec_fmtp(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_codec_implementation : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_implementation(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_codec_implementation obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_codec_implementation() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_implementation(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_codec_type_t codec_type {
    set {
      freeswitchPINVOKE.switch_codec_implementation_codec_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_codec_type_t ret = (switch_codec_type_t)freeswitchPINVOKE.switch_codec_implementation_codec_type_get(swigCPtr);
      return ret;
    } 
  }

  public byte ianacode {
    set {
      freeswitchPINVOKE.switch_codec_implementation_ianacode_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_codec_implementation_ianacode_get(swigCPtr);
      return ret;
    } 
  }

  public string iananame {
    set {
      freeswitchPINVOKE.switch_codec_implementation_iananame_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_implementation_iananame_get(swigCPtr);
      return ret;
    } 
  }

  public string fmtp {
    set {
      freeswitchPINVOKE.switch_codec_implementation_fmtp_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_implementation_fmtp_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples_per_second {
    set {
      freeswitchPINVOKE.switch_codec_implementation_samples_per_second_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public uint actual_samples_per_second {
    set {
      freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public int bits_per_second {
    set {
      freeswitchPINVOKE.switch_codec_implementation_bits_per_second_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_implementation_bits_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public int microseconds_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_microseconds_per_packet_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_implementation_microseconds_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_samples_per_packet_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public uint decoded_bytes_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_decoded_bytes_per_packet_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_decoded_bytes_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public uint encoded_bytes_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_packet_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public byte number_of_channels {
    set {
      freeswitchPINVOKE.switch_codec_implementation_number_of_channels_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_codec_implementation_number_of_channels_get(swigCPtr);
      return ret;
    } 
  }

  public int codec_frames_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_codec_frames_per_packet_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_implementation_codec_frames_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t init {
    set {
      freeswitchPINVOKE.switch_codec_implementation_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t encode {
    set {
      freeswitchPINVOKE.switch_codec_implementation_encode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_encode_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t decode {
    set {
      freeswitchPINVOKE.switch_codec_implementation_decode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_decode_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec__switch_status_t destroy {
    set {
      freeswitchPINVOKE.switch_codec_implementation_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public uint codec_id {
    set {
      freeswitchPINVOKE.switch_codec_implementation_codec_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_codec_id_get(swigCPtr);
      return ret;
    } 
  }

  public uint impl_id {
    set {
      freeswitchPINVOKE.switch_codec_implementation_impl_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_impl_id_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_implementation next {
    set {
      freeswitchPINVOKE.switch_codec_implementation_next_set(swigCPtr, switch_codec_implementation.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_next_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_implementation() : this(freeswitchPINVOKE.new_switch_codec_implementation(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_codec_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_codec_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_codec_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_codec_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_implementation implementations {
    set {
      freeswitchPINVOKE.switch_codec_interface_implementations_set(swigCPtr, switch_codec_implementation.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_implementations_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t parse_fmtp {
    set {
      freeswitchPINVOKE.switch_codec_interface_parse_fmtp_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_parse_fmtp_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public uint codec_id {
    set {
      freeswitchPINVOKE.switch_codec_interface_codec_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_interface_codec_id_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_codec_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_codec_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_codec_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_codec_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_interface next {
    set {
      freeswitchPINVOKE.switch_codec_interface_next_set(swigCPtr, switch_codec_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_next_get(swigCPtr);
      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_interface() : this(freeswitchPINVOKE.new_switch_codec_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_codec_settings : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_settings(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_codec_settings obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_codec_settings() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_settings(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public int unused {
    set {
      freeswitchPINVOKE.switch_codec_settings_unused_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_unused_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_settings() : this(freeswitchPINVOKE.new_switch_codec_settings(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_codec_type_t {
  SWITCH_CODEC_TYPE_AUDIO,
  SWITCH_CODEC_TYPE_VIDEO,
  SWITCH_CODEC_TYPE_T38,
  SWITCH_CODEC_TYPE_APP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_config : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_config(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_config obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_config() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_config(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_FILE file {
    set {
      freeswitchPINVOKE.switch_config_file_set(swigCPtr, SWIGTYPE_p_FILE.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_config_file_get(swigCPtr);
      SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
      return ret;
    } 
  }

  public string path {
    set {
      freeswitchPINVOKE.switch_config_path_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_path_get(swigCPtr);
      return ret;
    } 
  }

  public string category {
    set {
      freeswitchPINVOKE.switch_config_category_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_category_get(swigCPtr);
      return ret;
    } 
  }

  public string section {
    set {
      freeswitchPINVOKE.switch_config_section_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_section_get(swigCPtr);
      return ret;
    } 
  }

  public string buf {
    set {
      freeswitchPINVOKE.switch_config_buf_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_buf_get(swigCPtr);
      return ret;
    } 
  }

  public int lineno {
    set {
      freeswitchPINVOKE.switch_config_lineno_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_lineno_get(swigCPtr);
      return ret;
    } 
  }

  public int catno {
    set {
      freeswitchPINVOKE.switch_config_catno_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_catno_get(swigCPtr);
      return ret;
    } 
  }

  public int sectno {
    set {
      freeswitchPINVOKE.switch_config_sectno_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_sectno_get(swigCPtr);
      return ret;
    } 
  }

  public int lockto {
    set {
      freeswitchPINVOKE.switch_config_lockto_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_lockto_get(swigCPtr);
      return ret;
    } 
  }

  public switch_config() : this(freeswitchPINVOKE.new_switch_config(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_console_callback_match : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_console_callback_match(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_console_callback_match obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_console_callback_match() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_console_callback_match(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_console_callback_match_node head {
    set {
      freeswitchPINVOKE.switch_console_callback_match_head_set(swigCPtr, switch_console_callback_match_node.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_console_callback_match_head_get(swigCPtr);
      switch_console_callback_match_node ret = (cPtr == IntPtr.Zero) ? null : new switch_console_callback_match_node(cPtr, false);
      return ret;
    } 
  }

  public switch_console_callback_match_node end {
    set {
      freeswitchPINVOKE.switch_console_callback_match_end_set(swigCPtr, switch_console_callback_match_node.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_console_callback_match_end_get(swigCPtr);
      switch_console_callback_match_node ret = (cPtr == IntPtr.Zero) ? null : new switch_console_callback_match_node(cPtr, false);
      return ret;
    } 
  }

  public int count {
    set {
      freeswitchPINVOKE.switch_console_callback_match_count_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_console_callback_match_count_get(swigCPtr);
      return ret;
    } 
  }

  public int dynamic {
    set {
      freeswitchPINVOKE.switch_console_callback_match_dynamic_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_console_callback_match_dynamic_get(swigCPtr);
      return ret;
    } 
  }

  public switch_console_callback_match() : this(freeswitchPINVOKE.new_switch_console_callback_match(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_console_callback_match_node : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_console_callback_match_node(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_console_callback_match_node obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_console_callback_match_node() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_console_callback_match_node(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string val {
    set {
      freeswitchPINVOKE.switch_console_callback_match_node_val_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_console_callback_match_node_val_get(swigCPtr);
      return ret;
    } 
  }

  public switch_console_callback_match_node next {
    set {
      freeswitchPINVOKE.switch_console_callback_match_node_next_set(swigCPtr, switch_console_callback_match_node.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_console_callback_match_node_next_get(swigCPtr);
      switch_console_callback_match_node ret = (cPtr == IntPtr.Zero) ? null : new switch_console_callback_match_node(cPtr, false);
      return ret;
    } 
  }

  public switch_console_callback_match_node() : this(freeswitchPINVOKE.new_switch_console_callback_match_node(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_core_flag_enum_t {
  SCF_NONE = 0,
  SCF_USE_SQL = (1 << 0),
  SCF_NO_NEW_OUTBOUND_SESSIONS = (1 << 1),
  SCF_NO_NEW_INBOUND_SESSIONS = (1 << 2),
  SCF_NO_NEW_SESSIONS = (SCF_NO_NEW_OUTBOUND_SESSIONS|SCF_NO_NEW_INBOUND_SESSIONS),
  SCF_SHUTTING_DOWN = (1 << 3),
  SCF_VG = (1 << 4),
  SCF_RESTART = (1 << 5),
  SCF_SHUTDOWN_REQUESTED = (1 << 6),
  SCF_USE_AUTO_NAT = (1 << 7),
  SCF_EARLY_HANGUP = (1 << 8),
  SCF_CALIBRATE_CLOCK = (1 << 9),
  SCF_USE_HEAVY_TIMING = (1 << 10),
  SCF_USE_CLOCK_RT = (1 << 11),
  SCF_VERBOSE_EVENTS = (1 << 12),
  SCF_USE_WIN32_MONOTONIC = (1 << 13),
  SCF_AUTO_SCHEMAS = (1 << 14),
  SCF_MINIMAL = (1 << 15),
  SCF_USE_NAT_MAPPING = (1 << 16),
  SCF_CLEAR_SQL = (1 << 17),
  SCF_THREADED_SYSTEM_EXEC = (1 << 18),
  SCF_SYNC_CLOCK_REQUESTED = (1 << 19),
  SCF_CORE_NON_SQLITE_DB_REQ = (1 << 20),
  SCF_DEBUG_SQL = (1 << 21),
  SCF_API_EXPANSION = (1 << 22),
  SCF_SESSION_THREAD_POOL = (1 << 23)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_core_media_ice_type_t {
  ICE_GOOGLE_JINGLE = (1 << 0),
  ICE_VANILLA = (1 << 1),
  ICE_CONTROLLED = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_core_session_message : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_core_session_message(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_core_session_message obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_core_session_message() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_core_session_message(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string from {
    set {
      freeswitchPINVOKE.switch_core_session_message_from_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message_from_get(swigCPtr);
      return ret;
    } 
  }

  public switch_core_session_message_types_t message_id {
    set {
      freeswitchPINVOKE.switch_core_session_message_message_id_set(swigCPtr, (int)value);
    } 
    get {
      switch_core_session_message_types_t ret = (switch_core_session_message_types_t)freeswitchPINVOKE.switch_core_session_message_message_id_get(swigCPtr);
      return ret;
    } 
  }

  public int numeric_arg {
    set {
      freeswitchPINVOKE.switch_core_session_message_numeric_arg_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_arg_get(swigCPtr);
      return ret;
    } 
  }

  public string string_arg {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_arg_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message_string_arg_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t string_arg_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_arg_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_void pointer_arg {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_arg_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t pointer_arg_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public int numeric_reply {
    set {
      freeswitchPINVOKE.switch_core_session_message_numeric_reply_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_reply_get(swigCPtr);
      return ret;
    } 
  }

  public string string_reply {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_reply_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message_string_reply_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t string_reply_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_reply_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_void pointer_reply {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_reply_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_reply_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t pointer_reply_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_core_session_message_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_session_message_flags_get(swigCPtr);
      return ret;
    } 
  }

  public string _file {
    set {
      freeswitchPINVOKE.switch_core_session_message__file_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message__file_get(swigCPtr);
      return ret;
    } 
  }

  public string _func {
    set {
      freeswitchPINVOKE.switch_core_session_message__func_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message__func_get(swigCPtr);
      return ret;
    } 
  }

  public int _line {
    set {
      freeswitchPINVOKE.switch_core_session_message__line_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_session_message__line_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_char string_array_arg {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_array_arg_set(swigCPtr, SWIGTYPE_p_p_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_string_array_arg_get(swigCPtr);
      SWIGTYPE_p_p_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_time_t delivery_time {
    set {
      freeswitchPINVOKE.switch_core_session_message_delivery_time_set(swigCPtr, SWIGTYPE_p_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_core_session_message_delivery_time_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_core_session_message() : this(freeswitchPINVOKE.new_switch_core_session_message(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_core_session_message_flag_enum_t {
  SCSMF_DYNAMIC = (1 << 0),
  SCSMF_FREE_STRING_REPLY = (1 << 1),
  SCSMF_FREE_POINTER_REPLY = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_core_session_message_types_t {
  SWITCH_MESSAGE_REDIRECT_AUDIO,
  SWITCH_MESSAGE_TRANSMIT_TEXT,
  SWITCH_MESSAGE_INDICATE_ANSWER,
  SWITCH_MESSAGE_INDICATE_PROGRESS,
  SWITCH_MESSAGE_INDICATE_BRIDGE,
  SWITCH_MESSAGE_INDICATE_UNBRIDGE,
  SWITCH_MESSAGE_INDICATE_TRANSFER,
  SWITCH_MESSAGE_INDICATE_RINGING,
  SWITCH_MESSAGE_INDICATE_MEDIA,
  SWITCH_MESSAGE_INDICATE_NOMEDIA,
  SWITCH_MESSAGE_INDICATE_HOLD,
  SWITCH_MESSAGE_INDICATE_UNHOLD,
  SWITCH_MESSAGE_INDICATE_REDIRECT,
  SWITCH_MESSAGE_INDICATE_RESPOND,
  SWITCH_MESSAGE_INDICATE_BROADCAST,
  SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT,
  SWITCH_MESSAGE_INDICATE_DEFLECT,
  SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ,
  SWITCH_MESSAGE_INDICATE_DISPLAY,
  SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY,
  SWITCH_MESSAGE_INDICATE_AUDIO_SYNC,
  SWITCH_MESSAGE_INDICATE_REQUEST_IMAGE_MEDIA,
  SWITCH_MESSAGE_INDICATE_UUID_CHANGE,
  SWITCH_MESSAGE_INDICATE_SIMPLIFY,
  SWITCH_MESSAGE_INDICATE_DEBUG_MEDIA,
  SWITCH_MESSAGE_INDICATE_PROXY_MEDIA,
  SWITCH_MESSAGE_INDICATE_APPLICATION_EXEC,
  SWITCH_MESSAGE_INDICATE_APPLICATION_EXEC_COMPLETE,
  SWITCH_MESSAGE_INDICATE_PHONE_EVENT,
  SWITCH_MESSAGE_INDICATE_T38_DESCRIPTION,
  SWITCH_MESSAGE_INDICATE_UDPTL_MODE,
  SWITCH_MESSAGE_INDICATE_CLEAR_PROGRESS,
  SWITCH_MESSAGE_INDICATE_JITTER_BUFFER,
  SWITCH_MESSAGE_INDICATE_RECOVERY_REFRESH,
  SWITCH_MESSAGE_INDICATE_SIGNAL_DATA,
  SWITCH_MESSAGE_INDICATE_MESSAGE,
  SWITCH_MESSAGE_INDICATE_INFO,
  SWITCH_MESSAGE_INDICATE_AUDIO_DATA,
  SWITCH_MESSAGE_INDICATE_BLIND_TRANSFER_RESPONSE,
  SWITCH_MESSAGE_INDICATE_STUN_ERROR,
  SWITCH_MESSAGE_INDICATE_MEDIA_RENEG,
  SWITCH_MESSAGE_INDICATE_KEEPALIVE,
  SWITCH_MESSAGE_REFER_EVENT,
  SWITCH_MESSAGE_ANSWER_EVENT,
  SWITCH_MESSAGE_PROGRESS_EVENT,
  SWITCH_MESSAGE_RING_EVENT,
  SWITCH_MESSAGE_RESAMPLE_EVENT,
  SWITCH_MESSAGE_HEARTBEAT_EVENT,
  SWITCH_MESSAGE_INVALID
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_core_thread_session : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_core_thread_session(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_core_thread_session obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_core_thread_session() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_core_thread_session(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public int running {
    set {
      freeswitchPINVOKE.switch_core_thread_session_running_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_thread_session_running_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t mutex {
    set {
      freeswitchPINVOKE.switch_core_thread_session_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_void objs {
    set {
      freeswitchPINVOKE.switch_core_thread_session_objs_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_objs_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
    set {
      freeswitchPINVOKE.switch_core_thread_session_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_input_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_core_thread_session_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_core_thread_session() : this(freeswitchPINVOKE.new_switch_core_thread_session(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_core_time_duration : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_core_time_duration(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_core_time_duration obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_core_time_duration() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_core_time_duration(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint mms {
    set {
      freeswitchPINVOKE.switch_core_time_duration_mms_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_mms_get(swigCPtr);
      return ret;
    } 
  }

  public uint ms {
    set {
      freeswitchPINVOKE.switch_core_time_duration_ms_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_ms_get(swigCPtr);
      return ret;
    } 
  }

  public uint sec {
    set {
      freeswitchPINVOKE.switch_core_time_duration_sec_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_sec_get(swigCPtr);
      return ret;
    } 
  }

  public uint min {
    set {
      freeswitchPINVOKE.switch_core_time_duration_min_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_min_get(swigCPtr);
      return ret;
    } 
  }

  public uint hr {
    set {
      freeswitchPINVOKE.switch_core_time_duration_hr_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_hr_get(swigCPtr);
      return ret;
    } 
  }

  public uint day {
    set {
      freeswitchPINVOKE.switch_core_time_duration_day_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_day_get(swigCPtr);
      return ret;
    } 
  }

  public uint yr {
    set {
      freeswitchPINVOKE.switch_core_time_duration_yr_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_yr_get(swigCPtr);
      return ret;
    } 
  }

  public switch_core_time_duration() : this(freeswitchPINVOKE.new_switch_core_time_duration(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_device_node_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_device_node_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_device_node_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_device_node_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_device_node_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string uuid {
    set {
      freeswitchPINVOKE.switch_device_node_t_uuid_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_device_node_t_uuid_get(swigCPtr);
      return ret;
    } 
  }

  public switch_xml xml_cdr {
    set {
      freeswitchPINVOKE.switch_device_node_t_xml_cdr_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_xml_cdr_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_event _event {
    set {
      freeswitchPINVOKE.switch_device_node_t__event_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t__event_get(swigCPtr);
      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_callstate_t callstate {
    set {
      freeswitchPINVOKE.switch_device_node_t_callstate_set(swigCPtr, (int)value);
    } 
    get {
      switch_channel_callstate_t ret = (switch_channel_callstate_t)freeswitchPINVOKE.switch_device_node_t_callstate_get(swigCPtr);
      return ret;
    } 
  }

  public switch_hold_record_t hold_record {
    set {
      freeswitchPINVOKE.switch_device_node_t_hold_record_set(swigCPtr, switch_hold_record_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_hold_record_get(swigCPtr);
      switch_hold_record_t ret = (cPtr == IntPtr.Zero) ? null : new switch_hold_record_t(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile hup_profile {
    set {
      freeswitchPINVOKE.switch_device_node_t_hup_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_hup_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_call_direction_t direction {
    set {
      freeswitchPINVOKE.switch_device_node_t_direction_set(swigCPtr, (int)value);
    } 
    get {
      switch_call_direction_t ret = (switch_call_direction_t)freeswitchPINVOKE.switch_device_node_t_direction_get(swigCPtr);
      return ret;
    } 
  }

  public switch_device_record_t parent {
    set {
      freeswitchPINVOKE.switch_device_node_t_parent_set(swigCPtr, switch_device_record_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_parent_get(swigCPtr);
      switch_device_record_t ret = (cPtr == IntPtr.Zero) ? null : new switch_device_record_t(cPtr, false);
      return ret;
    } 
  }

  public switch_device_node_t next {
    set {
      freeswitchPINVOKE.switch_device_node_t_next_set(swigCPtr, switch_device_node_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_next_get(swigCPtr);
      switch_device_node_t ret = (cPtr == IntPtr.Zero) ? null : new switch_device_node_t(cPtr, false);
      return ret;
    } 
  }

  public switch_device_node_t() : this(freeswitchPINVOKE.new_switch_device_node_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_device_record_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_device_record_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_device_record_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_device_record_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_device_record_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string device_id {
    set {
      freeswitchPINVOKE.switch_device_record_t_device_id_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_device_record_t_device_id_get(swigCPtr);
      return ret;
    } 
  }

  public string uuid {
    set {
      freeswitchPINVOKE.switch_device_record_t_uuid_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_device_record_t_uuid_get(swigCPtr);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_device_record_t_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_device_record_t_refs_get(swigCPtr);
      return ret;
    } 
  }

  public switch_device_stats_t stats {
    set {
      freeswitchPINVOKE.switch_device_record_t_stats_set(swigCPtr, switch_device_stats_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_stats_get(swigCPtr);
      switch_device_stats_t ret = (cPtr == IntPtr.Zero) ? null : new switch_device_stats_t(cPtr, false);
      return ret;
    } 
  }

  public switch_device_stats_t last_stats {
    set {
      freeswitchPINVOKE.switch_device_record_t_last_stats_set(swigCPtr, switch_device_stats_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_last_stats_get(swigCPtr);
      switch_device_stats_t ret = (cPtr == IntPtr.Zero) ? null : new switch_device_stats_t(cPtr, false);
      return ret;
    } 
  }

  public switch_device_state_t state {
    set {
      freeswitchPINVOKE.switch_device_record_t_state_set(swigCPtr, (int)value);
    } 
    get {
      switch_device_state_t ret = (switch_device_state_t)freeswitchPINVOKE.switch_device_record_t_state_get(swigCPtr);
      return ret;
    } 
  }

  public switch_device_state_t last_state {
    set {
      freeswitchPINVOKE.switch_device_record_t_last_state_set(swigCPtr, (int)value);
    } 
    get {
      switch_device_state_t ret = (switch_device_state_t)freeswitchPINVOKE.switch_device_record_t_last_state_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t active_start {
    set {
      freeswitchPINVOKE.switch_device_record_t_active_start_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_active_start_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t active_stop {
    set {
      freeswitchPINVOKE.switch_device_record_t_active_stop_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_active_stop_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t last_call_time {
    set {
      freeswitchPINVOKE.switch_device_record_t_last_call_time_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_last_call_time_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t ring_start {
    set {
      freeswitchPINVOKE.switch_device_record_t_ring_start_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_ring_start_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t ring_stop {
    set {
      freeswitchPINVOKE.switch_device_record_t_ring_stop_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_ring_stop_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t hold_start {
    set {
      freeswitchPINVOKE.switch_device_record_t_hold_start_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_hold_start_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t hold_stop {
    set {
      freeswitchPINVOKE.switch_device_record_t_hold_stop_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_hold_stop_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t call_start {
    set {
      freeswitchPINVOKE.switch_device_record_t_call_start_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_device_record_t_call_start_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_device_node_t uuid_list {
    set {
      freeswitchPINVOKE.switch_device_record_t_uuid_list_set(swigCPtr, switch_device_node_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_uuid_list_get(swigCPtr);
      switch_device_node_t ret = (cPtr == IntPtr.Zero) ? null : new switch_device_node_t(cPtr, false);
      return ret;
    } 
  }

  public switch_device_node_t uuid_tail {
    set {
      freeswitchPINVOKE.switch_device_record_t_uuid_tail_set(swigCPtr, switch_device_node_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_uuid_tail_get(swigCPtr);
      switch_device_node_t ret = (cPtr == IntPtr.Zero) ? null : new switch_device_node_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t mutex {
    set {
      freeswitchPINVOKE.switch_device_record_t_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_device_record_t_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void user_data {
    set {
      freeswitchPINVOKE.switch_device_record_t_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_device_record_t() : this(freeswitchPINVOKE.new_switch_device_record_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_device_state_t {
  SDS_DOWN,
  SDS_RINGING,
  SDS_ACTIVE,
  SDS_ACTIVE_MULTI,
  SDS_HELD,
  SDS_UNHELD,
  SDS_HANGUP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_device_stats_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_device_stats_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_device_stats_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_device_stats_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_device_stats_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint total {
    set {
      freeswitchPINVOKE.switch_device_stats_t_total_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_total_get(swigCPtr);
      return ret;
    } 
  }

  public uint total_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_total_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_total_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint total_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_total_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_total_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint offhook {
    set {
      freeswitchPINVOKE.switch_device_stats_t_offhook_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_offhook_get(swigCPtr);
      return ret;
    } 
  }

  public uint offhook_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_offhook_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_offhook_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint offhook_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_offhook_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_offhook_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint active {
    set {
      freeswitchPINVOKE.switch_device_stats_t_active_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_active_get(swigCPtr);
      return ret;
    } 
  }

  public uint active_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_active_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_active_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint active_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_active_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_active_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint held {
    set {
      freeswitchPINVOKE.switch_device_stats_t_held_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_held_get(swigCPtr);
      return ret;
    } 
  }

  public uint held_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_held_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_held_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint held_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_held_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_held_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint unheld {
    set {
      freeswitchPINVOKE.switch_device_stats_t_unheld_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_unheld_get(swigCPtr);
      return ret;
    } 
  }

  public uint unheld_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_unheld_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_unheld_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint unheld_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_unheld_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_unheld_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint hup {
    set {
      freeswitchPINVOKE.switch_device_stats_t_hup_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_hup_get(swigCPtr);
      return ret;
    } 
  }

  public uint hup_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_hup_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_hup_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint hup_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_hup_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_hup_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint ringing {
    set {
      freeswitchPINVOKE.switch_device_stats_t_ringing_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_ringing_get(swigCPtr);
      return ret;
    } 
  }

  public uint ringing_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_ringing_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_ringing_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint ringing_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_ringing_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_ringing_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint early {
    set {
      freeswitchPINVOKE.switch_device_stats_t_early_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_early_get(swigCPtr);
      return ret;
    } 
  }

  public uint early_in {
    set {
      freeswitchPINVOKE.switch_device_stats_t_early_in_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_early_in_get(swigCPtr);
      return ret;
    } 
  }

  public uint early_out {
    set {
      freeswitchPINVOKE.switch_device_stats_t_early_out_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_early_out_get(swigCPtr);
      return ret;
    } 
  }

  public uint ring_wait {
    set {
      freeswitchPINVOKE.switch_device_stats_t_ring_wait_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_device_stats_t_ring_wait_get(swigCPtr);
      return ret;
    } 
  }

  public switch_device_stats_t() : this(freeswitchPINVOKE.new_switch_device_stats_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_dialplan_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_dialplan_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_dialplan_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_dialplan_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_dialplan_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_dialplan_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension hunt_function {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_hunt_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_hunt_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_dialplan_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_dialplan_interface next {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_next_set(swigCPtr, switch_dialplan_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_next_get(swigCPtr);
      switch_dialplan_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_dialplan_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_dialplan_interface() : this(freeswitchPINVOKE.new_switch_dialplan_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_digit_action_target_t {
  DIGIT_TARGET_SELF,
  DIGIT_TARGET_PEER,
  DIGIT_TARGET_BOTH
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_directories : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_directories(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_directories obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_directories() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_directories(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string base_dir {
    set {
      freeswitchPINVOKE.switch_directories_base_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_base_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string mod_dir {
    set {
      freeswitchPINVOKE.switch_directories_mod_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_mod_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string conf_dir {
    set {
      freeswitchPINVOKE.switch_directories_conf_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_conf_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string log_dir {
    set {
      freeswitchPINVOKE.switch_directories_log_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_log_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string run_dir {
    set {
      freeswitchPINVOKE.switch_directories_run_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_run_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string db_dir {
    set {
      freeswitchPINVOKE.switch_directories_db_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_db_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string script_dir {
    set {
      freeswitchPINVOKE.switch_directories_script_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_script_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string temp_dir {
    set {
      freeswitchPINVOKE.switch_directories_temp_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_temp_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string htdocs_dir {
    set {
      freeswitchPINVOKE.switch_directories_htdocs_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_htdocs_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string grammar_dir {
    set {
      freeswitchPINVOKE.switch_directories_grammar_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_grammar_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string storage_dir {
    set {
      freeswitchPINVOKE.switch_directories_storage_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_storage_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string cache_dir {
    set {
      freeswitchPINVOKE.switch_directories_cache_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_cache_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string recordings_dir {
    set {
      freeswitchPINVOKE.switch_directories_recordings_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_recordings_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string sounds_dir {
    set {
      freeswitchPINVOKE.switch_directories_sounds_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_sounds_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string lib_dir {
    set {
      freeswitchPINVOKE.switch_directories_lib_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_lib_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string certs_dir {
    set {
      freeswitchPINVOKE.switch_directories_certs_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_certs_dir_get(swigCPtr);
      return ret;
    } 
  }

  public switch_directories() : this(freeswitchPINVOKE.new_switch_directories(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_directory_flag_enum_t {
  SWITCH_DIRECTORY_FLAG_FREE_POOL = (1 << 0)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_directory_handle : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_directory_handle(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_directory_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_directory_handle() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_directory_handle(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_directory_interface directory_interface {
    set {
      freeswitchPINVOKE.switch_directory_handle_directory_interface_set(swigCPtr, switch_directory_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_directory_interface_get(swigCPtr);
      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_directory_handle_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_directory_handle_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_directory_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_directory_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_handle() : this(freeswitchPINVOKE.new_switch_directory_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_directory_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_directory_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_directory_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_directory_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_directory_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_directory_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directory_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t directory_open {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_close {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t directory_query {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_query_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_query_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_next {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t directory_next_pair {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_next_pair_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_pair_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_directory_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_directory_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_directory_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_directory_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_directory_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_interface next {
    set {
      freeswitchPINVOKE.switch_directory_interface_next_set(swigCPtr, switch_directory_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_next_get(swigCPtr);
      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_interface() : this(freeswitchPINVOKE.new_switch_directory_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_dtmf_direction_t {
  SWITCH_DTMF_RECV = 0,
  SWITCH_DTMF_SEND = 1
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_dtmf_source_t {
  SWITCH_DTMF_UNKNOWN,
  SWITCH_DTMF_INBAND_AUDIO,
  SWITCH_DTMF_RTP,
  SWITCH_DTMF_ENDPOINT,
  SWITCH_DTMF_APP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_dtmf_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_dtmf_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_dtmf_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_dtmf_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_dtmf_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public char digit {
    set {
      freeswitchPINVOKE.switch_dtmf_t_digit_set(swigCPtr, value);
    } 
    get {
      char ret = freeswitchPINVOKE.switch_dtmf_t_digit_get(swigCPtr);
      return ret;
    } 
  }

  public uint duration {
    set {
      freeswitchPINVOKE.switch_dtmf_t_duration_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_dtmf_t_duration_get(swigCPtr);
      return ret;
    } 
  }

  public int flags {
    set {
      freeswitchPINVOKE.switch_dtmf_t_flags_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_dtmf_t_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_dtmf_source_t source {
    set {
      freeswitchPINVOKE.switch_dtmf_t_source_set(swigCPtr, (int)value);
    } 
    get {
      switch_dtmf_source_t ret = (switch_dtmf_source_t)freeswitchPINVOKE.switch_dtmf_t_source_get(swigCPtr);
      return ret;
    } 
  }

  public switch_dtmf_t() : this(freeswitchPINVOKE.new_switch_dtmf_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_eavesdrop_flag_enum_t {
  ED_NONE = 0,
  ED_MUX_READ = (1 << 0),
  ED_MUX_WRITE = (1 << 1),
  ED_DTMF = (1 << 2),
  ED_COPY_DISPLAY = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_endpoint_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_endpoint_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_endpoint_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_endpoint_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_endpoint_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_endpoint_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_io_routines io_routines {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_io_routines_set(swigCPtr, switch_io_routines.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_io_routines_get(swigCPtr);
      switch_io_routines ret = (cPtr == IntPtr.Zero) ? null : new switch_io_routines(cPtr, false);
      return ret;
    } 
  }

  public switch_state_handler_table state_handler {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_state_handler_set(swigCPtr, switch_state_handler_table.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_state_handler_get(swigCPtr);
      switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_endpoint_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_endpoint_interface next {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_next_set(swigCPtr, switch_endpoint_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_next_get(swigCPtr);
      switch_endpoint_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_endpoint_interface(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__int recover_callback {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_recover_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__int.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_recover_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__int(cPtr, false);
      return ret;
    } 
  }

  public switch_endpoint_interface() : this(freeswitchPINVOKE.new_switch_endpoint_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_event : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_event(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_event obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_event() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_event(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_event_types_t event_id {
    set {
      freeswitchPINVOKE.switch_event_event_id_set(swigCPtr, (int)value);
    } 
    get {
      switch_event_types_t ret = (switch_event_types_t)freeswitchPINVOKE.switch_event_event_id_get(swigCPtr);
      return ret;
    } 
  }

  public switch_priority_t priority {
    set {
      freeswitchPINVOKE.switch_event_priority_set(swigCPtr, (int)value);
    } 
    get {
      switch_priority_t ret = (switch_priority_t)freeswitchPINVOKE.switch_event_priority_get(swigCPtr);
      return ret;
    } 
  }

  public string owner {
    set {
      freeswitchPINVOKE.switch_event_owner_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_owner_get(swigCPtr);
      return ret;
    } 
  }

  public string subclass_name {
    set {
      freeswitchPINVOKE.switch_event_subclass_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_subclass_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_event_header headers {
    set {
      freeswitchPINVOKE.switch_event_headers_set(swigCPtr, switch_event_header.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_headers_get(swigCPtr);
      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
      return ret;
    } 
  }

  public switch_event_header last_header {
    set {
      freeswitchPINVOKE.switch_event_last_header_set(swigCPtr, switch_event_header.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_last_header_get(swigCPtr);
      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
      return ret;
    } 
  }

  public string body {
    set {
      freeswitchPINVOKE.switch_event_body_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_body_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void bind_user_data {
    set {
      freeswitchPINVOKE.switch_event_bind_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_bind_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void event_user_data {
    set {
      freeswitchPINVOKE.switch_event_event_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_event_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint key {
    set {
      freeswitchPINVOKE.switch_event_key_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_event_key_get(swigCPtr);
      return ret;
    } 
  }

  public switch_event next {
    set {
      freeswitchPINVOKE.switch_event_next_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_next_get(swigCPtr);
      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public int flags {
    set {
      freeswitchPINVOKE.switch_event_flags_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_event_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_event() : this(freeswitchPINVOKE.new_switch_event(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_event_flag_t {
  EF_UNIQ_HEADERS = (1 << 0),
  EF_NO_CHAT_EXEC = (1 << 1),
  EF_DEFAULT_ALLOW = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_event_header : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_event_header(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_event_header obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_event_header() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_event_header(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_event_header_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_header_name_get(swigCPtr);
      return ret;
    } 
  }

  public string value {
    set {
      freeswitchPINVOKE.switch_event_header_value_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_header_value_get(swigCPtr);
      return ret;
    } 
  }

  public string array {
  set { freeswitchPINVOKE.switch_event_header_array_set(swigCPtr, ref value); }

  get {
    return freeswitchPINVOKE.switch_event_header_array_get(swigCPtr);
  }

  }

  public int idx {
    set {
      freeswitchPINVOKE.switch_event_header_idx_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_event_header_idx_get(swigCPtr);
      return ret;
    } 
  }

  public uint hash {
    set {
      freeswitchPINVOKE.switch_event_header_hash_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_event_header_hash_get(swigCPtr);
      return ret;
    } 
  }

  public switch_event_header next {
    set {
      freeswitchPINVOKE.switch_event_header_next_set(swigCPtr, switch_event_header.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_header_next_get(swigCPtr);
      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
      return ret;
    } 
  }

  public switch_event_header() : this(freeswitchPINVOKE.new_switch_event_header(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_event_types_t {
  SWITCH_EVENT_CUSTOM,
  SWITCH_EVENT_CLONE,
  SWITCH_EVENT_CHANNEL_CREATE,
  SWITCH_EVENT_CHANNEL_DESTROY,
  SWITCH_EVENT_CHANNEL_STATE,
  SWITCH_EVENT_CHANNEL_CALLSTATE,
  SWITCH_EVENT_CHANNEL_ANSWER,
  SWITCH_EVENT_CHANNEL_HANGUP,
  SWITCH_EVENT_CHANNEL_HANGUP_COMPLETE,
  SWITCH_EVENT_CHANNEL_EXECUTE,
  SWITCH_EVENT_CHANNEL_EXECUTE_COMPLETE,
  SWITCH_EVENT_CHANNEL_HOLD,
  SWITCH_EVENT_CHANNEL_UNHOLD,
  SWITCH_EVENT_CHANNEL_BRIDGE,
  SWITCH_EVENT_CHANNEL_UNBRIDGE,
  SWITCH_EVENT_CHANNEL_PROGRESS,
  SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA,
  SWITCH_EVENT_CHANNEL_OUTGOING,
  SWITCH_EVENT_CHANNEL_PARK,
  SWITCH_EVENT_CHANNEL_UNPARK,
  SWITCH_EVENT_CHANNEL_APPLICATION,
  SWITCH_EVENT_CHANNEL_ORIGINATE,
  SWITCH_EVENT_CHANNEL_UUID,
  SWITCH_EVENT_API,
  SWITCH_EVENT_LOG,
  SWITCH_EVENT_INBOUND_CHAN,
  SWITCH_EVENT_OUTBOUND_CHAN,
  SWITCH_EVENT_STARTUP,
  SWITCH_EVENT_SHUTDOWN,
  SWITCH_EVENT_PUBLISH,
  SWITCH_EVENT_UNPUBLISH,
  SWITCH_EVENT_TALK,
  SWITCH_EVENT_NOTALK,
  SWITCH_EVENT_SESSION_CRASH,
  SWITCH_EVENT_MODULE_LOAD,
  SWITCH_EVENT_MODULE_UNLOAD,
  SWITCH_EVENT_DTMF,
  SWITCH_EVENT_MESSAGE,
  SWITCH_EVENT_PRESENCE_IN,
  SWITCH_EVENT_NOTIFY_IN,
  SWITCH_EVENT_PRESENCE_OUT,
  SWITCH_EVENT_PRESENCE_PROBE,
  SWITCH_EVENT_MESSAGE_WAITING,
  SWITCH_EVENT_MESSAGE_QUERY,
  SWITCH_EVENT_ROSTER,
  SWITCH_EVENT_CODEC,
  SWITCH_EVENT_BACKGROUND_JOB,
  SWITCH_EVENT_DETECTED_SPEECH,
  SWITCH_EVENT_DETECTED_TONE,
  SWITCH_EVENT_PRIVATE_COMMAND,
  SWITCH_EVENT_HEARTBEAT,
  SWITCH_EVENT_TRAP,
  SWITCH_EVENT_ADD_SCHEDULE,
  SWITCH_EVENT_DEL_SCHEDULE,
  SWITCH_EVENT_EXE_SCHEDULE,
  SWITCH_EVENT_RE_SCHEDULE,
  SWITCH_EVENT_RELOADXML,
  SWITCH_EVENT_NOTIFY,
  SWITCH_EVENT_PHONE_FEATURE,
  SWITCH_EVENT_PHONE_FEATURE_SUBSCRIBE,
  SWITCH_EVENT_SEND_MESSAGE,
  SWITCH_EVENT_RECV_MESSAGE,
  SWITCH_EVENT_REQUEST_PARAMS,
  SWITCH_EVENT_CHANNEL_DATA,
  SWITCH_EVENT_GENERAL,
  SWITCH_EVENT_COMMAND,
  SWITCH_EVENT_SESSION_HEARTBEAT,
  SWITCH_EVENT_CLIENT_DISCONNECTED,
  SWITCH_EVENT_SERVER_DISCONNECTED,
  SWITCH_EVENT_SEND_INFO,
  SWITCH_EVENT_RECV_INFO,
  SWITCH_EVENT_RECV_RTCP_MESSAGE,
  SWITCH_EVENT_CALL_SECURE,
  SWITCH_EVENT_NAT,
  SWITCH_EVENT_RECORD_START,
  SWITCH_EVENT_RECORD_STOP,
  SWITCH_EVENT_PLAYBACK_START,
  SWITCH_EVENT_PLAYBACK_STOP,
  SWITCH_EVENT_CALL_UPDATE,
  SWITCH_EVENT_FAILURE,
  SWITCH_EVENT_SOCKET_DATA,
  SWITCH_EVENT_MEDIA_BUG_START,
  SWITCH_EVENT_MEDIA_BUG_STOP,
  SWITCH_EVENT_CONFERENCE_DATA_QUERY,
  SWITCH_EVENT_CONFERENCE_DATA,
  SWITCH_EVENT_CALL_SETUP_REQ,
  SWITCH_EVENT_CALL_SETUP_RESULT,
  SWITCH_EVENT_CALL_DETAIL,
  SWITCH_EVENT_DEVICE_STATE,
  SWITCH_EVENT_ALL
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_filenames : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_filenames(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_filenames obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_filenames() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_filenames(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string conf_name {
    set {
      freeswitchPINVOKE.switch_filenames_conf_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_filenames_conf_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_filenames() : this(freeswitchPINVOKE.new_switch_filenames(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_file_flag_enum_t {
  SWITCH_FILE_FLAG_READ = (1 << 0),
  SWITCH_FILE_FLAG_WRITE = (1 << 1),
  SWITCH_FILE_FLAG_FREE_POOL = (1 << 2),
  SWITCH_FILE_DATA_SHORT = (1 << 3),
  SWITCH_FILE_DATA_INT = (1 << 4),
  SWITCH_FILE_DATA_FLOAT = (1 << 5),
  SWITCH_FILE_DATA_DOUBLE = (1 << 6),
  SWITCH_FILE_DATA_RAW = (1 << 7),
  SWITCH_FILE_PAUSE = (1 << 8),
  SWITCH_FILE_NATIVE = (1 << 9),
  SWITCH_FILE_SEEK = (1 << 10),
  SWITCH_FILE_OPEN = (1 << 11),
  SWITCH_FILE_CALLBACK = (1 << 12),
  SWITCH_FILE_DONE = (1 << 13),
  SWITCH_FILE_BUFFER_DONE = (1 << 14),
  SWITCH_FILE_WRITE_APPEND = (1 << 15),
  SWITCH_FILE_WRITE_OVER = (1 << 16),
  SWITCH_FILE_NOMUX = (1 << 17),
  SWITCH_FILE_BREAK_ON_CHANGE = (1 << 18)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_file_handle : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_file_handle(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_file_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_file_handle() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_file_handle(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_file_interface file_interface {
    set {
      freeswitchPINVOKE.switch_file_handle_file_interface_set(swigCPtr, switch_file_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_file_interface_get(swigCPtr);
      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_file_handle_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_file_t fd {
    set {
      freeswitchPINVOKE.switch_file_handle_fd_set(swigCPtr, SWIGTYPE_p_switch_file_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_fd_get(swigCPtr);
      SWIGTYPE_p_switch_file_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_file_t(cPtr, false);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_file_handle_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_samples_get(swigCPtr);
      return ret;
    } 
  }

  public uint samplerate {
    set {
      freeswitchPINVOKE.switch_file_handle_samplerate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_samplerate_get(swigCPtr);
      return ret;
    } 
  }

  public uint native_rate {
    set {
      freeswitchPINVOKE.switch_file_handle_native_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_native_rate_get(swigCPtr);
      return ret;
    } 
  }

  public uint channels {
    set {
      freeswitchPINVOKE.switch_file_handle_channels_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_channels_get(swigCPtr);
      return ret;
    } 
  }

  public uint real_channels {
    set {
      freeswitchPINVOKE.switch_file_handle_real_channels_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_real_channels_get(swigCPtr);
      return ret;
    } 
  }

  public uint format {
    set {
      freeswitchPINVOKE.switch_file_handle_format_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_format_get(swigCPtr);
      return ret;
    } 
  }

  public uint sections {
    set {
      freeswitchPINVOKE.switch_file_handle_sections_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_sections_get(swigCPtr);
      return ret;
    } 
  }

  public int seekable {
    set {
      freeswitchPINVOKE.switch_file_handle_seekable_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_seekable_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t sample_count {
    set {
      freeswitchPINVOKE.switch_file_handle_sample_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_sample_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public int speed {
    set {
      freeswitchPINVOKE.switch_file_handle_speed_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_speed_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_file_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public uint prebuf {
    set {
      freeswitchPINVOKE.switch_file_handle_prebuf_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_prebuf_get(swigCPtr);
      return ret;
    } 
  }

  public uint interval {
    set {
      freeswitchPINVOKE.switch_file_handle_interval_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_interval_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_file_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public string handler {
    set {
      freeswitchPINVOKE.switch_file_handle_handler_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_handler_get(swigCPtr);
      return ret;
    } 
  }

  public long pos {
    set {
      freeswitchPINVOKE.switch_file_handle_pos_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_file_handle_pos_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer audio_buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_audio_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer sp_audio_buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public uint thresh {
    set {
      freeswitchPINVOKE.switch_file_handle_thresh_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_thresh_get(swigCPtr);
      return ret;
    } 
  }

  public uint silence_hits {
    set {
      freeswitchPINVOKE.switch_file_handle_silence_hits_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_silence_hits_get(swigCPtr);
      return ret;
    } 
  }

  public uint offset_pos {
    set {
      freeswitchPINVOKE.switch_file_handle_offset_pos_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_offset_pos_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t samples_in {
    set {
      freeswitchPINVOKE.switch_file_handle_samples_in_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_samples_in_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t samples_out {
    set {
      freeswitchPINVOKE.switch_file_handle_samples_out_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_samples_out_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public int vol {
    set {
      freeswitchPINVOKE.switch_file_handle_vol_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_vol_get(swigCPtr);
      return ret;
    } 
  }

  public switch_audio_resampler_t resampler {
    set {
      freeswitchPINVOKE.switch_file_handle_resampler_set(swigCPtr, switch_audio_resampler_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == IntPtr.Zero) ? null : new switch_audio_resampler_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char dbuf {
    set {
      freeswitchPINVOKE.switch_file_handle_dbuf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t dbuflen {
    set {
      freeswitchPINVOKE.switch_file_handle_dbuflen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_dbuflen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer pre_buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_pre_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char pre_buffer_data {
    set {
      freeswitchPINVOKE.switch_file_handle_pre_buffer_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t pre_buffer_datalen {
    set {
      freeswitchPINVOKE.switch_file_handle_pre_buffer_datalen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_pre_buffer_datalen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string file {
    set {
      freeswitchPINVOKE.switch_file_handle_file_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_file_get(swigCPtr);
      return ret;
    } 
  }

  public string func {
    set {
      freeswitchPINVOKE.switch_file_handle_func_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_func_get(swigCPtr);
      return ret;
    } 
  }

  public int line {
    set {
      freeswitchPINVOKE.switch_file_handle_line_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_line_get(swigCPtr);
      return ret;
    } 
  }

  public string file_path {
    set {
      freeswitchPINVOKE.switch_file_handle_file_path_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_file_path_get(swigCPtr);
      return ret;
    } 
  }

  public string spool_path {
    set {
      freeswitchPINVOKE.switch_file_handle_spool_path_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_spool_path_get(swigCPtr);
      return ret;
    } 
  }

  public string prefix {
    set {
      freeswitchPINVOKE.switch_file_handle_prefix_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_prefix_get(swigCPtr);
      return ret;
    } 
  }

  public int max_samples {
    set {
      freeswitchPINVOKE.switch_file_handle_max_samples_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_max_samples_get(swigCPtr);
      return ret;
    } 
  }

  public switch_event _params {
    set {
      freeswitchPINVOKE.switch_file_handle__params_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle__params_get(swigCPtr);
      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public uint cur_channels {
    set {
      freeswitchPINVOKE.switch_file_handle_cur_channels_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_cur_channels_get(swigCPtr);
      return ret;
    } 
  }

  public uint cur_samplerate {
    set {
      freeswitchPINVOKE.switch_file_handle_cur_samplerate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_cur_samplerate_get(swigCPtr);
      return ret;
    } 
  }

  public switch_file_handle() : this(freeswitchPINVOKE.new_switch_file_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_file_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_file_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_file_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_file_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_file_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_file_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t file_open {
    set {
      freeswitchPINVOKE.switch_file_interface_file_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle__switch_status_t file_close {
    set {
      freeswitchPINVOKE.switch_file_interface_file_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t file_truncate {
    set {
      freeswitchPINVOKE.switch_file_interface_file_truncate_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_truncate_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_read {
    set {
      freeswitchPINVOKE.switch_file_interface_file_read_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_read_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_write {
    set {
      freeswitchPINVOKE.switch_file_interface_file_write_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_write_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_read_video {
    set {
      freeswitchPINVOKE.switch_file_interface_file_read_video_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_read_video_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_write_video {
    set {
      freeswitchPINVOKE.switch_file_interface_file_write_video_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_write_video_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t file_seek {
    set {
      freeswitchPINVOKE.switch_file_interface_file_seek_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_seek_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t file_set_string {
    set {
      freeswitchPINVOKE.switch_file_interface_file_set_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_set_string_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t file_get_string {
    set {
      freeswitchPINVOKE.switch_file_interface_file_get_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_get_string_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public string extens {
  set { freeswitchPINVOKE.switch_file_interface_extens_set(swigCPtr, ref value); }

  get {
    return freeswitchPINVOKE.switch_file_interface_extens_get(swigCPtr);
  }

  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_file_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_file_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_file_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_file_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_file_interface next {
    set {
      freeswitchPINVOKE.switch_file_interface_next_set(swigCPtr, switch_file_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_next_get(swigCPtr);
      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_file_interface() : this(freeswitchPINVOKE.new_switch_file_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_frame(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_codec codec {
    set {
      freeswitchPINVOKE.switch_frame_codec_set(swigCPtr, switch_codec.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_codec_get(swigCPtr);
      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
      return ret;
    } 
  }

  public string source {
    set {
      freeswitchPINVOKE.switch_frame_source_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_frame_source_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void packet {
    set {
      freeswitchPINVOKE.switch_frame_packet_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_packet_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint packetlen {
    set {
      freeswitchPINVOKE.switch_frame_packetlen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_packetlen_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void extra_data {
    set {
      freeswitchPINVOKE.switch_frame_extra_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_extra_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void data {
    set {
      freeswitchPINVOKE.switch_frame_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint datalen {
    set {
      freeswitchPINVOKE.switch_frame_datalen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_datalen_get(swigCPtr);
      return ret;
    } 
  }

  public uint buflen {
    set {
      freeswitchPINVOKE.switch_frame_buflen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_buflen_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_frame_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_samples_get(swigCPtr);
      return ret;
    } 
  }

  public uint rate {
    set {
      freeswitchPINVOKE.switch_frame_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_rate_get(swigCPtr);
      return ret;
    } 
  }

  public uint channels {
    set {
      freeswitchPINVOKE.switch_frame_channels_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_channels_get(swigCPtr);
      return ret;
    } 
  }

  public byte payload {
    set {
      freeswitchPINVOKE.switch_frame_payload_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_frame_payload_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t timestamp {
    set {
      freeswitchPINVOKE.switch_frame_timestamp_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_frame_timestamp_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public ushort seq {
    set {
      freeswitchPINVOKE.switch_frame_seq_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_frame_seq_get(swigCPtr);
      return ret;
    } 
  }

  public uint ssrc {
    set {
      freeswitchPINVOKE.switch_frame_ssrc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_ssrc_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t m {
    set {
      freeswitchPINVOKE.switch_frame_m_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_frame_m_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_frame_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void user_data {
    set {
      freeswitchPINVOKE.switch_frame_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public payload_map_t pmap {
    set {
      freeswitchPINVOKE.switch_frame_pmap_set(swigCPtr, payload_map_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_pmap_get(swigCPtr);
      payload_map_t ret = (cPtr == IntPtr.Zero) ? null : new payload_map_t(cPtr, false);
      return ret;
    } 
  }

  public switch_frame() : this(freeswitchPINVOKE.new_switch_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_frame_flag_enum_t {
  SFF_NONE = 0,
  SFF_CNG = (1 << 0),
  SFF_RAW_RTP = (1 << 1),
  SFF_RTP_HEADER = (1 << 2),
  SFF_PLC = (1 << 3),
  SFF_RFC2833 = (1 << 4),
  SFF_PROXY_PACKET = (1 << 5),
  SFF_DYNAMIC = (1 << 6),
  SFF_ZRTP = (1 << 7),
  SFF_UDPTL_PACKET = (1 << 8),
  SFF_NOT_AUDIO = (1 << 9),
  SFF_RTCP = (1 << 10)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_hold_record_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_hold_record_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_hold_record_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_hold_record_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_hold_record_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_time_t on {
    set {
      freeswitchPINVOKE.switch_hold_record_t_on_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_hold_record_t_on_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t off {
    set {
      freeswitchPINVOKE.switch_hold_record_t_off_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_hold_record_t_off_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string uuid {
    set {
      freeswitchPINVOKE.switch_hold_record_t_uuid_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_hold_record_t_uuid_get(swigCPtr);
      return ret;
    } 
  }

  public switch_hold_record_t next {
    set {
      freeswitchPINVOKE.switch_hold_record_t_next_set(swigCPtr, switch_hold_record_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_hold_record_t_next_get(swigCPtr);
      switch_hold_record_t ret = (cPtr == IntPtr.Zero) ? null : new switch_hold_record_t(cPtr, false);
      return ret;
    } 
  }

  public switch_hold_record_t() : this(freeswitchPINVOKE.new_switch_hold_record_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_http_request_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_http_request_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_http_request_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_http_request_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_http_request_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string method {
    set {
      freeswitchPINVOKE.switch_http_request_t_method_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_method_get(swigCPtr);
      return ret;
    } 
  }

  public string uri {
    set {
      freeswitchPINVOKE.switch_http_request_t_uri_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_uri_get(swigCPtr);
      return ret;
    } 
  }

  public string qs {
    set {
      freeswitchPINVOKE.switch_http_request_t_qs_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_qs_get(swigCPtr);
      return ret;
    } 
  }

  public string host {
    set {
      freeswitchPINVOKE.switch_http_request_t_host_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_host_get(swigCPtr);
      return ret;
    } 
  }

  public ushort port {
    set {
      freeswitchPINVOKE.switch_http_request_t_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_http_request_t_port_get(swigCPtr);
      return ret;
    } 
  }

  public string from {
    set {
      freeswitchPINVOKE.switch_http_request_t_from_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_from_get(swigCPtr);
      return ret;
    } 
  }

  public string user_agent {
    set {
      freeswitchPINVOKE.switch_http_request_t_user_agent_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_user_agent_get(swigCPtr);
      return ret;
    } 
  }

  public string referer {
    set {
      freeswitchPINVOKE.switch_http_request_t_referer_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_referer_get(swigCPtr);
      return ret;
    } 
  }

  public string user {
    set {
      freeswitchPINVOKE.switch_http_request_t_user_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_user_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t keepalive {
    set {
      freeswitchPINVOKE.switch_http_request_t_keepalive_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_http_request_t_keepalive_get(swigCPtr);
      return ret;
    } 
  }

  public string content_type {
    set {
      freeswitchPINVOKE.switch_http_request_t_content_type_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t_content_type_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t content_length {
    set {
      freeswitchPINVOKE.switch_http_request_t_content_length_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_http_request_t_content_length_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t bytes_header {
    set {
      freeswitchPINVOKE.switch_http_request_t_bytes_header_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_http_request_t_bytes_header_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t bytes_read {
    set {
      freeswitchPINVOKE.switch_http_request_t_bytes_read_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_http_request_t_bytes_read_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t bytes_buffered {
    set {
      freeswitchPINVOKE.switch_http_request_t_bytes_buffered_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_http_request_t_bytes_buffered_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_event headers {
    set {
      freeswitchPINVOKE.switch_http_request_t_headers_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_http_request_t_headers_get(swigCPtr);
      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void user_data {
    set {
      freeswitchPINVOKE.switch_http_request_t_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_http_request_t_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public string _buffer {
    set {
      freeswitchPINVOKE.switch_http_request_t__buffer_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_http_request_t__buffer_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t _destroy_headers {
    set {
      freeswitchPINVOKE.switch_http_request_t__destroy_headers_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_http_request_t__destroy_headers_get(swigCPtr);
      return ret;
    } 
  }

  public switch_http_request_t() : this(freeswitchPINVOKE.new_switch_http_request_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_hup_type_t {
  SHT_NONE = 0,
  SHT_UNANSWERED = (1 << 0),
  SHT_ANSWERED = (1 << 1)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_input_args_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_input_args_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_input_args_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_input_args_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_input_args_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
    set {
      freeswitchPINVOKE.switch_input_args_t_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_input_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void buf {
    set {
      freeswitchPINVOKE.switch_input_args_t_buf_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_buf_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint buflen {
    set {
      freeswitchPINVOKE.switch_input_args_t_buflen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_input_args_t_buflen_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t read_frame_callback {
    set {
      freeswitchPINVOKE.switch_input_args_t_read_frame_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_read_frame_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void user_data {
    set {
      freeswitchPINVOKE.switch_input_args_t_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_ivr_dmachine dmachine {
    set {
      freeswitchPINVOKE.switch_input_args_t_dmachine_set(swigCPtr, SWIGTYPE_p_switch_ivr_dmachine.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_dmachine_get(swigCPtr);
      SWIGTYPE_p_switch_ivr_dmachine ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_ivr_dmachine(cPtr, false);
      return ret;
    } 
  }

  public int loops {
    set {
      freeswitchPINVOKE.switch_input_args_t_loops_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_input_args_t_loops_get(swigCPtr);
      return ret;
    } 
  }

  public switch_input_args_t() : this(freeswitchPINVOKE.new_switch_input_args_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_input_type_t {
  SWITCH_INPUT_TYPE_DTMF,
  SWITCH_INPUT_TYPE_EVENT
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hooks : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hooks obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hooks() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_io_event_hook_outgoing_channel outgoing_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr);
      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_message receive_message {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr);
      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_event receive_event {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr);
      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_read_frame read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr);
      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_read_frame video_read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr);
      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_write_frame write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr);
      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_write_frame video_write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr);
      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_kill_channel kill_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_kill_channel_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr);
      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_send_dtmf send_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr);
      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_recv_dtmf recv_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr);
      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_change state_change {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr);
      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_run state_run {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_state_run_set(swigCPtr, switch_io_event_hook_state_run.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_run_get(swigCPtr);
      switch_io_event_hook_state_run ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_run(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_kill_channel : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_kill_channel(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_kill_channel obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_kill_channel() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_kill_channel(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_kill_channel next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_get(swigCPtr);
      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_kill_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_kill_channel(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_outgoing_channel : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_outgoing_channel(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_outgoing_channel obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_outgoing_channel() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_outgoing_channel(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_outgoing_channel next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_get(swigCPtr);
      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_outgoing_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_outgoing_channel(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_read_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_read_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_read_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_read_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_read_frame(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_read_frame_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_read_frame_read_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_read_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_read_frame_next_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_read_frame_next_get(swigCPtr);
      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_read_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_receive_event : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_receive_event(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_receive_event obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_receive_event() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_receive_event(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_event next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_event_next_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_next_get(swigCPtr);
      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_event() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_event(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_receive_message : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_receive_message(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_receive_message obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_receive_message() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_receive_message(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_message next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_message_next_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_next_get(swigCPtr);
      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_message() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_message(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_recv_dtmf : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_recv_dtmf(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_recv_dtmf obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_recv_dtmf() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_recv_dtmf(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_recv_dtmf next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr);
      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_send_dtmf : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_send_dtmf(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_send_dtmf obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_send_dtmf() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_send_dtmf(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_send_dtmf next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_get(swigCPtr);
      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_send_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_send_dtmf(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_state_change : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_state_change(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_state_change obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_state_change() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_state_change(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
    set {
      freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_change next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_state_change_next_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_next_get(swigCPtr);
      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_change() : this(freeswitchPINVOKE.new_switch_io_event_hook_state_change(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_state_run : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_state_run(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_state_run obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_state_run() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_state_run(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_run {
    set {
      freeswitchPINVOKE.switch_io_event_hook_state_run_state_run_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_run_state_run_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_run next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_state_run_next_set(swigCPtr, switch_io_event_hook_state_run.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_run_next_get(swigCPtr);
      switch_io_event_hook_state_run ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_run(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_run() : this(freeswitchPINVOKE.new_switch_io_event_hook_state_run(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_video_read_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_video_read_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_video_read_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_video_read_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_video_read_frame(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_video_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_read_frame_video_read_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_read_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_get(swigCPtr);
      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_read_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_video_write_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_video_write_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_video_write_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_video_write_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_video_write_frame(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_video_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_write_frame_video_write_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_write_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_get(swigCPtr);
      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_write_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_write_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_write_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_write_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_write_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_write_frame(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_write_frame_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_write_frame_write_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_write_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_write_frame_next_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_write_frame_next_get(swigCPtr);
      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_write_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_io_flag_enum_t {
  SWITCH_IO_FLAG_NONE = 0,
  SWITCH_IO_FLAG_NOBLOCK = (1 << 0),
  SWITCH_IO_FLAG_SINGLE_READ = (1 << 1)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_routines : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_routines(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_routines obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_routines() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_routines(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t outgoing_channel {
    set {
      freeswitchPINVOKE.switch_io_routines_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_outgoing_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_read_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_write_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
    set {
      freeswitchPINVOKE.switch_io_routines_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_kill_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t send_dtmf {
    set {
      freeswitchPINVOKE.switch_io_routines_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_send_dtmf_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
    set {
      freeswitchPINVOKE.switch_io_routines_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_message_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
    set {
      freeswitchPINVOKE.switch_io_routines_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_event_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
    set {
      freeswitchPINVOKE.switch_io_routines_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_state_change_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_video_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_read_video_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_read_video_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_video_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_write_video_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_write_video_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_run {
    set {
      freeswitchPINVOKE.switch_io_routines_state_run_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_state_run_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t get_jb {
    set {
      freeswitchPINVOKE.switch_io_routines_get_jb_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_get_jb_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_enum_switch_media_type_t__p_stfu_instance_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_void padding {
    set {
      freeswitchPINVOKE.switch_io_routines_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_padding_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_io_routines() : this(freeswitchPINVOKE.new_switch_io_routines(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_io_routine_name_t {
  SWITCH_IO_OUTGOING_CHANNEL,
  SWITCH_IO_READ_FRAME,
  SWITCH_IO_WRITE_FRAME,
  SWITCH_IO_KILL_CHANNEL,
  SWITCH_IO_SEND_DTMF,
  SWITCH_IO_RECEIVE_MESSAGE,
  SWITCH_IO_RECEIVE_EVENT,
  SWITCH_IO_STATE_CHANGE,
  SWITCH_IO_READ_VIDEO_FRAME,
  SWITCH_IO_WRITE_VIDEO_FRAME,
  SWITCH_IO_GET_JB
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_ivr_action_t {
  SWITCH_IVR_ACTION_DIE,
  SWITCH_IVR_ACTION_EXECMENU,
  SWITCH_IVR_ACTION_EXECAPP,
  SWITCH_IVR_ACTION_PLAYSOUND,
  SWITCH_IVR_ACTION_BACK,
  SWITCH_IVR_ACTION_TOMAIN,
  SWITCH_IVR_ACTION_NOOP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_ivr_dmachine_match : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_ivr_dmachine_match(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_ivr_dmachine_match obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_ivr_dmachine_match() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_ivr_dmachine_match(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_ivr_dmachine dmachine {
    set {
      freeswitchPINVOKE.switch_ivr_dmachine_match_dmachine_set(swigCPtr, SWIGTYPE_p_switch_ivr_dmachine.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_ivr_dmachine_match_dmachine_get(swigCPtr);
      SWIGTYPE_p_switch_ivr_dmachine ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_ivr_dmachine(cPtr, false);
      return ret;
    } 
  }

  public string match_digits {
    set {
      freeswitchPINVOKE.switch_ivr_dmachine_match_match_digits_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_ivr_dmachine_match_match_digits_get(swigCPtr);
      return ret;
    } 
  }

  public int match_key {
    set {
      freeswitchPINVOKE.switch_ivr_dmachine_match_match_key_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_ivr_dmachine_match_match_key_get(swigCPtr);
      return ret;
    } 
  }

  public dm_match_type_t type {
    set {
      freeswitchPINVOKE.switch_ivr_dmachine_match_type_set(swigCPtr, (int)value);
    } 
    get {
      dm_match_type_t ret = (dm_match_type_t)freeswitchPINVOKE.switch_ivr_dmachine_match_type_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void user_data {
    set {
      freeswitchPINVOKE.switch_ivr_dmachine_match_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_ivr_dmachine_match_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_ivr_dmachine_match() : this(freeswitchPINVOKE.new_switch_ivr_dmachine_match(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_ivr_menu_flags {
  SWITCH_IVR_MENU_FLAG_FALLTOMAIN = (1 << 0),
  SWITCH_IVR_MENU_FLAG_FREEPOOL = (1 << 1),
  SWITCH_IVR_MENU_FLAG_STACK = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_ivr_option_enum_t {
  SWITCH_IVR_OPTION_NONE = 0,
  SWITCH_IVR_OPTION_ASYNC = (1 << 0),
  SWITCH_IVR_OPTION_FILE = (1 << 1)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_json_api_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_json_api_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_json_api_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_json_api_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_json_api_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_json_api_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_json_api_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public string desc {
    set {
      freeswitchPINVOKE.switch_json_api_interface_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_json_api_interface_desc_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t function {
    set {
      freeswitchPINVOKE.switch_json_api_interface_function_set(swigCPtr, SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_function_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public string syntax {
    set {
      freeswitchPINVOKE.switch_json_api_interface_syntax_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_json_api_interface_syntax_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_json_api_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_json_api_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_json_api_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_json_api_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_json_api_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_json_api_interface next {
    set {
      freeswitchPINVOKE.switch_json_api_interface_next_set(swigCPtr, switch_json_api_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_next_get(swigCPtr);
      switch_json_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_json_api_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_json_api_interface() : this(freeswitchPINVOKE.new_switch_json_api_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_limit_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_limit_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_limit_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_limit_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_limit_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_limit_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_limit_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t incr {
    set {
      freeswitchPINVOKE.switch_limit_interface_incr_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_incr_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t release {
    set {
      freeswitchPINVOKE.switch_limit_interface_release_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_release_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int usage {
    set {
      freeswitchPINVOKE.switch_limit_interface_usage_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_usage_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_void__switch_status_t reset {
    set {
      freeswitchPINVOKE.switch_limit_interface_reset_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_reset_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_void__p_char status {
    set {
      freeswitchPINVOKE.switch_limit_interface_status_set(swigCPtr, SWIGTYPE_p_f_void__p_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_status_get(swigCPtr);
      SWIGTYPE_p_f_void__p_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__p_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t interval_reset {
    set {
      freeswitchPINVOKE.switch_limit_interface_interval_reset_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_interval_reset_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_limit_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_limit_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_limit_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_limit_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_limit_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_limit_interface next {
    set {
      freeswitchPINVOKE.switch_limit_interface_next_set(swigCPtr, switch_limit_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_next_get(swigCPtr);
      switch_limit_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_limit_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_limit_interface() : this(freeswitchPINVOKE.new_switch_limit_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_loadable_module_function_table_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_loadable_module_function_table_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_loadable_module_function_table_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_loadable_module_function_table_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_loadable_module_function_table_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public int switch_api_version {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t load {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_load_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_load_get(swigCPtr);
      SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_void__switch_status_t shutdown {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_void__switch_status_t runtime {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_loadable_module_function_table_t_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_loadable_module_function_table_t() : this(freeswitchPINVOKE.new_switch_loadable_module_function_table_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_loadable_module_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_loadable_module_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_loadable_module_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_loadable_module_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_loadable_module_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string module_name {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_module_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_loadable_module_interface_module_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_endpoint_interface endpoint_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_endpoint_interface_set(swigCPtr, switch_endpoint_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_endpoint_interface_get(swigCPtr);
      switch_endpoint_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_endpoint_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_timer_interface timer_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_timer_interface_set(swigCPtr, switch_timer_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_timer_interface_get(swigCPtr);
      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_dialplan_interface dialplan_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_dialplan_interface_set(swigCPtr, switch_dialplan_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_dialplan_interface_get(swigCPtr);
      switch_dialplan_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_dialplan_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_interface codec_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_codec_interface_set(swigCPtr, switch_codec_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_codec_interface_get(swigCPtr);
      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_application_interface application_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_application_interface_set(swigCPtr, switch_application_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_application_interface_get(swigCPtr);
      switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_application_interface chat_application_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_chat_application_interface_set(swigCPtr, switch_chat_application_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_chat_application_interface_get(swigCPtr);
      switch_chat_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_application_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_api_interface api_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_api_interface_set(swigCPtr, switch_api_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_api_interface_get(swigCPtr);
      switch_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_api_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_json_api_interface json_api_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_json_api_interface_set(swigCPtr, switch_json_api_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_json_api_interface_get(swigCPtr);
      switch_json_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_json_api_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_file_interface file_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_file_interface_set(swigCPtr, switch_file_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_file_interface_get(swigCPtr);
      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_interface speech_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_speech_interface_set(swigCPtr, switch_speech_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_speech_interface_get(swigCPtr);
      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_interface directory_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_directory_interface_set(swigCPtr, switch_directory_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_directory_interface_get(swigCPtr);
      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_interface chat_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_chat_interface_set(swigCPtr, switch_chat_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_chat_interface_get(swigCPtr);
      switch_chat_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_say_interface say_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_say_interface_set(swigCPtr, switch_say_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_say_interface_get(swigCPtr);
      switch_say_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_say_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_interface asr_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_asr_interface_set(swigCPtr, switch_asr_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_asr_interface_get(swigCPtr);
      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_management_interface management_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_management_interface_set(swigCPtr, switch_management_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_management_interface_get(swigCPtr);
      switch_management_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_limit_interface limit_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_limit_interface_set(swigCPtr, switch_limit_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_limit_interface_get(swigCPtr);
      switch_limit_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_limit_interface(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_loadable_module_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface() : this(freeswitchPINVOKE.new_switch_loadable_module_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_log_level_t {
  SWITCH_LOG_DEBUG10 = 110,
  SWITCH_LOG_DEBUG9 = 109,
  SWITCH_LOG_DEBUG8 = 108,
  SWITCH_LOG_DEBUG7 = 107,
  SWITCH_LOG_DEBUG6 = 106,
  SWITCH_LOG_DEBUG5 = 105,
  SWITCH_LOG_DEBUG4 = 104,
  SWITCH_LOG_DEBUG3 = 103,
  SWITCH_LOG_DEBUG2 = 102,
  SWITCH_LOG_DEBUG1 = 101,
  SWITCH_LOG_DEBUG = 7,
  SWITCH_LOG_INFO = 6,
  SWITCH_LOG_NOTICE = 5,
  SWITCH_LOG_WARNING = 4,
  SWITCH_LOG_ERROR = 3,
  SWITCH_LOG_CRIT = 2,
  SWITCH_LOG_ALERT = 1,
  SWITCH_LOG_CONSOLE = 0,
  SWITCH_LOG_INVALID = 64,
  SWITCH_LOG_UNINIT = 1000
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_log_node_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_log_node_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_log_node_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_log_node_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_log_node_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string data {
    set {
      freeswitchPINVOKE.switch_log_node_t_data_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_data_get(swigCPtr);
      return ret;
    } 
  }

  public string file {
    set {
      freeswitchPINVOKE.switch_log_node_t_file_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_file_get(swigCPtr);
      return ret;
    } 
  }

  public uint line {
    set {
      freeswitchPINVOKE.switch_log_node_t_line_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_log_node_t_line_get(swigCPtr);
      return ret;
    } 
  }

  public string func {
    set {
      freeswitchPINVOKE.switch_log_node_t_func_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_func_get(swigCPtr);
      return ret;
    } 
  }

  public switch_log_level_t level {
    set {
      freeswitchPINVOKE.switch_log_node_t_level_set(swigCPtr, (int)value);
    } 
    get {
      switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_node_t_level_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t timestamp {
    set {
      freeswitchPINVOKE.switch_log_node_t_timestamp_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_log_node_t_timestamp_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string content {
    set {
      freeswitchPINVOKE.switch_log_node_t_content_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_content_get(swigCPtr);
      return ret;
    } 
  }

  public string userdata {
    set {
      freeswitchPINVOKE.switch_log_node_t_userdata_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_userdata_get(swigCPtr);
      return ret;
    } 
  }

  public switch_text_channel_t channel {
    set {
      freeswitchPINVOKE.switch_log_node_t_channel_set(swigCPtr, (int)value);
    } 
    get {
      switch_text_channel_t ret = (switch_text_channel_t)freeswitchPINVOKE.switch_log_node_t_channel_get(swigCPtr);
      return ret;
    } 
  }

  public switch_log_level_t slevel {
    set {
      freeswitchPINVOKE.switch_log_node_t_slevel_set(swigCPtr, (int)value);
    } 
    get {
      switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_node_t_slevel_get(swigCPtr);
      return ret;
    } 
  }

  public switch_log_node_t() : this(freeswitchPINVOKE.new_switch_log_node_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_management_action_t {
  SMA_NONE,
  SMA_GET,
  SMA_SET
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_management_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_management_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_management_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_management_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_management_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string relative_oid {
    set {
      freeswitchPINVOKE.switch_management_interface_relative_oid_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_management_interface_relative_oid_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t management_function {
    set {
      freeswitchPINVOKE.switch_management_interface_management_function_set(swigCPtr, SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_management_function_get(swigCPtr);
      SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_management_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_management_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_management_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_management_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_management_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_management_interface next {
    set {
      freeswitchPINVOKE.switch_management_interface_next_set(swigCPtr, switch_management_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_next_get(swigCPtr);
      switch_management_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_management_interface() : this(freeswitchPINVOKE.new_switch_management_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_media_bug_flag_enum_t {
  SMBF_BOTH = 0,
  SMBF_READ_STREAM = (1 << 0),
  SMBF_WRITE_STREAM = (1 << 1),
  SMBF_WRITE_REPLACE = (1 << 2),
  SMBF_READ_REPLACE = (1 << 3),
  SMBF_READ_PING = (1 << 4),
  SMBF_STEREO = (1 << 5),
  SMBF_ANSWER_REQ = (1 << 6),
  SMBF_BRIDGE_REQ = (1 << 7),
  SMBF_THREAD_LOCK = (1 << 8),
  SMBF_PRUNE = (1 << 9),
  SMBF_NO_PAUSE = (1 << 10),
  SMBF_STEREO_SWAP = (1 << 11),
  SMBF_LOCK = (1 << 12),
  SMBF_TAP_NATIVE_READ = (1 << 13),
  SMBF_TAP_NATIVE_WRITE = (1 << 14),
  SMBF_ONE_ONLY = (1 << 15),
  SMBF_MASK = (1 << 16)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_media_flag_enum_t {
  SMF_NONE = 0,
  SMF_REBRIDGE = (1 << 0),
  SMF_ECHO_ALEG = (1 << 1),
  SMF_ECHO_BLEG = (1 << 2),
  SMF_FORCE = (1 << 3),
  SMF_LOOP = (1 << 4),
  SMF_HOLD_BLEG = (1 << 5),
  SMF_IMMEDIATE = (1 << 6),
  SMF_EXEC_INLINE = (1 << 7),
  SMF_PRIORITY = (1 << 8)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_media_type_t {
  SWITCH_MEDIA_TYPE_AUDIO,
  SWITCH_MEDIA_TYPE_VIDEO
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_module_flag_enum_t {
  SMODF_NONE = 0,
  SMODF_GLOBAL_SYMBOLS = (1 << 0)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_module_interface_name_t {
  SWITCH_ENDPOINT_INTERFACE,
  SWITCH_TIMER_INTERFACE,
  SWITCH_DIALPLAN_INTERFACE,
  SWITCH_CODEC_INTERFACE,
  SWITCH_APPLICATION_INTERFACE,
  SWITCH_API_INTERFACE,
  SWITCH_FILE_INTERFACE,
  SWITCH_SPEECH_INTERFACE,
  SWITCH_DIRECTORY_INTERFACE,
  SWITCH_CHAT_INTERFACE,
  SWITCH_SAY_INTERFACE,
  SWITCH_ASR_INTERFACE,
  SWITCH_MANAGEMENT_INTERFACE,
  SWITCH_LIMIT_INTERFACE,
  SWITCH_CHAT_APPLICATION_INTERFACE,
  SWITCH_JSON_API_INTERFACE
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_originate_flag_enum_t {
  SOF_NONE = 0,
  SOF_NOBLOCK = (1 << 0),
  SOF_FORKED_DIAL = (1 << 1),
  SOF_NO_EFFECTIVE_ANI = (1 << 2),
  SOF_NO_EFFECTIVE_ANIII = (1 << 3),
  SOF_NO_EFFECTIVE_CID_NUM = (1 << 4),
  SOF_NO_EFFECTIVE_CID_NAME = (1 << 5),
  SOF_NO_LIMITS = (1 << 6)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_poll_t {
  SWITCH_POLL_READ = (1 << 0),
  SWITCH_POLL_WRITE = (1 << 1),
  SWITCH_POLL_ERROR = (1 << 2),
  SWITCH_POLL_HUP = (1 << 3),
  SWITCH_POLL_RDNORM = (1 << 4),
  SWITCH_POLL_RDBAND = (1 << 5),
  SWITCH_POLL_PRI = (1 << 6),
  SWITCH_POLL_INVALID = (1 << 7)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_port_flag_enum_t {
  SPF_NONE = 0,
  SPF_ODD = (1 << 0),
  SPF_EVEN = (1 << 1),
  SPF_ROBUST_TCP = (1 << 2),
  SPF_ROBUST_UDP = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_priority_t {
  SWITCH_PRIORITY_NORMAL,
  SWITCH_PRIORITY_LOW,
  SWITCH_PRIORITY_HIGH
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_pvt_class_t {
  SWITCH_PVT_PRIMARY = 0,
  SWITCH_PVT_SECONDARY
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_ring_ready_t {
  SWITCH_RING_READY_NONE,
  SWITCH_RING_READY_RINGING,
  SWITCH_RING_READY_QUEUED
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtcp_hdr_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtcp_hdr_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtcp_hdr_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtcp_hdr_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtcp_hdr_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint version {
    set {
      freeswitchPINVOKE.switch_rtcp_hdr_t_version_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_version_get(swigCPtr);
      return ret;
    } 
  }

  public uint p {
    set {
      freeswitchPINVOKE.switch_rtcp_hdr_t_p_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_p_get(swigCPtr);
      return ret;
    } 
  }

  public uint count {
    set {
      freeswitchPINVOKE.switch_rtcp_hdr_t_count_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_count_get(swigCPtr);
      return ret;
    } 
  }

  public uint type {
    set {
      freeswitchPINVOKE.switch_rtcp_hdr_t_type_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_type_get(swigCPtr);
      return ret;
    } 
  }

  public uint length {
    set {
      freeswitchPINVOKE.switch_rtcp_hdr_t_length_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_length_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtcp_hdr_t() : this(freeswitchPINVOKE.new_switch_rtcp_hdr_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtcp_numbers_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtcp_numbers_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtcp_numbers_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtcp_numbers_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtcp_numbers_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint packet_count {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_packet_count_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_packet_count_get(swigCPtr);
      return ret;
    } 
  }

  public uint octet_count {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_octet_count_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_octet_count_get(swigCPtr);
      return ret;
    } 
  }

  public uint peer_ssrc {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_peer_ssrc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_peer_ssrc_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtcp_numbers_t() : this(freeswitchPINVOKE.new_switch_rtcp_numbers_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_rtp_bug_flag_t {
  RTP_BUG_NONE = 0,
  RTP_BUG_CISCO_SKIP_MARK_BIT_2833 = (1 << 0),
  RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833 = (1 << 1),
  RTP_BUG_IGNORE_MARK_BIT = (1 << 2),
  RTP_BUG_SEND_LINEAR_TIMESTAMPS = (1 << 3),
  RTP_BUG_START_SEQ_AT_ZERO = (1 << 4),
  RTP_BUG_NEVER_SEND_MARKER = (1 << 5),
  RTP_BUG_IGNORE_DTMF_DURATION = (1 << 6),
  RTP_BUG_ACCEPT_ANY_PACKETS = (1 << 7),
  RTP_BUG_GEN_ONE_GEN_ALL = (1 << 8),
  RTP_BUG_CHANGE_SSRC_ON_MARKER = (1 << 9),
  RTP_BUG_FLUSH_JB_ON_DTMF = (1 << 10),
  RTP_BUG_ACCEPT_ANY_PAYLOAD = (1 << 11)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_rtp_crypto_direction_t {
  SWITCH_RTP_CRYPTO_SEND,
  SWITCH_RTP_CRYPTO_RECV,
  SWITCH_RTP_CRYPTO_SEND_RTCP,
  SWITCH_RTP_CRYPTO_RECV_RTCP,
  SWITCH_RTP_CRYPTO_MAX
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtp_crypto_key : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_crypto_key(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtp_crypto_key obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtp_crypto_key() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_crypto_key(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint index {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_index_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_crypto_key_index_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_crypto_key_type_t type {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_rtp_crypto_key_type_t ret = (switch_rtp_crypto_key_type_t)freeswitchPINVOKE.switch_rtp_crypto_key_type_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char key {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_key_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_key_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t keylen {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_keylen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_crypto_key_keylen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_rtp_crypto_key next {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_next_set(swigCPtr, switch_rtp_crypto_key.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_next_get(swigCPtr);
      switch_rtp_crypto_key ret = (cPtr == IntPtr.Zero) ? null : new switch_rtp_crypto_key(cPtr, false);
      return ret;
    } 
  }

  public switch_rtp_crypto_key() : this(freeswitchPINVOKE.new_switch_rtp_crypto_key(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_rtp_crypto_key_type_t {
  AEAD_AES_256_GCM_8,
  AEAD_AES_128_GCM_8,
  AES_CM_256_HMAC_SHA1_80,
  AES_CM_192_HMAC_SHA1_80,
  AES_CM_128_HMAC_SHA1_80,
  AES_CM_256_HMAC_SHA1_32,
  AES_CM_192_HMAC_SHA1_32,
  AES_CM_128_HMAC_SHA1_32,
  AES_CM_128_NULL_AUTH,
  CRYPTO_INVALID
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_rtp_flag_t {
  SWITCH_RTP_FLAG_NOBLOCK = 0,
  SWITCH_RTP_FLAG_DTMF_ON,
  SWITCH_RTP_FLAG_IO,
  SWITCH_RTP_FLAG_USE_TIMER,
  SWITCH_RTP_FLAG_RTCP_PASSTHRU,
  SWITCH_RTP_FLAG_SECURE_SEND,
  SWITCH_RTP_FLAG_SECURE_RECV,
  SWITCH_RTP_FLAG_AUTOADJ,
  SWITCH_RTP_FLAG_RAW_WRITE,
  SWITCH_RTP_FLAG_GOOGLEHACK,
  SWITCH_RTP_FLAG_VAD,
  SWITCH_RTP_FLAG_BREAK,
  SWITCH_RTP_FLAG_UDPTL,
  SWITCH_RTP_FLAG_DATAWAIT,
  SWITCH_RTP_FLAG_BYTESWAP,
  SWITCH_RTP_FLAG_PASS_RFC2833,
  SWITCH_RTP_FLAG_AUTO_CNG,
  SWITCH_RTP_FLAG_SECURE_SEND_RESET,
  SWITCH_RTP_FLAG_SECURE_RECV_RESET,
  SWITCH_RTP_FLAG_PROXY_MEDIA,
  SWITCH_RTP_FLAG_SHUTDOWN,
  SWITCH_RTP_FLAG_FLUSH,
  SWITCH_RTP_FLAG_AUTOFLUSH,
  SWITCH_RTP_FLAG_STICKY_FLUSH,
  SWITCH_ZRTP_FLAG_SECURE_SEND,
  SWITCH_ZRTP_FLAG_SECURE_RECV,
  SWITCH_ZRTP_FLAG_SECURE_MITM_SEND,
  SWITCH_ZRTP_FLAG_SECURE_MITM_RECV,
  SWITCH_RTP_FLAG_DEBUG_RTP_READ,
  SWITCH_RTP_FLAG_DEBUG_RTP_WRITE,
  SWITCH_RTP_FLAG_VIDEO,
  SWITCH_RTP_FLAG_ENABLE_RTCP,
  SWITCH_RTP_FLAG_RTCP_MUX,
  SWITCH_RTP_FLAG_KILL_JB,
  SWITCH_RTP_FLAG_VIDEO_BREAK,
  SWITCH_RTP_FLAG_PAUSE,
  SWITCH_RTP_FLAG_FIR,
  SWITCH_RTP_FLAG_PLI,
  SWITCH_RTP_FLAG_RESET,
  SWITCH_RTP_FLAG_INVALID
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_rtp_flush_t {
  SWITCH_RTP_FLUSH_ONCE,
  SWITCH_RTP_FLUSH_STICK,
  SWITCH_RTP_FLUSH_UNSTICK
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtp_hdr_ext_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_hdr_ext_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtp_hdr_ext_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtp_hdr_ext_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_hdr_ext_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint length {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_ext_t_length_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_ext_t_length_get(swigCPtr);
      return ret;
    } 
  }

  public uint profile {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_ext_t_profile_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_ext_t_profile_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_hdr_ext_t() : this(freeswitchPINVOKE.new_switch_rtp_hdr_ext_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtp_hdr_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_hdr_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtp_hdr_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtp_hdr_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_hdr_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public uint version {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_version_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_version_get(swigCPtr);
      return ret;
    } 
  }

  public uint p {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_p_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_p_get(swigCPtr);
      return ret;
    } 
  }

  public uint x {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_x_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_x_get(swigCPtr);
      return ret;
    } 
  }

  public uint cc {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_cc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_cc_get(swigCPtr);
      return ret;
    } 
  }

  public uint m {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_m_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_m_get(swigCPtr);
      return ret;
    } 
  }

  public uint pt {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_pt_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_pt_get(swigCPtr);
      return ret;
    } 
  }

  public uint seq {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_seq_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_seq_get(swigCPtr);
      return ret;
    } 
  }

  public uint ts {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_ts_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ts_get(swigCPtr);
      return ret;
    } 
  }

  public uint ssrc {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_hdr_t() : this(freeswitchPINVOKE.new_switch_rtp_hdr_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtp_numbers_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_numbers_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtp_numbers_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtp_numbers_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_numbers_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_size_t raw_bytes {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_raw_bytes_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_raw_bytes_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t media_bytes {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_media_bytes_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_media_bytes_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t period_packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_period_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_period_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t media_packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_media_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_media_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t skip_packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_skip_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_skip_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t jb_packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_jb_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_jb_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t dtmf_packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_dtmf_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_dtmf_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t cng_packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_cng_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_cng_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t flush_packet_count {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_flush_packet_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_flush_packet_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t largest_jb_size {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_largest_jb_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_largest_jb_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public long last_proc_time {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_last_proc_time_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_rtp_numbers_t_last_proc_time_get(swigCPtr);
      return ret;
    } 
  }

  public long jitter_n {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_jitter_n_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_rtp_numbers_t_jitter_n_get(swigCPtr);
      return ret;
    } 
  }

  public long jitter_add {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_jitter_add_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_rtp_numbers_t_jitter_add_get(swigCPtr);
      return ret;
    } 
  }

  public long jitter_addsq {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_jitter_addsq_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_rtp_numbers_t_jitter_addsq_get(swigCPtr);
      return ret;
    } 
  }

  public double variance {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_variance_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_variance_get(swigCPtr);
      return ret;
    } 
  }

  public double min_variance {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_min_variance_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_min_variance_get(swigCPtr);
      return ret;
    } 
  }

  public double max_variance {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_max_variance_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_max_variance_get(swigCPtr);
      return ret;
    } 
  }

  public double std_deviation {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_std_deviation_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_std_deviation_get(swigCPtr);
      return ret;
    } 
  }

  public double lossrate {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_lossrate_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_lossrate_get(swigCPtr);
      return ret;
    } 
  }

  public double burstrate {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_burstrate_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_burstrate_get(swigCPtr);
      return ret;
    } 
  }

  public double mean_interval {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_mean_interval_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_mean_interval_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_int loss {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_loss_set(swigCPtr, SWIGTYPE_p_int.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_numbers_t_loss_get(swigCPtr);
      SWIGTYPE_p_int ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
      return ret;
    } 
  }

  public int last_loss {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_last_loss_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_rtp_numbers_t_last_loss_get(swigCPtr);
      return ret;
    } 
  }

  public int recved {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_recved_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_rtp_numbers_t_recved_get(swigCPtr);
      return ret;
    } 
  }

  public int last_processed_seq {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_last_processed_seq_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_rtp_numbers_t_last_processed_seq_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t flaws {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_flaws_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_flaws_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t last_flaw {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_last_flaw_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_numbers_t_last_flaw_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public double R {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_R_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_R_get(swigCPtr);
      return ret;
    } 
  }

  public double mos {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_mos_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtp_numbers_t_mos_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_numbers_t() : this(freeswitchPINVOKE.new_switch_rtp_numbers_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtp_stats_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_stats_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtp_stats_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtp_stats_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_stats_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_rtp_numbers_t inbound {
    set {
      freeswitchPINVOKE.switch_rtp_stats_t_inbound_set(swigCPtr, switch_rtp_numbers_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_stats_t_inbound_get(swigCPtr);
      switch_rtp_numbers_t ret = (cPtr == IntPtr.Zero) ? null : new switch_rtp_numbers_t(cPtr, false);
      return ret;
    } 
  }

  public switch_rtp_numbers_t outbound {
    set {
      freeswitchPINVOKE.switch_rtp_stats_t_outbound_set(swigCPtr, switch_rtp_numbers_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_stats_t_outbound_get(swigCPtr);
      switch_rtp_numbers_t ret = (cPtr == IntPtr.Zero) ? null : new switch_rtp_numbers_t(cPtr, false);
      return ret;
    } 
  }

  public switch_rtcp_numbers_t rtcp {
    set {
      freeswitchPINVOKE.switch_rtp_stats_t_rtcp_set(swigCPtr, switch_rtcp_numbers_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_stats_t_rtcp_get(swigCPtr);
      switch_rtcp_numbers_t ret = (cPtr == IntPtr.Zero) ? null : new switch_rtcp_numbers_t(cPtr, false);
      return ret;
    } 
  }

  public uint read_count {
    set {
      freeswitchPINVOKE.switch_rtp_stats_t_read_count_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_stats_t_read_count_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_stats_t() : this(freeswitchPINVOKE.new_switch_rtp_stats_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_say_args_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_say_args_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_say_args_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_say_args_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_say_args_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_say_type_t type {
    set {
      freeswitchPINVOKE.switch_say_args_t_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_say_args_t_type_get(swigCPtr);
      return ret;
    } 
  }

  public switch_say_method_t method {
    set {
      freeswitchPINVOKE.switch_say_args_t_method_set(swigCPtr, (int)value);
    } 
    get {
      switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_say_args_t_method_get(swigCPtr);
      return ret;
    } 
  }

  public switch_say_gender_t gender {
    set {
      freeswitchPINVOKE.switch_say_args_t_gender_set(swigCPtr, (int)value);
    } 
    get {
      switch_say_gender_t ret = (switch_say_gender_t)freeswitchPINVOKE.switch_say_args_t_gender_get(swigCPtr);
      return ret;
    } 
  }

  public string ext {
    set {
      freeswitchPINVOKE.switch_say_args_t_ext_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_say_args_t_ext_get(swigCPtr);
      return ret;
    } 
  }

  public switch_say_args_t() : this(freeswitchPINVOKE.new_switch_say_args_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_say_gender_t {
  SSG_MASCULINE,
  SSG_FEMININE,
  SSG_NEUTER,
  SSG_UTRUM
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_say_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_say_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_say_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_say_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_say_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_say_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_say_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t say_function {
    set {
      freeswitchPINVOKE.switch_say_interface_say_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_say_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t say_string_function {
    set {
      freeswitchPINVOKE.switch_say_interface_say_string_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_say_string_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_say_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_say_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_say_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_say_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_say_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_say_interface next {
    set {
      freeswitchPINVOKE.switch_say_interface_next_set(swigCPtr, switch_say_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_next_get(swigCPtr);
      switch_say_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_say_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_say_interface() : this(freeswitchPINVOKE.new_switch_say_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_say_method_t {
  SSM_NA,
  SSM_PRONOUNCED,
  SSM_ITERATED,
  SSM_COUNTED,
  SSM_PRONOUNCED_YEAR
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_say_type_t {
  SST_NUMBER,
  SST_ITEMS,
  SST_PERSONS,
  SST_MESSAGES,
  SST_CURRENCY,
  SST_TIME_MEASUREMENT,
  SST_CURRENT_DATE,
  SST_CURRENT_TIME,
  SST_CURRENT_DATE_TIME,
  SST_TELEPHONE_NUMBER,
  SST_TELEPHONE_EXTENSION,
  SST_URL,
  SST_IP_ADDRESS,
  SST_EMAIL_ADDRESS,
  SST_POSTAL_ADDRESS,
  SST_ACCOUNT_NUMBER,
  SST_NAME_SPELLED,
  SST_NAME_PHONETIC,
  SST_SHORT_DATE_TIME
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_scheduler_flag_enum_t {
  SSHF_NONE = 0,
  SSHF_OWN_THREAD = (1 << 0),
  SSHF_FREE_ARG = (1 << 1),
  SSHF_NO_DEL = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_scheduler_task : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_scheduler_task(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_scheduler_task obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_scheduler_task() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_scheduler_task(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public long created {
    set {
      freeswitchPINVOKE.switch_scheduler_task_created_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_scheduler_task_created_get(swigCPtr);
      return ret;
    } 
  }

  public long runtime {
    set {
      freeswitchPINVOKE.switch_scheduler_task_runtime_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_scheduler_task_runtime_get(swigCPtr);
      return ret;
    } 
  }

  public uint cmd_id {
    set {
      freeswitchPINVOKE.switch_scheduler_task_cmd_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_scheduler_task_cmd_id_get(swigCPtr);
      return ret;
    } 
  }

  public uint repeat {
    set {
      freeswitchPINVOKE.switch_scheduler_task_repeat_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_scheduler_task_repeat_get(swigCPtr);
      return ret;
    } 
  }

  public string group {
    set {
      freeswitchPINVOKE.switch_scheduler_task_group_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_scheduler_task_group_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void cmd_arg {
    set {
      freeswitchPINVOKE.switch_scheduler_task_cmd_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_scheduler_task_cmd_arg_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint task_id {
    set {
      freeswitchPINVOKE.switch_scheduler_task_task_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_scheduler_task_task_id_get(swigCPtr);
      return ret;
    } 
  }

  public uint hash {
    set {
      freeswitchPINVOKE.switch_scheduler_task_hash_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_scheduler_task_hash_get(swigCPtr);
      return ret;
    } 
  }

  public switch_scheduler_task() : this(freeswitchPINVOKE.new_switch_scheduler_task(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_sdp_type_t {
  SDP_TYPE_REQUEST,
  SDP_TYPE_RESPONSE
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_serial_event_header_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_serial_event_header_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_serial_event_header_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_serial_event_header_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_serial_event_header_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_serial_event_header_t_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_serial_event_header_t_name_get(swigCPtr);
      return ret;
    } 
  }

  public string value {
    set {
      freeswitchPINVOKE.switch_serial_event_header_t_value_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_serial_event_header_t_value_get(swigCPtr);
      return ret;
    } 
  }

  public switch_serial_event_header_t() : this(freeswitchPINVOKE.new_switch_serial_event_header_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_serial_event_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_serial_event_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_serial_event_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_serial_event_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_serial_event_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public int event_id {
    set {
      freeswitchPINVOKE.switch_serial_event_t_event_id_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_serial_event_t_event_id_get(swigCPtr);
      return ret;
    } 
  }

  public int priority {
    set {
      freeswitchPINVOKE.switch_serial_event_t_priority_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_serial_event_t_priority_get(swigCPtr);
      return ret;
    } 
  }

  public int flags {
    set {
      freeswitchPINVOKE.switch_serial_event_t_flags_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_serial_event_t_flags_get(swigCPtr);
      return ret;
    } 
  }

  public string owner {
    set {
      freeswitchPINVOKE.switch_serial_event_t_owner_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_serial_event_t_owner_get(swigCPtr);
      return ret;
    } 
  }

  public string subclass_name {
    set {
      freeswitchPINVOKE.switch_serial_event_t_subclass_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_serial_event_t_subclass_name_get(swigCPtr);
      return ret;
    } 
  }

  public string body {
    set {
      freeswitchPINVOKE.switch_serial_event_t_body_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_serial_event_t_body_get(swigCPtr);
      return ret;
    } 
  }

  public switch_serial_event_t() : this(freeswitchPINVOKE.new_switch_serial_event_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_session_ctl_t {
  SCSC_PAUSE_INBOUND,
  SCSC_PAUSE_OUTBOUND,
  SCSC_PAUSE_ALL,
  SCSC_HUPALL,
  SCSC_SHUTDOWN,
  SCSC_CHECK_RUNNING,
  SCSC_LOGLEVEL,
  SCSC_SPS,
  SCSC_LAST_SPS,
  SCSC_RECLAIM,
  SCSC_MAX_SESSIONS,
  SCSC_SYNC_CLOCK,
  SCSC_MAX_DTMF_DURATION,
  SCSC_MIN_DTMF_DURATION,
  SCSC_DEFAULT_DTMF_DURATION,
  SCSC_SHUTDOWN_ELEGANT,
  SCSC_SHUTDOWN_ASAP,
  SCSC_CANCEL_SHUTDOWN,
  SCSC_SEND_SIGHUP,
  SCSC_DEBUG_LEVEL,
  SCSC_FLUSH_DB_HANDLES,
  SCSC_SHUTDOWN_NOW,
  SCSC_REINCARNATE_NOW,
  SCSC_CALIBRATE_CLOCK,
  SCSC_SAVE_HISTORY,
  SCSC_CRASH,
  SCSC_MIN_IDLE_CPU,
  SCSC_VERBOSE_EVENTS,
  SCSC_SHUTDOWN_CHECK,
  SCSC_PAUSE_INBOUND_CHECK,
  SCSC_PAUSE_OUTBOUND_CHECK,
  SCSC_PAUSE_CHECK,
  SCSC_READY_CHECK,
  SCSC_THREADED_SYSTEM_EXEC,
  SCSC_SYNC_CLOCK_WHEN_IDLE,
  SCSC_DEBUG_SQL,
  SCSC_SQL,
  SCSC_API_EXPANSION,
  SCSC_RECOVER,
  SCSC_SPS_PEAK,
  SCSC_SPS_PEAK_FIVEMIN,
  SCSC_SESSIONS_PEAK,
  SCSC_SESSIONS_PEAK_FIVEMIN
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_signal_t {
  SWITCH_SIG_NONE,
  SWITCH_SIG_KILL,
  SWITCH_SIG_XFER,
  SWITCH_SIG_BREAK
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_slin_data : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_slin_data(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_slin_data obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_slin_data() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_slin_data(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_core_session session {
    set {
      freeswitchPINVOKE.switch_slin_data_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_session_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
      return ret;
    } 
  }

  public switch_frame write_frame {
    set {
      freeswitchPINVOKE.switch_slin_data_write_frame_set(swigCPtr, switch_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_write_frame_get(swigCPtr);
      switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_codec codec {
    set {
      freeswitchPINVOKE.switch_slin_data_codec_set(swigCPtr, switch_codec.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_codec_get(swigCPtr);
      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
      return ret;
    } 
  }

  public string frame_data {
    set {
      freeswitchPINVOKE.switch_slin_data_frame_data_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_slin_data_frame_data_get(swigCPtr);
      return ret;
    } 
  }

  public switch_slin_data() : this(freeswitchPINVOKE.new_switch_slin_data(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_speech_flag_enum_t {
  SWITCH_SPEECH_FLAG_NONE = 0,
  SWITCH_SPEECH_FLAG_HASTEXT = (1 << 0),
  SWITCH_SPEECH_FLAG_PEEK = (1 << 1),
  SWITCH_SPEECH_FLAG_FREE_POOL = (1 << 2),
  SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3),
  SWITCH_SPEECH_FLAG_PAUSE = (1 << 4),
  SWITCH_SPEECH_FLAG_OPEN = (1 << 5),
  SWITCH_SPEECH_FLAG_DONE = (1 << 6)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_speech_handle : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_speech_handle(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_speech_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_speech_handle() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_speech_handle(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public switch_speech_interface speech_interface {
    set {
      freeswitchPINVOKE.switch_speech_handle_speech_interface_set(swigCPtr, switch_speech_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_speech_interface_get(swigCPtr);
      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_speech_handle_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_flags_get(swigCPtr);
      return ret;
    } 
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_speech_handle_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_name_get(swigCPtr);
      return ret;
    } 
  }

  public uint rate {
    set {
      freeswitchPINVOKE.switch_speech_handle_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_rate_get(swigCPtr);
      return ret;
    } 
  }

  public uint speed {
    set {
      freeswitchPINVOKE.switch_speech_handle_speed_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_speed_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_speech_handle_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_samples_get(swigCPtr);
      return ret;
    } 
  }

  public uint channels {
    set {
      freeswitchPINVOKE.switch_speech_handle_channels_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_channels_get(swigCPtr);
      return ret;
    } 
  }

  public uint real_channels {
    set {
      freeswitchPINVOKE.switch_speech_handle_real_channels_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_real_channels_get(swigCPtr);
      return ret;
    } 
  }

  public string voice {
    set {
      freeswitchPINVOKE.switch_speech_handle_voice_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_voice_get(swigCPtr);
      return ret;
    } 
  }

  public string engine {
    set {
      freeswitchPINVOKE.switch_speech_handle_engine_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_engine_get(swigCPtr);
      return ret;
    } 
  }

  public string param {
    set {
      freeswitchPINVOKE.switch_speech_handle_param_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_param_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_speech_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_audio_resampler_t resampler {
    set {
      freeswitchPINVOKE.switch_speech_handle_resampler_set(swigCPtr, switch_audio_resampler_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == IntPtr.Zero) ? null : new switch_audio_resampler_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer buffer {
    set {
      freeswitchPINVOKE.switch_speech_handle_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char dbuf {
    set {
      freeswitchPINVOKE.switch_speech_handle_dbuf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t dbuflen {
    set {
      freeswitchPINVOKE.switch_speech_handle_dbuflen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_speech_handle_dbuflen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public uint samplerate {
    set {
      freeswitchPINVOKE.switch_speech_handle_samplerate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_samplerate_get(swigCPtr);
      return ret;
    } 
  }

  public uint native_rate {
    set {
      freeswitchPINVOKE.switch_speech_handle_native_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_native_rate_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_speech_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_handle() : this(freeswitchPINVOKE.new_switch_speech_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_speech_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_speech_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_speech_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_speech_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_speech_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_speech_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t speech_open {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t speech_close {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t speech_feed_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t speech_read_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_read_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_read_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle__void speech_flush_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void speech_text_param_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void speech_numeric_param_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void speech_float_param_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_speech_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_speech_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_speech_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_speech_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_speech_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_interface next {
    set {
      freeswitchPINVOKE.switch_speech_interface_next_set(swigCPtr, switch_speech_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_next_get(swigCPtr);
      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_interface() : this(freeswitchPINVOKE.new_switch_speech_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_srtp_crypto_suite_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_srtp_crypto_suite_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_srtp_crypto_suite_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_srtp_crypto_suite_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_srtp_crypto_suite_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_srtp_crypto_suite_t_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_srtp_crypto_suite_t_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_crypto_key_type_t type {
    set {
      freeswitchPINVOKE.switch_srtp_crypto_suite_t_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_rtp_crypto_key_type_t ret = (switch_rtp_crypto_key_type_t)freeswitchPINVOKE.switch_srtp_crypto_suite_t_type_get(swigCPtr);
      return ret;
    } 
  }

  public int keylen {
    set {
      freeswitchPINVOKE.switch_srtp_crypto_suite_t_keylen_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_srtp_crypto_suite_t_keylen_get(swigCPtr);
      return ret;
    } 
  }

  public switch_srtp_crypto_suite_t() : this(freeswitchPINVOKE.new_switch_srtp_crypto_suite_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_stack_t {
  SWITCH_STACK_BOTTOM = (1 << 0),
  SWITCH_STACK_TOP = (1 << 1),
  SWITCH_STACK_NODUP = (1 << 2),
  SWITCH_STACK_UNSHIFT = (1 << 3),
  SWITCH_STACK_PUSH = (1 << 4)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_state_handler_flag_t {
  SSH_FLAG_STICKY = (1 << 0)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_state_handler_name_t {
  SWITCH_SHN_ON_INIT,
  SWITCH_SHN_ON_ROUTING,
  SWITCH_SHN_ON_EXECUTE,
  SWITCH_SHN_ON_HANGUP,
  SWITCH_SHN_ON_EXCHANGE_MEDIA,
  SWITCH_SHN_ON_SOFT_EXECUTE,
  SWITCH_SHN_ON_CONSUME_MEDIA,
  SWITCH_SHN_ON_HIBERNATE,
  SWITCH_SHN_ON_RESET,
  SWITCH_SHN_ON_PARK,
  SWITCH_SHN_ON_REPORTING,
  SWITCH_SHN_ON_DESTROY
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_state_handler_table : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_state_handler_table(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_state_handler_table obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_state_handler_table() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_state_handler_table(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_init {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_routing {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_routing_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_routing_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_execute {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_execute_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hangup {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_hangup_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hangup_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_exchange_media {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_soft_execute {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_consume_media {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_consume_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_consume_media_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hibernate {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_hibernate_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hibernate_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_reset {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_reset_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reset_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_park {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_park_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_park_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_reporting {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_reporting_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reporting_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_destroy {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public int flags {
    set {
      freeswitchPINVOKE.switch_state_handler_table_flags_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_state_handler_table_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_void padding {
    set {
      freeswitchPINVOKE.switch_state_handler_table_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_padding_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_state_handler_table() : this(freeswitchPINVOKE.new_switch_state_handler_table(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_status_t {
  SWITCH_STATUS_SUCCESS,
  SWITCH_STATUS_FALSE,
  SWITCH_STATUS_TIMEOUT,
  SWITCH_STATUS_RESTART,
  SWITCH_STATUS_INTR,
  SWITCH_STATUS_NOTIMPL,
  SWITCH_STATUS_MEMERR,
  SWITCH_STATUS_NOOP,
  SWITCH_STATUS_RESAMPLE,
  SWITCH_STATUS_GENERR,
  SWITCH_STATUS_INUSE,
  SWITCH_STATUS_BREAK,
  SWITCH_STATUS_SOCKERR,
  SWITCH_STATUS_MORE_DATA,
  SWITCH_STATUS_NOTFOUND,
  SWITCH_STATUS_UNLOAD,
  SWITCH_STATUS_NOUNLOAD,
  SWITCH_STATUS_IGNORE,
  SWITCH_STATUS_TOO_SMALL,
  SWITCH_STATUS_FOUND,
  SWITCH_STATUS_CONTINUE,
  SWITCH_STATUS_TERM,
  SWITCH_STATUS_NOT_INITALIZED,
  SWITCH_STATUS_XBREAK = 35,
  SWITCH_STATUS_WINBREAK = 730035
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_stream_handle : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_stream_handle(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_stream_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_stream_handle() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_stream_handle(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char read_function {
    set {
      freeswitchPINVOKE.switch_stream_handle_read_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_read_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t write_function {
    set {
      freeswitchPINVOKE.switch_stream_handle_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_write_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t raw_write_function {
    set {
      freeswitchPINVOKE.switch_stream_handle_raw_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_raw_write_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void data {
    set {
      freeswitchPINVOKE.switch_stream_handle_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void end {
    set {
      freeswitchPINVOKE.switch_stream_handle_end_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_end_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t data_size {
    set {
      freeswitchPINVOKE.switch_stream_handle_data_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t data_len {
    set {
      freeswitchPINVOKE.switch_stream_handle_data_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_len_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t alloc_len {
    set {
      freeswitchPINVOKE.switch_stream_handle_alloc_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_len_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t alloc_chunk {
    set {
      freeswitchPINVOKE.switch_stream_handle_alloc_chunk_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_chunk_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_event param_event {
    set {
      freeswitchPINVOKE.switch_stream_handle_param_event_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_param_event_get(swigCPtr);
      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public switch_stream_handle() : this(freeswitchPINVOKE.new_switch_stream_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_t38_options_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_t38_options_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_t38_options_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_t38_options_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_t38_options_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public ushort T38FaxVersion {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxVersion_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_t38_options_t_T38FaxVersion_get(swigCPtr);
      return ret;
    } 
  }

  public uint T38MaxBitRate {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38MaxBitRate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_t38_options_t_T38MaxBitRate_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t T38FaxFillBitRemoval {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxFillBitRemoval_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_t38_options_t_T38FaxFillBitRemoval_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t T38FaxTranscodingMMR {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxTranscodingMMR_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_t38_options_t_T38FaxTranscodingMMR_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t T38FaxTranscodingJBIG {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxTranscodingJBIG_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_t38_options_t_T38FaxTranscodingJBIG_get(swigCPtr);
      return ret;
    } 
  }

  public string T38FaxRateManagement {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxRateManagement_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_t38_options_t_T38FaxRateManagement_get(swigCPtr);
      return ret;
    } 
  }

  public uint T38FaxMaxBuffer {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxMaxBuffer_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_t38_options_t_T38FaxMaxBuffer_get(swigCPtr);
      return ret;
    } 
  }

  public uint T38FaxMaxDatagram {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxMaxDatagram_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_t38_options_t_T38FaxMaxDatagram_get(swigCPtr);
      return ret;
    } 
  }

  public string T38FaxUdpEC {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38FaxUdpEC_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_t38_options_t_T38FaxUdpEC_get(swigCPtr);
      return ret;
    } 
  }

  public string T38VendorInfo {
    set {
      freeswitchPINVOKE.switch_t38_options_t_T38VendorInfo_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_t38_options_t_T38VendorInfo_get(swigCPtr);
      return ret;
    } 
  }

  public string remote_ip {
    set {
      freeswitchPINVOKE.switch_t38_options_t_remote_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_t38_options_t_remote_ip_get(swigCPtr);
      return ret;
    } 
  }

  public ushort remote_port {
    set {
      freeswitchPINVOKE.switch_t38_options_t_remote_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_t38_options_t_remote_port_get(swigCPtr);
      return ret;
    } 
  }

  public string local_ip {
    set {
      freeswitchPINVOKE.switch_t38_options_t_local_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_t38_options_t_local_ip_get(swigCPtr);
      return ret;
    } 
  }

  public ushort local_port {
    set {
      freeswitchPINVOKE.switch_t38_options_t_local_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_t38_options_t_local_port_get(swigCPtr);
      return ret;
    } 
  }

  public string sdp_o_line {
    set {
      freeswitchPINVOKE.switch_t38_options_t_sdp_o_line_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_t38_options_t_sdp_o_line_get(swigCPtr);
      return ret;
    } 
  }

  public switch_t38_options_t() : this(freeswitchPINVOKE.new_switch_t38_options_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_text_channel_t {
  SWITCH_CHANNEL_ID_LOG,
  SWITCH_CHANNEL_ID_LOG_CLEAN,
  SWITCH_CHANNEL_ID_EVENT,
  SWITCH_CHANNEL_ID_SESSION
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_thread_data_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_thread_data_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_thread_data_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_thread_data_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_thread_data_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_thread_start_t func {
    set {
      freeswitchPINVOKE.switch_thread_data_t_func_set(swigCPtr, SWIGTYPE_p_switch_thread_start_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_thread_start_t ret = new SWIGTYPE_p_switch_thread_start_t(freeswitchPINVOKE.switch_thread_data_t_func_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_void obj {
    set {
      freeswitchPINVOKE.switch_thread_data_t_obj_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_thread_data_t_obj_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public int alloc {
    set {
      freeswitchPINVOKE.switch_thread_data_t_alloc_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_thread_data_t_alloc_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_thread_data_t_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_thread_data_t_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_thread_data_t() : this(freeswitchPINVOKE.new_switch_thread_data_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_thread_priority_t {
  SWITCH_PRI_LOW = 1,
  SWITCH_PRI_NORMAL = 10,
  SWITCH_PRI_IMPORTANT = 50,
  SWITCH_PRI_REALTIME = 99
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_timer : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_timer(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_timer obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_timer() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_timer(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public int interval {
    set {
      freeswitchPINVOKE.switch_timer_interval_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_timer_interval_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_timer_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_timer_flags_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_timer_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_timer_samples_get(swigCPtr);
      return ret;
    } 
  }

  public uint samplecount {
    set {
      freeswitchPINVOKE.switch_timer_samplecount_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_timer_samplecount_get(swigCPtr);
      return ret;
    } 
  }

  public switch_timer_interface timer_interface {
    set {
      freeswitchPINVOKE.switch_timer_timer_interface_set(swigCPtr, switch_timer_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_timer_interface_get(swigCPtr);
      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_timer_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_timer_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t diff {
    set {
      freeswitchPINVOKE.switch_timer_diff_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_diff_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t tick {
    set {
      freeswitchPINVOKE.switch_timer_tick_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_tick_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_timer() : this(freeswitchPINVOKE.new_switch_timer(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_timer_flag_enum_t {
  SWITCH_TIMER_FLAG_FREE_POOL = (1 << 0)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_timer_func_name_t {
  SWITCH_TIMER_FUNC_TIMER_INIT,
  SWITCH_TIMER_FUNC_TIMER_NEXT,
  SWITCH_TIMER_FUNC_TIMER_STEP,
  SWITCH_TIMER_FUNC_TIMER_SYNC,
  SWITCH_TIMER_FUNC_TIMER_CHECK,
  SWITCH_TIMER_FUNC_TIMER_DESTROY
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_timer_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_timer_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_timer_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_timer_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_timer_interface(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_timer_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_timer_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_init {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_next {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_next_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_step {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_step_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_step_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_sync {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_sync_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_sync_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t timer_check {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_check_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_check_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_destroy {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_timer_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_timer_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_timer_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_timer_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_timer_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_timer_interface next {
    set {
      freeswitchPINVOKE.switch_timer_interface_next_set(swigCPtr, switch_timer_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_next_get(swigCPtr);
      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_timer_interface() : this(freeswitchPINVOKE.new_switch_timer_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_unicast_conninfo : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_unicast_conninfo(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_unicast_conninfo obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_unicast_conninfo() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_unicast_conninfo(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_core_session session {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_session_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
      return ret;
    } 
  }

  public switch_codec read_codec {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_read_codec_set(swigCPtr, switch_codec.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_read_codec_get(swigCPtr);
      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
      return ret;
    } 
  }

  public switch_frame write_frame {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_set(swigCPtr, switch_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_get(swigCPtr);
      switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char write_frame_data {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_socket_t socket {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_socket_set(swigCPtr, SWIGTYPE_p_switch_socket_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_socket_get(swigCPtr);
      SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
      return ret;
    } 
  }

  public string local_ip {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_local_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_unicast_conninfo_local_ip_get(swigCPtr);
      return ret;
    } 
  }

  public ushort local_port {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_local_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_local_port_get(swigCPtr);
      return ret;
    } 
  }

  public string remote_ip {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_get(swigCPtr);
      return ret;
    } 
  }

  public ushort remote_port {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_remote_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_port_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_sockaddr_t local_addr {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_local_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_local_addr_get(swigCPtr);
      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_sockaddr_t remote_addr {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_get(swigCPtr);
      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t flag_mutex {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public int flags {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_flags_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_flags_get(swigCPtr);
      return ret;
    } 
  }

  public int type {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_type_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_type_get(swigCPtr);
      return ret;
    } 
  }

  public int transport {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_transport_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_transport_get(swigCPtr);
      return ret;
    } 
  }

  public int stream_id {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_stream_id_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_stream_id_get(swigCPtr);
      return ret;
    } 
  }

  public switch_unicast_conninfo() : this(freeswitchPINVOKE.new_switch_unicast_conninfo(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_unicast_flag_enum_t {
  SUF_NONE = 0,
  SUF_THREAD_RUNNING = (1 << 0),
  SUF_READY = (1 << 1),
  SUF_NATIVE = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_uri_flags {
  SWITCH_URI_NUMERIC_HOST = 1,
  SWITCH_URI_NUMERIC_PORT = 2,
  SWITCH_URI_NO_SCOPE = 4
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_vad_flag_enum_t {
  SWITCH_VAD_FLAG_TALKING = (1 << 0),
  SWITCH_VAD_FLAG_EVENTS_TALK = (1 << 1),
  SWITCH_VAD_FLAG_EVENTS_NOTALK = (1 << 2),
  SWITCH_VAD_FLAG_CNG = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_waitlist_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_waitlist_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_waitlist_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_waitlist_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_waitlist_t(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public int sock {
    set {
      freeswitchPINVOKE.switch_waitlist_t_sock_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_waitlist_t_sock_get(swigCPtr);
      return ret;
    } 
  }

  public uint events {
    set {
      freeswitchPINVOKE.switch_waitlist_t_events_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_waitlist_t_events_get(swigCPtr);
      return ret;
    } 
  }

  public uint revents {
    set {
      freeswitchPINVOKE.switch_waitlist_t_revents_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_waitlist_t_revents_get(swigCPtr);
      return ret;
    } 
  }

  public switch_waitlist_t() : this(freeswitchPINVOKE.new_switch_waitlist_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_xml : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_xml(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_xml obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_xml() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if (swigCPtr.Handle != IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_xml(swigCPtr);
        }
        swigCPtr = new HandleRef(null, IntPtr.Zero);
      }
      GC.SuppressFinalize(this);
    }
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_xml_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_name_get(swigCPtr);
      return ret;
    } 
  }

  public string attr {
  set { freeswitchPINVOKE.switch_xml_attr_set(swigCPtr, ref value); }

  get {
    return freeswitchPINVOKE.switch_xml_attr_get(swigCPtr);
  }

  }

  public string txt {
    set {
      freeswitchPINVOKE.switch_xml_txt_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_txt_get(swigCPtr);
      return ret;
    } 
  }

  public string free_path {
    set {
      freeswitchPINVOKE.switch_xml_free_path_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_free_path_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t off {
    set {
      freeswitchPINVOKE.switch_xml_off_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_xml_off_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_xml next {
    set {
      freeswitchPINVOKE.switch_xml_next_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_next_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml sibling {
    set {
      freeswitchPINVOKE.switch_xml_sibling_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_sibling_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml ordered {
    set {
      freeswitchPINVOKE.switch_xml_ordered_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_ordered_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml child {
    set {
      freeswitchPINVOKE.switch_xml_child_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_child_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml parent {
    set {
      freeswitchPINVOKE.switch_xml_parent_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_parent_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_xml_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_xml_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t is_switch_xml_root_t {
    set {
      freeswitchPINVOKE.switch_xml_is_switch_xml_root_t_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_xml_is_switch_xml_root_t_get(swigCPtr);
      return ret;
    } 
  }

  public uint refs {
    set {
      freeswitchPINVOKE.switch_xml_refs_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_xml_refs_get(swigCPtr);
      return ret;
    } 
  }

  public switch_xml() : this(freeswitchPINVOKE.new_switch_xml(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_xml_flag_t {
  SWITCH_XML_ROOT = (1 << 0),
  SWITCH_XML_NAMEM = (1 << 1),
  SWITCH_XML_TXTM = (1 << 2),
  SWITCH_XML_DUP = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.1
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_xml_section_enum_t {
  SWITCH_XML_SECTION_RESULT = 0,
  SWITCH_XML_SECTION_CONFIG = (1 << 0),
  SWITCH_XML_SECTION_DIRECTORY = (1 << 1),
  SWITCH_XML_SECTION_DIALPLAN = (1 << 2),
  SWITCH_XML_SECTION_LANGUAGES = (1 << 3),
  SWITCH_XML_SECTION_CHATPLAN = (1 << 4),
  SWITCH_XML_SECTION_MAX = (1 << 4)
}

}
