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

namespace FreeSWITCH.Native {

public class Api : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal Api(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

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

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Api obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~Api() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_Api(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class CoreSession : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal CoreSession(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

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

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(CoreSession obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~CoreSession() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_CoreSession(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_switch_core_session InternalSession {
    set {
      freeswitchPINVOKE.CoreSession_InternalSession_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.CoreSession_InternalSession_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.CoreSession_channel_get(swigCPtr);
      SWIGTYPE_p_switch_channel ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.CoreSession_cb_state_get(swigCPtr);
      input_callback_state_t ret = (cPtr == global::System.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 print(string txt) {
    int ret = freeswitchPINVOKE.CoreSession_print(swigCPtr, txt);
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.CoreSession_GetPrivate(swigCPtr, var);
    SWIGTYPE_p_void ret = (cPtr == global::System.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 string GetDigits(int maxdigits, string terminators, int timeout, int interdigit, int abstimeout) {
    string ret = freeswitchPINVOKE.CoreSession_GetDigits__SWIG_2(swigCPtr, maxdigits, terminators, timeout, interdigit, abstimeout);
    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 void detectSpeech(string arg0, string arg1, string arg2, string arg3) {
    freeswitchPINVOKE.CoreSession_detectSpeech(swigCPtr, arg0, arg1, arg2, arg3);
  }

  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 string playAndDetectSpeech(string file, string engine, string grammar) {
    string ret = freeswitchPINVOKE.CoreSession_playAndDetectSpeech(swigCPtr, file, engine, grammar);
    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);
  }

}

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

namespace FreeSWITCH.Native {

public class DTMF : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal DTMF(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

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

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(DTMF obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~DTMF() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_DTMF(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public partial class Event : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal Event(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

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

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Event obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~Event() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_Event(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_event InternalEvent {
    set {
      freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr);
      switch_event ret = (cPtr == global::System.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;
  }

  public bool merge(Event to_merge) {
    bool ret = freeswitchPINVOKE.Event_merge(swigCPtr, Event.getCPtr(to_merge));
    return ret;
  }

}

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

namespace FreeSWITCH.Native {

public class EventConsumer : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal EventConsumer(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

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

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(EventConsumer obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~EventConsumer() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_EventConsumer(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_switch_queue_t events {
    set {
      freeswitchPINVOKE.EventConsumer_events_set(swigCPtr, SWIGTYPE_p_switch_queue_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.EventConsumer_events_get(swigCPtr);
      SWIGTYPE_p_switch_queue_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.EventConsumer_enodes_get(swigCPtr);
      SWIGTYPE_p_p_switch_event_node ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.EventConsumer_pop(swigCPtr, block, timeout);
    Event ret = (cPtr == global::System.IntPtr.Zero) ? null : new Event(cPtr, true);
    return ret;
  }

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

}

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

namespace FreeSWITCH.Native {

public class IvrMenu : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal IvrMenu(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(IvrMenu obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(IvrMenu obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~IvrMenu() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_IvrMenu(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public partial class ManagedSession : CoreSession {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal ManagedSession(global::System.IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSession_SWIGUpcast(cPtr), cMemoryOwn) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ManagedSession obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(ManagedSession obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  protected override void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_ManagedSession(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
      base.Dispose(disposing);
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_FILE {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_FILE(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_FILE() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_FILE obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_FILE obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_a_256__char {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_a_256__char(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_a_256__char() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_a_256__char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_a_256__char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_a_2__icand_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_a_2__icand_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_a_2__icand_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_a_2__icand_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_a_2__icand_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_cJSON {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_cJSON(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_cJSON() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_cJSON obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_cJSON obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

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 global::System.Runtime.InteropServices.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(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

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 global::System.Runtime.InteropServices.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(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_codec__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

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 global::System.Runtime.InteropServices.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(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session__int {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session__int(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session__int() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

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 global::System.Runtime.InteropServices.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(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

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 global::System.Runtime.InteropServices.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(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

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 global::System.Runtime.InteropServices.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(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_void__p_void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_void__p_void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_void__p_void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void__p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_void__p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_event__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_event__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_event__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_event__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_event__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_event__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_event__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_event__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_media_bug_p_void__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_media_bug_p_void__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_media_bug_p_void__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_media_bug_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_scheduler_task__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_scheduler_task__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_scheduler_task__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.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 global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_timer__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_void__void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void__void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void__void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void__void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_void_p_q_const__char__int {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void_p_q_const__char__int(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void_p_q_const__char__int() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void_p_q_const__char__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void_p_q_const__char__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_p_void_p_switch_event__int {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void_p_switch_event__int(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void_p_switch_event__int() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void_p_switch_event__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void_p_switch_event__int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_void__p_char {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_void__p_char(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_void__p_char() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_void__p_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_void__p_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_f_void__switch_status_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_f_void__switch_status_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_void__switch_status_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_void__switch_status_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_float {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_float(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_float() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_float obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_float obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_fspr_pool_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_fspr_pool_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_fspr_pool_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_fspr_pool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_fspr_pool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_in6_addr {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_in6_addr(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_in6_addr() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_in6_addr obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_in6_addr obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_int {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_int(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_int() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_cJSON {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_cJSON(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_cJSON() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_cJSON obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_cJSON obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_char {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_char(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_char() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_fspr_pool_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_fspr_pool_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_fspr_pool_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_fspr_pool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_fspr_pool_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_p_char {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_p_char(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_p_char() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_p_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_payload_map_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_payload_map_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_payload_map_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_payload_map_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_payload_map_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_pcre2_real_code {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_pcre2_real_code(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_pcre2_real_code() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_pcre2_real_code obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_pcre2_real_code obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_pcre2_real_match_data_8 {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_pcre2_real_match_data_8(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_pcre2_real_match_data_8() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_pcre2_real_match_data_8 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_pcre2_real_match_data_8 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_sqlite3 {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_sqlite3(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_sqlite3() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_sqlite3 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_sqlite3_stmt {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_sqlite3_stmt(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_sqlite3_stmt() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_sqlite3_stmt obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_agc_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_agc_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_agc_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_agc_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_agc_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_audio_resampler_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_audio_resampler_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_audio_resampler_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_audio_resampler_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_buffer {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_buffer(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_buffer() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_buffer obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_cache_db_handle {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_cache_db_handle(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_cache_db_handle() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_cache_db_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_cache_db_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_caller_extension {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_caller_extension(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_caller_extension() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_caller_extension obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_channel {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_channel(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_channel() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_channel obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_codec_implementation {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_codec_implementation(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_codec_implementation() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_codec_implementation obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_codec_implementation obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_console_callback_match {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_console_callback_match(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_console_callback_match() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_console_callback_match obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_console_callback_match obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_core_port_allocator {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_port_allocator(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_port_allocator() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_core_port_allocator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_core_session {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_session(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_session() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_core_session obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_core_session_message {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_session_message(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_session_message() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_core_session_message obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_device_record_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_device_record_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_device_record_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_device_record_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_device_record_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_dial_handle_list_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_dial_handle_list_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_dial_handle_list_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_handle_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_handle_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_dial_handle_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_dial_handle_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_dial_handle_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_handle_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_handle_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_dial_leg_list_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_dial_leg_list_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_dial_leg_list_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_leg_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_leg_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_dial_leg_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_dial_leg_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_dial_leg_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_leg_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_leg_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_event {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_event(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_event() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_event obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_event_node {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_event_node(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_event_node() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_event_node obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_file_handle {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_file_handle(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_file_handle() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_file_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_file_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_frame {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_frame(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_frame() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_frame_buffer_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_frame_buffer_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_frame_buffer_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_frame_buffer_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_frame_buffer_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_hashtable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_hashtable(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_hashtable() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_hashtable obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_hashtable obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_hashtable_iterator {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_hashtable_iterator(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_hashtable_iterator() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_hashtable_iterator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_hashtable_iterator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_ivr_digit_stream {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_digit_stream(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_digit_stream() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_digit_stream obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_ivr_dmachine {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_dmachine(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_dmachine() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_dmachine obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_dmachine obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_ivr_dmachine_match {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_dmachine_match(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_dmachine_match() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_dmachine_match obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_dmachine_match obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_ivr_menu {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_menu(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_menu() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_menu obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_live_array_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_live_array_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_live_array_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_live_array_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_live_array_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_log_node_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_log_node_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_log_node_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_log_node_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_log_node_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_media_bug {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_media_bug(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_media_bug() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_media_bug obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_network_list {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_network_list(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_network_list() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_network_list obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_rtp {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_rtp(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_rtp() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_rtp obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_say_file_handle {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_say_file_handle(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_say_file_handle() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_say_file_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_say_file_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_sql_queue_manager {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_sql_queue_manager(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_sql_queue_manager() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_sql_queue_manager obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_sql_queue_manager obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_thread_data_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_thread_data_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_thread_data_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_thread_data_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_thread_data_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_xml {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_xml(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_xml() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_xml obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_switch_xml_binding {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_xml_binding(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_xml_binding() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_xml_binding obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_unsigned_char {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_unsigned_char(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_unsigned_char() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_unsigned_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_unsigned_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_p_void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_p_void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_pcre2_real_code {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_pcre2_real_code(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_pcre2_real_code() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_pcre2_real_code obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_pcre2_real_code obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_pcre2_real_compile_context_8 {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_pcre2_real_compile_context_8(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_pcre2_real_compile_context_8() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_pcre2_real_compile_context_8 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_pcre2_real_compile_context_8 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_pcre2_real_match_data_8 {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_pcre2_real_match_data_8(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_pcre2_real_match_data_8() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_pcre2_real_match_data_8 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_pcre2_real_match_data_8 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_pid_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_pid_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_pid_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_pid_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_pid_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_short {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_short(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_short() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_short obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_short obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_size_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_size_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_size_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_size_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_size_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_sockaddr {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_sockaddr(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sockaddr() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sockaddr obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_sockaddr_in6 {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_sockaddr_in6(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sockaddr_in6() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sockaddr_in6 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sockaddr_in6 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_socklen_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_socklen_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_socklen_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_socklen_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_sqlite3 {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_sqlite3(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sqlite3() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sqlite3 obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_sqlite3_stmt {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_sqlite3_stmt(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sqlite3_stmt() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sqlite3_stmt obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_agc_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_agc_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_agc_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_agc_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_agc_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_buffer {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_buffer(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_buffer() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_buffer obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_cache_db_handle {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_cache_db_handle(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_cache_db_handle() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_cache_db_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_cache_db_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_call_cause_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_call_cause_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_call_cause_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_call_cause_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_channel {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_channel(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_channel() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_channel obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_codec_control_type_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_codec_control_type_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_codec_control_type_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_codec_control_type_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_codec_control_type_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_core_port_allocator {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_core_port_allocator(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_core_port_allocator() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_core_port_allocator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_core_session {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_core_session(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_core_session() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_core_session obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_dial_handle_list_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_dial_handle_list_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_dial_handle_list_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_handle_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_handle_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_dial_handle_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_dial_handle_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_dial_handle_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_handle_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_handle_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_dial_leg_list_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_dial_leg_list_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_dial_leg_list_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_leg_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_leg_list_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_dial_leg_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_dial_leg_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_dial_leg_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_leg_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_leg_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_event_types_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_event_types_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_event_types_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_event_types_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_file_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_file_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_file_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_file_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_frame_buffer_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_frame_buffer_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_frame_buffer_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_frame_buffer_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_frame_buffer_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_hashtable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_hashtable(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_hashtable() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_hashtable obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_hashtable obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_hashtable_iterator {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_hashtable_iterator(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_hashtable_iterator() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_hashtable_iterator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_hashtable_iterator obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_image_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_image_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_image_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_image_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_image_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_img_fmt_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_img_fmt_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_img_fmt_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_img_fmt_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_img_fmt_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_img_position_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_img_position_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_img_position_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_img_position_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_img_position_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_interval_time_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_interval_time_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_interval_time_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_interval_time_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_interval_time_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_ivr_action_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_action_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_action_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_action_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_ivr_digit_stream {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_digit_stream(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_digit_stream() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_digit_stream obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_ivr_digit_stream_parser {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_digit_stream_parser(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_digit_stream_parser() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_ivr_dmachine {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_dmachine(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_dmachine() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_dmachine obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_dmachine obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_ivr_menu {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_menu(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_menu() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_menu obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_ivr_menu_xml_ctx {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_jb_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_jb_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_jb_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_jb_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_jb_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_live_array_s {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_live_array_s(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_live_array_s() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_live_array_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_live_array_s obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_media_bug {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_media_bug(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_media_bug() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_media_bug obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_mutex_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_mutex_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_mutex_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_mutex_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_network_list {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_network_list(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_network_list() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_network_list obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_odbc_handle {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_odbc_handle(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_odbc_handle() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_odbc_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_odbc_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_pollfd_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_pollfd_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_pollfd_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_pollfd_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_queue_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_queue_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_queue_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_queue_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_rtcp_frame {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_rtcp_frame(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_rtcp_frame() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_rtcp_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_rtcp_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_rtp {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_rtp(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_rtp() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_rtp obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_rtp_flag_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_rtp_flag_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_rtp_flag_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_rtp_flag_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_rtp_flag_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_say_file_handle {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_say_file_handle(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_say_file_handle() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_say_file_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_say_file_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_size_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_size_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_size_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_size_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_sockaddr_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_sockaddr_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_sockaddr_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_sockaddr_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_socket_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_socket_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_socket_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_socket_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_sql_queue_manager {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_sql_queue_manager(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_sql_queue_manager() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_sql_queue_manager obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_sql_queue_manager obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_ssize_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ssize_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ssize_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ssize_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_thread_rwlock_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_thread_rwlock_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_thread_rwlock_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_thread_rwlock_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_thread_start_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_thread_start_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_thread_start_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_thread_start_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_thread_start_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_thread_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_thread_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_thread_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_thread_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_thread_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_time_exp_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_time_exp_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_time_exp_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_time_exp_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_time_exp_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_time_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_time_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_time_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_time_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_switch_xml_binding {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_xml_binding(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_xml_binding() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_xml_binding obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_xml_binding obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_time_t {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_time_t(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_time_t() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_time_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_time_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_unsigned_char {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_char(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_char() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_char obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_unsigned_int {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_int(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_int() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_int obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_unsigned_long {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_long(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_long() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_long obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_unsigned_short {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_short(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_short() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_short obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public class SWIGTYPE_p_void {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;

  internal SWIGTYPE_p_void(global::System.IntPtr cPtr, bool futureUse) {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_void() {
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_void obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }
}

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

namespace FreeSWITCH.Native {

public partial class Stream : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal Stream(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Stream obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Stream obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~Stream() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_Stream(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class audio_buffer_header_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal audio_buffer_header_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

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

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(audio_buffer_header_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~audio_buffer_header_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_audio_buffer_header_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  CDF_NONEXPIRING = (1 << 2)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_client_cert_verify_t {
  DTLS_CLIENT_CERT_VERIFY_NONE,
  DTLS_CLIENT_CERT_VERIFY_FINGERPRINT,
  DTLS_CLIENT_CERT_VERIFY_FULL
}

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

namespace FreeSWITCH.Native {

public class dtls_fingerprint_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal dtls_fingerprint_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

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

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(dtls_fingerprint_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~dtls_fingerprint_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_dtls_fingerprint_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.dtls_fingerprint_t_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_OFF,
  DS_HANDSHAKE,
  DS_SETUP,
  DS_READY,
  DS_FAIL,
  DS_INVALID
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class freeswitch {
  public static switch_directories SWITCH_GLOBAL_dirs {
    set {
      freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get();
      switch_directories ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_filenames_get();
      switch_filenames ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_filenames(cPtr, false);
      return ret;
    } 
  }

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

  public static string switch_const_char_type_check(string str) {
    string ret = freeswitchPINVOKE.switch_const_char_type_check(str);
    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 int switch_core_db_open_v2(string filename, SWIGTYPE_p_p_sqlite3 ppDb) {
    int ret = freeswitchPINVOKE.switch_core_db_open_v2(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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol);
    SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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, out string pzTail) {
var pzTail_ptr = global::System.IntPtr.Zero;
    try {
      int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail_ptr);
      return ret;
    } finally {
if(pzTail_ptr != global::System.IntPtr.Zero)
	pzTail = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(pzTail_ptr);
else
	pzTail = null;
    }
  }

  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_pcre2_real_code switch_regex_compile(string pattern, int options, SWIGTYPE_p_int errorcode, SWIGTYPE_p_unsigned_int erroroffset, SWIGTYPE_p_pcre2_real_compile_context_8 ccontext) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, SWIGTYPE_p_int.getCPtr(errorcode), SWIGTYPE_p_unsigned_int.getCPtr(erroroffset), SWIGTYPE_p_pcre2_real_compile_context_8.getCPtr(ccontext));
    SWIGTYPE_p_pcre2_real_code ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_pcre2_real_code(cPtr, false);
    return ret;
  }

  public static int switch_regex_copy_substring(SWIGTYPE_p_pcre2_real_match_data_8 match_data, int stringnumber, string buffer, SWIGTYPE_p_size_t size) {
    int ret = freeswitchPINVOKE.switch_regex_copy_substring(SWIGTYPE_p_pcre2_real_match_data_8.getCPtr(match_data), stringnumber, buffer, SWIGTYPE_p_size_t.getCPtr(size));
    return ret;
  }

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

  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_pcre2_real_code new_re, SWIGTYPE_p_p_pcre2_real_match_data_8 new_match_data) {
    int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_pcre2_real_code.getCPtr(new_re), SWIGTYPE_p_p_pcre2_real_match_data_8.getCPtr(new_match_data));
    return ret;
  }

  public static void switch_perform_substitution(SWIGTYPE_p_pcre2_real_match_data_8 match_data, string data, string substituted, SWIGTYPE_p_switch_size_t len) {
    freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_pcre2_real_match_data_8.getCPtr(match_data), data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len));
    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_pcre2_real_match_data_8 match_data, int match_count, 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_pcre2_real_match_data_8.getCPtr(match_data), match_count, 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 SWIGTYPE_p_void switch_must_malloc(uint _b) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_must_malloc(_b);
    SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_void switch_must_realloc(SWIGTYPE_p_void _b, uint _z) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_must_realloc(SWIGTYPE_p_void.getCPtr(_b), _z);
    SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  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_patch_video(SWIGTYPE_p_switch_core_session orig_session, switch_frame frame) {
    uint ret = freeswitchPINVOKE.switch_core_media_bug_patch_video(SWIGTYPE_p_switch_core_session.getCPtr(orig_session), switch_frame.getCPtr(frame));
    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 void switch_media_bug_set_spy_fmt(SWIGTYPE_p_switch_media_bug bug, switch_vid_spy_fmt_t spy_fmt) {
    freeswitchPINVOKE.switch_media_bug_set_spy_fmt(SWIGTYPE_p_switch_media_bug.getCPtr(bug), (int)spy_fmt);
  }

  public static switch_status_t switch_core_media_bug_push_spy_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame, switch_rw_t rw) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_push_spy_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame), (int)rw);
    return ret;
  }

  public static switch_status_t switch_core_media_bug_patch_spy_frame(SWIGTYPE_p_switch_media_bug bug, SWIGTYPE_p_switch_image_t img, switch_rw_t rw) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_patch_spy_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), SWIGTYPE_p_switch_image_t.getCPtr(img), (int)rw);
    return ret;
  }

  public static switch_vid_spy_fmt_t switch_media_bug_parse_spy_fmt(string name) {
    switch_vid_spy_fmt_t ret = (switch_vid_spy_fmt_t)freeswitchPINVOKE.switch_media_bug_parse_spy_fmt(name);
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    SWIGTYPE_p_void ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_native_read_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_native_write_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_frame(cPtr, false);
    return ret;
  }

  public static switch_frame switch_core_media_bug_get_video_ping_frame(SWIGTYPE_p_switch_media_bug bug) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_video_ping_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    switch_frame ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static void switch_core_media_bug_set_media_params(SWIGTYPE_p_switch_media_bug bug, switch_mm_t mm) {
    freeswitchPINVOKE.switch_core_media_bug_set_media_params(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_mm_t.getCPtr(mm));
  }

  public static void switch_core_media_bug_get_media_params(SWIGTYPE_p_switch_media_bug bug, switch_mm_t mm) {
    freeswitchPINVOKE.switch_core_media_bug_get_media_params(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_mm_t.getCPtr(mm));
  }

  public static string switch_core_media_bug_get_text(SWIGTYPE_p_switch_media_bug bug) {
    string ret = freeswitchPINVOKE.switch_core_media_bug_get_text(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    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_bool_t destroy) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug), (int)destroy);
    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_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, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index);
    switch_state_handler_table ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
    return ret;
  }

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

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

  public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_fspr_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_fspr_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_fspr_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_fspr_pool_t.getCPtr(pool), file, func, line);
    return ret;
  }

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

  public static SWIGTYPE_p_void switch_core_memory_pool_get_data(SWIGTYPE_p_fspr_pool_t pool, string key) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_memory_pool_get_data(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), key);
    SWIGTYPE_p_void ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
    SWIGTYPE_p_void ret = (cPtr == global::System.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_fspr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
    SWIGTYPE_p_void ret = (cPtr == global::System.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) {
    global::System.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 == global::System.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_fspr_pool_t pool, string todup, string file, string func, int line) {
    string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), todup, file, func, line);
    return ret;
  }

  public static string switch_core_perform_strndup(SWIGTYPE_p_fspr_pool_t pool, string todup, uint len, string file, string func, int line) {
    string ret = freeswitchPINVOKE.switch_core_perform_strndup(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), todup, len, 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_fspr_pool_t pool, string fmt) {
    string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), fmt);
    return ret;
  }

  public static SWIGTYPE_p_fspr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session));
    SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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_fspr_pool_t pool, switch_xml xml) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_xml(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_fspr_pool_t.getCPtr(pool), switch_xml.getCPtr(xml));
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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_fspr_pool_t pool, string use_uuid) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_uuid(switch_endpoint_interface.getCPtr(endpoint_interface), (int)direction, originate_flags, SWIGTYPE_p_p_fspr_pool_t.getCPtr(pool), use_uuid);
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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 switch_status_t switch_core_session_set_external_id(SWIGTYPE_p_switch_core_session session, string use_external_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_external_id(SWIGTYPE_p_switch_core_session.getCPtr(session), use_external_id);
    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_fspr_pool_t pool) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, (int)direction, SWIGTYPE_p_p_fspr_pool_t.getCPtr(pool));
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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 switch_status_t switch_thread_pool_wait(switch_thread_data_t td, int ms) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_thread_pool_wait(switch_thread_data_t.getCPtr(td), ms);
    return ret;
  }

  public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session));
    SWIGTYPE_p_switch_channel ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_mutex(SWIGTYPE_p_switch_core_session.getCPtr(session));
    SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 string switch_core_session_get_external_id(SWIGTYPE_p_switch_core_session session) {
    string ret = freeswitchPINVOKE.switch_core_session_get_external_id(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_switch_jb_s switch_core_session_get_jb(SWIGTYPE_p_switch_core_session session, switch_media_type_t type) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_jb(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)type);
    SWIGTYPE_p_switch_jb_s ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_jb_s(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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_dmachine(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)target);
    SWIGTYPE_p_switch_ivr_dmachine ret = (cPtr == global::System.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 void switch_core_session_raw_read(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_session_raw_read(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_perform_locate(uuid_str, file, func, line);
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_perform_force_locate(uuid_str, file, func, line);
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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_fspr_pool_t pool) {
    string ret = freeswitchPINVOKE.switch_core_get_variable_pdup(varname, SWIGTYPE_p_fspr_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 event_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_get_variables(SWIGTYPE_p_p_switch_event.getCPtr(event_));
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_findall_matching_var(var_name, var_val);
    switch_console_callback_match ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_console_callback_match(cPtr, false);
    return ret;
  }

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

  public static uint switch_core_session_hupall_matching_vars_ans(switch_event vars, switch_call_cause_t cause, switch_hup_type_t type) {
    uint ret = freeswitchPINVOKE.switch_core_session_hupall_matching_vars_ans(switch_event.getCPtr(vars), (int)cause, (int)type);
    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 event_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(event_));
    return ret;
  }

  public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_app_log ret = (cPtr == global::System.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 uint switch_core_session_stack_count(SWIGTYPE_p_switch_core_session session, int x) {
    uint ret = freeswitchPINVOKE.switch_core_session_stack_count(SWIGTYPE_p_switch_core_session.getCPtr(session), x);
    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 event_) {
    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(event_));
    return ret;
  }

  public static SWIGTYPE_p_void switch_core_session_get_private_class(SWIGTYPE_p_switch_core_session session, switch_pvt_class_t index) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private_class(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)index);
    SWIGTYPE_p_void ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index);
    SWIGTYPE_p_void ret = (cPtr == global::System.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 string switch_core_session_get_text_buffer(SWIGTYPE_p_switch_core_session session) {
    string ret = freeswitchPINVOKE.switch_core_session_get_text_buffer(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_fspr_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_fspr_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 event_) {
    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(event_));
    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 event_, 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(event_), (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 event_, 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(event_), (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 event_) {
    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(event_));
    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_bool_t switch_core_session_transcoding(SWIGTYPE_p_switch_core_session session_a, SWIGTYPE_p_switch_core_session session_b, switch_media_type_t type) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_session_transcoding(SWIGTYPE_p_switch_core_session.getCPtr(session_a), SWIGTYPE_p_switch_core_session.getCPtr(session_b), (int)type);
    return ret;
  }

  public static void switch_core_session_passthru(SWIGTYPE_p_switch_core_session session, switch_media_type_t type, switch_bool_t on) {
    freeswitchPINVOKE.switch_core_session_passthru(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)type, (int)on);
  }

  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_write_encoded_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_encoded_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_try_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_try_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf, (int)reset_read_codec);
    return ret;
  }

  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_pointer(SWIGTYPE_p_switch_hashtable hash, SWIGTYPE_p_void data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_pointer(SWIGTYPE_p_switch_hashtable.getCPtr(hash), SWIGTYPE_p_void.getCPtr(data));
    return ret;
  }

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

  public static switch_status_t switch_core_hash_insert_dup_auto_free(SWIGTYPE_p_switch_hashtable hash, string key, string str) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_dup_auto_free(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, str);
    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 SWIGTYPE_p_void switch_core_hash_insert_alloc_destructor(SWIGTYPE_p_switch_hashtable hash, string key, uint size, SWIGTYPE_p_f_p_void__void destructor) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_insert_alloc_destructor(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, size, SWIGTYPE_p_f_p_void__void.getCPtr(destructor));
    SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_core_hash_insert_dup_destructor(SWIGTYPE_p_switch_hashtable hash, string key, string str, SWIGTYPE_p_f_p_void__void destructor) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_dup_destructor(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, str, 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 SWIGTYPE_p_void switch_core_hash_delete(SWIGTYPE_p_switch_hashtable hash, string key) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key);
    SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

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

  public static SWIGTYPE_p_void switch_core_hash_delete_wrlock(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_switch_thread_rwlock_t rwlock) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_delete_wrlock(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(rwlock));
    SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key);
    SWIGTYPE_p_void ret = (cPtr == global::System.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) {
    global::System.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 == global::System.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) {
    global::System.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 == global::System.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) {
    global::System.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 == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_next(SWIGTYPE_p_p_switch_hashtable_iterator.getCPtr(hi));
    SWIGTYPE_p_switch_hashtable_iterator ret = (cPtr == global::System.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 void switch_core_hash_this_val(SWIGTYPE_p_switch_hashtable_iterator hi, SWIGTYPE_p_void val) {
    freeswitchPINVOKE.switch_core_hash_this_val(SWIGTYPE_p_switch_hashtable_iterator.getCPtr(hi), SWIGTYPE_p_void.getCPtr(val));
  }

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

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

  public static switch_status_t switch_core_inthash_insert(SWIGTYPE_p_switch_hashtable hash, uint key, SWIGTYPE_p_void data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_inthash_insert(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data));
    return ret;
  }

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

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

  public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_fspr_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_fspr_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, string modname, uint rate, int ms, int channels, uint bitrate, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_fspr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init_with_bitrate(switch_codec.getCPtr(codec), codec_name, fmtp, modname, rate, ms, channels, bitrate, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, switch_codec_settings codec_settings, SWIGTYPE_p_fspr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_fspr_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_encode_video(switch_codec codec, switch_frame frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode_video(switch_codec.getCPtr(codec), switch_frame.getCPtr(frame));
    return ret;
  }

  public static switch_status_t switch_core_codec_control(switch_codec codec, switch_codec_control_command_t cmd, switch_codec_control_type_t ctype, SWIGTYPE_p_void cmd_data, switch_codec_control_type_t atype, SWIGTYPE_p_void cmd_arg, SWIGTYPE_p_switch_codec_control_type_t rtype, SWIGTYPE_p_p_void ret_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_control(switch_codec.getCPtr(codec), (int)cmd, (int)ctype, SWIGTYPE_p_void.getCPtr(cmd_data), (int)atype, SWIGTYPE_p_void.getCPtr(cmd_arg), SWIGTYPE_p_switch_codec_control_type_t.getCPtr(rtype), SWIGTYPE_p_p_void.getCPtr(ret_data));
    return ret;
  }

  public static switch_status_t switch_core_codec_decode_video(switch_codec codec, switch_frame frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode_video(switch_codec.getCPtr(codec), switch_frame.getCPtr(frame));
    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 void switch_core_codec_lock_full(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_codec_lock_full(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  public static void switch_core_codec_unlock_full(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_core_codec_unlock_full(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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
    switch_codec ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_codec(cPtr, false);
    return ret;
  }

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

  public static SWIGTYPE_p_sqlite3 switch_core_db_open_in_memory(string uri) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_in_memory(uri);
    SWIGTYPE_p_sqlite3 ret = (cPtr == global::System.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_fspr_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_fspr_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, switch_frame frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write_video(switch_file_handle.getCPtr(fh), switch_frame.getCPtr(frame));
    return ret;
  }

  public static switch_status_t switch_core_file_read_video(switch_file_handle fh, switch_frame frame, switch_video_read_flag_t flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read_video(switch_file_handle.getCPtr(fh), switch_frame.getCPtr(frame), (int)flags);
    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 string_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, string_);
    return ret;
  }

  public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, out string string_) {
var string__ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref string__ptr);
      return ret;
    } finally {
if(string__ptr != global::System.IntPtr.Zero)
	string_ = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(string__ptr);
else
	string_ = null;
    }
  }

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

  public static switch_status_t switch_core_file_handle_dup(switch_file_handle oldfh, SWIGTYPE_p_p_switch_file_handle newfh, SWIGTYPE_p_fspr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_handle_dup(switch_file_handle.getCPtr(oldfh), SWIGTYPE_p_p_switch_file_handle.getCPtr(newfh), SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
    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_command(switch_file_handle fh, switch_file_command_t command) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_command(switch_file_handle.getCPtr(fh), (int)command);
    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_bool_t switch_core_file_has_video(switch_file_handle fh, switch_bool_t CHECK_OPEN) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_file_has_video(switch_file_handle.getCPtr(fh), (int)CHECK_OPEN);
    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_fspr_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_fspr_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_fspr_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_fspr_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_fspr_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_fspr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string base_, string query) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), base_, 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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel);
    SWIGTYPE_p_FILE ret = (cPtr == global::System.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 switch_core_set_process_privileges() {
    int ret = freeswitchPINVOKE.switch_core_set_process_privileges();
    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() {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console();
    SWIGTYPE_p_FILE ret = (cPtr == global::System.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 switch_status_t switch_core_session_set_video_read_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t func, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t.getCPtr(func), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_status_t switch_core_session_video_read_callback(SWIGTYPE_p_switch_core_session session, switch_frame frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_video_read_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame));
    return ret;
  }

  public static SWIGTYPE_p_switch_hashtable_iterator switch_core_mime_index() {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index();
    SWIGTYPE_p_switch_hashtable_iterator ret = (cPtr == global::System.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 string switch_core_mime_type2ext(string type) {
    string ret = freeswitchPINVOKE.switch_core_mime_type2ext(type);
    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_fspr_pool_t pool, string name) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), name);
    switch_loadable_module_interface ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(switch_loadable_module_interface.getCPtr(mod), (int)iname);
    SWIGTYPE_p_void ret = (cPtr == global::System.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_port_token(string ip_str, int port, string list_name, out string token) {
var token_ptr = global::System.IntPtr.Zero;
    try {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_port_token(ip_str, port, list_name, ref token_ptr);
      return ret;
    } finally {
if(token_ptr != global::System.IntPtr.Zero)
	token = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(token_ptr);
else
	token = null;
    }
  }

  public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, out string token) {
var token_ptr = global::System.IntPtr.Zero;
    try {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token_ptr);
      return ret;
    } finally {
if(token_ptr != global::System.IntPtr.Zero)
	token = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(token_ptr);
else
	token = null;
    }
  }

  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 string_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(string_);
    return ret;
  }

  public static switch_status_t switch_console_set_alias(string string_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(string_);
    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_ex(SWIGTYPE_p_p_switch_cache_db_handle dbh, string dsn, switch_bool_t make_module_no_unloadable, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE._switch_cache_db_get_db_handle_dsn_ex(SWIGTYPE_p_p_switch_cache_db_handle.getCPtr(dbh), dsn, (int)make_module_no_unloadable, 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 switch_status_t switch_cache_db_create_schema(SWIGTYPE_p_switch_cache_db_handle dbh, string sql, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_cache_db_create_schema(SWIGTYPE_p_switch_cache_db_handle.getCPtr(dbh), sql, ref err);
    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_bool_t switch_cache_db_test_reactive_ex(SWIGTYPE_p_switch_cache_db_handle db, string test_sql, string drop_sql, string reactive_sql, string row_size_limited_reactive_sql) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_cache_db_test_reactive_ex(SWIGTYPE_p_switch_cache_db_handle.getCPtr(db), test_sql, drop_sql, reactive_sql, row_size_limited_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_cache_db_database_interface_flush_handles(switch_database_interface database_interface) {
    freeswitchPINVOKE.switch_cache_db_database_interface_flush_handles(switch_database_interface.getCPtr(database_interface));
  }

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

  public static switch_status_t switch_database_available(string dsn) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_database_available(dsn);
    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 int switch_core_sps() {
    int ret = freeswitchPINVOKE.switch_core_sps();
    return ret;
  }

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

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

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

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

  public static int switch_core_sessions_peak_fivemin() {
    int ret = freeswitchPINVOKE.switch_core_sessions_peak_fivemin();
    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 uint switch_core_max_audio_channels(uint limit) {
    uint ret = freeswitchPINVOKE.switch_core_max_audio_channels(limit);
    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 ushort switch_core_get_rtp_port_range_start_port() {
    ushort ret = freeswitchPINVOKE.switch_core_get_rtp_port_range_start_port();
    return ret;
  }

  public static ushort switch_core_get_rtp_port_range_end_port() {
    ushort ret = freeswitchPINVOKE.switch_core_get_rtp_port_range_end_port();
    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 switch_bool_t switch_core_check_dtls_pem(string file) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_check_dtls_pem(file);
    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_request_video_refresh(SWIGTYPE_p_switch_core_session session, int force, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE._switch_core_session_request_video_refresh(SWIGTYPE_p_switch_core_session.getCPtr(session), force, file, func, line);
    return ret;
  }

  public static switch_status_t switch_core_session_send_and_request_video_refresh(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_and_request_video_refresh(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 int switch_spawn(string cmd, switch_bool_t wait) {
    int ret = freeswitchPINVOKE.switch_spawn(cmd, (int)wait);
    return ret;
  }

  public static int switch_stream_spawn(string cmd, switch_bool_t shell, switch_bool_t wait, switch_stream_handle stream) {
    int ret = freeswitchPINVOKE.switch_stream_spawn(cmd, (int)shell, (int)wait, switch_stream_handle.getCPtr(stream));
    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 switch_status_t switch_core_session_override_io_routines(SWIGTYPE_p_switch_core_session session, switch_io_routines ior) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_override_io_routines(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_io_routines.getCPtr(ior));
    return ret;
  }

  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 void switch_core_autobind_cpu() {
    freeswitchPINVOKE.switch_core_autobind_cpu();
  }

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

  public static string switch_core_get_event_channel_key_separator() {
    string ret = freeswitchPINVOKE.switch_core_get_event_channel_key_separator();
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_endpoint_interface(name);
    switch_endpoint_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_endpoint_interface(cPtr, false);
    return ret;
  }

  public static switch_codec_interface switch_loadable_module_get_codec_interface(string name, string modname) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_codec_interface(name, modname);
    switch_codec_interface ret = (cPtr == global::System.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, ref string modname, ref string fmtp) {
    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), ref modname, ref fmtp);
    return ret;
  }

  public static switch_dialplan_interface switch_loadable_module_get_dialplan_interface(string name) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_dialplan_interface(name);
    switch_dialplan_interface ret = (cPtr == global::System.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 void switch_loadable_module_dump_interface_allowlist(switch_stream_handle stream, switch_bool_t by_module, switch_bool_t xml) {
    freeswitchPINVOKE.switch_loadable_module_dump_interface_allowlist(switch_stream_handle.getCPtr(stream), (int)by_module, (int)xml);
  }

  public static switch_status_t switch_loadable_module_build_dynamic(string filename, SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_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_fspr_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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_timer_interface(name);
    switch_timer_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
    return ret;
  }

  public static switch_application_interface switch_loadable_module_get_application_interface(string name) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_application_interface(name);
    switch_application_interface ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_chat_application_interface(name);
    switch_chat_application_interface ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_api_interface(name);
    switch_api_interface ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_json_api_interface(name);
    switch_json_api_interface ret = (cPtr == global::System.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, string modname) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_file_interface(name, modname);
    switch_file_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
    return ret;
  }

  public static switch_database_interface switch_loadable_module_get_database_interface(string name, string modname) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_database_interface(name, modname);
    switch_database_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_database_interface(cPtr, false);
    return ret;
  }

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

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

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

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

  public static switch_say_interface switch_loadable_module_get_say_interface(string name) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_say_interface(name);
    switch_say_interface ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_management_interface(relative_oid);
    switch_management_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
    return ret;
  }

  public static switch_limit_interface switch_loadable_module_get_limit_interface(string name) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_get_limit_interface(name);
    switch_limit_interface ret = (cPtr == global::System.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, SWIGTYPE_p_a_256__char fmtp_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), SWIGTYPE_p_a_256__char.getCPtr(fmtp_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, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_load_module(dir, fname, (int)runtime, ref err_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  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_protect(string mod) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_protect(mod);
    return ret;
  }

  public static switch_status_t switch_loadable_module_unload_module(string dir, string fname, switch_bool_t force, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_unload_module(dir, fname, (int)force, ref err_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  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_fspr_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_fspr_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 void switch_core_codec_add_video_implementation(SWIGTYPE_p_fspr_pool_t pool, switch_codec_interface codec_interface, byte ianacode, string iananame, string fmtp, 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_frame__switch_status_t encode, SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t decode, SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t control, SWIGTYPE_p_f_p_switch_codec__switch_status_t destroy) {
    freeswitchPINVOKE.switch_core_codec_add_video_implementation(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), switch_codec_interface.getCPtr(codec_interface), ianacode, iananame, fmtp, 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_frame__switch_status_t.getCPtr(encode), SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t.getCPtr(decode), SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t.getCPtr(control), 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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_get_secondary_recover_callback(key);
    SWIGTYPE_p_f_p_switch_core_session__int ret = (cPtr == global::System.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_fspr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_init(SWIGTYPE_p_fspr_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 string switch_get_hex_bytes(SWIGTYPE_p_unsigned_char buf, SWIGTYPE_p_switch_size_t datalen, string new_buf, SWIGTYPE_p_switch_size_t new_datalen) {
    string ret = freeswitchPINVOKE.switch_get_hex_bytes(SWIGTYPE_p_unsigned_char.getCPtr(buf), SWIGTYPE_p_switch_size_t.getCPtr(datalen), new_buf, SWIGTYPE_p_switch_size_t.getCPtr(new_datalen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static uint switch_round_to_step(uint num, uint step) {
    uint ret = freeswitchPINVOKE.switch_round_to_step(num, step);
    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 in_, char find, string allowed) {
    string ret = freeswitchPINVOKE.switch_strchr_strict(in_, find, allowed);
    return ret;
  }

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

  public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char in_, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char out_, SWIGTYPE_p_switch_size_t olen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(in_), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(out_), 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 in_, string out_, SWIGTYPE_p_switch_size_t olen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(in_, out_, 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 string switch_print_bits(SWIGTYPE_p_unsigned_char byte_, string buf, SWIGTYPE_p_switch_size_t buflen) {
    string ret = freeswitchPINVOKE.switch_print_bits(SWIGTYPE_p_unsigned_char.getCPtr(byte_), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen));
    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_uint_in_range(string str, uint from, uint to) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_uint_in_range(str, from, to);
    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 switch_bool_t switch_is_leading_number(string str) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_leading_number(str);
    return ret;
  }

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

  public static switch_bool_t switch_true(string expr) {
    switch_bool_t ret = (switch_bool_t)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, switch_bool_t ip_only) {
    int ret = freeswitchPINVOKE.switch_cmp_addr(SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa1), SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa2), (int)ip_only);
    return ret;
  }

  public static int switch_cp_addr(SWIGTYPE_p_switch_sockaddr_t sa1, SWIGTYPE_p_switch_sockaddr_t sa2) {
    int ret = freeswitchPINVOKE.switch_cp_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 int switch_errno_is_break(int errcode) {
    int ret = freeswitchPINVOKE.switch_errno_is_break(errcode);
    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 event_) {
    char ret = freeswitchPINVOKE.switch_rfc2833_to_char(event_);
    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 int switch_safe_atol(string nptr, int dft) {
    int ret = freeswitchPINVOKE.switch_safe_atol(nptr, dft);
    return ret;
  }

  public static long switch_safe_atoll(string nptr, long dft) {
    long ret = freeswitchPINVOKE.switch_safe_atoll(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 in_) {
    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(in_), 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 in_, string out_, SWIGTYPE_p_switch_size_t len) {
    string ret = freeswitchPINVOKE.switch_strip_commas(in_, out_, SWIGTYPE_p_switch_size_t.getCPtr(len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_strip_nonnumerics(string in_, string out_, SWIGTYPE_p_switch_size_t len) {
    string ret = freeswitchPINVOKE.switch_strip_nonnumerics(in_, out_, 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_pool_strip_whitespace(SWIGTYPE_p_fspr_pool_t pool, string str) {
    string ret = freeswitchPINVOKE.switch_pool_strip_whitespace(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), str);
    return ret;
  }

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

  public static string switch_escape_string(string in_, string out_, SWIGTYPE_p_switch_size_t outlen) {
    string ret = freeswitchPINVOKE.switch_escape_string(in_, out_, 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 in_, SWIGTYPE_p_fspr_pool_t pool) {
    string ret = freeswitchPINVOKE.switch_escape_string_pool(in_, SWIGTYPE_p_fspr_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 in_) {
    string ret = freeswitchPINVOKE.switch_cut_path(in_);
    return ret;
  }

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

  public static switch_status_t switch_string_match(string string_, uint string_len, string search, uint search_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(string_, 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 string_) {
    string ret = freeswitchPINVOKE.switch_util_quote_shell_arg(string_);
    return ret;
  }

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

  public static int switch_calc_bitrate(int w, int h, float quality, double fps) {
    int ret = freeswitchPINVOKE.switch_calc_bitrate(w, h, quality, fps);
    return ret;
  }

  public static void switch_calc_fps(switch_fps_t fpsP, float fps, int samplerate) {
    freeswitchPINVOKE.switch_calc_fps(switch_fps_t.getCPtr(fpsP), fps, samplerate);
  }

  public static int switch_parse_bandwidth_string(string bwv) {
    int ret = freeswitchPINVOKE.switch_parse_bandwidth_string(bwv);
    return ret;
  }

  public static uint switch_parse_cpu_string(string cpu) {
    uint ret = freeswitchPINVOKE.switch_parse_cpu_string(cpu);
    return ret;
  }

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

  public static string switch_url_encode_opt(string url, string buf, uint len, switch_bool_t double_encode) {
    string ret = freeswitchPINVOKE.switch_url_encode_opt(url, buf, len, (int)double_encode);
    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 string switch_core_url_encode_opt(SWIGTYPE_p_fspr_pool_t pool, string url, switch_bool_t double_encode) {
    string ret = freeswitchPINVOKE.switch_core_url_encode_opt(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), url, (int)double_encode);
    return ret;
  }

  public static string switch_core_url_encode(SWIGTYPE_p_fspr_pool_t pool, string url) {
    string ret = freeswitchPINVOKE.switch_core_url_encode(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), url);
    return ret;
  }

  public static string switch_core_session_url_encode_opt(SWIGTYPE_p_switch_core_session session, string url, switch_bool_t double_encode) {
    string ret = freeswitchPINVOKE.switch_core_session_url_encode_opt(SWIGTYPE_p_switch_core_session.getCPtr(session), url, (int)double_encode);
    return ret;
  }

  public static string switch_core_session_url_encode(SWIGTYPE_p_switch_core_session session, string url) {
    string ret = freeswitchPINVOKE.switch_core_session_url_encode(SWIGTYPE_p_switch_core_session.getCPtr(session), url);
    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_filecmp(string a, string b) {
    int ret = freeswitchPINVOKE.switch_filecmp(a, b);
    return ret;
  }

  public static string switch_parse_audio_col(switch_audio_col_t col) {
    string ret = freeswitchPINVOKE.switch_parse_audio_col((int)col);
    return ret;
  }

  public static int switch_parse_cidr(string string_, ip_t ip, ip_t mask, SWIGTYPE_p_unsigned_long bitp) {
    int ret = freeswitchPINVOKE.switch_parse_cidr(string_, 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_fspr_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_fspr_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 string switch_network_ipv4_mapped_ipv6_addr(string ip_str) {
    string ret = freeswitchPINVOKE.switch_network_ipv4_mapped_ipv6_addr(ip_str);
    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_status_t switch_network_list_add_cidr_port_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token, switch_network_port_range port) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_port_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token, switch_network_port_range.getCPtr(port));
    return ret;
  }

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

  public static switch_bool_t switch_network_list_validate_ip_port_token(SWIGTYPE_p_switch_network_list list, uint ip, int port, out string token) {
var token_ptr = global::System.IntPtr.Zero;
    try {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_port_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, port, ref token_ptr);
      return ret;
    } finally {
if(token_ptr != global::System.IntPtr.Zero)
	token = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(token_ptr);
else
	token = null;
    }
  }

  public static switch_bool_t switch_network_list_validate_ip6_port_token(SWIGTYPE_p_switch_network_list list, ip_t ip, int port, out string token) {
var token_ptr = global::System.IntPtr.Zero;
    try {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip6_port_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip_t.getCPtr(ip), port, ref token_ptr);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } finally {
if(token_ptr != global::System.IntPtr.Zero)
	token = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(token_ptr);
else
	token = null;
    }
  }

  public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, out string token) {
var token_ptr = global::System.IntPtr.Zero;
    try {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token_ptr);
      return ret;
    } finally {
if(token_ptr != global::System.IntPtr.Zero)
	token = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(token_ptr);
else
	token = null;
    }
  }

  public static switch_bool_t switch_network_list_validate_ip6_token(SWIGTYPE_p_switch_network_list list, ip_t ip, out string token) {
var token_ptr = global::System.IntPtr.Zero;
    try {
      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_ptr);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } finally {
if(token_ptr != global::System.IntPtr.Zero)
	token = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(token_ptr);
else
	token = null;
    }
  }

  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 in_, ref string user, ref string domain) {
    int ret = freeswitchPINVOKE.switch_split_user_domain(in_, ref user, ref domain);
    return ret;
  }

  public static SWIGTYPE_p_void switch_calloc(uint nmemb, uint size) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_calloc(nmemb, size);
    SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    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_status_t switch_frame_buffer_free(SWIGTYPE_p_switch_frame_buffer_s fb, SWIGTYPE_p_p_switch_frame frameP) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_buffer_free(SWIGTYPE_p_switch_frame_buffer_s.getCPtr(fb), SWIGTYPE_p_p_switch_frame.getCPtr(frameP));
    return ret;
  }

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

  public static switch_status_t switch_frame_buffer_destroy(SWIGTYPE_p_p_switch_frame_buffer_s fbP) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_buffer_destroy(SWIGTYPE_p_p_switch_frame_buffer_s.getCPtr(fbP));
    return ret;
  }

  public static switch_status_t switch_frame_buffer_create(SWIGTYPE_p_p_switch_frame_buffer_s fbP, SWIGTYPE_p_switch_size_t qlen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_buffer_create(SWIGTYPE_p_p_switch_frame_buffer_s.getCPtr(fbP), SWIGTYPE_p_switch_size_t.getCPtr(qlen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_frame_buffer_push(SWIGTYPE_p_switch_frame_buffer_s fb, SWIGTYPE_p_void ptr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_buffer_push(SWIGTYPE_p_switch_frame_buffer_s.getCPtr(fb), SWIGTYPE_p_void.getCPtr(ptr));
    return ret;
  }

  public static switch_status_t switch_frame_buffer_trypush(SWIGTYPE_p_switch_frame_buffer_s fb, SWIGTYPE_p_void ptr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_buffer_trypush(SWIGTYPE_p_switch_frame_buffer_s.getCPtr(fb), SWIGTYPE_p_void.getCPtr(ptr));
    return ret;
  }

  public static switch_status_t switch_frame_buffer_pop(SWIGTYPE_p_switch_frame_buffer_s fb, SWIGTYPE_p_p_void ptr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_buffer_pop(SWIGTYPE_p_switch_frame_buffer_s.getCPtr(fb), SWIGTYPE_p_p_void.getCPtr(ptr));
    return ret;
  }

  public static switch_status_t switch_frame_buffer_trypop(SWIGTYPE_p_switch_frame_buffer_s fb, SWIGTYPE_p_p_void ptr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_frame_buffer_trypop(SWIGTYPE_p_switch_frame_buffer_s.getCPtr(fb), SWIGTYPE_p_p_void.getCPtr(ptr));
    return ret;
  }

  public static int switch_frame_buffer_size(SWIGTYPE_p_switch_frame_buffer_s fb) {
    int ret = freeswitchPINVOKE.switch_frame_buffer_size(SWIGTYPE_p_switch_frame_buffer_s.getCPtr(fb));
    return ret;
  }

  public static void switch_getcputime(switch_cputime t) {
    freeswitchPINVOKE.switch_getcputime(switch_cputime.getCPtr(t));
  }

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

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

  public static switch_status_t switch_digest(string digest_name, SWIGTYPE_p_p_unsigned_char digest, SWIGTYPE_p_void input, SWIGTYPE_p_switch_size_t inputLen, SWIGTYPE_p_unsigned_int outputlen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_digest(digest_name, SWIGTYPE_p_p_unsigned_char.getCPtr(digest), SWIGTYPE_p_void.getCPtr(input), SWIGTYPE_p_switch_size_t.getCPtr(inputLen), SWIGTYPE_p_unsigned_int.getCPtr(outputlen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_digest_string(string digest_name, ref string digest_str, SWIGTYPE_p_void input, SWIGTYPE_p_switch_size_t inputLen, SWIGTYPE_p_unsigned_int outputlen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_digest_string(digest_name, ref digest_str, SWIGTYPE_p_void.getCPtr(input), SWIGTYPE_p_switch_size_t.getCPtr(inputLen), SWIGTYPE_p_unsigned_int.getCPtr(outputlen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

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

  public static string switch_memory_usage_stream(switch_stream_handle stream) {
    string ret = freeswitchPINVOKE.switch_memory_usage_stream(switch_stream_handle.getCPtr(stream));
    return ret;
  }

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

  public static int switch_is_ip_address(string hostname) {
    int ret = freeswitchPINVOKE.switch_is_ip_address(hostname);
    return ret;
  }

  public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number);
    switch_caller_extension ret = (cPtr == global::System.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_fspr_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_fspr_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_fspr_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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_fspr_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 == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy));
    switch_caller_profile ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

  public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_fspr_pool_t pool, switch_caller_profile tocopy) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy));
    switch_caller_profile ret = (cPtr == global::System.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 event_) {
    freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(event_));
  }

  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_status_t switch_channel_wait_for_app_flag(SWIGTYPE_p_switch_channel channel, uint app_flag, string key, switch_bool_t pres, uint to) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), app_flag, key, (int)pres, to);
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_cause_ptr(SWIGTYPE_p_switch_channel.getCPtr(channel));
    SWIGTYPE_p_switch_call_cause_t ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_channel_timetable ret = (cPtr == global::System.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_fspr_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_fspr_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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_origination_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == global::System.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_log_tag(SWIGTYPE_p_switch_channel channel, string tagname, string tagvalue) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_log_tag(SWIGTYPE_p_switch_channel.getCPtr(channel), tagname, tagvalue);
    return ret;
  }

  public static switch_status_t switch_channel_get_log_tags(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event log_tags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_log_tags(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(log_tags));
    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_set_variable_strip_quotes_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_strip_quotes_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 event_) {
    freeswitchPINVOKE.switch_channel_set_scope_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(event_));
  }

  public static switch_status_t switch_channel_get_scope_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event event_) {
    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(event_));
    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 string switch_channel_get_variable_strdup(SWIGTYPE_p_switch_channel channel, string varname) {
    string ret = freeswitchPINVOKE.switch_channel_get_variable_strdup(SWIGTYPE_p_switch_channel.getCPtr(channel), varname);
    return ret;
  }

  public static switch_status_t switch_channel_get_variable_buf(SWIGTYPE_p_switch_channel channel, string varname, string buf, SWIGTYPE_p_switch_size_t buflen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variable_buf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event event_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(event_));
    return ret;
  }

  public static switch_status_t switch_channel_get_variables_prefix(SWIGTYPE_p_switch_channel channel, string prefix, SWIGTYPE_p_p_switch_event event_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables_prefix(SWIGTYPE_p_switch_channel.getCPtr(channel), prefix, SWIGTYPE_p_p_switch_event.getCPtr(event_));
    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 int switch_channel_var_false(SWIGTYPE_p_switch_channel channel, string variable) {
    int ret = freeswitchPINVOKE.switch_channel_var_false(SWIGTYPE_p_switch_channel.getCPtr(channel), variable);
    return ret;
  }

  public static int switch_channel_var_true(SWIGTYPE_p_switch_channel channel, string variable) {
    int ret = freeswitchPINVOKE.switch_channel_var_true(SWIGTYPE_p_switch_channel.getCPtr(channel), variable);
    return ret;
  }

  public static switch_event_header switch_channel_variable_first(SWIGTYPE_p_switch_channel channel) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_variable_first(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_event_header ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_extension ret = (cPtr == global::System.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 switch_status_t switch_channel_perform_acknowledge_call(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_acknowledge_call(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
    return ret;
  }

  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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index);
    switch_state_handler_table ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key);
    SWIGTYPE_p_void ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), key);
    SWIGTYPE_p_void ret = (cPtr == global::System.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 event_) {
    freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_));
  }

  public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event event_) {
    freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_));
  }

  public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event event_) {
    freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_));
  }

  public static string switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel channel, string in_, switch_event var_list, switch_event api_list, uint recur) {
    string ret = freeswitchPINVOKE.switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel.getCPtr(channel), in_, 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_perform_video_sync(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    freeswitchPINVOKE.switch_channel_perform_video_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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_session(SWIGTYPE_p_switch_channel.getCPtr(channel));
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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_execute_on_value(SWIGTYPE_p_switch_channel channel, string variable_value) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_execute_on_value(SWIGTYPE_p_switch_channel.getCPtr(channel), variable_value);
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_queued_extension(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_extension ret = (cPtr == global::System.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 string switch_channel_get_partner_uuid_copy(SWIGTYPE_p_switch_channel channel, string buf, SWIGTYPE_p_switch_size_t blen) {
    string ret = freeswitchPINVOKE.switch_channel_get_partner_uuid_copy(SWIGTYPE_p_switch_channel.getCPtr(channel), buf, SWIGTYPE_p_switch_size_t.getCPtr(blen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_hold_record_t switch_channel_get_hold_record(SWIGTYPE_p_switch_channel channel) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_hold_record(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_hold_record_t ret = (cPtr == global::System.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_fspr_pool_t pool) {
    freeswitchPINVOKE.switch_channel_global_init(SWIGTYPE_p_fspr_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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_device_record(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_device_record_t ret = (cPtr == global::System.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_channel_pass_sdp(SWIGTYPE_p_switch_channel from_channel, SWIGTYPE_p_switch_channel to_channel, string sdp) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_pass_sdp(SWIGTYPE_p_switch_channel.getCPtr(from_channel), SWIGTYPE_p_switch_channel.getCPtr(to_channel), sdp);
    return ret;
  }

  public static switch_status_t switch_buffer_create_partition(SWIGTYPE_p_fspr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_partition(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.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_buffer_set_partition_data(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_set_partition_data(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.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_buffer_reset_partition_data(SWIGTYPE_p_switch_buffer buffer) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_reset_partition_data(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
    return ret;
  }

  public static switch_status_t switch_buffer_create(SWIGTYPE_p_fspr_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_fspr_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 SWIGTYPE_p_void switch_buffer_get_head_pointer(SWIGTYPE_p_switch_buffer buffer) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_buffer_get_head_pointer(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
    SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_event_init(SWIGTYPE_p_fspr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_init(SWIGTYPE_p_fspr_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 event_, 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(event_), (int)event_id, subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_set_priority(switch_event event_, switch_priority_t priority) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(event_), (int)priority);
    return ret;
  }

  public static switch_event_header switch_event_get_header_ptr(switch_event event_, string header_name) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_get_header_ptr(switch_event.getCPtr(event_), header_name);
    switch_event_header ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
    return ret;
  }

  public static string switch_event_get_header_idx(switch_event event_, string header_name, int idx) {
    string ret = freeswitchPINVOKE.switch_event_get_header_idx(switch_event.getCPtr(event_), header_name, idx);
    return ret;
  }

  public static switch_status_t switch_event_rename_header(switch_event event_, string header_name, string new_header_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_rename_header(switch_event.getCPtr(event_), header_name, new_header_name);
    return ret;
  }

  public static string switch_event_get_body(switch_event event_) {
    string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(event_));
    return ret;
  }

  public static switch_status_t switch_event_set_subclass_name(switch_event event_, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_subclass_name(switch_event.getCPtr(event_), subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_add_header_string(switch_event event_, 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(event_), (int)stack, header_name, data);
    return ret;
  }

  public static switch_status_t switch_event_add_header_string_nodup(switch_event event_, switch_stack_t stack, string header_name, string data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string_nodup(switch_event.getCPtr(event_), (int)stack, header_name, data);
    return ret;
  }

  public static switch_status_t switch_event_del_header_val(switch_event event_, string header_name, string val) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header_val(switch_event.getCPtr(event_), header_name, val);
    return ret;
  }

  public static int switch_event_add_array(switch_event event_, string var, string val) {
    int ret = freeswitchPINVOKE.switch_event_add_array(switch_event.getCPtr(event_), var, val);
    return ret;
  }

  public static void switch_event_destroy(SWIGTYPE_p_p_switch_event event_) {
    freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(event_));
  }

  public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event event_, switch_event todup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(event_), switch_event.getCPtr(todup));
    return ret;
  }

  public static void switch_event_merge(switch_event event_, switch_event tomerge) {
    freeswitchPINVOKE.switch_event_merge(switch_event.getCPtr(event_), switch_event.getCPtr(tomerge));
  }

  public static switch_status_t switch_event_dup_reply(SWIGTYPE_p_p_switch_event event_, switch_event todup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup_reply(SWIGTYPE_p_p_switch_event.getCPtr(event_), 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 event_, 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(event_), 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 event_) {
    freeswitchPINVOKE.switch_event_prep_for_delivery_detailed(file, func, line, switch_event.getCPtr(event_));
  }

  public static switch_status_t switch_event_bind(string id, switch_event_types_t event_, 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)event_, 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_get_custom_events(SWIGTYPE_p_p_switch_console_callback_match matches) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_get_custom_events(SWIGTYPE_p_p_switch_console_callback_match.getCPtr(matches));
    return ret;
  }

  public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t event_, 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)event_, 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 event_) {
    string ret = freeswitchPINVOKE.switch_event_name((int)event_);
    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 event_, 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(event_), 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 event_, ref string str, switch_bool_t encode) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(event_), ref str, (int)encode);
    return ret;
  }

  public static switch_status_t switch_event_serialize_json(switch_event event_, ref string str) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json(switch_event.getCPtr(event_), ref str);
    return ret;
  }

  public static switch_status_t switch_event_serialize_json_obj(switch_event event_, SWIGTYPE_p_p_cJSON json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json_obj(switch_event.getCPtr(event_), SWIGTYPE_p_p_cJSON.getCPtr(json));
    return ret;
  }

  public static switch_status_t switch_event_create_json(SWIGTYPE_p_p_switch_event event_, string json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_json(SWIGTYPE_p_p_switch_event.getCPtr(event_), 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 event_, 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(event_), ref new_data, (int)dup);
    return ret;
  }

  public static switch_status_t switch_event_create_array_pair(SWIGTYPE_p_p_switch_event event_, 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(event_), 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 event_, string body) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_body(switch_event.getCPtr(event_), body);
    return ret;
  }

  public static string switch_event_expand_headers_check(switch_event event_, string in_, switch_event var_list, switch_event api_list, uint recur) {
    string ret = freeswitchPINVOKE.switch_event_expand_headers_check(switch_event.getCPtr(event_), in_, 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 event_, switch_event_types_t event_id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_plain(SWIGTYPE_p_p_switch_event.getCPtr(event_), (int)event_id);
    return ret;
  }

  public static void switch_event_deliver(SWIGTYPE_p_p_switch_event event_) {
    freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(event_));
  }

  public static string switch_event_build_param_string(switch_event event_, string prefix, SWIGTYPE_p_switch_hashtable vars_map) {
    string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(event_), 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 event_, string prefix) {
    freeswitchPINVOKE.switch_event_add_presence_data_cols(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_), prefix);
  }

  public static void switch_json_add_presence_data_cols(switch_event event_, SWIGTYPE_p_cJSON json, string prefix) {
    freeswitchPINVOKE.switch_json_add_presence_data_cols(switch_event.getCPtr(event_), 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 switch_status_t switch_event_channel_broadcast(string event_channel, SWIGTYPE_p_p_cJSON json, string key, uint id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_channel_broadcast(event_channel, SWIGTYPE_p_p_cJSON.getCPtr(json), key, id);
    return ret;
  }

  public static switch_status_t switch_event_channel_deliver(string event_channel, SWIGTYPE_p_p_cJSON json, string key, uint id) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_channel_deliver(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_p_void__void func, SWIGTYPE_p_void user_data) {
    uint ret = freeswitchPINVOKE.switch_event_channel_unbind(event_channel, SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void.getCPtr(func), SWIGTYPE_p_void.getCPtr(user_data));
    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_p_void__void func, SWIGTYPE_p_unsigned_long id, SWIGTYPE_p_void user_data) {
    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_p_void__void.getCPtr(func), SWIGTYPE_p_unsigned_long.getCPtr(id), SWIGTYPE_p_void.getCPtr(user_data));
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_live_array_get(SWIGTYPE_p_switch_live_array_s.getCPtr(la), name);
    SWIGTYPE_p_cJSON ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_live_array_get_idx(SWIGTYPE_p_switch_live_array_s.getCPtr(la), idx);
    SWIGTYPE_p_cJSON ret = (cPtr == global::System.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, int channels) {
    uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples, channels);
    return ret;
  }

  public static uint switch_unmerge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples, int channels) {
    uint ret = freeswitchPINVOKE.switch_unmerge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples, channels);
    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 void switch_agc_set(SWIGTYPE_p_switch_agc_s agc, uint energy_avg, uint low_energy_point, uint margin, uint change_factor, uint period_len) {
    freeswitchPINVOKE.switch_agc_set(SWIGTYPE_p_switch_agc_s.getCPtr(agc), energy_avg, low_energy_point, margin, change_factor, period_len);
  }

  public static switch_status_t switch_agc_create(SWIGTYPE_p_p_switch_agc_s agcP, uint energy_avg, uint low_energy_point, uint margin, uint change_factor, uint period_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_agc_create(SWIGTYPE_p_p_switch_agc_s.getCPtr(agcP), energy_avg, low_energy_point, margin, change_factor, period_len);
    return ret;
  }

  public static void switch_agc_destroy(SWIGTYPE_p_p_switch_agc_s agcP) {
    freeswitchPINVOKE.switch_agc_destroy(SWIGTYPE_p_p_switch_agc_s.getCPtr(agcP));
  }

  public static switch_status_t switch_agc_feed(SWIGTYPE_p_switch_agc_s agc, SWIGTYPE_p_short data, uint samples, uint channels) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_agc_feed(SWIGTYPE_p_switch_agc_s.getCPtr(agc), SWIGTYPE_p_short.getCPtr(data), samples, channels);
    return ret;
  }

  public static void switch_agc_set_energy_avg(SWIGTYPE_p_switch_agc_s agc, uint energy_avg) {
    freeswitchPINVOKE.switch_agc_set_energy_avg(SWIGTYPE_p_switch_agc_s.getCPtr(agc), energy_avg);
  }

  public static void switch_agc_set_energy_low(SWIGTYPE_p_switch_agc_s agc, uint low_energy_point) {
    freeswitchPINVOKE.switch_agc_set_energy_low(SWIGTYPE_p_switch_agc_s.getCPtr(agc), low_energy_point);
  }

  public static void switch_agc_set_token(SWIGTYPE_p_switch_agc_s agc, string token) {
    freeswitchPINVOKE.switch_agc_set_token(SWIGTYPE_p_switch_agc_s.getCPtr(agc), token);
  }

  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 event_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(event_));
    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_parse_signal_data(SWIGTYPE_p_switch_core_session session, switch_bool_t all, switch_bool_t only_session_thread) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_signal_data(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)all, (int)only_session_thread);
    return ret;
  }

  public static switch_status_t switch_ivr_parse_next_signal_data(SWIGTYPE_p_switch_core_session session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_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_record_session_event(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh, switch_event variables) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session_event(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh), switch_event.getCPtr(variables));
    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_detect_audio(SWIGTYPE_p_switch_core_session session, uint thresh, uint audio_hits, uint timeout_ms, string file) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_audio(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, audio_hits, timeout_ms, file);
    return ret;
  }

  public static switch_status_t switch_ivr_detect_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint timeout_ms, string file) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, timeout_ms, file);
    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_ivr_record_file_event(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit, switch_event vars) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit, switch_event.getCPtr(vars));
    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, SWIGTYPE_p_switch_dial_handle_s dh) {
    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), SWIGTYPE_p_switch_dial_handle_s.getCPtr(dh));
    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, SWIGTYPE_p_switch_dial_handle_list_s hl) {
    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), SWIGTYPE_p_switch_dial_handle_list_s.getCPtr(hl));
    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_bridge_bleg(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, uint max_wait_ms) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bridge_bleg(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), max_wait_ms);
    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 void switch_ivr_check_hold(SWIGTYPE_p_switch_core_session session) {
    freeswitchPINVOKE.switch_ivr_check_hold(SWIGTYPE_p_switch_core_session.getCPtr(session));
  }

  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_3p_media(string uuid, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_3p_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_3p_nomedia(string uuid, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_3p_nomedia(uuid, flags);
    return ret;
  }

  public static void switch_ivr_bg_media(string uuid, uint flags, switch_bool_t on, switch_bool_t is3p, uint delay) {
    freeswitchPINVOKE.switch_ivr_bg_media(uuid, flags, (int)on, (int)is3p, delay);
  }

  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_fspr_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_fspr_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) {
    global::System.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 == global::System.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_fspr_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_fspr_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_fspr_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_fspr_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 event_, 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(event_), 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 switch_status_t switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg);
    return ret;
  }

  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_extended(SWIGTYPE_p_switch_core_session session, string data, switch_event params_) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user_extended(SWIGTYPE_p_switch_core_session.getCPtr(session), data, switch_event.getCPtr(params_));
    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_fspr_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_fspr_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, byte is_priority, 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, is_priority, 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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_ivr_dmachine_get_match(SWIGTYPE_p_switch_ivr_dmachine.getCPtr(dmachine));
    switch_ivr_dmachine_match ret = (cPtr == global::System.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_ivr_record_session_pause(SWIGTYPE_p_switch_core_session session, string file, switch_bool_t on) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session_pause(SWIGTYPE_p_switch_core_session.getCPtr(session), file, (int)on);
    return ret;
  }

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

  public static switch_status_t switch_ivr_video_write_overlay_session(SWIGTYPE_p_switch_core_session session, string img_path, SWIGTYPE_p_switch_img_position_t pos, byte alpha) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_video_write_overlay_session(SWIGTYPE_p_switch_core_session.getCPtr(session), img_path, SWIGTYPE_p_switch_img_position_t.getCPtr(pos), alpha);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_capture_text(SWIGTYPE_p_switch_core_session session, switch_bool_t on) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_capture_text(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)on);
    return ret;
  }

  public static switch_status_t switch_dial_handle_create(SWIGTYPE_p_p_switch_dial_handle_s handle) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_create(SWIGTYPE_p_p_switch_dial_handle_s.getCPtr(handle));
    return ret;
  }

  public static switch_status_t switch_dial_handle_create_json_obj(SWIGTYPE_p_p_switch_dial_handle_s handle, SWIGTYPE_p_cJSON json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_create_json_obj(SWIGTYPE_p_p_switch_dial_handle_s.getCPtr(handle), SWIGTYPE_p_cJSON.getCPtr(json));
    return ret;
  }

  public static switch_status_t switch_dial_handle_create_json(SWIGTYPE_p_p_switch_dial_handle_s handle, string handle_string) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_create_json(SWIGTYPE_p_p_switch_dial_handle_s.getCPtr(handle), handle_string);
    return ret;
  }

  public static void switch_dial_handle_destroy(SWIGTYPE_p_p_switch_dial_handle_s handle) {
    freeswitchPINVOKE.switch_dial_handle_destroy(SWIGTYPE_p_p_switch_dial_handle_s.getCPtr(handle));
  }

  public static switch_status_t switch_dial_handle_serialize_json_obj(SWIGTYPE_p_switch_dial_handle_s handle, SWIGTYPE_p_p_cJSON json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_serialize_json_obj(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle), SWIGTYPE_p_p_cJSON.getCPtr(json));
    return ret;
  }

  public static switch_status_t switch_dial_handle_serialize_json(SWIGTYPE_p_switch_dial_handle_s handle, ref string str) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_serialize_json(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle), ref str);
    return ret;
  }

  public static void switch_dial_handle_add_leg_list(SWIGTYPE_p_switch_dial_handle_s handle, SWIGTYPE_p_p_switch_dial_leg_list_s leg_listP) {
    freeswitchPINVOKE.switch_dial_handle_add_leg_list(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle), SWIGTYPE_p_p_switch_dial_leg_list_s.getCPtr(leg_listP));
  }

  public static void switch_dial_leg_list_add_leg(SWIGTYPE_p_switch_dial_leg_list_s parent, SWIGTYPE_p_p_switch_dial_leg_s legP, string dial_string) {
    freeswitchPINVOKE.switch_dial_leg_list_add_leg(SWIGTYPE_p_switch_dial_leg_list_s.getCPtr(parent), SWIGTYPE_p_p_switch_dial_leg_s.getCPtr(legP), dial_string);
  }

  public static void switch_dial_leg_list_add_leg_printf(SWIGTYPE_p_switch_dial_leg_list_s parent, SWIGTYPE_p_p_switch_dial_leg_s legP, string fmt) {
    freeswitchPINVOKE.switch_dial_leg_list_add_leg_printf(SWIGTYPE_p_switch_dial_leg_list_s.getCPtr(parent), SWIGTYPE_p_p_switch_dial_leg_s.getCPtr(legP), fmt);
  }

  public static void switch_dial_handle_add_global_var(SWIGTYPE_p_switch_dial_handle_s handle, string var, string val) {
    freeswitchPINVOKE.switch_dial_handle_add_global_var(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle), var, val);
  }

  public static void switch_dial_handle_add_global_var_printf(SWIGTYPE_p_switch_dial_handle_s handle, string var, string fmt) {
    freeswitchPINVOKE.switch_dial_handle_add_global_var_printf(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle), var, fmt);
  }

  public static switch_status_t switch_dial_handle_add_leg_var(SWIGTYPE_p_switch_dial_leg_s leg, string var, string val) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_add_leg_var(SWIGTYPE_p_switch_dial_leg_s.getCPtr(leg), var, val);
    return ret;
  }

  public static switch_status_t switch_dial_handle_add_leg_var_printf(SWIGTYPE_p_switch_dial_leg_s leg, string var, string fmt) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_add_leg_var_printf(SWIGTYPE_p_switch_dial_leg_s.getCPtr(leg), var, fmt);
    return ret;
  }

  public static int switch_dial_handle_get_peers(SWIGTYPE_p_switch_dial_handle_s handle, int idx, ref string array, int max) {
    int ret = freeswitchPINVOKE.switch_dial_handle_get_peers(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle), idx, ref array, max);
    return ret;
  }

  public static int switch_dial_handle_get_vars(SWIGTYPE_p_switch_dial_handle_s handle, int idx, SWIGTYPE_p_p_switch_event array, int max) {
    int ret = freeswitchPINVOKE.switch_dial_handle_get_vars(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle), idx, SWIGTYPE_p_p_switch_event.getCPtr(array), max);
    return ret;
  }

  public static switch_event switch_dial_handle_get_global_vars(SWIGTYPE_p_switch_dial_handle_s handle) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_dial_handle_get_global_vars(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle));
    switch_event ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_event(cPtr, false);
    return ret;
  }

  public static switch_event switch_dial_leg_get_vars(SWIGTYPE_p_switch_dial_leg_s leg) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_dial_leg_get_vars(SWIGTYPE_p_switch_dial_leg_s.getCPtr(leg));
    switch_event ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_event(cPtr, false);
    return ret;
  }

  public static string switch_dial_leg_get_var(SWIGTYPE_p_switch_dial_leg_s leg, string key) {
    string ret = freeswitchPINVOKE.switch_dial_leg_get_var(SWIGTYPE_p_switch_dial_leg_s.getCPtr(leg), key);
    return ret;
  }

  public static int switch_dial_handle_get_total(SWIGTYPE_p_switch_dial_handle_s handle) {
    int ret = freeswitchPINVOKE.switch_dial_handle_get_total(SWIGTYPE_p_switch_dial_handle_s.getCPtr(handle));
    return ret;
  }

  public static switch_status_t switch_dial_handle_list_serialize_json_obj(SWIGTYPE_p_switch_dial_handle_list_s hl, SWIGTYPE_p_p_cJSON json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_list_serialize_json_obj(SWIGTYPE_p_switch_dial_handle_list_s.getCPtr(hl), SWIGTYPE_p_p_cJSON.getCPtr(json));
    return ret;
  }

  public static switch_status_t switch_dial_handle_list_serialize_json(SWIGTYPE_p_switch_dial_handle_list_s hl, ref string str) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_list_serialize_json(SWIGTYPE_p_switch_dial_handle_list_s.getCPtr(hl), ref str);
    return ret;
  }

  public static switch_status_t switch_dial_handle_list_create_json_obj(SWIGTYPE_p_p_switch_dial_handle_list_s handle, SWIGTYPE_p_cJSON json) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_list_create_json_obj(SWIGTYPE_p_p_switch_dial_handle_list_s.getCPtr(handle), SWIGTYPE_p_cJSON.getCPtr(json));
    return ret;
  }

  public static switch_status_t switch_dial_handle_list_create_json(SWIGTYPE_p_p_switch_dial_handle_list_s handle, string handle_string) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_list_create_json(SWIGTYPE_p_p_switch_dial_handle_list_s.getCPtr(handle), handle_string);
    return ret;
  }

  public static switch_status_t switch_dial_handle_list_create(SWIGTYPE_p_p_switch_dial_handle_list_s hl) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_list_create(SWIGTYPE_p_p_switch_dial_handle_list_s.getCPtr(hl));
    return ret;
  }

  public static switch_status_t switch_dial_handle_list_create_handle(SWIGTYPE_p_switch_dial_handle_list_s hl, SWIGTYPE_p_p_switch_dial_handle_s handle) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_dial_handle_list_create_handle(SWIGTYPE_p_switch_dial_handle_list_s.getCPtr(hl), SWIGTYPE_p_p_switch_dial_handle_s.getCPtr(handle));
    return ret;
  }

  public static void switch_dial_handle_list_destroy(SWIGTYPE_p_p_switch_dial_handle_list_s hl) {
    freeswitchPINVOKE.switch_dial_handle_list_destroy(SWIGTYPE_p_p_switch_dial_handle_list_s.getCPtr(hl));
  }

  public static void switch_dial_handle_list_add_global_var(SWIGTYPE_p_switch_dial_handle_list_s hl, string var, string val) {
    freeswitchPINVOKE.switch_dial_handle_list_add_global_var(SWIGTYPE_p_switch_dial_handle_list_s.getCPtr(hl), var, val);
  }

  public static void switch_dial_handle_list_add_global_var_printf(SWIGTYPE_p_switch_dial_handle_list_s hl, string var, string fmt) {
    freeswitchPINVOKE.switch_dial_handle_list_add_global_var_printf(SWIGTYPE_p_switch_dial_handle_list_s.getCPtr(hl), var, fmt);
  }

  public static switch_status_t switch_ivr_enterprise_orig_and_bridge(SWIGTYPE_p_switch_core_session session, string data, SWIGTYPE_p_switch_dial_handle_list_s hl, SWIGTYPE_p_switch_call_cause_t cause) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_enterprise_orig_and_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), data, SWIGTYPE_p_switch_dial_handle_list_s.getCPtr(hl), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause));
    return ret;
  }

  public static switch_status_t switch_ivr_orig_and_bridge(SWIGTYPE_p_switch_core_session session, string data, SWIGTYPE_p_switch_dial_handle_s dh, SWIGTYPE_p_switch_call_cause_t cause) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_orig_and_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), data, SWIGTYPE_p_switch_dial_handle_s.getCPtr(dh), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause));
    return ret;
  }

  public static switch_status_t switch_ivr_send_prompt(SWIGTYPE_p_switch_core_session session, string type, string text, string regex) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_send_prompt(SWIGTYPE_p_switch_core_session.getCPtr(session), type, text, regex);
    return ret;
  }

  public static switch_status_t switch_ivr_play_and_collect_input(SWIGTYPE_p_switch_core_session session, string prompt, string recognizer_mod_name, string recognizer_grammar, int min_digits, int max_digits, string terminators, uint digit_timeout, SWIGTYPE_p_p_cJSON recognition_result, ref string digits_collected, string terminator_collected, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_and_collect_input(SWIGTYPE_p_switch_core_session.getCPtr(session), prompt, recognizer_mod_name, recognizer_grammar, min_digits, max_digits, terminators, digit_timeout, SWIGTYPE_p_p_cJSON.getCPtr(recognition_result), ref digits_collected, terminator_collected, switch_input_args_t.getCPtr(args));
    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_secure_settings_t ssec) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, switch_secure_settings_t.getCPtr(ssec));
    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_fspr_pool_t pool) {
    freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_fspr_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, out string err, SWIGTYPE_p_fspr_pool_t pool) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      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_ptr, SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  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, out string err, SWIGTYPE_p_fspr_pool_t pool, ushort bundle_internal_ports, ushort bundle_external_port) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      global::System.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_ptr, SWIGTYPE_p_fspr_pool_t.getCPtr(pool), bundle_internal_ports, bundle_external_port);
      SWIGTYPE_p_switch_rtp ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  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, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      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_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  public static void switch_rtp_reset_jb(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_reset_jb(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  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 void switch_rtp_set_media_timeout(SWIGTYPE_p_switch_rtp rtp_session, uint ms) {
    freeswitchPINVOKE.switch_rtp_set_media_timeout(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), ms);
  }

  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, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  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_sync_stats(SWIGTYPE_p_switch_rtp rtp_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_sync_stats(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  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_timer switch_rtp_get_media_timer(SWIGTYPE_p_switch_rtp rtp_session) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    switch_timer ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_timer(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_rtp_set_video_buffer_size(SWIGTYPE_p_switch_rtp rtp_session, uint frames, uint max_frames) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_video_buffer_size(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), frames, max_frames);
    return ret;
  }

  public static switch_status_t switch_rtp_get_video_buffer_size(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_unsigned_long min_frame_len, SWIGTYPE_p_unsigned_long max_frame_len, SWIGTYPE_p_unsigned_long cur_frame_len, SWIGTYPE_p_unsigned_long highest_frame_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_get_video_buffer_size(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_unsigned_long.getCPtr(min_frame_len), SWIGTYPE_p_unsigned_long.getCPtr(max_frame_len), SWIGTYPE_p_unsigned_long.getCPtr(cur_frame_len), SWIGTYPE_p_unsigned_long.getCPtr(highest_frame_len));
    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) {
    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);
    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_switch_jb_s switch_rtp_get_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_switch_jb_s ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_jb_s(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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_switch_socket_t ret = (cPtr == global::System.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 switch_status_t switch_rtp_write_raw(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t bytes, switch_bool_t process_encryption) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_write_raw(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(bytes), (int)process_encryption);
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_void ret = (cPtr == global::System.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_fspr_pool_t pool) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_stats(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
    switch_rtp_stats_t ret = (cPtr == global::System.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, byte want_DTLSv1_2) {
    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, want_DTLSv1_2);
    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 dtls_state_t switch_rtp_dtls_state(SWIGTYPE_p_switch_rtp rtp_session, dtls_type_t type) {
    dtls_state_t ret = (dtls_state_t)freeswitchPINVOKE.switch_rtp_dtls_state(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 switch_status_t switch_rtp_req_bitrate(SWIGTYPE_p_switch_rtp rtp_session, uint bps) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_req_bitrate(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), bps);
    return ret;
  }

  public static switch_status_t switch_rtp_ack_bitrate(SWIGTYPE_p_switch_rtp rtp_session, uint bps) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_ack_bitrate(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), bps);
    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 void switch_rtp_video_loss(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_video_loss(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static SWIGTYPE_p_switch_core_session switch_rtp_get_core_session(SWIGTYPE_p_switch_rtp rtp_session) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_core_session(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

  public static SWIGTYPE_p_cJSON switch_log_node_to_json(switch_log_node_t node, int log_level, switch_log_json_format_t json_format, switch_event chan_vars) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_node_to_json(switch_log_node_t.getCPtr(node), log_level, switch_log_json_format_t.getCPtr(json_format), switch_event.getCPtr(chan_vars));
    SWIGTYPE_p_cJSON ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_cJSON(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_log_init(SWIGTYPE_p_fspr_pool_t pool, switch_bool_t colorize) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_fspr_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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_node_dup(switch_log_node_t.getCPtr(node));
    switch_log_node_t ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str_dynamic(s, (int)dup);
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len));
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_file(string file) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_file_simple(string file) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp));
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_child(switch_xml xml, string name) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name);
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_find_child_multi(switch_xml node, string childname) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child_multi(switch_xml.getCPtr(node), childname);
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static string switch_xml_toxml_ex(switch_xml xml, switch_bool_t prn_header, switch_bool_t use_utf8_encoding) {
    string ret = freeswitchPINVOKE.switch_xml_toxml_ex(switch_xml.getCPtr(xml), (int)prn_header, (int)use_utf8_encoding);
    return ret;
  }

  public static string switch_xml_toxml_nolock_ex(switch_xml xml, switch_bool_t prn_header, switch_bool_t use_utf8_encoding) {
    string ret = freeswitchPINVOKE.switch_xml_toxml_nolock_ex(switch_xml.getCPtr(xml), (int)prn_header, (int)use_utf8_encoding);
    return ret;
  }

  public static string switch_xml_tohtml_ex(switch_xml xml, switch_bool_t prn_header, switch_bool_t use_utf8_encoding) {
    string ret = freeswitchPINVOKE.switch_xml_tohtml_ex(switch_xml.getCPtr(xml), (int)prn_header, (int)use_utf8_encoding);
    return ret;
  }

  public static string switch_xml_toxml_buf_ex(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header, switch_bool_t use_utf8_encoding) {
    string ret = freeswitchPINVOKE.switch_xml_toxml_buf_ex(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header, (int)use_utf8_encoding);
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name);
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off));
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_xml switch_xml_add_child_d(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child_d(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off));
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_set_txt_d(switch_xml xml, string txt) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt_d(switch_xml.getCPtr(xml), txt);
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_set_attr_d(switch_xml xml, string name, string value) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr_d(switch_xml.getCPtr(xml), name, value);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_set_attr_d_buf(switch_xml xml, string name, string value) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr_d_buf(switch_xml.getCPtr(xml), name, value);
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag);
    switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_cut(switch_xml xml) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == global::System.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) {
    global::System.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 == global::System.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, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err_ptr);
      switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  public static switch_status_t switch_xml_init(SWIGTYPE_p_fspr_pool_t pool, out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), ref err_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  public static switch_status_t switch_xml_reload(out string err) {
var err_ptr = global::System.IntPtr.Zero;
    try {
      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_reload(ref err_ptr);
      return ret;
    } finally {
if(err_ptr != global::System.IntPtr.Zero)
	err = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(err_ptr);
else
	err = null;
    }
  }

  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() {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_root();
    switch_xml ret = (cPtr == global::System.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 params_, 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(params_), (int)clone);
    return ret;
  }

  public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event params_, 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(params_), 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 params_) {
    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(params_));
    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 params_) {
    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(params_));
    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 params_) {
    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(params_));
    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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_dup(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == global::System.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 params_) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(params_));
    switch_xml ret = (cPtr == global::System.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) {
    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding));
    SWIGTYPE_p_void ret = (cPtr == global::System.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 params_, 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(params_), 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_text_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 text_read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_text_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(text_read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_text_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t text_write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_text_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(text_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_text_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 text_read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_text_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(text_read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_text_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t text_write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_text_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(text_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_add_task_ex(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, SWIGTYPE_p_unsigned_long task_id) {
    uint ret = freeswitchPINVOKE.switch_scheduler_add_task_ex(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, SWIGTYPE_p_unsigned_long.getCPtr(task_id));
    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_DEFAULT_TIMEOUT = freeswitchPINVOKE.SWITCH_DEFAULT_TIMEOUT_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_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_LOCAL_TEXT_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_TEXT_IP_VARIABLE_get();
  public static readonly string SWITCH_LOCAL_TEXT_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_TEXT_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_PARK_AFTER_EARLY_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_TRANSFER_AFTER_EARLY_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_TRANSFER_AFTER_EARLY_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_RFC7989_SESSION_ID_VARIABLE = freeswitchPINVOKE.SWITCH_RFC7989_SESSION_ID_VARIABLE_get();
  public static readonly string SWITCH_RFC7989_REMOTE_SESSION_ID_VARIABLE = freeswitchPINVOKE.SWITCH_RFC7989_REMOTE_SESSION_ID_VARIABLE_get();
  public static readonly string SWITCH_RFC7989_APP_SESSION_ID_VARIABLE = freeswitchPINVOKE.SWITCH_RFC7989_APP_SESSION_ID_VARIABLE_get();
  public static readonly string SWITCH_RFC7989_GENERIC_PARAM_VARIABLE = freeswitchPINVOKE.SWITCH_RFC7989_GENERIC_PARAM_VARIABLE_get();
  public static readonly string SWITCH_MAX_SESSION_TRANSFERS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_SESSION_TRANSFERS_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 int SWITCH_DEFAULT_VIDEO_SIZE = freeswitchPINVOKE.SWITCH_DEFAULT_VIDEO_SIZE_get();
  public static readonly string SWITCH_RTCP_AUDIO_INTERVAL_MSEC = freeswitchPINVOKE.SWITCH_RTCP_AUDIO_INTERVAL_MSEC_get();
  public static readonly string SWITCH_RTCP_VIDEO_INTERVAL_MSEC = freeswitchPINVOKE.SWITCH_RTCP_VIDEO_INTERVAL_MSEC_get();
  public static readonly int MAX_FMTP_LEN = freeswitchPINVOKE.MAX_FMTP_LEN_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_RAND_MAX = freeswitchPINVOKE.SWITCH_RAND_MAX_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_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get();
  public static readonly int SWITCH_CRYPTO_MKI_INDEX = freeswitchPINVOKE.SWITCH_CRYPTO_MKI_INDEX_get();
  public static readonly int SWITCH_CRYPTO_MKI_MAX = freeswitchPINVOKE.SWITCH_CRYPTO_MKI_MAX_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_PCRE2 = freeswitchPINVOKE.SWITCH_PCRE2_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 string SWITCH_URL_UNSAFE = freeswitchPINVOKE.SWITCH_URL_UNSAFE_get();
  public static readonly int MAX_NETWORK_PORTS = freeswitchPINVOKE.MAX_NETWORK_PORTS_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_GRANULAR_VOLUME_MAX = freeswitchPINVOKE.SWITCH_GRANULAR_VOLUME_MAX_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 string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get();
  public static readonly int SWITCH_RTP_BUNDLE_INTERNAL_PT = freeswitchPINVOKE.SWITCH_RTP_BUNDLE_INTERNAL_PT_get();
  public static readonly int MAX_CAND = freeswitchPINVOKE.MAX_CAND_get();
  public static readonly int MAX_CAND_IDX_COUNT = freeswitchPINVOKE.MAX_CAND_IDX_COUNT_get();
  public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get();
}

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

namespace FreeSWITCH.Native {

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

    [global::System.Runtime.InteropServices.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);

    [global::System.Runtime.InteropServices.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 global::System.ApplicationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArithmeticException(string message) {
      SWIGPendingException.Set(new global::System.ArithmeticException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingDivideByZeroException(string message) {
      SWIGPendingException.Set(new global::System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIndexOutOfRangeException(string message) {
      SWIGPendingException.Set(new global::System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidCastException(string message) {
      SWIGPendingException.Set(new global::System.InvalidCastException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidOperationException(string message) {
      SWIGPendingException.Set(new global::System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIOException(string message) {
      SWIGPendingException.Set(new global::System.IO.IOException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingNullReferenceException(string message) {
      SWIGPendingException.Set(new global::System.NullReferenceException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOutOfMemoryException(string message) {
      SWIGPendingException.Set(new global::System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOverflowException(string message) {
      SWIGPendingException.Set(new global::System.OverflowException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingSystemException(string message) {
      SWIGPendingException.Set(new global::System.SystemException(message, SWIGPendingException.Retrieve()));
    }

    static void SetPendingArgumentException(string message, string paramName) {
      SWIGPendingException.Set(new global::System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArgumentNullException(string message, string paramName) {
      global::System.Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new global::System.ArgumentNullException(paramName, message));
    }
    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
      global::System.Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new global::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 {
    [global::System.ThreadStatic]
    private static global::System.Exception pendingException = null;
    private static int numExceptionsPending = 0;
    private static global::System.Object exceptionsLock = null;

    public static bool Pending {
      get {
        bool pending = false;
        if (numExceptionsPending > 0)
          if (pendingException != null)
            pending = true;
        return pending;
      } 
    }

    public static void Set(global::System.Exception e) {
      if (pendingException != null)
        throw new global::System.ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
      pendingException = e;
      lock(exceptionsLock) {
        numExceptionsPending++;
      }
    }

    public static global::System.Exception Retrieve() {
      global::System.Exception e = null;
      if (numExceptionsPending > 0) {
        if (pendingException != null) {
          e = pendingException;
          pendingException = null;
          lock(exceptionsLock) {
            numExceptionsPending--;
          }
        }
      }
      return e;
    }

    static SWIGPendingException() {
      exceptionsLock = new global::System.Object();
    }
  }


  static freeswitchPINVOKE() {
  }



  protected class SWIGStringHelper {

    public delegate string SWIGStringDelegate(string message);
    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);

    [global::System.Runtime.InteropServices.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();


  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_FREESWITCH_PEN_get___")]
  public static extern string FREESWITCH_PEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_FREESWITCH_OID_PREFIX_get___")]
  public static extern string FREESWITCH_OID_PREFIX_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_FREESWITCH_ITAD_get___")]
  public static extern string FREESWITCH_ITAD_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative___EXTENSIONS___get___")]
  public static extern int __EXTENSIONS___get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative___BSD_VISIBLE_get___")]
  public static extern int __BSD_VISIBLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ENT_ORIGINATE_DELIM_get___")]
  public static extern string SWITCH_ENT_ORIGINATE_DELIM_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BLANK_STRING_get___")]
  public static extern string SWITCH_BLANK_STRING_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_TON_UNDEF_get___")]
  public static extern int SWITCH_TON_UNDEF_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_NUMPLAN_UNDEF_get___")]
  public static extern int SWITCH_NUMPLAN_UNDEF_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_ESC_get___")]
  public static extern string SWITCH_SEQ_ESC_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_HOME_CHAR_get___")]
  public static extern char SWITCH_SEQ_HOME_CHAR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_HOME_CHAR_STR_get___")]
  public static extern string SWITCH_SEQ_HOME_CHAR_STR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINE_CHAR_get___")]
  public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINE_CHAR_STR_get___")]
  public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINEEND_CHAR_get___")]
  public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_CHAR0_get___")]
  public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_CHAR1_get___")]
  public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_CHAR_get___")]
  public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_AND_COLOR_get___")]
  public static extern string SWITCH_SEQ_AND_COLOR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_END_COLOR_get___")]
  public static extern string SWITCH_SEQ_END_COLOR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_BLACK_get___")]
  public static extern string SWITCH_SEQ_F_BLACK_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_RED_get___")]
  public static extern string SWITCH_SEQ_F_RED_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_GREEN_get___")]
  public static extern string SWITCH_SEQ_F_GREEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_YELLOW_get___")]
  public static extern string SWITCH_SEQ_F_YELLOW_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_BLUE_get___")]
  public static extern string SWITCH_SEQ_F_BLUE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_MAGEN_get___")]
  public static extern string SWITCH_SEQ_F_MAGEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_CYAN_get___")]
  public static extern string SWITCH_SEQ_F_CYAN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_F_WHITE_get___")]
  public static extern string SWITCH_SEQ_F_WHITE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_BLACK_get___")]
  public static extern string SWITCH_SEQ_B_BLACK_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_RED_get___")]
  public static extern string SWITCH_SEQ_B_RED_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_GREEN_get___")]
  public static extern string SWITCH_SEQ_B_GREEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_YELLOW_get___")]
  public static extern string SWITCH_SEQ_B_YELLOW_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_BLUE_get___")]
  public static extern string SWITCH_SEQ_B_BLUE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_MAGEN_get___")]
  public static extern string SWITCH_SEQ_B_MAGEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_CYAN_get___")]
  public static extern string SWITCH_SEQ_B_CYAN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_B_WHITE_get___")]
  public static extern string SWITCH_SEQ_B_WHITE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FBLACK_get___")]
  public static extern string SWITCH_SEQ_FBLACK_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FRED_get___")]
  public static extern string SWITCH_SEQ_FRED_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FGREEN_get___")]
  public static extern string SWITCH_SEQ_FGREEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FYELLOW_get___")]
  public static extern string SWITCH_SEQ_FYELLOW_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FBLUE_get___")]
  public static extern string SWITCH_SEQ_FBLUE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FMAGEN_get___")]
  public static extern string SWITCH_SEQ_FMAGEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FCYAN_get___")]
  public static extern string SWITCH_SEQ_FCYAN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_FWHITE_get___")]
  public static extern string SWITCH_SEQ_FWHITE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BBLACK_get___")]
  public static extern string SWITCH_SEQ_BBLACK_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BRED_get___")]
  public static extern string SWITCH_SEQ_BRED_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BGREEN_get___")]
  public static extern string SWITCH_SEQ_BGREEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BYELLOW_get___")]
  public static extern string SWITCH_SEQ_BYELLOW_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BBLUE_get___")]
  public static extern string SWITCH_SEQ_BBLUE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BMAGEN_get___")]
  public static extern string SWITCH_SEQ_BMAGEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BCYAN_get___")]
  public static extern string SWITCH_SEQ_BCYAN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_BWHITE_get___")]
  public static extern string SWITCH_SEQ_BWHITE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_HOME_get___")]
  public static extern string SWITCH_SEQ_HOME_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINE_get___")]
  public static extern string SWITCH_SEQ_CLEARLINE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARLINEEND_get___")]
  public static extern string SWITCH_SEQ_CLEARLINEEND_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEQ_CLEARSCR_get___")]
  public static extern string SWITCH_SEQ_CLEARSCR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_CLID_NAME_get___")]
  public static extern string SWITCH_DEFAULT_CLID_NAME_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_CLID_NUMBER_get___")]
  public static extern string SWITCH_DEFAULT_CLID_NUMBER_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_DTMF_DURATION_get___")]
  public static extern int SWITCH_DEFAULT_DTMF_DURATION_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_TIMEOUT_get___")]
  public static extern int SWITCH_DEFAULT_TIMEOUT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MIN_DTMF_DURATION_get___")]
  public static extern int SWITCH_MIN_DTMF_DURATION_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_DTMF_DURATION_get___")]
  public static extern int SWITCH_MAX_DTMF_DURATION_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PATH_SEPARATOR_get___")]
  public static extern string SWITCH_PATH_SEPARATOR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_URL_SEPARATOR_get___")]
  public static extern string SWITCH_URL_SEPARATOR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get___")]
  public static extern string SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get___")]
  public static extern string SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get___")]
  public static extern string SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_READ_TERMINATOR_USED_VARIABLE_get___")]
  public static extern string SWITCH_READ_TERMINATOR_USED_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get___")]
  public static extern string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CURRENT_APPLICATION_VARIABLE_get___")]
  public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get___")]
  public static extern string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get___")]
  public static extern string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE_get___")]
  public static extern string SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get___")]
  public static extern string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_READ_RESULT_VARIABLE_get___")]
  public static extern string SWITCH_READ_RESULT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ATT_XFER_RESULT_VARIABLE_get___")]
  public static extern string SWITCH_ATT_XFER_RESULT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_COPY_XML_CDR_VARIABLE_get___")]
  public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_COPY_JSON_CDR_VARIABLE_get___")]
  public static extern string SWITCH_COPY_JSON_CDR_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get___")]
  public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_HISTORY_VARIABLE_get___")]
  public static extern string SWITCH_TRANSFER_HISTORY_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_SOURCE_VARIABLE_get___")]
  public static extern string SWITCH_TRANSFER_SOURCE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SENSITIVE_DTMF_VARIABLE_get___")]
  public static extern string SWITCH_SENSITIVE_DTMF_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE_get___")]
  public static extern string SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE_get___")]
  public static extern string SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_RING_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_RING_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CALL_TIMEOUT_VARIABLE_get___")]
  public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_HOLDING_UUID_VARIABLE_get___")]
  public static extern string SWITCH_HOLDING_UUID_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SOFT_HOLDING_UUID_VARIABLE_get___")]
  public static extern string SWITCH_SOFT_HOLDING_UUID_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_API_BRIDGE_END_VARIABLE_get___")]
  public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_API_BRIDGE_START_VARIABLE_get___")]
  public static extern string SWITCH_API_BRIDGE_START_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_API_HANGUP_HOOK_VARIABLE_get___")]
  public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_API_REPORTING_HOOK_VARIABLE_get___")]
  public static extern string SWITCH_API_REPORTING_HOOK_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get___")]
  public static extern string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PROCESS_CDR_VARIABLE_get___")]
  public static extern string SWITCH_PROCESS_CDR_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SKIP_CDR_CAUSES_VARIABLE_get___")]
  public static extern string SWITCH_SKIP_CDR_CAUSES_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_FORCE_PROCESS_CDR_VARIABLE_get___")]
  public static extern string SWITCH_FORCE_PROCESS_CDR_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_CHANNEL_VARIABLE_get___")]
  public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CHANNEL_NAME_VARIABLE_get___")]
  public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_UUID_VARIABLE_get___")]
  public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get___")]
  public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get___")]
  public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PLAYBACK_TERMINATOR_USED_get___")]
  public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get___")]
  public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get___")]
  public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BYPASS_MEDIA_VARIABLE_get___")]
  public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PROXY_MEDIA_VARIABLE_get___")]
  public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get___")]
  public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_HOLD_MUSIC_VARIABLE_get___")]
  public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_TEMP_HOLD_MUSIC_VARIABLE_get___")]
  public static extern string SWITCH_TEMP_HOLD_MUSIC_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_EXPORT_VARS_VARIABLE_get___")]
  public static extern string SWITCH_EXPORT_VARS_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_EXPORT_VARS_VARIABLE_get___")]
  public static extern string SWITCH_BRIDGE_EXPORT_VARS_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_R_SDP_VARIABLE_get___")]
  public static extern string SWITCH_R_SDP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_L_SDP_VARIABLE_get___")]
  public static extern string SWITCH_L_SDP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_B_SDP_VARIABLE_get___")]
  public static extern string SWITCH_B_SDP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_LAST_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_LAST_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SIGNAL_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SIGNAL_BOND_VARIABLE_get___")]
  public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE_get___")]
  public static extern string SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ORIGINATOR_VARIABLE_get___")]
  public static extern string SWITCH_ORIGINATOR_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ORIGINATOR_CODEC_VARIABLE_get___")]
  public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get___")]
  public static extern string SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get___")]
  public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get___")]
  public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_ADVERTISED_MEDIA_IP_VARIABLE_get___")]
  public static extern string SWITCH_ADVERTISED_MEDIA_IP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get___")]
  public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get___")]
  public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get___")]
  public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get___")]
  public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get___")]
  public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get___")]
  public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_LOCAL_TEXT_IP_VARIABLE_get___")]
  public static extern string SWITCH_LOCAL_TEXT_IP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_LOCAL_TEXT_PORT_VARIABLE_get___")]
  public static extern string SWITCH_LOCAL_TEXT_PORT_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_TRANSFER_AFTER_EARLY_BRIDGE_VARIABLE_get___")]
  public static extern string SWITCH_TRANSFER_AFTER_EARLY_BRIDGE_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get___")]
  public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get___")]
  public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_FORWARDS_VARIABLE_get___")]
  public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RFC7989_SESSION_ID_VARIABLE_get___")]
  public static extern string SWITCH_RFC7989_SESSION_ID_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RFC7989_REMOTE_SESSION_ID_VARIABLE_get___")]
  public static extern string SWITCH_RFC7989_REMOTE_SESSION_ID_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RFC7989_APP_SESSION_ID_VARIABLE_get___")]
  public static extern string SWITCH_RFC7989_APP_SESSION_ID_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RFC7989_GENERIC_PARAM_VARIABLE_get___")]
  public static extern string SWITCH_RFC7989_GENERIC_PARAM_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_SESSION_TRANSFERS_VARIABLE_get___")]
  public static extern string SWITCH_MAX_SESSION_TRANSFERS_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DISABLE_APP_LOG_VARIABLE_get___")]
  public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SPEECH_KEY_get___")]
  public static extern string SWITCH_SPEECH_KEY_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_UUID_BRIDGE_get___")]
  public static extern string SWITCH_UUID_BRIDGE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BITS_PER_BYTE_get___")]
  public static extern int SWITCH_BITS_PER_BYTE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_FILE_BUFFER_LEN_get___")]
  public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DTMF_LOG_LEN_get___")]
  public static extern int SWITCH_DTMF_LOG_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_TRANS_get___")]
  public static extern int SWITCH_MAX_TRANS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_SESSION_MAX_PRIVATES_get___")]
  public static extern int SWITCH_CORE_SESSION_MAX_PRIVATES_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_DEFAULT_VIDEO_SIZE_get___")]
  public static extern int SWITCH_DEFAULT_VIDEO_SIZE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTCP_AUDIO_INTERVAL_MSEC_get___")]
  public static extern string SWITCH_RTCP_AUDIO_INTERVAL_MSEC_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTCP_VIDEO_INTERVAL_MSEC_get___")]
  public static extern string SWITCH_RTCP_VIDEO_INTERVAL_MSEC_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MAX_FMTP_LEN_get___")]
  public static extern int MAX_FMTP_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_JITTER_VARIANCE_THRESHOLD_get___")]
  public static extern double JITTER_VARIANCE_THRESHOLD_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_IPDV_THRESHOLD_get___")]
  public static extern double IPDV_THRESHOLD_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_LOST_BURST_ANALYZE_get___")]
  public static extern int LOST_BURST_ANALYZE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_LOST_BURST_CAPTURE_get___")]
  public static extern int LOST_BURST_CAPTURE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_uint31_t_value_set___")]
  public static extern void switch_uint31_t_value_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_uint31_t_value_get___")]
  public static extern uint switch_uint31_t_value_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_uint31_t___")]
  public static extern global::System.IntPtr new_switch_uint31_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_uint31_t___")]
  public static extern void delete_switch_uint31_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_digit_set___")]
  public static extern void switch_dtmf_t_digit_set(global::System.Runtime.InteropServices.HandleRef jarg1, char jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_digit_get___")]
  public static extern char switch_dtmf_t_digit_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_duration_set___")]
  public static extern void switch_dtmf_t_duration_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_duration_get___")]
  public static extern uint switch_dtmf_t_duration_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_flags_set___")]
  public static extern void switch_dtmf_t_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_flags_get___")]
  public static extern int switch_dtmf_t_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_source_set___")]
  public static extern void switch_dtmf_t_source_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmf_t_source_get___")]
  public static extern int switch_dtmf_t_source_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_dtmf_t___")]
  public static extern global::System.IntPtr new_switch_dtmf_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_dtmf_t___")]
  public static extern void delete_switch_dtmf_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_buf_set___")]
  public static extern void switch_bitpack_t_buf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_buf_get___")]
  public static extern global::System.IntPtr switch_bitpack_t_buf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_buflen_set___")]
  public static extern void switch_bitpack_t_buflen_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_buflen_get___")]
  public static extern uint switch_bitpack_t_buflen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_cur_set___")]
  public static extern void switch_bitpack_t_cur_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_cur_get___")]
  public static extern global::System.IntPtr switch_bitpack_t_cur_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bytes_set___")]
  public static extern void switch_bitpack_t_bytes_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bytes_get___")]
  public static extern uint switch_bitpack_t_bytes_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_tot_set___")]
  public static extern void switch_bitpack_t_bits_tot_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_tot_get___")]
  public static extern uint switch_bitpack_t_bits_tot_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_cur_set___")]
  public static extern void switch_bitpack_t_bits_cur_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_cur_get___")]
  public static extern byte switch_bitpack_t_bits_cur_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_rem_set___")]
  public static extern void switch_bitpack_t_bits_rem_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_bits_rem_get___")]
  public static extern byte switch_bitpack_t_bits_rem_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_frame_bits_set___")]
  public static extern void switch_bitpack_t_frame_bits_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_frame_bits_get___")]
  public static extern byte switch_bitpack_t_frame_bits_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_shiftby_set___")]
  public static extern void switch_bitpack_t_shiftby_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_shiftby_get___")]
  public static extern byte switch_bitpack_t_shiftby_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_this_byte_set___")]
  public static extern void switch_bitpack_t_this_byte_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_this_byte_get___")]
  public static extern byte switch_bitpack_t_this_byte_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_under_set___")]
  public static extern void switch_bitpack_t_under_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_under_get___")]
  public static extern byte switch_bitpack_t_under_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_over_set___")]
  public static extern void switch_bitpack_t_over_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_over_get___")]
  public static extern byte switch_bitpack_t_over_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_mode_set___")]
  public static extern void switch_bitpack_t_mode_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_bitpack_t_mode_get___")]
  public static extern int switch_bitpack_t_mode_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_bitpack_t___")]
  public static extern global::System.IntPtr new_switch_bitpack_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_bitpack_t___")]
  public static extern void delete_switch_bitpack_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_base_dir_set___")]
  public static extern void switch_directories_base_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_base_dir_get___")]
  public static extern string switch_directories_base_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_mod_dir_set___")]
  public static extern void switch_directories_mod_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_mod_dir_get___")]
  public static extern string switch_directories_mod_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_conf_dir_set___")]
  public static extern void switch_directories_conf_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_conf_dir_get___")]
  public static extern string switch_directories_conf_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_log_dir_set___")]
  public static extern void switch_directories_log_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_log_dir_get___")]
  public static extern string switch_directories_log_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_run_dir_set___")]
  public static extern void switch_directories_run_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_run_dir_get___")]
  public static extern string switch_directories_run_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_db_dir_set___")]
  public static extern void switch_directories_db_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_db_dir_get___")]
  public static extern string switch_directories_db_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_script_dir_set___")]
  public static extern void switch_directories_script_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_script_dir_get___")]
  public static extern string switch_directories_script_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_temp_dir_set___")]
  public static extern void switch_directories_temp_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_temp_dir_get___")]
  public static extern string switch_directories_temp_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_htdocs_dir_set___")]
  public static extern void switch_directories_htdocs_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_htdocs_dir_get___")]
  public static extern string switch_directories_htdocs_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_grammar_dir_set___")]
  public static extern void switch_directories_grammar_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_grammar_dir_get___")]
  public static extern string switch_directories_grammar_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_storage_dir_set___")]
  public static extern void switch_directories_storage_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_storage_dir_get___")]
  public static extern string switch_directories_storage_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_cache_dir_set___")]
  public static extern void switch_directories_cache_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_cache_dir_get___")]
  public static extern string switch_directories_cache_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_recordings_dir_set___")]
  public static extern void switch_directories_recordings_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_recordings_dir_get___")]
  public static extern string switch_directories_recordings_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_sounds_dir_set___")]
  public static extern void switch_directories_sounds_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_sounds_dir_get___")]
  public static extern string switch_directories_sounds_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_lib_dir_set___")]
  public static extern void switch_directories_lib_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_lib_dir_get___")]
  public static extern string switch_directories_lib_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_certs_dir_set___")]
  public static extern void switch_directories_certs_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_certs_dir_get___")]
  public static extern string switch_directories_certs_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_fonts_dir_set___")]
  public static extern void switch_directories_fonts_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_fonts_dir_get___")]
  public static extern string switch_directories_fonts_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_images_dir_set___")]
  public static extern void switch_directories_images_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_images_dir_get___")]
  public static extern string switch_directories_images_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_data_dir_set___")]
  public static extern void switch_directories_data_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_data_dir_get___")]
  public static extern string switch_directories_data_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_localstate_dir_set___")]
  public static extern void switch_directories_localstate_dir_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directories_localstate_dir_get___")]
  public static extern string switch_directories_localstate_dir_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_directories___")]
  public static extern global::System.IntPtr new_switch_directories();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_directories___")]
  public static extern void delete_switch_directories(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_dirs_set___")]
  public static extern void SWITCH_GLOBAL_dirs_set(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_dirs_get___")]
  public static extern global::System.IntPtr SWITCH_GLOBAL_dirs_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_filenames_conf_name_set___")]
  public static extern void switch_filenames_conf_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_filenames_conf_name_get___")]
  public static extern string switch_filenames_conf_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_filenames___")]
  public static extern global::System.IntPtr new_switch_filenames();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_filenames___")]
  public static extern void delete_switch_filenames(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_filenames_set___")]
  public static extern void SWITCH_GLOBAL_filenames_set(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_GLOBAL_filenames_get___")]
  public static extern global::System.IntPtr SWITCH_GLOBAL_filenames_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_STACKS_get___")]
  public static extern int SWITCH_MAX_STACKS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_THREAD_STACKSIZE_get___")]
  public static extern int SWITCH_THREAD_STACKSIZE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SYSTEM_THREAD_STACKSIZE_get___")]
  public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_INTERVAL_get___")]
  public static extern int SWITCH_MAX_INTERVAL_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_INTERVAL_PAD_get___")]
  public static extern int SWITCH_INTERVAL_PAD_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_SAMPLE_LEN_get___")]
  public static extern int SWITCH_MAX_SAMPLE_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_BYTES_PER_SAMPLE_get___")]
  public static extern int SWITCH_BYTES_PER_SAMPLE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RECOMMENDED_BUFFER_SIZE_get___")]
  public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_CODECS_get___")]
  public static extern int SWITCH_MAX_CODECS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_STATE_HANDLERS_get___")]
  public static extern int SWITCH_MAX_STATE_HANDLERS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_QUEUE_LEN_get___")]
  public static extern int SWITCH_CORE_QUEUE_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get___")]
  public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RAND_MAX_get___")]
  public static extern int SWITCH_RAND_MAX_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_start_set___")]
  public static extern void switch_error_period_t_start_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_start_get___")]
  public static extern long switch_error_period_t_start_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_stop_set___")]
  public static extern void switch_error_period_t_stop_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_stop_get___")]
  public static extern long switch_error_period_t_stop_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_flaws_set___")]
  public static extern void switch_error_period_t_flaws_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_flaws_get___")]
  public static extern uint switch_error_period_t_flaws_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_consecutive_flaws_set___")]
  public static extern void switch_error_period_t_consecutive_flaws_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_consecutive_flaws_get___")]
  public static extern uint switch_error_period_t_consecutive_flaws_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_next_set___")]
  public static extern void switch_error_period_t_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_error_period_t_next_get___")]
  public static extern global::System.IntPtr switch_error_period_t_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_error_period_t___")]
  public static extern global::System.IntPtr new_switch_error_period_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_error_period_t___")]
  public static extern void delete_switch_error_period_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_raw_bytes_set___")]
  public static extern void switch_rtp_numbers_t_raw_bytes_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_raw_bytes_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_raw_bytes_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_bytes_set___")]
  public static extern void switch_rtp_numbers_t_media_bytes_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_bytes_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_media_bytes_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_period_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_period_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_period_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_period_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_media_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_media_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_media_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_skip_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_skip_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_skip_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_skip_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jb_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_jb_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jb_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_jb_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_dtmf_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_dtmf_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_dtmf_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_dtmf_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_cng_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_cng_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_cng_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_cng_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flush_packet_count_set___")]
  public static extern void switch_rtp_numbers_t_flush_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flush_packet_count_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_flush_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_largest_jb_size_set___")]
  public static extern void switch_rtp_numbers_t_largest_jb_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_largest_jb_size_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_largest_jb_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_proc_time_set___")]
  public static extern void switch_rtp_numbers_t_last_proc_time_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_proc_time_get___")]
  public static extern long switch_rtp_numbers_t_last_proc_time_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_n_set___")]
  public static extern void switch_rtp_numbers_t_jitter_n_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_n_get___")]
  public static extern long switch_rtp_numbers_t_jitter_n_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_add_set___")]
  public static extern void switch_rtp_numbers_t_jitter_add_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_add_get___")]
  public static extern long switch_rtp_numbers_t_jitter_add_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_addsq_set___")]
  public static extern void switch_rtp_numbers_t_jitter_addsq_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jitter_addsq_get___")]
  public static extern long switch_rtp_numbers_t_jitter_addsq_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_variance_set___")]
  public static extern void switch_rtp_numbers_t_variance_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_variance_get___")]
  public static extern double switch_rtp_numbers_t_variance_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_min_variance_set___")]
  public static extern void switch_rtp_numbers_t_min_variance_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_min_variance_get___")]
  public static extern double switch_rtp_numbers_t_min_variance_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_max_variance_set___")]
  public static extern void switch_rtp_numbers_t_max_variance_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_max_variance_get___")]
  public static extern double switch_rtp_numbers_t_max_variance_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_std_deviation_set___")]
  public static extern void switch_rtp_numbers_t_std_deviation_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_std_deviation_get___")]
  public static extern double switch_rtp_numbers_t_std_deviation_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_lossrate_set___")]
  public static extern void switch_rtp_numbers_t_lossrate_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_lossrate_get___")]
  public static extern double switch_rtp_numbers_t_lossrate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_burstrate_set___")]
  public static extern void switch_rtp_numbers_t_burstrate_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_burstrate_get___")]
  public static extern double switch_rtp_numbers_t_burstrate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mean_interval_set___")]
  public static extern void switch_rtp_numbers_t_mean_interval_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mean_interval_get___")]
  public static extern double switch_rtp_numbers_t_mean_interval_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_loss_set___")]
  public static extern void switch_rtp_numbers_t_loss_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_loss_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_loss_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_loss_set___")]
  public static extern void switch_rtp_numbers_t_last_loss_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_loss_get___")]
  public static extern int switch_rtp_numbers_t_last_loss_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_recved_set___")]
  public static extern void switch_rtp_numbers_t_recved_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_recved_get___")]
  public static extern int switch_rtp_numbers_t_recved_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_processed_seq_set___")]
  public static extern void switch_rtp_numbers_t_last_processed_seq_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_processed_seq_get___")]
  public static extern int switch_rtp_numbers_t_last_processed_seq_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flaws_set___")]
  public static extern void switch_rtp_numbers_t_flaws_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flaws_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_flaws_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_flaw_set___")]
  public static extern void switch_rtp_numbers_t_last_flaw_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last_flaw_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_last_flaw_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_R_set___")]
  public static extern void switch_rtp_numbers_t_R_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_R_get___")]
  public static extern double switch_rtp_numbers_t_R_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mos_set___")]
  public static extern void switch_rtp_numbers_t_mos_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_mos_get___")]
  public static extern double switch_rtp_numbers_t_mos_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_error_log_set___")]
  public static extern void switch_rtp_numbers_t_error_log_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_error_log_get___")]
  public static extern global::System.IntPtr switch_rtp_numbers_t_error_log_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtp_numbers_t___")]
  public static extern global::System.IntPtr new_switch_rtp_numbers_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtp_numbers_t___")]
  public static extern void delete_switch_rtp_numbers_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_packet_count_set___")]
  public static extern void switch_rtcp_numbers_t_packet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_packet_count_get___")]
  public static extern uint switch_rtcp_numbers_t_packet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_octet_count_set___")]
  public static extern void switch_rtcp_numbers_t_octet_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_octet_count_get___")]
  public static extern uint switch_rtcp_numbers_t_octet_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_peer_ssrc_set___")]
  public static extern void switch_rtcp_numbers_t_peer_ssrc_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_peer_ssrc_get___")]
  public static extern uint switch_rtcp_numbers_t_peer_ssrc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ts_set___")]
  public static extern void switch_rtcp_numbers_t_last_rpt_ts_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ts_get___")]
  public static extern uint switch_rtcp_numbers_t_last_rpt_ts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_ssrc_set___")]
  public static extern void switch_rtcp_numbers_t_ssrc_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_ssrc_get___")]
  public static extern uint switch_rtcp_numbers_t_ssrc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_csrc_set___")]
  public static extern void switch_rtcp_numbers_t_csrc_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_csrc_get___")]
  public static extern uint switch_rtcp_numbers_t_csrc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_pkt_tsdiff_set___")]
  public static extern void switch_rtcp_numbers_t_last_pkt_tsdiff_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_pkt_tsdiff_get___")]
  public static extern uint switch_rtcp_numbers_t_last_pkt_tsdiff_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_inter_jitter_set___")]
  public static extern void switch_rtcp_numbers_t_inter_jitter_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_inter_jitter_get___")]
  public static extern double switch_rtcp_numbers_t_inter_jitter_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ext_seq_set___")]
  public static extern void switch_rtcp_numbers_t_last_rpt_ext_seq_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_ext_seq_get___")]
  public static extern uint switch_rtcp_numbers_t_last_rpt_ext_seq_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_cycle_set___")]
  public static extern void switch_rtcp_numbers_t_last_rpt_cycle_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_rpt_cycle_get___")]
  public static extern ushort switch_rtcp_numbers_t_last_rpt_cycle_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_period_pkt_count_set___")]
  public static extern void switch_rtcp_numbers_t_period_pkt_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_period_pkt_count_get___")]
  public static extern ushort switch_rtcp_numbers_t_period_pkt_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_pkt_count_set___")]
  public static extern void switch_rtcp_numbers_t_pkt_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_pkt_count_get___")]
  public static extern ushort switch_rtcp_numbers_t_pkt_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_sent_pkt_count_set___")]
  public static extern void switch_rtcp_numbers_t_sent_pkt_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_sent_pkt_count_get___")]
  public static extern ushort switch_rtcp_numbers_t_sent_pkt_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_rtcp_rtp_count_set___")]
  public static extern void switch_rtcp_numbers_t_rtcp_rtp_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_rtcp_rtp_count_get___")]
  public static extern uint switch_rtcp_numbers_t_rtcp_rtp_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_high_ext_seq_recv_set___")]
  public static extern void switch_rtcp_numbers_t_high_ext_seq_recv_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_high_ext_seq_recv_get___")]
  public static extern uint switch_rtcp_numbers_t_high_ext_seq_recv_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cycle_set___")]
  public static extern void switch_rtcp_numbers_t_cycle_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cycle_get___")]
  public static extern ushort switch_rtcp_numbers_t_cycle_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_bad_seq_set___")]
  public static extern void switch_rtcp_numbers_t_bad_seq_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_bad_seq_get___")]
  public static extern uint switch_rtcp_numbers_t_bad_seq_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_base_seq_set___")]
  public static extern void switch_rtcp_numbers_t_base_seq_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_base_seq_get___")]
  public static extern ushort switch_rtcp_numbers_t_base_seq_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cum_lost_set___")]
  public static extern void switch_rtcp_numbers_t_cum_lost_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_cum_lost_get___")]
  public static extern uint switch_rtcp_numbers_t_cum_lost_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_local_set___")]
  public static extern void switch_rtcp_numbers_t_last_recv_lsr_local_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_local_get___")]
  public static extern uint switch_rtcp_numbers_t_last_recv_lsr_local_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_peer_set___")]
  public static extern void switch_rtcp_numbers_t_last_recv_lsr_peer_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_last_recv_lsr_peer_get___")]
  public static extern uint switch_rtcp_numbers_t_last_recv_lsr_peer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_init_set___")]
  public static extern void switch_rtcp_numbers_t_init_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_numbers_t_init_get___")]
  public static extern uint switch_rtcp_numbers_t_init_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtcp_numbers_t___")]
  public static extern global::System.IntPtr new_switch_rtcp_numbers_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtcp_numbers_t___")]
  public static extern void delete_switch_rtcp_numbers_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_nack_count_set___")]
  public static extern void switch_rtcp_video_counters_t_nack_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_nack_count_get___")]
  public static extern ushort switch_rtcp_video_counters_t_nack_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_fir_count_set___")]
  public static extern void switch_rtcp_video_counters_t_fir_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_fir_count_get___")]
  public static extern ushort switch_rtcp_video_counters_t_fir_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_pli_count_set___")]
  public static extern void switch_rtcp_video_counters_t_pli_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_pli_count_get___")]
  public static extern ushort switch_rtcp_video_counters_t_pli_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_sr_count_set___")]
  public static extern void switch_rtcp_video_counters_t_sr_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_sr_count_get___")]
  public static extern ushort switch_rtcp_video_counters_t_sr_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_rr_count_set___")]
  public static extern void switch_rtcp_video_counters_t_rr_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_counters_t_rr_count_get___")]
  public static extern ushort switch_rtcp_video_counters_t_rr_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtcp_video_counters_t___")]
  public static extern global::System.IntPtr new_switch_rtcp_video_counters_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtcp_video_counters_t___")]
  public static extern void delete_switch_rtcp_video_counters_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_in_set___")]
  public static extern void switch_rtcp_video_stats_t_video_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_in_get___")]
  public static extern global::System.IntPtr switch_rtcp_video_stats_t_video_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_out_set___")]
  public static extern void switch_rtcp_video_stats_t_video_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_video_stats_t_video_out_get___")]
  public static extern global::System.IntPtr switch_rtcp_video_stats_t_video_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtcp_video_stats_t___")]
  public static extern global::System.IntPtr new_switch_rtcp_video_stats_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtcp_video_stats_t___")]
  public static extern void delete_switch_rtcp_video_stats_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_inbound_set___")]
  public static extern void switch_rtp_stats_t_inbound_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_inbound_get___")]
  public static extern global::System.IntPtr switch_rtp_stats_t_inbound_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_outbound_set___")]
  public static extern void switch_rtp_stats_t_outbound_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_outbound_get___")]
  public static extern global::System.IntPtr switch_rtp_stats_t_outbound_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_rtcp_set___")]
  public static extern void switch_rtp_stats_t_rtcp_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_rtcp_get___")]
  public static extern global::System.IntPtr switch_rtp_stats_t_rtcp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_read_count_set___")]
  public static extern void switch_rtp_stats_t_read_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_stats_t_read_count_get___")]
  public static extern uint switch_rtp_stats_t_read_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtp_stats_t___")]
  public static extern global::System.IntPtr new_switch_rtp_stats_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtp_stats_t___")]
  public static extern void delete_switch_rtp_stats_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTP_CNG_PAYLOAD_get___")]
  public static extern int SWITCH_RTP_CNG_PAYLOAD_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_version_set___")]
  public static extern void switch_rtp_hdr_t_version_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_version_get___")]
  public static extern uint switch_rtp_hdr_t_version_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_p_set___")]
  public static extern void switch_rtp_hdr_t_p_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_p_get___")]
  public static extern uint switch_rtp_hdr_t_p_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_x_set___")]
  public static extern void switch_rtp_hdr_t_x_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_x_get___")]
  public static extern uint switch_rtp_hdr_t_x_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_cc_set___")]
  public static extern void switch_rtp_hdr_t_cc_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_cc_get___")]
  public static extern uint switch_rtp_hdr_t_cc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_m_set___")]
  public static extern void switch_rtp_hdr_t_m_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_m_get___")]
  public static extern uint switch_rtp_hdr_t_m_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_pt_set___")]
  public static extern void switch_rtp_hdr_t_pt_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_pt_get___")]
  public static extern uint switch_rtp_hdr_t_pt_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_seq_set___")]
  public static extern void switch_rtp_hdr_t_seq_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_seq_get___")]
  public static extern uint switch_rtp_hdr_t_seq_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ts_set___")]
  public static extern void switch_rtp_hdr_t_ts_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ts_get___")]
  public static extern uint switch_rtp_hdr_t_ts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ssrc_set___")]
  public static extern void switch_rtp_hdr_t_ssrc_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_t_ssrc_get___")]
  public static extern uint switch_rtp_hdr_t_ssrc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtp_hdr_t___")]
  public static extern global::System.IntPtr new_switch_rtp_hdr_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtp_hdr_t___")]
  public static extern void delete_switch_rtp_hdr_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_length_set___")]
  public static extern void switch_rtp_hdr_ext_t_length_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_length_get___")]
  public static extern uint switch_rtp_hdr_ext_t_length_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_profile_set___")]
  public static extern void switch_rtp_hdr_ext_t_profile_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_hdr_ext_t_profile_get___")]
  public static extern uint switch_rtp_hdr_ext_t_profile_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtp_hdr_ext_t___")]
  public static extern global::System.IntPtr new_switch_rtp_hdr_ext_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtp_hdr_ext_t___")]
  public static extern void delete_switch_rtp_hdr_ext_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_version_set___")]
  public static extern void switch_rtcp_hdr_t_version_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_version_get___")]
  public static extern uint switch_rtcp_hdr_t_version_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_p_set___")]
  public static extern void switch_rtcp_hdr_t_p_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_p_get___")]
  public static extern uint switch_rtcp_hdr_t_p_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_count_set___")]
  public static extern void switch_rtcp_hdr_t_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_count_get___")]
  public static extern uint switch_rtcp_hdr_t_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_type_set___")]
  public static extern void switch_rtcp_hdr_t_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_type_get___")]
  public static extern uint switch_rtcp_hdr_t_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_length_set___")]
  public static extern void switch_rtcp_hdr_t_length_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_hdr_t_length_get___")]
  public static extern uint switch_rtcp_hdr_t_length_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtcp_hdr_t___")]
  public static extern global::System.IntPtr new_switch_rtcp_hdr_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtcp_hdr_t___")]
  public static extern void delete_switch_rtcp_hdr_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_audio_buffer_header_t_ts_set___")]
  public static extern void audio_buffer_header_t_ts_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_audio_buffer_header_t_ts_get___")]
  public static extern uint audio_buffer_header_t_ts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_audio_buffer_header_t_len_set___")]
  public static extern void audio_buffer_header_t_len_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_audio_buffer_header_t_len_get___")]
  public static extern uint audio_buffer_header_t_len_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_audio_buffer_header_t___")]
  public static extern global::System.IntPtr new_audio_buffer_header_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_audio_buffer_header_t___")]
  public static extern void delete_audio_buffer_header_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxVersion_set___")]
  public static extern void switch_t38_options_t_T38FaxVersion_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxVersion_get___")]
  public static extern ushort switch_t38_options_t_T38FaxVersion_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38MaxBitRate_set___")]
  public static extern void switch_t38_options_t_T38MaxBitRate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38MaxBitRate_get___")]
  public static extern uint switch_t38_options_t_T38MaxBitRate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxFillBitRemoval_set___")]
  public static extern void switch_t38_options_t_T38FaxFillBitRemoval_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxFillBitRemoval_get___")]
  public static extern int switch_t38_options_t_T38FaxFillBitRemoval_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingMMR_set___")]
  public static extern void switch_t38_options_t_T38FaxTranscodingMMR_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingMMR_get___")]
  public static extern int switch_t38_options_t_T38FaxTranscodingMMR_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingJBIG_set___")]
  public static extern void switch_t38_options_t_T38FaxTranscodingJBIG_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxTranscodingJBIG_get___")]
  public static extern int switch_t38_options_t_T38FaxTranscodingJBIG_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxRateManagement_set___")]
  public static extern void switch_t38_options_t_T38FaxRateManagement_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxRateManagement_get___")]
  public static extern string switch_t38_options_t_T38FaxRateManagement_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxBuffer_set___")]
  public static extern void switch_t38_options_t_T38FaxMaxBuffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxBuffer_get___")]
  public static extern uint switch_t38_options_t_T38FaxMaxBuffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxDatagram_set___")]
  public static extern void switch_t38_options_t_T38FaxMaxDatagram_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxMaxDatagram_get___")]
  public static extern uint switch_t38_options_t_T38FaxMaxDatagram_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxUdpEC_set___")]
  public static extern void switch_t38_options_t_T38FaxUdpEC_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38FaxUdpEC_get___")]
  public static extern string switch_t38_options_t_T38FaxUdpEC_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38VendorInfo_set___")]
  public static extern void switch_t38_options_t_T38VendorInfo_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_T38VendorInfo_get___")]
  public static extern string switch_t38_options_t_T38VendorInfo_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_ip_set___")]
  public static extern void switch_t38_options_t_remote_ip_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_ip_get___")]
  public static extern string switch_t38_options_t_remote_ip_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_port_set___")]
  public static extern void switch_t38_options_t_remote_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_remote_port_get___")]
  public static extern ushort switch_t38_options_t_remote_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_local_ip_set___")]
  public static extern void switch_t38_options_t_local_ip_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_local_ip_get___")]
  public static extern string switch_t38_options_t_local_ip_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_local_port_set___")]
  public static extern void switch_t38_options_t_local_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_local_port_get___")]
  public static extern ushort switch_t38_options_t_local_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_sdp_o_line_set___")]
  public static extern void switch_t38_options_t_sdp_o_line_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_t38_options_t_sdp_o_line_get___")]
  public static extern string switch_t38_options_t_sdp_o_line_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_t38_options_t___")]
  public static extern global::System.IntPtr new_switch_t38_options_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_t38_options_t___")]
  public static extern void delete_switch_t38_options_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_type_check___")]
  public static extern global::System.IntPtr switch_core_session_type_check(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_const_char_type_check___")]
  public static extern string switch_const_char_type_check(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_width_set___")]
  public static extern void switch_vid_params_t_width_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_width_get___")]
  public static extern uint switch_vid_params_t_width_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_height_set___")]
  public static extern void switch_vid_params_t_height_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_height_get___")]
  public static extern uint switch_vid_params_t_height_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_fps_set___")]
  public static extern void switch_vid_params_t_fps_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_fps_get___")]
  public static extern uint switch_vid_params_t_fps_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_d_width_set___")]
  public static extern void switch_vid_params_t_d_width_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_d_width_get___")]
  public static extern uint switch_vid_params_t_d_width_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_d_height_set___")]
  public static extern void switch_vid_params_t_d_height_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_vid_params_t_d_height_get___")]
  public static extern uint switch_vid_params_t_d_height_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_vid_params_t___")]
  public static extern global::System.IntPtr new_switch_vid_params_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_vid_params_t___")]
  public static extern void delete_switch_vid_params_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fps_t_fps_set___")]
  public static extern void switch_fps_t_fps_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fps_t_fps_get___")]
  public static extern float switch_fps_t_fps_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fps_t_ms_set___")]
  public static extern void switch_fps_t_ms_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fps_t_ms_get___")]
  public static extern int switch_fps_t_ms_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fps_t_samples_set___")]
  public static extern void switch_fps_t_samples_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fps_t_samples_get___")]
  public static extern int switch_fps_t_samples_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_fps_t___")]
  public static extern global::System.IntPtr new_switch_fps_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_fps_t___")]
  public static extern void delete_switch_fps_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MEDIA_TYPE_TOTAL_get___")]
  public static extern int SWITCH_MEDIA_TYPE_TOTAL_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SOCK_INVALID_get___")]
  public static extern int SWITCH_SOCK_INVALID_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_node_val_set___")]
  public static extern void switch_console_callback_match_node_val_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_node_val_get___")]
  public static extern string switch_console_callback_match_node_val_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_node_next_set___")]
  public static extern void switch_console_callback_match_node_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_node_next_get___")]
  public static extern global::System.IntPtr switch_console_callback_match_node_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_console_callback_match_node___")]
  public static extern global::System.IntPtr new_switch_console_callback_match_node();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_console_callback_match_node___")]
  public static extern void delete_switch_console_callback_match_node(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_head_set___")]
  public static extern void switch_console_callback_match_head_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_head_get___")]
  public static extern global::System.IntPtr switch_console_callback_match_head_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_end_set___")]
  public static extern void switch_console_callback_match_end_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_end_get___")]
  public static extern global::System.IntPtr switch_console_callback_match_end_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_count_set___")]
  public static extern void switch_console_callback_match_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_count_get___")]
  public static extern int switch_console_callback_match_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_dynamic_set___")]
  public static extern void switch_console_callback_match_dynamic_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_callback_match_dynamic_get___")]
  public static extern int switch_console_callback_match_dynamic_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_console_callback_match___")]
  public static extern global::System.IntPtr new_switch_console_callback_match();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_console_callback_match___")]
  public static extern void delete_switch_console_callback_match(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_DMACHINE_MAX_DIGIT_LEN_get___")]
  public static extern int DMACHINE_MAX_DIGIT_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_dmachine_set___")]
  public static extern void switch_ivr_dmachine_match_dmachine_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_dmachine_get___")]
  public static extern global::System.IntPtr switch_ivr_dmachine_match_dmachine_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_digits_set___")]
  public static extern void switch_ivr_dmachine_match_match_digits_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_digits_get___")]
  public static extern string switch_ivr_dmachine_match_match_digits_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_key_set___")]
  public static extern void switch_ivr_dmachine_match_match_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_match_key_get___")]
  public static extern int switch_ivr_dmachine_match_match_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_type_set___")]
  public static extern void switch_ivr_dmachine_match_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_type_get___")]
  public static extern int switch_ivr_dmachine_match_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_user_data_set___")]
  public static extern void switch_ivr_dmachine_match_user_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_match_user_data_get___")]
  public static extern global::System.IntPtr switch_ivr_dmachine_match_user_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_ivr_dmachine_match___")]
  public static extern global::System.IntPtr new_switch_ivr_dmachine_match();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_ivr_dmachine_match___")]
  public static extern void delete_switch_ivr_dmachine_match(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MAX_ARG_RECURSION_get___")]
  public static extern int MAX_ARG_RECURSION_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_input_callback_set___")]
  public static extern void switch_input_args_t_input_callback_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_input_callback_get___")]
  public static extern global::System.IntPtr switch_input_args_t_input_callback_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_buf_set___")]
  public static extern void switch_input_args_t_buf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_buf_get___")]
  public static extern global::System.IntPtr switch_input_args_t_buf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_buflen_set___")]
  public static extern void switch_input_args_t_buflen_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_buflen_get___")]
  public static extern uint switch_input_args_t_buflen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_read_frame_callback_set___")]
  public static extern void switch_input_args_t_read_frame_callback_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_read_frame_callback_get___")]
  public static extern global::System.IntPtr switch_input_args_t_read_frame_callback_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_user_data_set___")]
  public static extern void switch_input_args_t_user_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_user_data_get___")]
  public static extern global::System.IntPtr switch_input_args_t_user_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_dmachine_set___")]
  public static extern void switch_input_args_t_dmachine_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_dmachine_get___")]
  public static extern global::System.IntPtr switch_input_args_t_dmachine_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_loops_set___")]
  public static extern void switch_input_args_t_loops_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_input_args_t_loops_get___")]
  public static extern int switch_input_args_t_loops_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_input_args_t___")]
  public static extern global::System.IntPtr new_switch_input_args_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_input_args_t___")]
  public static extern void delete_switch_input_args_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_type_set___")]
  public static extern void switch_say_args_t_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_type_get___")]
  public static extern int switch_say_args_t_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_method_set___")]
  public static extern void switch_say_args_t_method_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_method_get___")]
  public static extern int switch_say_args_t_method_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_gender_set___")]
  public static extern void switch_say_args_t_gender_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_gender_get___")]
  public static extern int switch_say_args_t_gender_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_ext_set___")]
  public static extern void switch_say_args_t_ext_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_args_t_ext_get___")]
  public static extern string switch_say_args_t_ext_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_say_args_t___")]
  public static extern global::System.IntPtr new_switch_say_args_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_say_args_t___")]
  public static extern void delete_switch_say_args_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_API_VERSION_get___")]
  public static extern int SWITCH_API_VERSION_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_switch_api_version_set___")]
  public static extern void switch_loadable_module_function_table_t_switch_api_version_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_switch_api_version_get___")]
  public static extern int switch_loadable_module_function_table_t_switch_api_version_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_load_set___")]
  public static extern void switch_loadable_module_function_table_t_load_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_load_get___")]
  public static extern global::System.IntPtr switch_loadable_module_function_table_t_load_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_shutdown_set___")]
  public static extern void switch_loadable_module_function_table_t_shutdown_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_shutdown_get___")]
  public static extern global::System.IntPtr switch_loadable_module_function_table_t_shutdown_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_runtime_set___")]
  public static extern void switch_loadable_module_function_table_t_runtime_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_runtime_get___")]
  public static extern global::System.IntPtr switch_loadable_module_function_table_t_runtime_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_flags_set___")]
  public static extern void switch_loadable_module_function_table_t_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_function_table_t_flags_get___")]
  public static extern uint switch_loadable_module_function_table_t_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_loadable_module_function_table_t___")]
  public static extern global::System.IntPtr new_switch_loadable_module_function_table_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_loadable_module_function_table_t___")]
  public static extern void delete_switch_loadable_module_function_table_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_type_set___")]
  public static extern void payload_map_t_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_type_get___")]
  public static extern int payload_map_t_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_sdp_type_set___")]
  public static extern void payload_map_t_sdp_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_sdp_type_get___")]
  public static extern int payload_map_t_sdp_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_ptime_set___")]
  public static extern void payload_map_t_ptime_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_ptime_get___")]
  public static extern uint payload_map_t_ptime_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rate_set___")]
  public static extern void payload_map_t_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rate_get___")]
  public static extern uint payload_map_t_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_allocated_set___")]
  public static extern void payload_map_t_allocated_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_allocated_get___")]
  public static extern byte payload_map_t_allocated_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_negotiated_set___")]
  public static extern void payload_map_t_negotiated_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_negotiated_get___")]
  public static extern byte payload_map_t_negotiated_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_current_set___")]
  public static extern void payload_map_t_current_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_current_get___")]
  public static extern byte payload_map_t_current_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_hash_set___")]
  public static extern void payload_map_t_hash_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_hash_get___")]
  public static extern uint payload_map_t_hash_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rm_encoding_set___")]
  public static extern void payload_map_t_rm_encoding_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rm_encoding_get___")]
  public static extern string payload_map_t_rm_encoding_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_iananame_set___")]
  public static extern void payload_map_t_iananame_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_iananame_get___")]
  public static extern string payload_map_t_iananame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_modname_set___")]
  public static extern void payload_map_t_modname_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_modname_get___")]
  public static extern string payload_map_t_modname_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_pt_set___")]
  public static extern void payload_map_t_pt_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_pt_get___")]
  public static extern byte payload_map_t_pt_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rm_rate_set___")]
  public static extern void payload_map_t_rm_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rm_rate_get___")]
  public static extern uint payload_map_t_rm_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_adv_rm_rate_set___")]
  public static extern void payload_map_t_adv_rm_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_adv_rm_rate_get___")]
  public static extern uint payload_map_t_adv_rm_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_codec_ms_set___")]
  public static extern void payload_map_t_codec_ms_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_codec_ms_get___")]
  public static extern uint payload_map_t_codec_ms_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_bitrate_set___")]
  public static extern void payload_map_t_bitrate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_bitrate_get___")]
  public static extern uint payload_map_t_bitrate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rm_fmtp_set___")]
  public static extern void payload_map_t_rm_fmtp_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_rm_fmtp_get___")]
  public static extern string payload_map_t_rm_fmtp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_recv_pt_set___")]
  public static extern void payload_map_t_recv_pt_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_recv_pt_get___")]
  public static extern byte payload_map_t_recv_pt_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_fmtp_out_set___")]
  public static extern void payload_map_t_fmtp_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_fmtp_out_get___")]
  public static extern string payload_map_t_fmtp_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_ip_set___")]
  public static extern void payload_map_t_remote_sdp_ip_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_ip_get___")]
  public static extern string payload_map_t_remote_sdp_ip_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_port_set___")]
  public static extern void payload_map_t_remote_sdp_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_remote_sdp_port_get___")]
  public static extern ushort payload_map_t_remote_sdp_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_channels_set___")]
  public static extern void payload_map_t_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_channels_get___")]
  public static extern int payload_map_t_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_adv_channels_set___")]
  public static extern void payload_map_t_adv_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_adv_channels_get___")]
  public static extern int payload_map_t_adv_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_next_set___")]
  public static extern void payload_map_t_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_payload_map_t_next_get___")]
  public static extern global::System.IntPtr payload_map_t_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_payload_map_t___")]
  public static extern global::System.IntPtr new_payload_map_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_payload_map_t___")]
  public static extern void delete_payload_map_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_waitlist_t_sock_set___")]
  public static extern void switch_waitlist_t_sock_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_waitlist_t_sock_get___")]
  public static extern int switch_waitlist_t_sock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_waitlist_t_events_set___")]
  public static extern void switch_waitlist_t_events_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_waitlist_t_events_get___")]
  public static extern uint switch_waitlist_t_events_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_waitlist_t_revents_set___")]
  public static extern void switch_waitlist_t_revents_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_waitlist_t_revents_get___")]
  public static extern uint switch_waitlist_t_revents_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_waitlist_t___")]
  public static extern global::System.IntPtr new_switch_waitlist_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_waitlist_t___")]
  public static extern void delete_switch_waitlist_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_samplerate_set___")]
  public static extern void switch_mm_t_samplerate_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_samplerate_get___")]
  public static extern int switch_mm_t_samplerate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_channels_set___")]
  public static extern void switch_mm_t_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_channels_get___")]
  public static extern int switch_mm_t_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_keyint_set___")]
  public static extern void switch_mm_t_keyint_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_keyint_get___")]
  public static extern int switch_mm_t_keyint_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_ab_set___")]
  public static extern void switch_mm_t_ab_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_ab_get___")]
  public static extern int switch_mm_t_ab_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vb_set___")]
  public static extern void switch_mm_t_vb_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vb_get___")]
  public static extern int switch_mm_t_vb_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vw_set___")]
  public static extern void switch_mm_t_vw_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vw_get___")]
  public static extern int switch_mm_t_vw_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vh_set___")]
  public static extern void switch_mm_t_vh_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vh_get___")]
  public static extern int switch_mm_t_vh_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_cbr_set___")]
  public static extern void switch_mm_t_cbr_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_cbr_get___")]
  public static extern int switch_mm_t_cbr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_fps_set___")]
  public static extern void switch_mm_t_fps_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_fps_get___")]
  public static extern float switch_mm_t_fps_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_source_fps_set___")]
  public static extern void switch_mm_t_source_fps_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_source_fps_get___")]
  public static extern float switch_mm_t_source_fps_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_source_kps_set___")]
  public static extern void switch_mm_t_source_kps_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_source_kps_get___")]
  public static extern int switch_mm_t_source_kps_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vbuf_set___")]
  public static extern void switch_mm_t_vbuf_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vbuf_get___")]
  public static extern int switch_mm_t_vbuf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vprofile_set___")]
  public static extern void switch_mm_t_vprofile_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vprofile_get___")]
  public static extern int switch_mm_t_vprofile_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vencspd_set___")]
  public static extern void switch_mm_t_vencspd_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_vencspd_get___")]
  public static extern int switch_mm_t_vencspd_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_try_hardware_encoder_set___")]
  public static extern void switch_mm_t_try_hardware_encoder_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_try_hardware_encoder_get___")]
  public static extern byte switch_mm_t_try_hardware_encoder_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_scale_w_set___")]
  public static extern void switch_mm_t_scale_w_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_scale_w_get___")]
  public static extern int switch_mm_t_scale_w_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_scale_h_set___")]
  public static extern void switch_mm_t_scale_h_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_scale_h_get___")]
  public static extern int switch_mm_t_scale_h_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_fmt_set___")]
  public static extern void switch_mm_t_fmt_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_fmt_get___")]
  public static extern global::System.IntPtr switch_mm_t_fmt_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_auth_username_set___")]
  public static extern void switch_mm_t_auth_username_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_auth_username_get___")]
  public static extern string switch_mm_t_auth_username_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_auth_password_set___")]
  public static extern void switch_mm_t_auth_password_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mm_t_auth_password_get___")]
  public static extern string switch_mm_t_auth_password_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_mm_t___")]
  public static extern global::System.IntPtr new_switch_mm_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_mm_t___")]
  public static extern void delete_switch_mm_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTP_MAX_CRYPTO_LEN_get___")]
  public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_method_set___")]
  public static extern void switch_crypto_key_material_t_method_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_method_get___")]
  public static extern int switch_crypto_key_material_t_method_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_raw_key_set___")]
  public static extern void switch_crypto_key_material_t_raw_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_raw_key_get___")]
  public static extern global::System.IntPtr switch_crypto_key_material_t_raw_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_crypto_key_set___")]
  public static extern void switch_crypto_key_material_t_crypto_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_crypto_key_get___")]
  public static extern string switch_crypto_key_material_t_crypto_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_lifetime_set___")]
  public static extern void switch_crypto_key_material_t_lifetime_set(global::System.Runtime.InteropServices.HandleRef jarg1, ulong jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_lifetime_get___")]
  public static extern ulong switch_crypto_key_material_t_lifetime_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_id_set___")]
  public static extern void switch_crypto_key_material_t_mki_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_id_get___")]
  public static extern uint switch_crypto_key_material_t_mki_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_size_set___")]
  public static extern void switch_crypto_key_material_t_mki_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_mki_size_get___")]
  public static extern uint switch_crypto_key_material_t_mki_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_next_set___")]
  public static extern void switch_crypto_key_material_t_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_crypto_key_material_t_next_get___")]
  public static extern global::System.IntPtr switch_crypto_key_material_t_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_crypto_key_material_t___")]
  public static extern global::System.IntPtr new_switch_crypto_key_material_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_crypto_key_material_t___")]
  public static extern void delete_switch_crypto_key_material_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_tag_set___")]
  public static extern void switch_secure_settings_t_crypto_tag_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_tag_get___")]
  public static extern int switch_secure_settings_t_crypto_tag_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_raw_key_set___")]
  public static extern void switch_secure_settings_t_local_raw_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_raw_key_get___")]
  public static extern global::System.IntPtr switch_secure_settings_t_local_raw_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_raw_key_set___")]
  public static extern void switch_secure_settings_t_remote_raw_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_raw_key_get___")]
  public static extern global::System.IntPtr switch_secure_settings_t_remote_raw_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_type_set___")]
  public static extern void switch_secure_settings_t_crypto_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_crypto_type_get___")]
  public static extern int switch_secure_settings_t_crypto_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_crypto_key_set___")]
  public static extern void switch_secure_settings_t_local_crypto_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_crypto_key_get___")]
  public static extern string switch_secure_settings_t_local_crypto_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_crypto_key_set___")]
  public static extern void switch_secure_settings_t_remote_crypto_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_crypto_key_get___")]
  public static extern string switch_secure_settings_t_remote_crypto_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_next_set___")]
  public static extern void switch_secure_settings_t_local_key_material_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_next_get___")]
  public static extern global::System.IntPtr switch_secure_settings_t_local_key_material_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_n_set___")]
  public static extern void switch_secure_settings_t_local_key_material_n_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_local_key_material_n_get___")]
  public static extern uint switch_secure_settings_t_local_key_material_n_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_next_set___")]
  public static extern void switch_secure_settings_t_remote_key_material_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_next_get___")]
  public static extern global::System.IntPtr switch_secure_settings_t_remote_key_material_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_n_set___")]
  public static extern void switch_secure_settings_t_remote_key_material_n_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_secure_settings_t_remote_key_material_n_get___")]
  public static extern uint switch_secure_settings_t_remote_key_material_n_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_secure_settings_t___")]
  public static extern global::System.IntPtr new_switch_secure_settings_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_secure_settings_t___")]
  public static extern void delete_switch_secure_settings_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CRYPTO_MKI_INDEX_get___")]
  public static extern int SWITCH_CRYPTO_MKI_INDEX_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CRYPTO_MKI_MAX_get___")]
  public static extern int SWITCH_CRYPTO_MKI_MAX_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_coredb_handle_in_memory_set___")]
  public static extern void switch_coredb_handle_in_memory_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_coredb_handle_in_memory_get___")]
  public static extern int switch_coredb_handle_in_memory_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_coredb_handle_handle_set___")]
  public static extern void switch_coredb_handle_handle_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_coredb_handle_handle_get___")]
  public static extern global::System.IntPtr switch_coredb_handle_handle_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_coredb_handle___")]
  public static extern global::System.IntPtr new_switch_coredb_handle();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_coredb_handle___")]
  public static extern void delete_switch_coredb_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_close___")]
  public static extern int switch_core_db_close(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_open___")]
  public static extern int switch_core_db_open(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_open_v2___")]
  public static extern int switch_core_db_open_v2(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_column_text___")]
  public static extern global::System.IntPtr switch_core_db_column_text(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_column_name___")]
  public static extern string switch_core_db_column_name(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_column_count___")]
  public static extern int switch_core_db_column_count(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_errmsg___")]
  public static extern string switch_core_db_errmsg(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_exec___")]
  public static extern int switch_core_db_exec(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, ref string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_finalize___")]
  public static extern int switch_core_db_finalize(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_prepare___")]
  public static extern int switch_core_db_prepare(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, ref global::System.IntPtr jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_step___")]
  public static extern int switch_core_db_step(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_reset___")]
  public static extern int switch_core_db_reset(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_bind_int___")]
  public static extern int switch_core_db_bind_int(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_bind_int64___")]
  public static extern int switch_core_db_bind_int64(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, long jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_bind_text___")]
  public static extern int switch_core_db_bind_text(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_bind_double___")]
  public static extern int switch_core_db_bind_double(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, double jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_last_insert_rowid___")]
  public static extern long switch_core_db_last_insert_rowid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_get_table___")]
  public static extern int switch_core_db_get_table(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, ref string jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_free_table___")]
  public static extern void switch_core_db_free_table(ref string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_free___")]
  public static extern void switch_core_db_free(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_changes___")]
  public static extern int switch_core_db_changes(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_load_extension___")]
  public static extern int switch_core_db_load_extension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_OK_get___")]
  public static extern int SWITCH_CORE_DB_OK_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_ERROR_get___")]
  public static extern int SWITCH_CORE_DB_ERROR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_INTERNAL_get___")]
  public static extern int SWITCH_CORE_DB_INTERNAL_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_PERM_get___")]
  public static extern int SWITCH_CORE_DB_PERM_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_ABORT_get___")]
  public static extern int SWITCH_CORE_DB_ABORT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_BUSY_get___")]
  public static extern int SWITCH_CORE_DB_BUSY_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_LOCKED_get___")]
  public static extern int SWITCH_CORE_DB_LOCKED_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOMEM_get___")]
  public static extern int SWITCH_CORE_DB_NOMEM_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_READONLY_get___")]
  public static extern int SWITCH_CORE_DB_READONLY_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_INTERRUPT_get___")]
  public static extern int SWITCH_CORE_DB_INTERRUPT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_IOERR_get___")]
  public static extern int SWITCH_CORE_DB_IOERR_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_CORRUPT_get___")]
  public static extern int SWITCH_CORE_DB_CORRUPT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOTFOUND_get___")]
  public static extern int SWITCH_CORE_DB_NOTFOUND_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_FULL_get___")]
  public static extern int SWITCH_CORE_DB_FULL_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_CANTOPEN_get___")]
  public static extern int SWITCH_CORE_DB_CANTOPEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_PROTOCOL_get___")]
  public static extern int SWITCH_CORE_DB_PROTOCOL_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_EMPTY_get___")]
  public static extern int SWITCH_CORE_DB_EMPTY_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_SCHEMA_get___")]
  public static extern int SWITCH_CORE_DB_SCHEMA_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_TOOBIG_get___")]
  public static extern int SWITCH_CORE_DB_TOOBIG_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_CONSTRAINT_get___")]
  public static extern int SWITCH_CORE_DB_CONSTRAINT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_MISMATCH_get___")]
  public static extern int SWITCH_CORE_DB_MISMATCH_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_MISUSE_get___")]
  public static extern int SWITCH_CORE_DB_MISUSE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOLFS_get___")]
  public static extern int SWITCH_CORE_DB_NOLFS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_AUTH_get___")]
  public static extern int SWITCH_CORE_DB_AUTH_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_FORMAT_get___")]
  public static extern int SWITCH_CORE_DB_FORMAT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_RANGE_get___")]
  public static extern int SWITCH_CORE_DB_RANGE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_NOTADB_get___")]
  public static extern int SWITCH_CORE_DB_NOTADB_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_ROW_get___")]
  public static extern int SWITCH_CORE_DB_ROW_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CORE_DB_DONE_get___")]
  public static extern int SWITCH_CORE_DB_DONE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_concat___")]
  public static extern string switch_sql_concat();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_PCRE2_get___")]
  public static extern int SWITCH_PCRE2_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_compile___")]
  public static extern global::System.IntPtr switch_regex_compile(string jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_copy_substring___")]
  public static extern int switch_regex_copy_substring(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_match_free___")]
  public static extern void switch_regex_match_free(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_free___")]
  public static extern void switch_regex_free(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_perform___")]
  public static extern int switch_regex_perform(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_perform_substitution___")]
  public static extern void switch_perform_substitution(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_match___")]
  public static extern int switch_regex_match(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_match_partial___")]
  public static extern int switch_regex_match_partial(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_capture_regex___")]
  public static extern void switch_capture_regex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_set_var_callback___")]
  public static extern void switch_regex_set_var_callback(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_regex_set_event_header_callback___")]
  public static extern void switch_regex_set_event_header_callback(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get___")]
  public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_MAX_STREAMS_get___")]
  public static extern int SWITCH_MAX_STREAMS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_mms_set___")]
  public static extern void switch_core_time_duration_mms_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_mms_get___")]
  public static extern uint switch_core_time_duration_mms_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_ms_set___")]
  public static extern void switch_core_time_duration_ms_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_ms_get___")]
  public static extern uint switch_core_time_duration_ms_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_sec_set___")]
  public static extern void switch_core_time_duration_sec_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_sec_get___")]
  public static extern uint switch_core_time_duration_sec_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_min_set___")]
  public static extern void switch_core_time_duration_min_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_min_get___")]
  public static extern uint switch_core_time_duration_min_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_hr_set___")]
  public static extern void switch_core_time_duration_hr_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_hr_get___")]
  public static extern uint switch_core_time_duration_hr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_day_set___")]
  public static extern void switch_core_time_duration_day_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_day_get___")]
  public static extern uint switch_core_time_duration_day_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_yr_set___")]
  public static extern void switch_core_time_duration_yr_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_time_duration_yr_get___")]
  public static extern uint switch_core_time_duration_yr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_core_time_duration___")]
  public static extern global::System.IntPtr new_switch_core_time_duration();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_core_time_duration___")]
  public static extern void delete_switch_core_time_duration(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_app_set___")]
  public static extern void switch_app_log_app_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_app_get___")]
  public static extern string switch_app_log_app_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_arg_set___")]
  public static extern void switch_app_log_arg_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_arg_get___")]
  public static extern string switch_app_log_arg_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_stamp_set___")]
  public static extern void switch_app_log_stamp_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_stamp_get___")]
  public static extern global::System.IntPtr switch_app_log_stamp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_next_set___")]
  public static extern void switch_app_log_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_app_log_next_get___")]
  public static extern global::System.IntPtr switch_app_log_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_app_log___")]
  public static extern global::System.IntPtr new_switch_app_log();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_app_log___")]
  public static extern void delete_switch_app_log(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_func_set___")]
  public static extern void switch_thread_data_t_func_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_func_get___")]
  public static extern global::System.IntPtr switch_thread_data_t_func_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_obj_set___")]
  public static extern void switch_thread_data_t_obj_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_obj_get___")]
  public static extern global::System.IntPtr switch_thread_data_t_obj_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_alloc_set___")]
  public static extern void switch_thread_data_t_alloc_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_alloc_get___")]
  public static extern int switch_thread_data_t_alloc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_running_set___")]
  public static extern void switch_thread_data_t_running_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_running_get___")]
  public static extern int switch_thread_data_t_running_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_pool_set___")]
  public static extern void switch_thread_data_t_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_data_t_pool_get___")]
  public static extern global::System.IntPtr switch_thread_data_t_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_thread_data_t___")]
  public static extern global::System.IntPtr new_switch_thread_data_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_thread_data_t___")]
  public static extern void delete_switch_thread_data_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_on_set___")]
  public static extern void switch_hold_record_t_on_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_on_get___")]
  public static extern global::System.IntPtr switch_hold_record_t_on_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_off_set___")]
  public static extern void switch_hold_record_t_off_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_off_get___")]
  public static extern global::System.IntPtr switch_hold_record_t_off_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_uuid_set___")]
  public static extern void switch_hold_record_t_uuid_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_uuid_get___")]
  public static extern string switch_hold_record_t_uuid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_next_set___")]
  public static extern void switch_hold_record_t_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_hold_record_t_next_get___")]
  public static extern global::System.IntPtr switch_hold_record_t_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_hold_record_t___")]
  public static extern global::System.IntPtr new_switch_hold_record_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_hold_record_t___")]
  public static extern void delete_switch_hold_record_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_uuid_set___")]
  public static extern void switch_device_node_t_uuid_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_uuid_get___")]
  public static extern string switch_device_node_t_uuid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_xml_cdr_set___")]
  public static extern void switch_device_node_t_xml_cdr_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_xml_cdr_get___")]
  public static extern global::System.IntPtr switch_device_node_t_xml_cdr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_event__set___")]
  public static extern void switch_device_node_t_event__set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_event__get___")]
  public static extern global::System.IntPtr switch_device_node_t_event__get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_callstate_set___")]
  public static extern void switch_device_node_t_callstate_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_callstate_get___")]
  public static extern int switch_device_node_t_callstate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_hold_record_set___")]
  public static extern void switch_device_node_t_hold_record_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_hold_record_get___")]
  public static extern global::System.IntPtr switch_device_node_t_hold_record_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_hup_profile_set___")]
  public static extern void switch_device_node_t_hup_profile_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_hup_profile_get___")]
  public static extern global::System.IntPtr switch_device_node_t_hup_profile_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_direction_set___")]
  public static extern void switch_device_node_t_direction_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_direction_get___")]
  public static extern int switch_device_node_t_direction_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_parent_set___")]
  public static extern void switch_device_node_t_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_parent_get___")]
  public static extern global::System.IntPtr switch_device_node_t_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_next_set___")]
  public static extern void switch_device_node_t_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_node_t_next_get___")]
  public static extern global::System.IntPtr switch_device_node_t_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_device_node_t___")]
  public static extern global::System.IntPtr new_switch_device_node_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_device_node_t___")]
  public static extern void delete_switch_device_node_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_total_set___")]
  public static extern void switch_device_stats_t_total_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_total_get___")]
  public static extern uint switch_device_stats_t_total_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_total_in_set___")]
  public static extern void switch_device_stats_t_total_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_total_in_get___")]
  public static extern uint switch_device_stats_t_total_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_total_out_set___")]
  public static extern void switch_device_stats_t_total_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_total_out_get___")]
  public static extern uint switch_device_stats_t_total_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_set___")]
  public static extern void switch_device_stats_t_offhook_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_get___")]
  public static extern uint switch_device_stats_t_offhook_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_in_set___")]
  public static extern void switch_device_stats_t_offhook_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_in_get___")]
  public static extern uint switch_device_stats_t_offhook_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_out_set___")]
  public static extern void switch_device_stats_t_offhook_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_offhook_out_get___")]
  public static extern uint switch_device_stats_t_offhook_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_active_set___")]
  public static extern void switch_device_stats_t_active_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_active_get___")]
  public static extern uint switch_device_stats_t_active_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_active_in_set___")]
  public static extern void switch_device_stats_t_active_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_active_in_get___")]
  public static extern uint switch_device_stats_t_active_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_active_out_set___")]
  public static extern void switch_device_stats_t_active_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_active_out_get___")]
  public static extern uint switch_device_stats_t_active_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_held_set___")]
  public static extern void switch_device_stats_t_held_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_held_get___")]
  public static extern uint switch_device_stats_t_held_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_held_in_set___")]
  public static extern void switch_device_stats_t_held_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_held_in_get___")]
  public static extern uint switch_device_stats_t_held_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_held_out_set___")]
  public static extern void switch_device_stats_t_held_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_held_out_get___")]
  public static extern uint switch_device_stats_t_held_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_set___")]
  public static extern void switch_device_stats_t_unheld_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_get___")]
  public static extern uint switch_device_stats_t_unheld_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_in_set___")]
  public static extern void switch_device_stats_t_unheld_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_in_get___")]
  public static extern uint switch_device_stats_t_unheld_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_out_set___")]
  public static extern void switch_device_stats_t_unheld_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_unheld_out_get___")]
  public static extern uint switch_device_stats_t_unheld_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_set___")]
  public static extern void switch_device_stats_t_hup_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_get___")]
  public static extern uint switch_device_stats_t_hup_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_in_set___")]
  public static extern void switch_device_stats_t_hup_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_in_get___")]
  public static extern uint switch_device_stats_t_hup_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_out_set___")]
  public static extern void switch_device_stats_t_hup_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_hup_out_get___")]
  public static extern uint switch_device_stats_t_hup_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_set___")]
  public static extern void switch_device_stats_t_ringing_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_get___")]
  public static extern uint switch_device_stats_t_ringing_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_in_set___")]
  public static extern void switch_device_stats_t_ringing_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_in_get___")]
  public static extern uint switch_device_stats_t_ringing_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_out_set___")]
  public static extern void switch_device_stats_t_ringing_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ringing_out_get___")]
  public static extern uint switch_device_stats_t_ringing_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_early_set___")]
  public static extern void switch_device_stats_t_early_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_early_get___")]
  public static extern uint switch_device_stats_t_early_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_early_in_set___")]
  public static extern void switch_device_stats_t_early_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_early_in_get___")]
  public static extern uint switch_device_stats_t_early_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_early_out_set___")]
  public static extern void switch_device_stats_t_early_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_early_out_get___")]
  public static extern uint switch_device_stats_t_early_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ring_wait_set___")]
  public static extern void switch_device_stats_t_ring_wait_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_stats_t_ring_wait_get___")]
  public static extern uint switch_device_stats_t_ring_wait_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_device_stats_t___")]
  public static extern global::System.IntPtr new_switch_device_stats_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_device_stats_t___")]
  public static extern void delete_switch_device_stats_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_device_id_set___")]
  public static extern void switch_device_record_t_device_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_device_id_get___")]
  public static extern string switch_device_record_t_device_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_set___")]
  public static extern void switch_device_record_t_uuid_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_get___")]
  public static extern string switch_device_record_t_uuid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_refs_set___")]
  public static extern void switch_device_record_t_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_refs_get___")]
  public static extern int switch_device_record_t_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_stats_set___")]
  public static extern void switch_device_record_t_stats_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_stats_get___")]
  public static extern global::System.IntPtr switch_device_record_t_stats_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_last_stats_set___")]
  public static extern void switch_device_record_t_last_stats_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_last_stats_get___")]
  public static extern global::System.IntPtr switch_device_record_t_last_stats_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_state_set___")]
  public static extern void switch_device_record_t_state_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_state_get___")]
  public static extern int switch_device_record_t_state_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_last_state_set___")]
  public static extern void switch_device_record_t_last_state_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_last_state_get___")]
  public static extern int switch_device_record_t_last_state_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_active_start_set___")]
  public static extern void switch_device_record_t_active_start_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_active_start_get___")]
  public static extern global::System.IntPtr switch_device_record_t_active_start_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_active_stop_set___")]
  public static extern void switch_device_record_t_active_stop_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_active_stop_get___")]
  public static extern global::System.IntPtr switch_device_record_t_active_stop_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_last_call_time_set___")]
  public static extern void switch_device_record_t_last_call_time_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_last_call_time_get___")]
  public static extern global::System.IntPtr switch_device_record_t_last_call_time_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_ring_start_set___")]
  public static extern void switch_device_record_t_ring_start_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_ring_start_get___")]
  public static extern global::System.IntPtr switch_device_record_t_ring_start_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_ring_stop_set___")]
  public static extern void switch_device_record_t_ring_stop_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_ring_stop_get___")]
  public static extern global::System.IntPtr switch_device_record_t_ring_stop_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_hold_start_set___")]
  public static extern void switch_device_record_t_hold_start_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_hold_start_get___")]
  public static extern global::System.IntPtr switch_device_record_t_hold_start_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_hold_stop_set___")]
  public static extern void switch_device_record_t_hold_stop_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_hold_stop_get___")]
  public static extern global::System.IntPtr switch_device_record_t_hold_stop_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_call_start_set___")]
  public static extern void switch_device_record_t_call_start_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_call_start_get___")]
  public static extern global::System.IntPtr switch_device_record_t_call_start_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_list_set___")]
  public static extern void switch_device_record_t_uuid_list_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_list_get___")]
  public static extern global::System.IntPtr switch_device_record_t_uuid_list_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_tail_set___")]
  public static extern void switch_device_record_t_uuid_tail_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_uuid_tail_get___")]
  public static extern global::System.IntPtr switch_device_record_t_uuid_tail_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_mutex_set___")]
  public static extern void switch_device_record_t_mutex_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_mutex_get___")]
  public static extern global::System.IntPtr switch_device_record_t_mutex_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_pool_set___")]
  public static extern void switch_device_record_t_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_pool_get___")]
  public static extern global::System.IntPtr switch_device_record_t_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_user_data_set___")]
  public static extern void switch_device_record_t_user_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_device_record_t_user_data_get___")]
  public static extern global::System.IntPtr switch_device_record_t_user_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_device_record_t___")]
  public static extern global::System.IntPtr new_switch_device_record_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_device_record_t___")]
  public static extern void delete_switch_device_record_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_DTLS_SRTP_FNAME_get___")]
  public static extern string DTLS_SRTP_FNAME_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MAX_FPLEN_get___")]
  public static extern int MAX_FPLEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MAX_FPSTRLEN_get___")]
  public static extern int MAX_FPSTRLEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_len_set___")]
  public static extern void dtls_fingerprint_t_len_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_len_get___")]
  public static extern uint dtls_fingerprint_t_len_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_data_set___")]
  public static extern void dtls_fingerprint_t_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_data_get___")]
  public static extern global::System.IntPtr dtls_fingerprint_t_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_type_set___")]
  public static extern void dtls_fingerprint_t_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_type_get___")]
  public static extern string dtls_fingerprint_t_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_str_set___")]
  public static extern void dtls_fingerprint_t_str_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtls_fingerprint_t_str_get___")]
  public static extern string dtls_fingerprint_t_str_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_dtls_fingerprint_t___")]
  public static extern global::System.IntPtr new_dtls_fingerprint_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_dtls_fingerprint_t___")]
  public static extern void delete_dtls_fingerprint_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MESSAGE_STRING_ARG_MAX_get___")]
  public static extern int MESSAGE_STRING_ARG_MAX_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_from_set___")]
  public static extern void switch_core_session_message_from_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_from_get___")]
  public static extern string switch_core_session_message_from_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_message_id_set___")]
  public static extern void switch_core_session_message_message_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_message_id_get___")]
  public static extern int switch_core_session_message_message_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_arg_set___")]
  public static extern void switch_core_session_message_numeric_arg_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_arg_get___")]
  public static extern int switch_core_session_message_numeric_arg_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_set___")]
  public static extern void switch_core_session_message_string_arg_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_get___")]
  public static extern string switch_core_session_message_string_arg_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_size_set___")]
  public static extern void switch_core_session_message_string_arg_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_arg_size_get___")]
  public static extern global::System.IntPtr switch_core_session_message_string_arg_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_set___")]
  public static extern void switch_core_session_message_pointer_arg_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_get___")]
  public static extern global::System.IntPtr switch_core_session_message_pointer_arg_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_size_set___")]
  public static extern void switch_core_session_message_pointer_arg_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_arg_size_get___")]
  public static extern global::System.IntPtr switch_core_session_message_pointer_arg_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_reply_set___")]
  public static extern void switch_core_session_message_numeric_reply_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_numeric_reply_get___")]
  public static extern int switch_core_session_message_numeric_reply_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_set___")]
  public static extern void switch_core_session_message_string_reply_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_get___")]
  public static extern string switch_core_session_message_string_reply_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_size_set___")]
  public static extern void switch_core_session_message_string_reply_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_reply_size_get___")]
  public static extern global::System.IntPtr switch_core_session_message_string_reply_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_set___")]
  public static extern void switch_core_session_message_pointer_reply_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_get___")]
  public static extern global::System.IntPtr switch_core_session_message_pointer_reply_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_size_set___")]
  public static extern void switch_core_session_message_pointer_reply_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_pointer_reply_size_get___")]
  public static extern global::System.IntPtr switch_core_session_message_pointer_reply_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_flags_set___")]
  public static extern void switch_core_session_message_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_flags_get___")]
  public static extern uint switch_core_session_message_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message__file_set___")]
  public static extern void switch_core_session_message__file_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message__file_get___")]
  public static extern string switch_core_session_message__file_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message__func_set___")]
  public static extern void switch_core_session_message__func_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message__func_get___")]
  public static extern string switch_core_session_message__func_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message__line_set___")]
  public static extern void switch_core_session_message__line_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message__line_get___")]
  public static extern int switch_core_session_message__line_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_array_arg_set___")]
  public static extern void switch_core_session_message_string_array_arg_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_string_array_arg_get___")]
  public static extern global::System.IntPtr switch_core_session_message_string_array_arg_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_delivery_time_set___")]
  public static extern void switch_core_session_message_delivery_time_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_delivery_time_get___")]
  public static extern global::System.IntPtr switch_core_session_message_delivery_time_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_core_session_message___")]
  public static extern global::System.IntPtr new_switch_core_session_message();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_core_session_message___")]
  public static extern void delete_switch_core_session_message(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_running_set___")]
  public static extern void switch_core_thread_session_running_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_running_get___")]
  public static extern int switch_core_thread_session_running_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_mutex_set___")]
  public static extern void switch_core_thread_session_mutex_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_mutex_get___")]
  public static extern global::System.IntPtr switch_core_thread_session_mutex_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_objs_set___")]
  public static extern void switch_core_thread_session_objs_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_objs_get___")]
  public static extern global::System.IntPtr switch_core_thread_session_objs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_input_callback_set___")]
  public static extern void switch_core_thread_session_input_callback_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_input_callback_get___")]
  public static extern global::System.IntPtr switch_core_thread_session_input_callback_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_pool_set___")]
  public static extern void switch_core_thread_session_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_pool_get___")]
  public static extern global::System.IntPtr switch_core_thread_session_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_core_thread_session___")]
  public static extern global::System.IntPtr new_switch_core_thread_session();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_core_thread_session___")]
  public static extern void delete_switch_core_thread_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_must_malloc___")]
  public static extern global::System.IntPtr switch_must_malloc(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_must_realloc___")]
  public static extern global::System.IntPtr switch_must_realloc(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_screen_size___")]
  public static extern void switch_core_screen_size(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_sched_heartbeat___")]
  public static extern void switch_core_session_sched_heartbeat(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_unsched_heartbeat___")]
  public static extern void switch_core_session_unsched_heartbeat(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_enable_heartbeat___")]
  public static extern void switch_core_session_enable_heartbeat(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_disable_heartbeat___")]
  public static extern void switch_core_session_disable_heartbeat(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_pop___")]
  public static extern int switch_core_media_bug_pop(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_exec_all___")]
  public static extern int switch_core_media_bug_exec_all(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_patch_video___")]
  public static extern uint switch_core_media_bug_patch_video(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_count___")]
  public static extern uint switch_core_media_bug_count(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_media_bug_set_spy_fmt___")]
  public static extern void switch_media_bug_set_spy_fmt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_push_spy_frame___")]
  public static extern int switch_core_media_bug_push_spy_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_patch_spy_frame___")]
  public static extern int switch_core_media_bug_patch_spy_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_media_bug_parse_spy_fmt___")]
  public static extern int switch_media_bug_parse_spy_fmt(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_add___")]
  public static extern int switch_core_media_bug_add(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, uint jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_pause___")]
  public static extern void switch_core_media_bug_pause(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_resume___")]
  public static extern void switch_core_media_bug_resume(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_inuse___")]
  public static extern void switch_core_media_bug_inuse(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_user_data___")]
  public static extern global::System.IntPtr switch_core_media_bug_get_user_data(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_write_replace_frame___")]
  public static extern global::System.IntPtr switch_core_media_bug_get_write_replace_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_native_read_frame___")]
  public static extern global::System.IntPtr switch_core_media_bug_get_native_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_native_write_frame___")]
  public static extern global::System.IntPtr switch_core_media_bug_get_native_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_video_ping_frame___")]
  public static extern global::System.IntPtr switch_core_media_bug_get_video_ping_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_set_write_replace_frame___")]
  public static extern void switch_core_media_bug_set_write_replace_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_read_replace_frame___")]
  public static extern global::System.IntPtr switch_core_media_bug_get_read_replace_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_set_read_demux_frame___")]
  public static extern void switch_core_media_bug_set_read_demux_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_session___")]
  public static extern global::System.IntPtr switch_core_media_bug_get_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_set_media_params___")]
  public static extern void switch_core_media_bug_set_media_params(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_media_params___")]
  public static extern void switch_core_media_bug_get_media_params(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_get_text___")]
  public static extern string switch_core_media_bug_get_text(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_test_flag___")]
  public static extern uint switch_core_media_bug_test_flag(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_set_flag___")]
  public static extern uint switch_core_media_bug_set_flag(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_clear_flag___")]
  public static extern uint switch_core_media_bug_clear_flag(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_set_read_replace_frame___")]
  public static extern void switch_core_media_bug_set_read_replace_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_cpu_count___")]
  public static extern uint switch_core_cpu_count();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_remove___")]
  public static extern int switch_core_media_bug_remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_prune___")]
  public static extern uint switch_core_media_bug_prune(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_remove_callback___")]
  public static extern int switch_core_media_bug_remove_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_close___")]
  public static extern int switch_core_media_bug_close(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_remove_all_function___")]
  public static extern int switch_core_media_bug_remove_all_function(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_enumerate___")]
  public static extern int switch_core_media_bug_enumerate(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_transfer_callback___")]
  public static extern int switch_core_media_bug_transfer_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_read___")]
  public static extern int switch_core_media_bug_read(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_flush___")]
  public static extern void switch_core_media_bug_flush(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_flush_all___")]
  public static extern int switch_core_media_bug_flush_all(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_media_bug_set_pre_buffer_framecount___")]
  public static extern int switch_core_media_bug_set_pre_buffer_framecount(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_port_allocator_new___")]
  public static extern int switch_core_port_allocator_new(string jarg1, ushort jarg2, ushort jarg3, uint jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_port_allocator_request_port___")]
  public static extern int switch_core_port_allocator_request_port(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_port_allocator_free_port___")]
  public static extern int switch_core_port_allocator_free_port(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_port_allocator_destroy___")]
  public static extern void switch_core_port_allocator_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_test_flag___")]
  public static extern int switch_core_test_flag(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_init___")]
  public static extern int switch_core_init(uint jarg1, int jarg2, ref global::System.IntPtr jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_init_and_modload___")]
  public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref global::System.IntPtr jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_limit___")]
  public static extern uint switch_core_session_limit(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sessions_per_second___")]
  public static extern uint switch_core_sessions_per_second(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_destroy___")]
  public static extern int switch_core_destroy();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_io_read_lock___")]
  public static extern int switch_core_session_io_read_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_io_write_lock___")]
  public static extern int switch_core_session_io_write_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_io_rwunlock___")]
  public static extern int switch_core_session_io_rwunlock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_read_lock___")]
  public static extern int switch_core_session_read_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_read_lock_hangup___")]
  public static extern int switch_core_session_read_lock_hangup(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_write_lock___")]
  public static extern void switch_core_session_write_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_rwunlock___")]
  public static extern void switch_core_session_rwunlock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_add_state_handler___")]
  public static extern int switch_core_add_state_handler(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_remove_state_handler___")]
  public static extern void switch_core_remove_state_handler(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_state_handler___")]
  public static extern global::System.IntPtr switch_core_get_state_handler(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_memory_pool_tag___")]
  public static extern void switch_core_memory_pool_tag(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_pool_stats___")]
  public static extern void switch_core_pool_stats(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_new_memory_pool___")]
  public static extern int switch_core_perform_new_memory_pool(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_sync_clock___")]
  public static extern int switch_core_session_sync_clock();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_destroy_memory_pool___")]
  public static extern int switch_core_perform_destroy_memory_pool(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_memory_pool_set_data___")]
  public static extern void switch_core_memory_pool_set_data(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_memory_pool_get_data___")]
  public static extern global::System.IntPtr switch_core_memory_pool_get_data(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_run___")]
  public static extern void switch_core_session_run(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_running___")]
  public static extern uint switch_core_session_running(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_started___")]
  public static extern uint switch_core_session_started(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_permanent_alloc___")]
  public static extern global::System.IntPtr switch_core_perform_permanent_alloc(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_alloc___")]
  public static extern global::System.IntPtr switch_core_perform_alloc(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_session_alloc___")]
  public static extern global::System.IntPtr switch_core_perform_session_alloc(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_permanent_strdup___")]
  public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_session_strdup___")]
  public static extern string switch_core_perform_session_strdup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_strdup___")]
  public static extern string switch_core_perform_strdup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_strndup___")]
  public static extern string switch_core_perform_strndup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, string jarg4, string jarg5, int jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_sprintf___")]
  public static extern string switch_core_session_sprintf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sprintf___")]
  public static extern string switch_core_sprintf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_pool___")]
  public static extern global::System.IntPtr switch_core_session_get_pool(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_request_xml___")]
  public static extern global::System.IntPtr switch_core_session_request_xml(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_request_uuid___")]
  public static extern global::System.IntPtr switch_core_session_request_uuid(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_uuid___")]
  public static extern int switch_core_session_set_uuid(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_external_id___")]
  public static extern int switch_core_session_set_external_id(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_perform_destroy___")]
  public static extern void switch_core_session_perform_destroy(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_destroy_state___")]
  public static extern void switch_core_session_destroy_state(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_reporting_state___")]
  public static extern void switch_core_session_reporting_state(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_hangup_state___")]
  public static extern void switch_core_session_hangup_state(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_count___")]
  public static extern uint switch_core_session_count();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_id___")]
  public static extern global::System.IntPtr switch_core_session_get_id(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_id___")]
  public static extern global::System.IntPtr switch_core_session_id();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_id_dec___")]
  public static extern global::System.IntPtr switch_core_session_id_dec();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_request_by_name___")]
  public static extern global::System.IntPtr switch_core_session_request_by_name(string jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_thread_launch___")]
  public static extern int switch_core_session_thread_launch(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_pool_launch_thread___")]
  public static extern int switch_thread_pool_launch_thread(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_thread_pool_launch___")]
  public static extern int switch_core_session_thread_pool_launch(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_thread_pool_wait___")]
  public static extern int switch_thread_pool_wait(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_channel___")]
  public static extern global::System.IntPtr switch_core_session_get_channel(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_mutex___")]
  public static extern global::System.IntPtr switch_core_session_get_mutex(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_wake_session_thread___")]
  public static extern int switch_core_session_wake_session_thread(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_signal_state_change___")]
  public static extern void switch_core_session_signal_state_change(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_uuid___")]
  public static extern string switch_core_session_get_uuid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_external_id___")]
  public static extern string switch_core_session_get_external_id(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_loglevel___")]
  public static extern int switch_core_session_set_loglevel(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_loglevel___")]
  public static extern int switch_core_session_get_loglevel(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_jb___")]
  public static extern global::System.IntPtr switch_core_session_get_jb(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_soft_lock___")]
  public static extern void switch_core_session_soft_lock(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_soft_unlock___")]
  public static extern void switch_core_session_soft_unlock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_dmachine___")]
  public static extern void switch_core_session_set_dmachine(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_dmachine___")]
  public static extern global::System.IntPtr switch_core_session_get_dmachine(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_target___")]
  public static extern int switch_ivr_dmachine_get_target(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_target___")]
  public static extern void switch_ivr_dmachine_set_target(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_terminators___")]
  public static extern int switch_ivr_dmachine_set_terminators(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_codec_slin___")]
  public static extern int switch_core_session_set_codec_slin(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_raw_read___")]
  public static extern void switch_core_session_raw_read(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_uuid___")]
  public static extern string switch_core_get_uuid();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_perform_locate___")]
  public static extern global::System.IntPtr switch_core_session_perform_locate(string jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_perform_force_locate___")]
  public static extern global::System.IntPtr switch_core_session_perform_force_locate(string jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_variable___")]
  public static extern string switch_core_get_variable(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_variable_dup___")]
  public static extern string switch_core_get_variable_dup(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_variable_pdup___")]
  public static extern string switch_core_get_variable_pdup(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_hostname___")]
  public static extern string switch_core_get_hostname();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_switchname___")]
  public static extern string switch_core_get_switchname();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_domain___")]
  public static extern string switch_core_get_domain(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_set_variable___")]
  public static extern void switch_core_set_variable(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_variables___")]
  public static extern int switch_core_get_variables(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_set_var_conditional___")]
  public static extern int switch_core_set_var_conditional(string jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_dump_variables___")]
  public static extern void switch_core_dump_variables(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_hupall___")]
  public static extern void switch_core_session_hupall(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_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);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_findall_matching_var___")]
  public static extern global::System.IntPtr switch_core_session_findall_matching_var(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_findall___")]
  public static extern global::System.IntPtr switch_core_session_findall();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_hupall_matching_vars_ans___")]
  public static extern uint switch_core_session_hupall_matching_vars_ans(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_hupall_endpoint___")]
  public static extern void switch_core_session_hupall_endpoint(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_perform_get_partner___")]
  public static extern int switch_core_session_perform_get_partner(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_message_send___")]
  public static extern int switch_core_session_message_send(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_queue_message___")]
  public static extern int switch_core_session_queue_message(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_free_message___")]
  public static extern void switch_core_session_free_message(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_queue_signal_data___")]
  public static extern int switch_core_session_queue_signal_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_dequeue_signal_data___")]
  public static extern int switch_core_session_dequeue_signal_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_pass_indication___")]
  public static extern int switch_core_session_pass_indication(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_queue_indication___")]
  public static extern int switch_core_session_queue_indication(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_dequeue_message___")]
  public static extern int switch_core_session_dequeue_message(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_flush_message___")]
  public static extern int switch_core_session_flush_message(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_event_send___")]
  public static extern int switch_core_session_event_send(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_app_log___")]
  public static extern global::System.IntPtr switch_core_session_get_app_log(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_exec___")]
  public static extern int switch_core_session_exec(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_video_reset___")]
  public static extern void switch_core_session_video_reset(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_execute_application_get_flags___")]
  public static extern int switch_core_session_execute_application_get_flags(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_execute_application_async___")]
  public static extern int switch_core_session_execute_application_async(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_app_flags___")]
  public static extern int switch_core_session_get_app_flags(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_stack_count___")]
  public static extern uint switch_core_session_stack_count(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_execute_exten___")]
  public static extern int switch_core_session_execute_exten(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_receive_event___")]
  public static extern int switch_core_session_receive_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_private_class___")]
  public static extern global::System.IntPtr switch_core_session_get_private_class(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_private_class___")]
  public static extern int switch_core_session_set_private_class(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_add_stream___")]
  public static extern int switch_core_session_add_stream(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_stream___")]
  public static extern global::System.IntPtr switch_core_session_get_stream(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_stream_count___")]
  public static extern int switch_core_session_get_stream_count(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_text_buffer___")]
  public static extern string switch_core_session_get_text_buffer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_launch_thread___")]
  public static extern void switch_core_session_launch_thread(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_session_end___")]
  public static extern void switch_core_thread_session_end(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_service_session_av___")]
  public static extern void switch_core_service_session_av(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_outgoing_channel___")]
  public static extern int switch_core_session_outgoing_channel(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, uint jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_perform_receive_message___")]
  public static extern int switch_core_session_perform_receive_message(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_queue_event___")]
  public static extern int switch_core_session_queue_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_event_count___")]
  public static extern uint switch_core_session_event_count(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_messages_waiting___")]
  public static extern uint switch_core_session_messages_waiting(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_dequeue_event___")]
  public static extern int switch_core_session_dequeue_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_queue_private_event___")]
  public static extern int switch_core_session_queue_private_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_private_event_count___")]
  public static extern uint switch_core_session_private_event_count(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_dequeue_private_event___")]
  public static extern int switch_core_session_dequeue_private_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_flush_private_events___")]
  public static extern uint switch_core_session_flush_private_events(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_read_frame___")]
  public static extern int switch_core_session_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_transcoding___")]
  public static extern int switch_core_session_transcoding(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_passthru___")]
  public static extern void switch_core_session_passthru(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_read_video_frame___")]
  public static extern int switch_core_session_read_video_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_write_video_frame___")]
  public static extern int switch_core_session_write_video_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_write_encoded_video_frame___")]
  public static extern int switch_core_session_write_encoded_video_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_read_impl___")]
  public static extern int switch_core_session_set_read_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_write_impl___")]
  public static extern int switch_core_session_set_write_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_video_read_impl___")]
  public static extern int switch_core_session_set_video_read_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_video_write_impl___")]
  public static extern int switch_core_session_set_video_write_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_reset___")]
  public static extern void switch_core_session_reset(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_try_reset___")]
  public static extern int switch_core_session_try_reset(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_write_frame___")]
  public static extern int switch_core_session_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_perform_kill_channel___")]
  public static extern int switch_core_session_perform_kill_channel(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_send_dtmf___")]
  public static extern int switch_core_session_send_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_send_dtmf_string___")]
  public static extern int switch_core_session_send_dtmf_string(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_recv_dtmf___")]
  public static extern int switch_core_session_recv_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_init_case___")]
  public static extern int switch_core_hash_init_case(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_destroy___")]
  public static extern int switch_core_hash_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_pointer___")]
  public static extern int switch_core_hash_insert_pointer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_auto_free___")]
  public static extern int switch_core_hash_insert_auto_free(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_dup_auto_free___")]
  public static extern int switch_core_hash_insert_dup_auto_free(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_destructor___")]
  public static extern int switch_core_hash_insert_destructor(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_alloc_destructor___")]
  public static extern global::System.IntPtr switch_core_hash_insert_alloc_destructor(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_dup_destructor___")]
  public static extern int switch_core_hash_insert_dup_destructor(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_locked___")]
  public static extern int switch_core_hash_insert_locked(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_insert_wrlock___")]
  public static extern int switch_core_hash_insert_wrlock(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_delete___")]
  public static extern global::System.IntPtr switch_core_hash_delete(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_delete_locked___")]
  public static extern global::System.IntPtr switch_core_hash_delete_locked(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_delete_wrlock___")]
  public static extern global::System.IntPtr switch_core_hash_delete_wrlock(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_delete_multi___")]
  public static extern int switch_core_hash_delete_multi(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_find___")]
  public static extern global::System.IntPtr switch_core_hash_find(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_find_locked___")]
  public static extern global::System.IntPtr switch_core_hash_find_locked(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_find_rdlock___")]
  public static extern global::System.IntPtr switch_core_hash_find_rdlock(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_first_iter___")]
  public static extern global::System.IntPtr switch_core_hash_first_iter(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_empty___")]
  public static extern int switch_core_hash_empty(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_next___")]
  public static extern global::System.IntPtr switch_core_hash_next(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_this___")]
  public static extern void switch_core_hash_this(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_hash_this_val___")]
  public static extern void switch_core_hash_this_val(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_inthash_init___")]
  public static extern int switch_core_inthash_init(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_inthash_destroy___")]
  public static extern int switch_core_inthash_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_inthash_insert___")]
  public static extern int switch_core_inthash_insert(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_inthash_delete___")]
  public static extern global::System.IntPtr switch_core_inthash_delete(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_inthash_find___")]
  public static extern global::System.IntPtr switch_core_inthash_find(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_timer_init___")]
  public static extern int switch_core_timer_init(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_calibrate_clock___")]
  public static extern void switch_time_calibrate_clock();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_timer_next___")]
  public static extern int switch_core_timer_next(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_timer_step___")]
  public static extern int switch_core_timer_step(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_timer_sync___")]
  public static extern int switch_core_timer_sync(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_timer_check___")]
  public static extern int switch_core_timer_check(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_timer_destroy___")]
  public static extern int switch_core_timer_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_init_with_bitrate___")]
  public static extern int switch_core_codec_init_with_bitrate(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, uint jarg5, int jarg6, int jarg7, uint jarg8, uint jarg9, global::System.Runtime.InteropServices.HandleRef jarg10, global::System.Runtime.InteropServices.HandleRef jarg11);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_copy___")]
  public static extern int switch_core_codec_copy(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_parse_fmtp___")]
  public static extern int switch_core_codec_parse_fmtp(string jarg1, string jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_reset___")]
  public static extern int switch_core_codec_reset(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_encode___")]
  public static extern int switch_core_codec_encode(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, uint jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, global::System.Runtime.InteropServices.HandleRef jarg8, global::System.Runtime.InteropServices.HandleRef jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_decode___")]
  public static extern int switch_core_codec_decode(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, uint jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, global::System.Runtime.InteropServices.HandleRef jarg8, global::System.Runtime.InteropServices.HandleRef jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_encode_video___")]
  public static extern int switch_core_codec_encode_video(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_control___")]
  public static extern int switch_core_codec_control(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_decode_video___")]
  public static extern int switch_core_codec_decode_video(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_destroy___")]
  public static extern int switch_core_codec_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_read_codec___")]
  public static extern int switch_core_session_set_read_codec(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_real_read_codec___")]
  public static extern int switch_core_session_set_real_read_codec(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_unset_read_codec___")]
  public static extern void switch_core_session_unset_read_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_unset_write_codec___")]
  public static extern void switch_core_session_unset_write_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_lock_codec_write___")]
  public static extern void switch_core_session_lock_codec_write(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_unlock_codec_write___")]
  public static extern void switch_core_session_unlock_codec_write(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_lock_codec_read___")]
  public static extern void switch_core_session_lock_codec_read(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_unlock_codec_read___")]
  public static extern void switch_core_session_unlock_codec_read(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_lock_full___")]
  public static extern void switch_core_codec_lock_full(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_unlock_full___")]
  public static extern void switch_core_codec_unlock_full(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_read_impl___")]
  public static extern int switch_core_session_get_read_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_real_read_impl___")]
  public static extern int switch_core_session_get_real_read_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_write_impl___")]
  public static extern int switch_core_session_get_write_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_video_read_impl___")]
  public static extern int switch_core_session_get_video_read_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_video_write_impl___")]
  public static extern int switch_core_session_get_video_write_impl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_read_codec___")]
  public static extern global::System.IntPtr switch_core_session_get_read_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_effective_read_codec___")]
  public static extern global::System.IntPtr switch_core_session_get_effective_read_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_write_codec___")]
  public static extern int switch_core_session_set_write_codec(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_write_codec___")]
  public static extern global::System.IntPtr switch_core_session_get_write_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_effective_write_codec___")]
  public static extern global::System.IntPtr switch_core_session_get_effective_write_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_video_read_codec___")]
  public static extern int switch_core_session_set_video_read_codec(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_video_read_codec___")]
  public static extern global::System.IntPtr switch_core_session_get_video_read_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_video_write_codec___")]
  public static extern int switch_core_session_set_video_write_codec(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_get_video_write_codec___")]
  public static extern global::System.IntPtr switch_core_session_get_video_write_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_open_file___")]
  public static extern global::System.IntPtr switch_core_db_open_file(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_open_in_memory___")]
  public static extern global::System.IntPtr switch_core_db_open_in_memory(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_persistant_execute___")]
  public static extern int switch_core_db_persistant_execute(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_persistant_execute_trans___")]
  public static extern int switch_core_db_persistant_execute_trans(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_db_test_reactive___")]
  public static extern void switch_core_db_test_reactive(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_perform_file_open___")]
  public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, string jarg5, uint jarg6, uint jarg7, uint jarg8, global::System.Runtime.InteropServices.HandleRef jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_read___")]
  public static extern int switch_core_file_read(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_write___")]
  public static extern int switch_core_file_write(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_write_video___")]
  public static extern int switch_core_file_write_video(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_read_video___")]
  public static extern int switch_core_file_read_video(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_seek___")]
  public static extern int switch_core_file_seek(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, long jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_set_string___")]
  public static extern int switch_core_file_set_string(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_get_string___")]
  public static extern int switch_core_file_get_string(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, ref global::System.IntPtr jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_pre_close___")]
  public static extern int switch_core_file_pre_close(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_handle_dup___")]
  public static extern int switch_core_file_handle_dup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_close___")]
  public static extern int switch_core_file_close(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_command___")]
  public static extern int switch_core_file_command(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_truncate___")]
  public static extern int switch_core_file_truncate(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_file_has_video___")]
  public static extern int switch_core_file_has_video(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_open___")]
  public static extern int switch_core_speech_open(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, uint jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_feed_tts___")]
  public static extern int switch_core_speech_feed_tts(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_flush_tts___")]
  public static extern void switch_core_speech_flush_tts(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_text_param_tts___")]
  public static extern void switch_core_speech_text_param_tts(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_numeric_param_tts___")]
  public static extern void switch_core_speech_numeric_param_tts(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_float_param_tts___")]
  public static extern void switch_core_speech_float_param_tts(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, double jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_read_tts___")]
  public static extern int switch_core_speech_read_tts(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_speech_close___")]
  public static extern int switch_core_speech_close(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_open___")]
  public static extern int switch_core_asr_open(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_close___")]
  public static extern int switch_core_asr_close(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_feed___")]
  public static extern int switch_core_asr_feed(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_feed_dtmf___")]
  public static extern int switch_core_asr_feed_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_check_results___")]
  public static extern int switch_core_asr_check_results(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_get_results___")]
  public static extern int switch_core_asr_get_results(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_get_result_headers___")]
  public static extern int switch_core_asr_get_result_headers(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_load_grammar___")]
  public static extern int switch_core_asr_load_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_unload_grammar___")]
  public static extern int switch_core_asr_unload_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_enable_grammar___")]
  public static extern int switch_core_asr_enable_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_disable_grammar___")]
  public static extern int switch_core_asr_disable_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_disable_all_grammars___")]
  public static extern int switch_core_asr_disable_all_grammars(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_pause___")]
  public static extern int switch_core_asr_pause(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_resume___")]
  public static extern int switch_core_asr_resume(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_start_input_timers___")]
  public static extern int switch_core_asr_start_input_timers(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_text_param___")]
  public static extern void switch_core_asr_text_param(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_numeric_param___")]
  public static extern void switch_core_asr_numeric_param(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_asr_float_param___")]
  public static extern void switch_core_asr_float_param(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, double jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_directory_open___")]
  public static extern int switch_core_directory_open(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_directory_query___")]
  public static extern int switch_core_directory_query(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_directory_next___")]
  public static extern int switch_core_directory_next(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_directory_next_pair___")]
  public static extern int switch_core_directory_next_pair(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2, ref string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_directory_close___")]
  public static extern int switch_core_directory_close(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_data_channel___")]
  public static extern global::System.IntPtr switch_core_data_channel(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_ready___")]
  public static extern int switch_core_ready();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_running___")]
  public static extern int switch_core_running();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_ready_inbound___")]
  public static extern int switch_core_ready_inbound();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_ready_outbound___")]
  public static extern int switch_core_ready_outbound();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_flags___")]
  public static extern uint switch_core_flags();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_management_exec___")]
  public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_set_process_privileges___")]
  public static extern int switch_core_set_process_privileges();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_set_normal_priority___")]
  public static extern int set_normal_priority();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_set_auto_priority___")]
  public static extern int set_auto_priority();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_set_realtime_priority___")]
  public static extern int set_realtime_priority();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_set_low_priority___")]
  public static extern int set_low_priority();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_change_user_group___")]
  public static extern int change_user_group(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_runtime_loop___")]
  public static extern void switch_core_runtime_loop(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_set_console___")]
  public static extern int switch_core_set_console(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_measure_time___")]
  public static extern void switch_core_measure_time(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_uptime___")]
  public static extern global::System.IntPtr switch_core_uptime();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_ctl___")]
  public static extern int switch_core_session_ctl(int jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_console___")]
  public static extern global::System.IntPtr switch_core_get_console();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_set_globals___")]
  public static extern void switch_core_set_globals();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_compare___")]
  public static extern byte switch_core_session_compare(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_check_interface___")]
  public static extern byte switch_core_session_check_interface(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_set_video_read_callback___")]
  public static extern int switch_core_session_set_video_read_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_video_read_callback___")]
  public static extern int switch_core_session_video_read_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_mime_index___")]
  public static extern global::System.IntPtr switch_core_mime_index();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_mime_ext2type___")]
  public static extern string switch_core_mime_ext2type(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_mime_type2ext___")]
  public static extern string switch_core_mime_type2ext(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_mime_add_type___")]
  public static extern int switch_core_mime_add_type(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_create_module_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_create_module_interface(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_create_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_create_interface(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_micro_time_now___")]
  public static extern global::System.IntPtr switch_micro_time_now();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mono_micro_time_now___")]
  public static extern global::System.IntPtr switch_mono_micro_time_now();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_memory_reclaim___")]
  public static extern void switch_core_memory_reclaim();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_memory_reclaim_events___")]
  public static extern void switch_core_memory_reclaim_events();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_memory_reclaim_logger___")]
  public static extern void switch_core_memory_reclaim_logger();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_memory_reclaim_all___")]
  public static extern void switch_core_memory_reclaim_all();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_setrlimits___")]
  public static extern void switch_core_setrlimits();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_ref___")]
  public static extern global::System.IntPtr switch_time_ref();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_sync___")]
  public static extern void switch_time_sync();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_epoch_time_now___")]
  public static extern global::System.IntPtr switch_epoch_time_now(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_lookup_timezone___")]
  public static extern string switch_lookup_timezone(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strftime_tz___")]
  public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_exp_tz_name___")]
  public static extern int switch_time_exp_tz_name(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_load_network_lists___")]
  public static extern void switch_load_network_lists(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_check_network_list_ip_port_token___")]
  public static extern int switch_check_network_list_ip_port_token(string jarg1, int jarg2, string jarg3, ref global::System.IntPtr jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_check_network_list_ip_token___")]
  public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref global::System.IntPtr jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_set_monotonic___")]
  public static extern void switch_time_set_monotonic(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_set_timerfd___")]
  public static extern void switch_time_set_timerfd(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_set_nanosleep___")]
  public static extern void switch_time_set_nanosleep(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_set_matrix___")]
  public static extern void switch_time_set_matrix(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_set_cond_yield___")]
  public static extern void switch_time_set_cond_yield(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_time_set_use_system_time___")]
  public static extern void switch_time_set_use_system_time(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_min_dtmf_duration___")]
  public static extern uint switch_core_min_dtmf_duration(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_max_dtmf_duration___")]
  public static extern uint switch_core_max_dtmf_duration(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_min_idle_cpu___")]
  public static extern double switch_core_min_idle_cpu(double jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_idle_cpu___")]
  public static extern double switch_core_idle_cpu();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_default_dtmf_duration___")]
  public static extern uint switch_core_default_dtmf_duration(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_set_complete___")]
  public static extern int switch_console_set_complete(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_set_alias___")]
  public static extern int switch_console_set_alias(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_system___")]
  public static extern int switch_system(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_system___")]
  public static extern int switch_stream_system(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cond_yield___")]
  public static extern void switch_cond_yield(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cond_next___")]
  public static extern void switch_cond_next();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_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);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_chat_send___")]
  public static extern int switch_core_chat_send(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_chat_deliver___")]
  public static extern int switch_core_chat_deliver(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_preprocess_session___")]
  public static extern int switch_ivr_preprocess_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sqldb_pause___")]
  public static extern void switch_core_sqldb_pause();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sqldb_resume___")]
  public static extern void switch_core_sqldb_resume();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CACHE_DB_LEN_get___")]
  public static extern int CACHE_DB_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_core_db_dbh_set___")]
  public static extern void switch_cache_db_native_handle_t_core_db_dbh_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_core_db_dbh_get___")]
  public static extern global::System.IntPtr switch_cache_db_native_handle_t_core_db_dbh_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_odbc_dbh_set___")]
  public static extern void switch_cache_db_native_handle_t_odbc_dbh_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_odbc_dbh_get___")]
  public static extern global::System.IntPtr switch_cache_db_native_handle_t_odbc_dbh_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_database_interface_dbh_set___")]
  public static extern void switch_cache_db_native_handle_t_database_interface_dbh_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_native_handle_t_database_interface_dbh_get___")]
  public static extern global::System.IntPtr switch_cache_db_native_handle_t_database_interface_dbh_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_cache_db_native_handle_t___")]
  public static extern global::System.IntPtr new_switch_cache_db_native_handle_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_cache_db_native_handle_t___")]
  public static extern void delete_switch_cache_db_native_handle_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_db_path_set___")]
  public static extern void switch_cache_db_core_db_options_t_db_path_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_db_path_get___")]
  public static extern string switch_cache_db_core_db_options_t_db_path_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_in_memory_set___")]
  public static extern void switch_cache_db_core_db_options_t_in_memory_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_core_db_options_t_in_memory_get___")]
  public static extern int switch_cache_db_core_db_options_t_in_memory_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_cache_db_core_db_options_t___")]
  public static extern global::System.IntPtr new_switch_cache_db_core_db_options_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_cache_db_core_db_options_t___")]
  public static extern void delete_switch_cache_db_core_db_options_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_dsn_set___")]
  public static extern void switch_cache_db_odbc_options_t_dsn_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_dsn_get___")]
  public static extern string switch_cache_db_odbc_options_t_dsn_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_user_set___")]
  public static extern void switch_cache_db_odbc_options_t_user_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_user_get___")]
  public static extern string switch_cache_db_odbc_options_t_user_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_pass_set___")]
  public static extern void switch_cache_db_odbc_options_t_pass_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_odbc_options_t_pass_get___")]
  public static extern string switch_cache_db_odbc_options_t_pass_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_cache_db_odbc_options_t___")]
  public static extern global::System.IntPtr new_switch_cache_db_odbc_options_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_cache_db_odbc_options_t___")]
  public static extern void delete_switch_cache_db_odbc_options_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_original_dsn_set___")]
  public static extern void switch_cache_db_database_interface_options_t_original_dsn_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_original_dsn_get___")]
  public static extern string switch_cache_db_database_interface_options_t_original_dsn_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_connection_string_set___")]
  public static extern void switch_cache_db_database_interface_options_t_connection_string_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_connection_string_get___")]
  public static extern string switch_cache_db_database_interface_options_t_connection_string_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_prefix_set___")]
  public static extern void switch_cache_db_database_interface_options_t_prefix_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_prefix_get___")]
  public static extern string switch_cache_db_database_interface_options_t_prefix_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_database_interface_set___")]
  public static extern void switch_cache_db_database_interface_options_t_database_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_database_interface_get___")]
  public static extern global::System.IntPtr switch_cache_db_database_interface_options_t_database_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_make_module_no_unloadable_set___")]
  public static extern void switch_cache_db_database_interface_options_t_make_module_no_unloadable_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_options_t_make_module_no_unloadable_get___")]
  public static extern int switch_cache_db_database_interface_options_t_make_module_no_unloadable_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_cache_db_database_interface_options_t___")]
  public static extern global::System.IntPtr new_switch_cache_db_database_interface_options_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_cache_db_database_interface_options_t___")]
  public static extern void delete_switch_cache_db_database_interface_options_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_core_db_options_set___")]
  public static extern void switch_cache_db_connection_options_t_core_db_options_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_core_db_options_get___")]
  public static extern global::System.IntPtr switch_cache_db_connection_options_t_core_db_options_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_odbc_options_set___")]
  public static extern void switch_cache_db_connection_options_t_odbc_options_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_odbc_options_get___")]
  public static extern global::System.IntPtr switch_cache_db_connection_options_t_odbc_options_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_database_interface_options_set___")]
  public static extern void switch_cache_db_connection_options_t_database_interface_options_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_connection_options_t_database_interface_options_get___")]
  public static extern global::System.IntPtr switch_cache_db_connection_options_t_database_interface_options_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_cache_db_connection_options_t___")]
  public static extern global::System.IntPtr new_switch_cache_db_connection_options_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_cache_db_connection_options_t___")]
  public static extern void delete_switch_cache_db_connection_options_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_type_name___")]
  public static extern string switch_cache_db_type_name(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_get_type___")]
  public static extern int switch_cache_db_get_type(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_dismiss_db_handle___")]
  public static extern void switch_cache_db_dismiss_db_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_release_db_handle___")]
  public static extern void switch_cache_db_release_db_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative__switch_cache_db_get_db_handle___")]
  public static extern int _switch_cache_db_get_db_handle(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, string jarg4, string jarg5, int jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative__switch_cache_db_get_db_handle_dsn_ex___")]
  public static extern int _switch_cache_db_get_db_handle_dsn_ex(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, string jarg4, string jarg5, int jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative__switch_cache_db_get_db_handle_dsn___")]
  public static extern int _switch_cache_db_get_db_handle_dsn(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_create_schema___")]
  public static extern int switch_cache_db_create_schema(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, ref string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql2str___")]
  public static extern string switch_cache_db_execute_sql2str(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, uint jarg4, ref string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql___")]
  public static extern int switch_cache_db_execute_sql(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, ref string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql_callback___")]
  public static extern int switch_cache_db_execute_sql_callback(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, ref string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql_callback_err___")]
  public static extern int switch_cache_db_execute_sql_callback_err(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, ref string jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_affected_rows___")]
  public static extern int switch_cache_db_affected_rows(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_load_extension___")]
  public static extern int switch_cache_db_load_extension(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_status___")]
  public static extern void switch_cache_db_status(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative__switch_core_db_handle___")]
  public static extern int _switch_core_db_handle(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_test_reactive___")]
  public static extern int switch_cache_db_test_reactive(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_test_reactive_ex___")]
  public static extern int switch_cache_db_test_reactive_ex(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_persistant_execute___")]
  public static extern int switch_cache_db_persistant_execute(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_persistant_execute_trans_full___")]
  public static extern int switch_cache_db_persistant_execute_trans_full(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, string jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_database_interface_flush_handles___")]
  public static extern void switch_cache_db_database_interface_flush_handles(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_check_core_db_dsn___")]
  public static extern int switch_core_check_core_db_dsn();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_available___")]
  public static extern int switch_database_available(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_set_signal_handlers___")]
  public static extern void switch_core_set_signal_handlers();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_debug_level___")]
  public static extern uint switch_core_debug_level();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sps___")]
  public static extern int switch_core_sps();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sps_last___")]
  public static extern int switch_core_sps_last();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sps_peak___")]
  public static extern int switch_core_sps_peak();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sps_peak_fivemin___")]
  public static extern int switch_core_sps_peak_fivemin();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sessions_peak___")]
  public static extern int switch_core_sessions_peak();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sessions_peak_fivemin___")]
  public static extern int switch_core_sessions_peak_fivemin();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_flush_handles___")]
  public static extern void switch_cache_db_flush_handles();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_banner___")]
  public static extern string switch_core_banner();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_in_thread___")]
  public static extern int switch_core_session_in_thread(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_default_ptime___")]
  public static extern uint switch_default_ptime(string jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_default_rate___")]
  public static extern uint switch_default_rate(string jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_max_audio_channels___")]
  public static extern uint switch_core_max_audio_channels(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_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);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_del_registration___")]
  public static extern int switch_core_del_registration(string jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_expire_registration___")]
  public static extern int switch_core_expire_registration(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_rtp_port_range_start_port___")]
  public static extern ushort switch_core_get_rtp_port_range_start_port();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_rtp_port_range_end_port___")]
  public static extern ushort switch_core_get_rtp_port_range_end_port();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_file_handle_get_variable___")]
  public static extern string switch_say_file_handle_get_variable(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_file_handle_get_path___")]
  public static extern string switch_say_file_handle_get_path(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_file_handle_detach_path___")]
  public static extern string switch_say_file_handle_detach_path(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_file_handle_destroy___")]
  public static extern void switch_say_file_handle_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_file_handle_create___")]
  public static extern int switch_say_file_handle_create(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_file___")]
  public static extern void switch_say_file(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_max_file_desc___")]
  public static extern int switch_max_file_desc();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_close_extra_files___")]
  public static extern void switch_close_extra_files(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_thread_set_cpu_affinity___")]
  public static extern int switch_core_thread_set_cpu_affinity(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_os_yield___")]
  public static extern void switch_os_yield();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_stacksizes___")]
  public static extern int switch_core_get_stacksizes(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_gen_encoded_silence___")]
  public static extern void switch_core_gen_encoded_silence(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_dbtype___")]
  public static extern int switch_core_dbtype();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_sql_exec___")]
  public static extern void switch_core_sql_exec(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_recovery_recover___")]
  public static extern int switch_core_recovery_recover(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_recovery_untrack___")]
  public static extern void switch_core_recovery_untrack(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_recovery_track___")]
  public static extern void switch_core_recovery_track(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_recovery_flush___")]
  public static extern void switch_core_recovery_flush(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_pause___")]
  public static extern void switch_sql_queue_manager_pause(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_resume___")]
  public static extern void switch_sql_queue_manager_resume(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_size___")]
  public static extern int switch_sql_queue_manager_size(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_push_confirm___")]
  public static extern int switch_sql_queue_manager_push_confirm(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_push___")]
  public static extern int switch_sql_queue_manager_push(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_destroy___")]
  public static extern int switch_sql_queue_manager_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_init_name___")]
  public static extern int switch_sql_queue_manager_init_name(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, string jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_start___")]
  public static extern int switch_sql_queue_manager_start(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_stop___")]
  public static extern int switch_sql_queue_manager_stop(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cache_db_execute_sql_event_callback___")]
  public static extern int switch_cache_db_execute_sql_event_callback(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, ref string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_callback___")]
  public static extern void switch_sql_queue_manager_execute_sql_callback(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_callback_err___")]
  public static extern void switch_sql_queue_manager_execute_sql_callback_err(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_event_callback___")]
  public static extern void switch_sql_queue_manager_execute_sql_event_callback(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sql_queue_manager_execute_sql_event_callback_err___")]
  public static extern void switch_sql_queue_manager_execute_sql_event_callback_err(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fork___")]
  public static extern global::System.IntPtr switch_fork();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_gen_certs___")]
  public static extern int switch_core_gen_certs(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_check_dtls_pem___")]
  public static extern int switch_core_check_dtls_pem(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_cert_gen_fingerprint___")]
  public static extern int switch_core_cert_gen_fingerprint(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_cert_expand_fingerprint___")]
  public static extern int switch_core_cert_expand_fingerprint(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_cert_verify___")]
  public static extern int switch_core_cert_verify(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative__switch_core_session_request_video_refresh___")]
  public static extern int _switch_core_session_request_video_refresh(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_send_and_request_video_refresh___")]
  public static extern int switch_core_session_send_and_request_video_refresh(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_system_fork___")]
  public static extern int switch_stream_system_fork(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_spawn___")]
  public static extern int switch_spawn(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_spawn___")]
  public static extern int switch_stream_spawn(string jarg1, int jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_debug_pool___")]
  public static extern void switch_core_session_debug_pool(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_override_io_routines___")]
  public static extern int switch_core_session_override_io_routines(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_version_major___")]
  public static extern string switch_version_major();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_version_minor___")]
  public static extern string switch_version_minor();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_version_micro___")]
  public static extern string switch_version_micro();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_version_revision___")]
  public static extern string switch_version_revision();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_version_revision_human___")]
  public static extern string switch_version_revision_human();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_version_full___")]
  public static extern string switch_version_full();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_version_full_human___")]
  public static extern string switch_version_full_human();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_autobind_cpu___")]
  public static extern void switch_core_autobind_cpu();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_start_text_thread___")]
  public static extern int switch_core_session_start_text_thread(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_event_channel_key_separator___")]
  public static extern string switch_core_get_event_channel_key_separator();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_module_name_set___")]
  public static extern void switch_loadable_module_interface_module_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_module_name_get___")]
  public static extern string switch_loadable_module_interface_module_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_endpoint_interface_set___")]
  public static extern void switch_loadable_module_interface_endpoint_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_endpoint_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_endpoint_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_timer_interface_set___")]
  public static extern void switch_loadable_module_interface_timer_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_timer_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_timer_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_dialplan_interface_set___")]
  public static extern void switch_loadable_module_interface_dialplan_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_dialplan_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_dialplan_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_codec_interface_set___")]
  public static extern void switch_loadable_module_interface_codec_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_codec_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_codec_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_application_interface_set___")]
  public static extern void switch_loadable_module_interface_application_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_application_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_application_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_application_interface_set___")]
  public static extern void switch_loadable_module_interface_chat_application_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_application_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_chat_application_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_api_interface_set___")]
  public static extern void switch_loadable_module_interface_api_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_api_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_api_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_json_api_interface_set___")]
  public static extern void switch_loadable_module_interface_json_api_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_json_api_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_json_api_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_file_interface_set___")]
  public static extern void switch_loadable_module_interface_file_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_file_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_file_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_speech_interface_set___")]
  public static extern void switch_loadable_module_interface_speech_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_speech_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_speech_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_directory_interface_set___")]
  public static extern void switch_loadable_module_interface_directory_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_directory_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_directory_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_interface_set___")]
  public static extern void switch_loadable_module_interface_chat_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_chat_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_chat_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_say_interface_set___")]
  public static extern void switch_loadable_module_interface_say_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_say_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_say_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_asr_interface_set___")]
  public static extern void switch_loadable_module_interface_asr_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_asr_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_asr_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_management_interface_set___")]
  public static extern void switch_loadable_module_interface_management_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_management_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_management_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_limit_interface_set___")]
  public static extern void switch_loadable_module_interface_limit_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_limit_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_limit_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_database_interface_set___")]
  public static extern void switch_loadable_module_interface_database_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_database_interface_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_database_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_rwlock_set___")]
  public static extern void switch_loadable_module_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_refs_set___")]
  public static extern void switch_loadable_module_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_refs_get___")]
  public static extern int switch_loadable_module_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_pool_set___")]
  public static extern void switch_loadable_module_interface_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_interface_pool_get___")]
  public static extern global::System.IntPtr switch_loadable_module_interface_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_loadable_module_interface___")]
  public static extern global::System.IntPtr new_switch_loadable_module_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_loadable_module_interface___")]
  public static extern void delete_switch_loadable_module_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_init___")]
  public static extern int switch_loadable_module_init(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_shutdown___")]
  public static extern void switch_loadable_module_shutdown();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_endpoint_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_endpoint_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_codec_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_codec_interface(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_parse_codec_buf___")]
  public static extern string switch_parse_codec_buf(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, ref string jarg6, ref string jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_dialplan_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_dialplan_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_enumerate_available___")]
  public static extern int switch_loadable_module_enumerate_available(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_enumerate_loaded___")]
  public static extern int switch_loadable_module_enumerate_loaded(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_dump_interface_allowlist___")]
  public static extern void switch_loadable_module_dump_interface_allowlist(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_build_dynamic___")]
  public static extern int switch_loadable_module_build_dynamic(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_timer_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_timer_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_application_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_application_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_chat_application_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_chat_application_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_execute_chat_app___")]
  public static extern int switch_core_execute_chat_app(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_api_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_api_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_json_api_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_json_api_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_file_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_file_interface(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_database_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_database_interface(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_speech_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_speech_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_asr_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_asr_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_directory_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_directory_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_chat_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_chat_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_say_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_say_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_management_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_management_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_limit_interface___")]
  public static extern global::System.IntPtr switch_loadable_module_get_limit_interface(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_codecs___")]
  public static extern int switch_loadable_module_get_codecs(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_get_codecs_sorted___")]
  public static extern int switch_loadable_module_get_codecs_sorted(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, ref string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_execute___")]
  public static extern int switch_api_execute(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_execute___")]
  public static extern int switch_json_api_execute(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_load_module___")]
  public static extern int switch_loadable_module_load_module(string jarg1, string jarg2, int jarg3, ref global::System.IntPtr jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_exists___")]
  public static extern int switch_loadable_module_exists(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_protect___")]
  public static extern int switch_loadable_module_protect(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_loadable_module_unload_module___")]
  public static extern int switch_loadable_module_unload_module(string jarg1, string jarg2, int jarg3, ref global::System.IntPtr jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_next_id___")]
  public static extern uint switch_core_codec_next_id();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_check_interval___")]
  public static extern int switch_check_interval(uint jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_add_implementation___")]
  public static extern void switch_core_codec_add_implementation(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.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, global::System.Runtime.InteropServices.HandleRef jarg16, global::System.Runtime.InteropServices.HandleRef jarg17, global::System.Runtime.InteropServices.HandleRef jarg18, global::System.Runtime.InteropServices.HandleRef jarg19);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_add_video_implementation___")]
  public static extern void switch_core_codec_add_video_implementation(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, byte jarg3, string jarg4, string jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, global::System.Runtime.InteropServices.HandleRef jarg8, global::System.Runtime.InteropServices.HandleRef jarg9, global::System.Runtime.InteropServices.HandleRef jarg10);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_codec_ready___")]
  public static extern int switch_core_codec_ready(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_get_secondary_recover_callback___")]
  public static extern global::System.IntPtr switch_core_get_secondary_recover_callback(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_register_secondary_recover_callback___")]
  public static extern int switch_core_register_secondary_recover_callback(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_unregister_secondary_recover_callback___")]
  public static extern void switch_core_unregister_secondary_recover_callback(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_CMD_CHUNK_LEN_get___")]
  public static extern int SWITCH_CMD_CHUNK_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_loop___")]
  public static extern void switch_console_loop();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_stream_raw_write___")]
  public static extern int switch_console_stream_raw_write(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_write_file_contents___")]
  public static extern int switch_stream_write_file_contents(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_init___")]
  public static extern int switch_console_init(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_shutdown___")]
  public static extern int switch_console_shutdown();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_add_complete_func___")]
  public static extern int switch_console_add_complete_func(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_del_complete_func___")]
  public static extern int switch_console_del_complete_func(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_run_complete_func___")]
  public static extern int switch_console_run_complete_func(string jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_push_match_unique___")]
  public static extern void switch_console_push_match_unique(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_push_match___")]
  public static extern void switch_console_push_match(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_free_matches___")]
  public static extern void switch_console_free_matches(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_complete___")]
  public static extern byte switch_console_complete(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_sort_matches___")]
  public static extern void switch_console_sort_matches(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_save_history___")]
  public static extern void switch_console_save_history();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_expand_alias___")]
  public static extern string switch_console_expand_alias(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_console_execute___")]
  public static extern int switch_console_execute(string jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_URL_UNSAFE_get___")]
  public static extern string SWITCH_URL_UNSAFE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MAX_NETWORK_PORTS_get___")]
  public static extern int MAX_NETWORK_PORTS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_port_set___")]
  public static extern void switch_network_port_range_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_port_get___")]
  public static extern int switch_network_port_range_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_ports_set___")]
  public static extern void switch_network_port_range_ports_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_ports_get___")]
  public static extern global::System.IntPtr switch_network_port_range_ports_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_min_port_set___")]
  public static extern void switch_network_port_range_min_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_min_port_get___")]
  public static extern int switch_network_port_range_min_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_max_port_set___")]
  public static extern void switch_network_port_range_max_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_port_range_max_port_get___")]
  public static extern int switch_network_port_range_max_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_network_port_range___")]
  public static extern global::System.IntPtr new_switch_network_port_range();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_network_port_range___")]
  public static extern void delete_switch_network_port_range(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_get_hex_bytes___")]
  public static extern string switch_get_hex_bytes(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_round_to_step___")]
  public static extern uint switch_round_to_step(uint jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_toupper___")]
  public static extern uint switch_toupper(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_tolower___")]
  public static extern uint switch_tolower(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_toupper_max___")]
  public static extern void switch_toupper_max(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_tolower_max___")]
  public static extern void switch_tolower_max(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_old_switch_toupper___")]
  public static extern int old_switch_toupper(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_old_switch_tolower___")]
  public static extern int old_switch_tolower(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isalnum___")]
  public static extern int switch_isalnum(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isalpha___")]
  public static extern int switch_isalpha(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_iscntrl___")]
  public static extern int switch_iscntrl(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isdigit___")]
  public static extern int switch_isdigit(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isgraph___")]
  public static extern int switch_isgraph(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_islower___")]
  public static extern int switch_islower(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isprint___")]
  public static extern int switch_isprint(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ispunct___")]
  public static extern int switch_ispunct(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isspace___")]
  public static extern int switch_isspace(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isupper___")]
  public static extern int switch_isupper(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_isxdigit___")]
  public static extern int switch_isxdigit(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ip_t_v4_set___")]
  public static extern void ip_t_v4_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ip_t_v4_get___")]
  public static extern uint ip_t_v4_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ip_t_v6_set___")]
  public static extern void ip_t_v6_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ip_t_v6_get___")]
  public static extern global::System.IntPtr ip_t_v6_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_ip_t___")]
  public static extern global::System.IntPtr new_ip_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_ip_t___")]
  public static extern void delete_ip_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_testv6_subnet___")]
  public static extern int switch_testv6_subnet(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_print_host___")]
  public static extern string switch_print_host(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SMAX_get___")]
  public static extern int SWITCH_SMAX_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_SMIN_get___")]
  public static extern int SWITCH_SMIN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative__zstr___")]
  public static extern int _zstr(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_moh___")]
  public static extern int switch_is_moh(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strchr_strict___")]
  public static extern string switch_strchr_strict(string jarg1, char jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_string_has_escaped_data___")]
  public static extern int switch_string_has_escaped_data(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_b64_encode___")]
  public static extern int switch_b64_encode(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_b64_decode___")]
  public static extern global::System.IntPtr switch_b64_decode(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_amp_encode___")]
  public static extern string switch_amp_encode(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_print_bits___")]
  public static extern string switch_print_bits(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_digit_string___")]
  public static extern int switch_is_digit_string(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_itodtmf___")]
  public static extern char switch_itodtmf(char jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dtmftoi___")]
  public static extern int switch_dtmftoi(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_known_bitrate___")]
  public static extern uint switch_known_bitrate(byte jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fd_read_line___")]
  public static extern global::System.IntPtr switch_fd_read_line(int jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fd_read_dline___")]
  public static extern global::System.IntPtr switch_fd_read_dline(int jarg1, ref string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fp_read_dline___")]
  public static extern global::System.IntPtr switch_fp_read_dline(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_alloc___")]
  public static extern int switch_frame_alloc(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_dup___")]
  public static extern int switch_frame_dup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_free___")]
  public static extern int switch_frame_free(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_uint_in_range___")]
  public static extern int switch_is_uint_in_range(string jarg1, uint jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_number___")]
  public static extern int switch_is_number(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_leading_number___")]
  public static extern int switch_is_leading_number(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_find_parameter___")]
  public static extern string switch_find_parameter(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_true___")]
  public static extern int switch_true(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_true_byte___")]
  public static extern byte switch_true_byte(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_false___")]
  public static extern int switch_false(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_resolve_host___")]
  public static extern int switch_resolve_host(string jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_find_local_ip___")]
  public static extern int switch_find_local_ip(string jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_find_interface_ip___")]
  public static extern int switch_find_interface_ip(string jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_get_addr___")]
  public static extern string get_addr(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_get_addr6___")]
  public static extern string get_addr6(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_get_addr_int___")]
  public static extern int get_addr_int(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cmp_addr___")]
  public static extern int switch_cmp_addr(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cp_addr___")]
  public static extern int switch_cp_addr(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_get_port___")]
  public static extern ushort get_port(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_build_uri___")]
  public static extern int switch_build_uri(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, int jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_errno_is_break___")]
  public static extern int switch_errno_is_break(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_priority_name___")]
  public static extern string switch_priority_name(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rfc2833_to_char___")]
  public static extern char switch_rfc2833_to_char(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_char_to_rfc2833___")]
  public static extern byte switch_char_to_rfc2833(char jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_sanitize_number___")]
  public static extern string switch_sanitize_number(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_string_var_check___")]
  public static extern int switch_string_var_check(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_string_var_check_const___")]
  public static extern int switch_string_var_check_const(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_var_clean_string___")]
  public static extern string switch_var_clean_string(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_clean_string___")]
  public static extern string switch_clean_string(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_clean_name_string___")]
  public static extern string switch_clean_name_string(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_safe_atoi___")]
  public static extern int switch_safe_atoi(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_safe_atol___")]
  public static extern int switch_safe_atol(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_safe_atoll___")]
  public static extern long switch_safe_atoll(string jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_safe_strdup___")]
  public static extern string switch_safe_strdup(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_lc_strdup___")]
  public static extern string switch_lc_strdup(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_uc_strdup___")]
  public static extern string switch_uc_strdup(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strstr___")]
  public static extern int switch_strstr(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_str_time___")]
  public static extern global::System.IntPtr switch_str_time(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_separate_string___")]
  public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_separate_string_string___")]
  public static extern uint switch_separate_string_string(string jarg1, string jarg2, ref string jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strip_spaces___")]
  public static extern string switch_strip_spaces(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strip_whitespace___")]
  public static extern string switch_strip_whitespace(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strip_commas___")]
  public static extern string switch_strip_commas(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strip_nonnumerics___")]
  public static extern string switch_strip_nonnumerics(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_separate_paren_args___")]
  public static extern string switch_separate_paren_args(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stristr___")]
  public static extern string switch_stristr(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_lan_addr___")]
  public static extern int switch_is_lan_addr(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_replace_char___")]
  public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ast2regex___")]
  public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_pool_strip_whitespace___")]
  public static extern string switch_pool_strip_whitespace(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_escape_char___")]
  public static extern string switch_escape_char(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, char jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_escape_string___")]
  public static extern string switch_escape_string(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_escape_string_pool___")]
  public static extern string switch_escape_string_pool(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_socket_waitfor___")]
  public static extern int switch_socket_waitfor(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cut_path___")]
  public static extern string switch_cut_path(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_string_replace___")]
  public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_string_match___")]
  public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strcasecmp_any___")]
  public static extern int switch_strcasecmp_any(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_util_quote_shell_arg___")]
  public static extern string switch_util_quote_shell_arg(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_util_quote_shell_arg_pool___")]
  public static extern string switch_util_quote_shell_arg_pool(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_calc_bitrate___")]
  public static extern int switch_calc_bitrate(int jarg1, int jarg2, float jarg3, double jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_calc_fps___")]
  public static extern void switch_calc_fps(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_parse_bandwidth_string___")]
  public static extern int switch_parse_bandwidth_string(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_parse_cpu_string___")]
  public static extern uint switch_parse_cpu_string(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_needs_url_encode___")]
  public static extern int switch_needs_url_encode(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_url_encode_opt___")]
  public static extern string switch_url_encode_opt(string jarg1, string jarg2, uint jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_url_encode___")]
  public static extern string switch_url_encode(string jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_url_decode___")]
  public static extern string switch_url_decode(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_url_encode_opt___")]
  public static extern string switch_core_url_encode_opt(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_url_encode___")]
  public static extern string switch_core_url_encode(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_url_encode_opt___")]
  public static extern string switch_core_session_url_encode_opt(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_session_url_encode___")]
  public static extern string switch_core_session_url_encode(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_simple_email___")]
  public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_find_end_paren___")]
  public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_separate_file_params___")]
  public static extern void switch_separate_file_params(string jarg1, ref string jarg2, ref string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_file_path___")]
  public static extern int switch_is_file_path(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_filecmp___")]
  public static extern int switch_filecmp(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_parse_audio_col___")]
  public static extern string switch_parse_audio_col(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_parse_cidr___")]
  public static extern int switch_parse_cidr(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_create___")]
  public static extern int switch_network_list_create(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_add_cidr_token___")]
  public static extern int switch_network_list_add_cidr_token(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_ipv4_mapped_ipv6_addr___")]
  public static extern string switch_network_ipv4_mapped_ipv6_addr(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_add_host_mask___")]
  public static extern int switch_network_list_add_host_mask(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_add_cidr_port_token___")]
  public static extern int switch_network_list_add_cidr_port_token(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_add_host_port_mask___")]
  public static extern int switch_network_list_add_host_port_mask(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_validate_ip_port_token___")]
  public static extern int switch_network_list_validate_ip_port_token(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, int jarg3, ref global::System.IntPtr jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_validate_ip6_port_token___")]
  public static extern int switch_network_list_validate_ip6_port_token(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, ref global::System.IntPtr jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_validate_ip_token___")]
  public static extern int switch_network_list_validate_ip_token(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, ref global::System.IntPtr jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_network_list_validate_ip6_token___")]
  public static extern int switch_network_list_validate_ip6_token(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, ref global::System.IntPtr jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dow_int2str___")]
  public static extern string switch_dow_int2str(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dow_str2int___")]
  public static extern int switch_dow_str2int(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dow_cmp___")]
  public static extern int switch_dow_cmp(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_number_cmp___")]
  public static extern int switch_number_cmp(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_tod_cmp___")]
  public static extern int switch_tod_cmp(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_fulldate_cmp___")]
  public static extern int switch_fulldate_cmp(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_split_date___")]
  public static extern void switch_split_date(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_split_time___")]
  public static extern void switch_split_time(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_split_user_domain___")]
  public static extern int switch_split_user_domain(string jarg1, ref string jarg2, ref string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_calloc___")]
  public static extern global::System.IntPtr switch_calloc(uint jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_uuid_str___")]
  public static extern string switch_uuid_str(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_format_number___")]
  public static extern string switch_format_number(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_atoui___")]
  public static extern uint switch_atoui(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_atoul___")]
  public static extern uint switch_atoul(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_strerror_r___")]
  public static extern string switch_strerror_r(int jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_wait_sock___")]
  public static extern int switch_wait_sock(int jarg1, uint jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_wait_socklist___")]
  public static extern int switch_wait_socklist(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_method_set___")]
  public static extern void switch_http_request_t_method_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_method_get___")]
  public static extern string switch_http_request_t_method_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_uri_set___")]
  public static extern void switch_http_request_t_uri_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_uri_get___")]
  public static extern string switch_http_request_t_uri_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_qs_set___")]
  public static extern void switch_http_request_t_qs_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_qs_get___")]
  public static extern string switch_http_request_t_qs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_host_set___")]
  public static extern void switch_http_request_t_host_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_host_get___")]
  public static extern string switch_http_request_t_host_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_port_set___")]
  public static extern void switch_http_request_t_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_port_get___")]
  public static extern ushort switch_http_request_t_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_from_set___")]
  public static extern void switch_http_request_t_from_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_from_get___")]
  public static extern string switch_http_request_t_from_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_user_agent_set___")]
  public static extern void switch_http_request_t_user_agent_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_user_agent_get___")]
  public static extern string switch_http_request_t_user_agent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_referer_set___")]
  public static extern void switch_http_request_t_referer_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_referer_get___")]
  public static extern string switch_http_request_t_referer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_user_set___")]
  public static extern void switch_http_request_t_user_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_user_get___")]
  public static extern string switch_http_request_t_user_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_keepalive_set___")]
  public static extern void switch_http_request_t_keepalive_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_keepalive_get___")]
  public static extern int switch_http_request_t_keepalive_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_content_type_set___")]
  public static extern void switch_http_request_t_content_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_content_type_get___")]
  public static extern string switch_http_request_t_content_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_content_length_set___")]
  public static extern void switch_http_request_t_content_length_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_content_length_get___")]
  public static extern global::System.IntPtr switch_http_request_t_content_length_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_header_set___")]
  public static extern void switch_http_request_t_bytes_header_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_header_get___")]
  public static extern global::System.IntPtr switch_http_request_t_bytes_header_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_read_set___")]
  public static extern void switch_http_request_t_bytes_read_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_read_get___")]
  public static extern global::System.IntPtr switch_http_request_t_bytes_read_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_buffered_set___")]
  public static extern void switch_http_request_t_bytes_buffered_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_bytes_buffered_get___")]
  public static extern global::System.IntPtr switch_http_request_t_bytes_buffered_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_headers_set___")]
  public static extern void switch_http_request_t_headers_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_headers_get___")]
  public static extern global::System.IntPtr switch_http_request_t_headers_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_user_data_set___")]
  public static extern void switch_http_request_t_user_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t_user_data_get___")]
  public static extern global::System.IntPtr switch_http_request_t_user_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t__buffer_set___")]
  public static extern void switch_http_request_t__buffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t__buffer_get___")]
  public static extern string switch_http_request_t__buffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t__destroy_headers_set___")]
  public static extern void switch_http_request_t__destroy_headers_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_request_t__destroy_headers_get___")]
  public static extern int switch_http_request_t__destroy_headers_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_http_request_t___")]
  public static extern global::System.IntPtr new_switch_http_request_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_http_request_t___")]
  public static extern void delete_switch_http_request_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_parse_header___")]
  public static extern int switch_http_parse_header(string jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_free_request___")]
  public static extern void switch_http_free_request(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_dump_request___")]
  public static extern void switch_http_dump_request(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_http_parse_qs___")]
  public static extern void switch_http_parse_qs(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_free___")]
  public static extern int switch_frame_buffer_free(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_dup___")]
  public static extern int switch_frame_buffer_dup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_destroy___")]
  public static extern int switch_frame_buffer_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_create___")]
  public static extern int switch_frame_buffer_create(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_push___")]
  public static extern int switch_frame_buffer_push(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_trypush___")]
  public static extern int switch_frame_buffer_trypush(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_pop___")]
  public static extern int switch_frame_buffer_pop(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_trypop___")]
  public static extern int switch_frame_buffer_trypop(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buffer_size___")]
  public static extern int switch_frame_buffer_size(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cputime_userms_set___")]
  public static extern void switch_cputime_userms_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cputime_userms_get___")]
  public static extern long switch_cputime_userms_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cputime_kernelms_set___")]
  public static extern void switch_cputime_kernelms_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_cputime_kernelms_get___")]
  public static extern long switch_cputime_kernelms_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_cputime___")]
  public static extern global::System.IntPtr new_switch_cputime();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_cputime___")]
  public static extern void delete_switch_cputime(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_getcputime___")]
  public static extern void switch_getcputime(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_html_strip___")]
  public static extern string switch_html_strip(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_getpid___")]
  public static extern uint switch_getpid();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_digest___")]
  public static extern int switch_digest(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_digest_string___")]
  public static extern int switch_digest_string(string jarg1, ref string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_must_strdup___")]
  public static extern string switch_must_strdup(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_memory_usage_stream___")]
  public static extern string switch_memory_usage_stream(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rand___")]
  public static extern int switch_rand();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_is_ip_address___")]
  public static extern int switch_is_ip_address(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_profile_node_t_var_set___")]
  public static extern void profile_node_t_var_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_profile_node_t_var_get___")]
  public static extern string profile_node_t_var_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_profile_node_t_val_set___")]
  public static extern void profile_node_t_val_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_profile_node_t_val_get___")]
  public static extern string profile_node_t_val_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_profile_node_t_next_set___")]
  public static extern void profile_node_t_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_profile_node_t_next_get___")]
  public static extern global::System.IntPtr profile_node_t_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_profile_node_t___")]
  public static extern global::System.IntPtr new_profile_node_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_profile_node_t___")]
  public static extern void delete_profile_node_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_username_set___")]
  public static extern void switch_caller_profile_username_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_username_get___")]
  public static extern string switch_caller_profile_username_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_dialplan_set___")]
  public static extern void switch_caller_profile_dialplan_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_dialplan_get___")]
  public static extern string switch_caller_profile_dialplan_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_name_set___")]
  public static extern void switch_caller_profile_caller_id_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_name_get___")]
  public static extern string switch_caller_profile_caller_id_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_number_set___")]
  public static extern void switch_caller_profile_caller_id_number_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_id_number_get___")]
  public static extern string switch_caller_profile_caller_id_number_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_name_set___")]
  public static extern void switch_caller_profile_orig_caller_id_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_name_get___")]
  public static extern string switch_caller_profile_orig_caller_id_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_number_set___")]
  public static extern void switch_caller_profile_orig_caller_id_number_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_orig_caller_id_number_get___")]
  public static extern string switch_caller_profile_orig_caller_id_number_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_name_set___")]
  public static extern void switch_caller_profile_callee_id_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_name_get___")]
  public static extern string switch_caller_profile_callee_id_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_number_set___")]
  public static extern void switch_caller_profile_callee_id_number_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_callee_id_number_get___")]
  public static extern string switch_caller_profile_callee_id_number_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_ton_set___")]
  public static extern void switch_caller_profile_caller_ton_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_ton_get___")]
  public static extern byte switch_caller_profile_caller_ton_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_numplan_set___")]
  public static extern void switch_caller_profile_caller_numplan_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_numplan_get___")]
  public static extern byte switch_caller_profile_caller_numplan_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_network_addr_set___")]
  public static extern void switch_caller_profile_network_addr_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_network_addr_get___")]
  public static extern string switch_caller_profile_network_addr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_ani_set___")]
  public static extern void switch_caller_profile_ani_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_ani_get___")]
  public static extern string switch_caller_profile_ani_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_ani_ton_set___")]
  public static extern void switch_caller_profile_ani_ton_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_ani_ton_get___")]
  public static extern byte switch_caller_profile_ani_ton_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_ani_numplan_set___")]
  public static extern void switch_caller_profile_ani_numplan_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_ani_numplan_get___")]
  public static extern byte switch_caller_profile_ani_numplan_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_aniii_set___")]
  public static extern void switch_caller_profile_aniii_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_aniii_get___")]
  public static extern string switch_caller_profile_aniii_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_set___")]
  public static extern void switch_caller_profile_rdnis_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_get___")]
  public static extern string switch_caller_profile_rdnis_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_ton_set___")]
  public static extern void switch_caller_profile_rdnis_ton_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_ton_get___")]
  public static extern byte switch_caller_profile_rdnis_ton_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_numplan_set___")]
  public static extern void switch_caller_profile_rdnis_numplan_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_rdnis_numplan_get___")]
  public static extern byte switch_caller_profile_rdnis_numplan_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_set___")]
  public static extern void switch_caller_profile_destination_number_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_get___")]
  public static extern string switch_caller_profile_destination_number_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_ton_set___")]
  public static extern void switch_caller_profile_destination_number_ton_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_ton_get___")]
  public static extern byte switch_caller_profile_destination_number_ton_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_numplan_set___")]
  public static extern void switch_caller_profile_destination_number_numplan_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_destination_number_numplan_get___")]
  public static extern byte switch_caller_profile_destination_number_numplan_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_source_set___")]
  public static extern void switch_caller_profile_source_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_source_get___")]
  public static extern string switch_caller_profile_source_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_chan_name_set___")]
  public static extern void switch_caller_profile_chan_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_chan_name_get___")]
  public static extern string switch_caller_profile_chan_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_set___")]
  public static extern void switch_caller_profile_uuid_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_get___")]
  public static extern string switch_caller_profile_uuid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_context_set___")]
  public static extern void switch_caller_profile_context_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_context_get___")]
  public static extern string switch_caller_profile_context_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_profile_index_set___")]
  public static extern void switch_caller_profile_profile_index_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_profile_index_get___")]
  public static extern string switch_caller_profile_profile_index_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_flags_set___")]
  public static extern void switch_caller_profile_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_flags_get___")]
  public static extern uint switch_caller_profile_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_originator_caller_profile_set___")]
  public static extern void switch_caller_profile_originator_caller_profile_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_originator_caller_profile_get___")]
  public static extern global::System.IntPtr switch_caller_profile_originator_caller_profile_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_originatee_caller_profile_set___")]
  public static extern void switch_caller_profile_originatee_caller_profile_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_originatee_caller_profile_get___")]
  public static extern global::System.IntPtr switch_caller_profile_originatee_caller_profile_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_origination_caller_profile_set___")]
  public static extern void switch_caller_profile_origination_caller_profile_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_origination_caller_profile_get___")]
  public static extern global::System.IntPtr switch_caller_profile_origination_caller_profile_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_hunt_caller_profile_set___")]
  public static extern void switch_caller_profile_hunt_caller_profile_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_hunt_caller_profile_get___")]
  public static extern global::System.IntPtr switch_caller_profile_hunt_caller_profile_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_times_set___")]
  public static extern void switch_caller_profile_times_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_times_get___")]
  public static extern global::System.IntPtr switch_caller_profile_times_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_old_times_set___")]
  public static extern void switch_caller_profile_old_times_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_old_times_get___")]
  public static extern global::System.IntPtr switch_caller_profile_old_times_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_extension_set___")]
  public static extern void switch_caller_profile_caller_extension_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_caller_extension_get___")]
  public static extern global::System.IntPtr switch_caller_profile_caller_extension_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_pool_set___")]
  public static extern void switch_caller_profile_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_pool_get___")]
  public static extern global::System.IntPtr switch_caller_profile_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_next_set___")]
  public static extern void switch_caller_profile_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_next_get___")]
  public static extern global::System.IntPtr switch_caller_profile_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_direction_set___")]
  public static extern void switch_caller_profile_direction_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_direction_get___")]
  public static extern int switch_caller_profile_direction_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_logical_direction_set___")]
  public static extern void switch_caller_profile_logical_direction_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_logical_direction_get___")]
  public static extern int switch_caller_profile_logical_direction_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_soft_set___")]
  public static extern void switch_caller_profile_soft_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_soft_get___")]
  public static extern global::System.IntPtr switch_caller_profile_soft_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_str_set___")]
  public static extern void switch_caller_profile_uuid_str_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_uuid_str_get___")]
  public static extern string switch_caller_profile_uuid_str_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_clone_of_set___")]
  public static extern void switch_caller_profile_clone_of_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_clone_of_get___")]
  public static extern string switch_caller_profile_clone_of_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_transfer_source_set___")]
  public static extern void switch_caller_profile_transfer_source_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_transfer_source_get___")]
  public static extern string switch_caller_profile_transfer_source_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_caller_profile___")]
  public static extern global::System.IntPtr new_switch_caller_profile();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_caller_profile___")]
  public static extern void delete_switch_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_application_name_set___")]
  public static extern void switch_caller_application_application_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_application_name_get___")]
  public static extern string switch_caller_application_application_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_application_data_set___")]
  public static extern void switch_caller_application_application_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_application_data_get___")]
  public static extern string switch_caller_application_application_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_application_function_set___")]
  public static extern void switch_caller_application_application_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_application_function_get___")]
  public static extern global::System.IntPtr switch_caller_application_application_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_next_set___")]
  public static extern void switch_caller_application_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_application_next_get___")]
  public static extern global::System.IntPtr switch_caller_application_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_caller_application___")]
  public static extern global::System.IntPtr new_switch_caller_application();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_caller_application___")]
  public static extern void delete_switch_caller_application(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_extension_name_set___")]
  public static extern void switch_caller_extension_extension_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_extension_name_get___")]
  public static extern string switch_caller_extension_extension_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_extension_number_set___")]
  public static extern void switch_caller_extension_extension_number_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_extension_number_get___")]
  public static extern string switch_caller_extension_extension_number_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_current_application_set___")]
  public static extern void switch_caller_extension_current_application_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_current_application_get___")]
  public static extern global::System.IntPtr switch_caller_extension_current_application_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_last_application_set___")]
  public static extern void switch_caller_extension_last_application_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_last_application_get___")]
  public static extern global::System.IntPtr switch_caller_extension_last_application_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_applications_set___")]
  public static extern void switch_caller_extension_applications_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_applications_get___")]
  public static extern global::System.IntPtr switch_caller_extension_applications_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_children_set___")]
  public static extern void switch_caller_extension_children_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_children_get___")]
  public static extern global::System.IntPtr switch_caller_extension_children_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_next_set___")]
  public static extern void switch_caller_extension_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_next_get___")]
  public static extern global::System.IntPtr switch_caller_extension_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_caller_extension___")]
  public static extern global::System.IntPtr new_switch_caller_extension();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_caller_extension___")]
  public static extern void delete_switch_caller_extension(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_new___")]
  public static extern global::System.IntPtr switch_caller_extension_new(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_clone___")]
  public static extern int switch_caller_extension_clone(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_add_application___")]
  public static extern void switch_caller_extension_add_application(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_extension_add_application_printf___")]
  public static extern void switch_caller_extension_add_application_printf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_get_field_by_name___")]
  public static extern string switch_caller_get_field_by_name(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_new___")]
  public static extern global::System.IntPtr switch_caller_profile_new(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_clone___")]
  public static extern global::System.IntPtr switch_caller_profile_clone(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_dup___")]
  public static extern global::System.IntPtr switch_caller_profile_dup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_caller_profile_event_set_data___")]
  public static extern void switch_caller_profile_event_set_data(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_w_set___")]
  public static extern void switch_frame_geometry_t_w_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_w_get___")]
  public static extern int switch_frame_geometry_t_w_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_h_set___")]
  public static extern void switch_frame_geometry_t_h_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_h_get___")]
  public static extern int switch_frame_geometry_t_h_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_x_set___")]
  public static extern void switch_frame_geometry_t_x_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_x_get___")]
  public static extern int switch_frame_geometry_t_x_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_y_set___")]
  public static extern void switch_frame_geometry_t_y_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_y_get___")]
  public static extern int switch_frame_geometry_t_y_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_z_set___")]
  public static extern void switch_frame_geometry_t_z_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_z_get___")]
  public static extern int switch_frame_geometry_t_z_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_M_set___")]
  public static extern void switch_frame_geometry_t_M_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_M_get___")]
  public static extern int switch_frame_geometry_t_M_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_X_set___")]
  public static extern void switch_frame_geometry_t_X_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_t_X_get___")]
  public static extern int switch_frame_geometry_t_X_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_frame_geometry_t___")]
  public static extern global::System.IntPtr new_switch_frame_geometry_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_frame_geometry_t___")]
  public static extern void delete_switch_frame_geometry_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_codec_set___")]
  public static extern void switch_frame_codec_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_codec_get___")]
  public static extern global::System.IntPtr switch_frame_codec_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_source_set___")]
  public static extern void switch_frame_source_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_source_get___")]
  public static extern string switch_frame_source_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_packet_set___")]
  public static extern void switch_frame_packet_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_packet_get___")]
  public static extern global::System.IntPtr switch_frame_packet_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_packetlen_set___")]
  public static extern void switch_frame_packetlen_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_packetlen_get___")]
  public static extern uint switch_frame_packetlen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_extra_data_set___")]
  public static extern void switch_frame_extra_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_extra_data_get___")]
  public static extern global::System.IntPtr switch_frame_extra_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_data_set___")]
  public static extern void switch_frame_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_data_get___")]
  public static extern global::System.IntPtr switch_frame_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_datalen_set___")]
  public static extern void switch_frame_datalen_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_datalen_get___")]
  public static extern uint switch_frame_datalen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buflen_set___")]
  public static extern void switch_frame_buflen_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_buflen_get___")]
  public static extern uint switch_frame_buflen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_samples_set___")]
  public static extern void switch_frame_samples_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_samples_get___")]
  public static extern uint switch_frame_samples_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_rate_set___")]
  public static extern void switch_frame_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_rate_get___")]
  public static extern uint switch_frame_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_channels_set___")]
  public static extern void switch_frame_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_channels_get___")]
  public static extern uint switch_frame_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_payload_set___")]
  public static extern void switch_frame_payload_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_payload_get___")]
  public static extern byte switch_frame_payload_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_timestamp_set___")]
  public static extern void switch_frame_timestamp_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_timestamp_get___")]
  public static extern uint switch_frame_timestamp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_seq_set___")]
  public static extern void switch_frame_seq_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_seq_get___")]
  public static extern ushort switch_frame_seq_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_ssrc_set___")]
  public static extern void switch_frame_ssrc_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_ssrc_get___")]
  public static extern uint switch_frame_ssrc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_m_set___")]
  public static extern void switch_frame_m_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_m_get___")]
  public static extern int switch_frame_m_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_flags_set___")]
  public static extern void switch_frame_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_flags_get___")]
  public static extern uint switch_frame_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_user_data_set___")]
  public static extern void switch_frame_user_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_user_data_get___")]
  public static extern global::System.IntPtr switch_frame_user_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_pmap_set___")]
  public static extern void switch_frame_pmap_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_pmap_get___")]
  public static extern global::System.IntPtr switch_frame_pmap_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_img_set___")]
  public static extern void switch_frame_img_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_img_get___")]
  public static extern global::System.IntPtr switch_frame_img_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_set___")]
  public static extern void switch_frame_geometry_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_frame_geometry_get___")]
  public static extern global::System.IntPtr switch_frame_geometry_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_frame___")]
  public static extern global::System.IntPtr new_switch_frame();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_frame___")]
  public static extern void delete_switch_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_init_set___")]
  public static extern void switch_state_handler_table_on_init_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_init_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_init_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_routing_set___")]
  public static extern void switch_state_handler_table_on_routing_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_routing_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_routing_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_execute_set___")]
  public static extern void switch_state_handler_table_on_execute_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_execute_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_execute_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hangup_set___")]
  public static extern void switch_state_handler_table_on_hangup_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hangup_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_hangup_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_exchange_media_set___")]
  public static extern void switch_state_handler_table_on_exchange_media_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_exchange_media_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_exchange_media_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_soft_execute_set___")]
  public static extern void switch_state_handler_table_on_soft_execute_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_soft_execute_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_soft_execute_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_consume_media_set___")]
  public static extern void switch_state_handler_table_on_consume_media_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_consume_media_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_consume_media_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hibernate_set___")]
  public static extern void switch_state_handler_table_on_hibernate_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_hibernate_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_hibernate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reset_set___")]
  public static extern void switch_state_handler_table_on_reset_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reset_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_reset_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_park_set___")]
  public static extern void switch_state_handler_table_on_park_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_park_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_park_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reporting_set___")]
  public static extern void switch_state_handler_table_on_reporting_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_reporting_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_reporting_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_destroy_set___")]
  public static extern void switch_state_handler_table_on_destroy_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_on_destroy_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_on_destroy_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_flags_set___")]
  public static extern void switch_state_handler_table_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_flags_get___")]
  public static extern int switch_state_handler_table_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_padding_set___")]
  public static extern void switch_state_handler_table_padding_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_state_handler_table_padding_get___")]
  public static extern global::System.IntPtr switch_state_handler_table_padding_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_state_handler_table___")]
  public static extern global::System.IntPtr new_switch_state_handler_table();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_state_handler_table___")]
  public static extern void delete_switch_state_handler_table(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_read_function_set___")]
  public static extern void switch_stream_handle_read_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_read_function_get___")]
  public static extern global::System.IntPtr switch_stream_handle_read_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_write_function_set___")]
  public static extern void switch_stream_handle_write_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_write_function_get___")]
  public static extern global::System.IntPtr switch_stream_handle_write_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_raw_write_function_set___")]
  public static extern void switch_stream_handle_raw_write_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_raw_write_function_get___")]
  public static extern global::System.IntPtr switch_stream_handle_raw_write_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_data_set___")]
  public static extern void switch_stream_handle_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_data_get___")]
  public static extern global::System.IntPtr switch_stream_handle_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_end_set___")]
  public static extern void switch_stream_handle_end_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_end_get___")]
  public static extern global::System.IntPtr switch_stream_handle_end_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_data_size_set___")]
  public static extern void switch_stream_handle_data_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_data_size_get___")]
  public static extern global::System.IntPtr switch_stream_handle_data_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_data_len_set___")]
  public static extern void switch_stream_handle_data_len_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_data_len_get___")]
  public static extern global::System.IntPtr switch_stream_handle_data_len_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_len_set___")]
  public static extern void switch_stream_handle_alloc_len_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_len_get___")]
  public static extern global::System.IntPtr switch_stream_handle_alloc_len_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_chunk_set___")]
  public static extern void switch_stream_handle_alloc_chunk_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_alloc_chunk_get___")]
  public static extern global::System.IntPtr switch_stream_handle_alloc_chunk_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_param_event_set___")]
  public static extern void switch_stream_handle_param_event_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_stream_handle_param_event_get___")]
  public static extern global::System.IntPtr switch_stream_handle_param_event_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_stream_handle___")]
  public static extern global::System.IntPtr new_switch_stream_handle();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_stream_handle___")]
  public static extern void delete_switch_stream_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_outgoing_channel_set___")]
  public static extern void switch_io_routines_outgoing_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_outgoing_channel_get___")]
  public static extern global::System.IntPtr switch_io_routines_outgoing_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_read_frame_set___")]
  public static extern void switch_io_routines_read_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_read_frame_get___")]
  public static extern global::System.IntPtr switch_io_routines_read_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_write_frame_set___")]
  public static extern void switch_io_routines_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_write_frame_get___")]
  public static extern global::System.IntPtr switch_io_routines_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_kill_channel_set___")]
  public static extern void switch_io_routines_kill_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_kill_channel_get___")]
  public static extern global::System.IntPtr switch_io_routines_kill_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_send_dtmf_set___")]
  public static extern void switch_io_routines_send_dtmf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_send_dtmf_get___")]
  public static extern global::System.IntPtr switch_io_routines_send_dtmf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_receive_message_set___")]
  public static extern void switch_io_routines_receive_message_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_receive_message_get___")]
  public static extern global::System.IntPtr switch_io_routines_receive_message_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_receive_event_set___")]
  public static extern void switch_io_routines_receive_event_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_receive_event_get___")]
  public static extern global::System.IntPtr switch_io_routines_receive_event_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_state_change_set___")]
  public static extern void switch_io_routines_state_change_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_state_change_get___")]
  public static extern global::System.IntPtr switch_io_routines_state_change_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_read_video_frame_set___")]
  public static extern void switch_io_routines_read_video_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_read_video_frame_get___")]
  public static extern global::System.IntPtr switch_io_routines_read_video_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_write_video_frame_set___")]
  public static extern void switch_io_routines_write_video_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_write_video_frame_get___")]
  public static extern global::System.IntPtr switch_io_routines_write_video_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_read_text_frame_set___")]
  public static extern void switch_io_routines_read_text_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_read_text_frame_get___")]
  public static extern global::System.IntPtr switch_io_routines_read_text_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_write_text_frame_set___")]
  public static extern void switch_io_routines_write_text_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_write_text_frame_get___")]
  public static extern global::System.IntPtr switch_io_routines_write_text_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_state_run_set___")]
  public static extern void switch_io_routines_state_run_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_state_run_get___")]
  public static extern global::System.IntPtr switch_io_routines_state_run_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_get_jb_set___")]
  public static extern void switch_io_routines_get_jb_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_get_jb_get___")]
  public static extern global::System.IntPtr switch_io_routines_get_jb_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_padding_set___")]
  public static extern void switch_io_routines_padding_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_routines_padding_get___")]
  public static extern global::System.IntPtr switch_io_routines_padding_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_routines___")]
  public static extern global::System.IntPtr new_switch_io_routines();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_routines___")]
  public static extern void delete_switch_io_routines(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_interface_name_set___")]
  public static extern void switch_endpoint_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_interface_name_get___")]
  public static extern string switch_endpoint_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_io_routines_set___")]
  public static extern void switch_endpoint_interface_io_routines_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_io_routines_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_io_routines_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_state_handler_set___")]
  public static extern void switch_endpoint_interface_state_handler_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_state_handler_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_state_handler_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_private_info_set___")]
  public static extern void switch_endpoint_interface_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_private_info_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_rwlock_set___")]
  public static extern void switch_endpoint_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_refs_set___")]
  public static extern void switch_endpoint_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_refs_get___")]
  public static extern int switch_endpoint_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_reflock_set___")]
  public static extern void switch_endpoint_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_parent_set___")]
  public static extern void switch_endpoint_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_parent_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_next_set___")]
  public static extern void switch_endpoint_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_next_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_recover_callback_set___")]
  public static extern void switch_endpoint_interface_recover_callback_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_endpoint_interface_recover_callback_get___")]
  public static extern global::System.IntPtr switch_endpoint_interface_recover_callback_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_endpoint_interface___")]
  public static extern global::System.IntPtr new_switch_endpoint_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_endpoint_interface___")]
  public static extern void delete_switch_endpoint_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interval_set___")]
  public static extern void switch_timer_interval_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interval_get___")]
  public static extern int switch_timer_interval_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_flags_set___")]
  public static extern void switch_timer_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_flags_get___")]
  public static extern uint switch_timer_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_samples_set___")]
  public static extern void switch_timer_samples_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_samples_get___")]
  public static extern uint switch_timer_samples_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_samplecount_set___")]
  public static extern void switch_timer_samplecount_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_samplecount_get___")]
  public static extern uint switch_timer_samplecount_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_last_samplecount_set___")]
  public static extern void switch_timer_last_samplecount_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_last_samplecount_get___")]
  public static extern uint switch_timer_last_samplecount_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_timer_interface_set___")]
  public static extern void switch_timer_timer_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_timer_interface_get___")]
  public static extern global::System.IntPtr switch_timer_timer_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_memory_pool_set___")]
  public static extern void switch_timer_memory_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_memory_pool_get___")]
  public static extern global::System.IntPtr switch_timer_memory_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_private_info_set___")]
  public static extern void switch_timer_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_private_info_get___")]
  public static extern global::System.IntPtr switch_timer_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_diff_set___")]
  public static extern void switch_timer_diff_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_diff_get___")]
  public static extern global::System.IntPtr switch_timer_diff_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_start_set___")]
  public static extern void switch_timer_start_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_start_get___")]
  public static extern global::System.IntPtr switch_timer_start_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_tick_set___")]
  public static extern void switch_timer_tick_set(global::System.Runtime.InteropServices.HandleRef jarg1, ulong jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_tick_get___")]
  public static extern ulong switch_timer_tick_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_timer___")]
  public static extern global::System.IntPtr new_switch_timer();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_timer___")]
  public static extern void delete_switch_timer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_interface_name_set___")]
  public static extern void switch_timer_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_interface_name_get___")]
  public static extern string switch_timer_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_init_set___")]
  public static extern void switch_timer_interface_timer_init_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_init_get___")]
  public static extern global::System.IntPtr switch_timer_interface_timer_init_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_next_set___")]
  public static extern void switch_timer_interface_timer_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_next_get___")]
  public static extern global::System.IntPtr switch_timer_interface_timer_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_step_set___")]
  public static extern void switch_timer_interface_timer_step_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_step_get___")]
  public static extern global::System.IntPtr switch_timer_interface_timer_step_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_sync_set___")]
  public static extern void switch_timer_interface_timer_sync_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_sync_get___")]
  public static extern global::System.IntPtr switch_timer_interface_timer_sync_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_check_set___")]
  public static extern void switch_timer_interface_timer_check_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_check_get___")]
  public static extern global::System.IntPtr switch_timer_interface_timer_check_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_destroy_set___")]
  public static extern void switch_timer_interface_timer_destroy_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_timer_destroy_get___")]
  public static extern global::System.IntPtr switch_timer_interface_timer_destroy_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_rwlock_set___")]
  public static extern void switch_timer_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_timer_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_refs_set___")]
  public static extern void switch_timer_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_refs_get___")]
  public static extern int switch_timer_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_reflock_set___")]
  public static extern void switch_timer_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_timer_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_parent_set___")]
  public static extern void switch_timer_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_parent_get___")]
  public static extern global::System.IntPtr switch_timer_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_next_set___")]
  public static extern void switch_timer_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_timer_interface_next_get___")]
  public static extern global::System.IntPtr switch_timer_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_timer_interface___")]
  public static extern global::System.IntPtr new_switch_timer_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_timer_interface___")]
  public static extern void delete_switch_timer_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_interface_name_set___")]
  public static extern void switch_dialplan_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_interface_name_get___")]
  public static extern string switch_dialplan_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_hunt_function_set___")]
  public static extern void switch_dialplan_interface_hunt_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_hunt_function_get___")]
  public static extern global::System.IntPtr switch_dialplan_interface_hunt_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_rwlock_set___")]
  public static extern void switch_dialplan_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_dialplan_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_refs_set___")]
  public static extern void switch_dialplan_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_refs_get___")]
  public static extern int switch_dialplan_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_reflock_set___")]
  public static extern void switch_dialplan_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_dialplan_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_parent_set___")]
  public static extern void switch_dialplan_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_parent_get___")]
  public static extern global::System.IntPtr switch_dialplan_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_next_set___")]
  public static extern void switch_dialplan_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dialplan_interface_next_get___")]
  public static extern global::System.IntPtr switch_dialplan_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_dialplan_interface___")]
  public static extern global::System.IntPtr new_switch_dialplan_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_dialplan_interface___")]
  public static extern void delete_switch_dialplan_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_interface_name_set___")]
  public static extern void switch_file_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_interface_name_get___")]
  public static extern string switch_file_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_open_set___")]
  public static extern void switch_file_interface_file_open_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_open_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_open_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_close_set___")]
  public static extern void switch_file_interface_file_close_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_close_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_close_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_truncate_set___")]
  public static extern void switch_file_interface_file_truncate_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_truncate_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_truncate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_read_set___")]
  public static extern void switch_file_interface_file_read_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_read_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_read_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_write_set___")]
  public static extern void switch_file_interface_file_write_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_write_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_write_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_read_video_set___")]
  public static extern void switch_file_interface_file_read_video_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_read_video_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_read_video_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_write_video_set___")]
  public static extern void switch_file_interface_file_write_video_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_write_video_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_write_video_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_seek_set___")]
  public static extern void switch_file_interface_file_seek_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_seek_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_seek_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_set_string_set___")]
  public static extern void switch_file_interface_file_set_string_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_set_string_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_set_string_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_get_string_set___")]
  public static extern void switch_file_interface_file_get_string_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_get_string_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_get_string_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_pre_close_set___")]
  public static extern void switch_file_interface_file_pre_close_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_pre_close_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_pre_close_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_command_set___")]
  public static extern void switch_file_interface_file_command_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_file_command_get___")]
  public static extern global::System.IntPtr switch_file_interface_file_command_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_extens_set___")]
  public static extern void switch_file_interface_extens_set(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_extens_get___")]
  public static extern string switch_file_interface_extens_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_rwlock_set___")]
  public static extern void switch_file_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_file_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_refs_set___")]
  public static extern void switch_file_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_refs_get___")]
  public static extern int switch_file_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_reflock_set___")]
  public static extern void switch_file_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_file_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_parent_set___")]
  public static extern void switch_file_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_parent_get___")]
  public static extern global::System.IntPtr switch_file_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_next_set___")]
  public static extern void switch_file_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_interface_next_get___")]
  public static extern global::System.IntPtr switch_file_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_file_interface___")]
  public static extern global::System.IntPtr new_switch_file_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_file_interface___")]
  public static extern void delete_switch_file_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_file_interface_set___")]
  public static extern void switch_file_handle_file_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_file_interface_get___")]
  public static extern global::System.IntPtr switch_file_handle_file_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_flags_set___")]
  public static extern void switch_file_handle_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_flags_get___")]
  public static extern uint switch_file_handle_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_fd_set___")]
  public static extern void switch_file_handle_fd_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_fd_get___")]
  public static extern global::System.IntPtr switch_file_handle_fd_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samples_set___")]
  public static extern void switch_file_handle_samples_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samples_get___")]
  public static extern uint switch_file_handle_samples_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samplerate_set___")]
  public static extern void switch_file_handle_samplerate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samplerate_get___")]
  public static extern uint switch_file_handle_samplerate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_native_rate_set___")]
  public static extern void switch_file_handle_native_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_native_rate_get___")]
  public static extern uint switch_file_handle_native_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_channels_set___")]
  public static extern void switch_file_handle_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_channels_get___")]
  public static extern uint switch_file_handle_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_real_channels_set___")]
  public static extern void switch_file_handle_real_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_real_channels_get___")]
  public static extern uint switch_file_handle_real_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_format_set___")]
  public static extern void switch_file_handle_format_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_format_get___")]
  public static extern uint switch_file_handle_format_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_sections_set___")]
  public static extern void switch_file_handle_sections_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_sections_get___")]
  public static extern uint switch_file_handle_sections_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_seekable_set___")]
  public static extern void switch_file_handle_seekable_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_seekable_get___")]
  public static extern int switch_file_handle_seekable_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_sample_count_set___")]
  public static extern void switch_file_handle_sample_count_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_sample_count_get___")]
  public static extern global::System.IntPtr switch_file_handle_sample_count_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_speed_set___")]
  public static extern void switch_file_handle_speed_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_speed_get___")]
  public static extern int switch_file_handle_speed_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_memory_pool_set___")]
  public static extern void switch_file_handle_memory_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_memory_pool_get___")]
  public static extern global::System.IntPtr switch_file_handle_memory_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_prebuf_set___")]
  public static extern void switch_file_handle_prebuf_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_prebuf_get___")]
  public static extern uint switch_file_handle_prebuf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_interval_set___")]
  public static extern void switch_file_handle_interval_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_interval_get___")]
  public static extern uint switch_file_handle_interval_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_private_info_set___")]
  public static extern void switch_file_handle_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_private_info_get___")]
  public static extern global::System.IntPtr switch_file_handle_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_handler_set___")]
  public static extern void switch_file_handle_handler_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_handler_get___")]
  public static extern string switch_file_handle_handler_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pos_set___")]
  public static extern void switch_file_handle_pos_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pos_get___")]
  public static extern long switch_file_handle_pos_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_audio_buffer_set___")]
  public static extern void switch_file_handle_audio_buffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_audio_buffer_get___")]
  public static extern global::System.IntPtr switch_file_handle_audio_buffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_sp_audio_buffer_set___")]
  public static extern void switch_file_handle_sp_audio_buffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_sp_audio_buffer_get___")]
  public static extern global::System.IntPtr switch_file_handle_sp_audio_buffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_thresh_set___")]
  public static extern void switch_file_handle_thresh_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_thresh_get___")]
  public static extern uint switch_file_handle_thresh_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_silence_hits_set___")]
  public static extern void switch_file_handle_silence_hits_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_silence_hits_get___")]
  public static extern uint switch_file_handle_silence_hits_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_offset_pos_set___")]
  public static extern void switch_file_handle_offset_pos_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_offset_pos_get___")]
  public static extern uint switch_file_handle_offset_pos_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samples_in_set___")]
  public static extern void switch_file_handle_samples_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samples_in_get___")]
  public static extern global::System.IntPtr switch_file_handle_samples_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samples_out_set___")]
  public static extern void switch_file_handle_samples_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_samples_out_get___")]
  public static extern global::System.IntPtr switch_file_handle_samples_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_vol_set___")]
  public static extern void switch_file_handle_vol_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_vol_get___")]
  public static extern int switch_file_handle_vol_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_volgranular_set___")]
  public static extern void switch_file_handle_volgranular_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_volgranular_get___")]
  public static extern int switch_file_handle_volgranular_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_resampler_set___")]
  public static extern void switch_file_handle_resampler_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_resampler_get___")]
  public static extern global::System.IntPtr switch_file_handle_resampler_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_buffer_set___")]
  public static extern void switch_file_handle_buffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_buffer_get___")]
  public static extern global::System.IntPtr switch_file_handle_buffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_dbuf_set___")]
  public static extern void switch_file_handle_dbuf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_dbuf_get___")]
  public static extern global::System.IntPtr switch_file_handle_dbuf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_dbuflen_set___")]
  public static extern void switch_file_handle_dbuflen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_dbuflen_get___")]
  public static extern global::System.IntPtr switch_file_handle_dbuflen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_set___")]
  public static extern void switch_file_handle_pre_buffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_get___")]
  public static extern global::System.IntPtr switch_file_handle_pre_buffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_data_set___")]
  public static extern void switch_file_handle_pre_buffer_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_data_get___")]
  public static extern global::System.IntPtr switch_file_handle_pre_buffer_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_datalen_set___")]
  public static extern void switch_file_handle_pre_buffer_datalen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_pre_buffer_datalen_get___")]
  public static extern global::System.IntPtr switch_file_handle_pre_buffer_datalen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_file_set___")]
  public static extern void switch_file_handle_file_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_file_get___")]
  public static extern string switch_file_handle_file_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_func_set___")]
  public static extern void switch_file_handle_func_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_func_get___")]
  public static extern string switch_file_handle_func_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_line_set___")]
  public static extern void switch_file_handle_line_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_line_get___")]
  public static extern int switch_file_handle_line_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_file_path_set___")]
  public static extern void switch_file_handle_file_path_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_file_path_get___")]
  public static extern string switch_file_handle_file_path_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_spool_path_set___")]
  public static extern void switch_file_handle_spool_path_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_spool_path_get___")]
  public static extern string switch_file_handle_spool_path_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_prefix_set___")]
  public static extern void switch_file_handle_prefix_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_prefix_get___")]
  public static extern string switch_file_handle_prefix_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_max_samples_set___")]
  public static extern void switch_file_handle_max_samples_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_max_samples_get___")]
  public static extern int switch_file_handle_max_samples_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_params__set___")]
  public static extern void switch_file_handle_params__set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_params__get___")]
  public static extern global::System.IntPtr switch_file_handle_params__get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_cur_channels_set___")]
  public static extern void switch_file_handle_cur_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_cur_channels_get___")]
  public static extern uint switch_file_handle_cur_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_cur_samplerate_set___")]
  public static extern void switch_file_handle_cur_samplerate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_cur_samplerate_get___")]
  public static extern uint switch_file_handle_cur_samplerate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_stream_name_set___")]
  public static extern void switch_file_handle_stream_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_stream_name_get___")]
  public static extern string switch_file_handle_stream_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_modname_set___")]
  public static extern void switch_file_handle_modname_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_modname_get___")]
  public static extern string switch_file_handle_modname_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_mm_set___")]
  public static extern void switch_file_handle_mm_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_mm_get___")]
  public static extern global::System.IntPtr switch_file_handle_mm_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_flag_mutex_set___")]
  public static extern void switch_file_handle_flag_mutex_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_flag_mutex_get___")]
  public static extern global::System.IntPtr switch_file_handle_flag_mutex_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_duration_set___")]
  public static extern void switch_file_handle_duration_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_duration_get___")]
  public static extern long switch_file_handle_duration_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_vpos_set___")]
  public static extern void switch_file_handle_vpos_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_vpos_get___")]
  public static extern long switch_file_handle_vpos_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_muxbuf_set___")]
  public static extern void switch_file_handle_muxbuf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_muxbuf_get___")]
  public static extern global::System.IntPtr switch_file_handle_muxbuf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_muxlen_set___")]
  public static extern void switch_file_handle_muxlen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_file_handle_muxlen_get___")]
  public static extern global::System.IntPtr switch_file_handle_muxlen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_file_handle___")]
  public static extern global::System.IntPtr new_switch_file_handle();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_file_handle___")]
  public static extern void delete_switch_file_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_interface_name_set___")]
  public static extern void switch_asr_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_interface_name_get___")]
  public static extern string switch_asr_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_open_set___")]
  public static extern void switch_asr_interface_asr_open_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_open_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_open_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_load_grammar_set___")]
  public static extern void switch_asr_interface_asr_load_grammar_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_load_grammar_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_load_grammar_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_unload_grammar_set___")]
  public static extern void switch_asr_interface_asr_unload_grammar_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_unload_grammar_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_unload_grammar_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_close_set___")]
  public static extern void switch_asr_interface_asr_close_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_close_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_close_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_set___")]
  public static extern void switch_asr_interface_asr_feed_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_feed_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_resume_set___")]
  public static extern void switch_asr_interface_asr_resume_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_resume_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_resume_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_pause_set___")]
  public static extern void switch_asr_interface_asr_pause_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_pause_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_pause_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_check_results_set___")]
  public static extern void switch_asr_interface_asr_check_results_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_check_results_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_check_results_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_results_set___")]
  public static extern void switch_asr_interface_asr_get_results_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_results_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_get_results_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_result_headers_set___")]
  public static extern void switch_asr_interface_asr_get_result_headers_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_get_result_headers_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_get_result_headers_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_start_input_timers_set___")]
  public static extern void switch_asr_interface_asr_start_input_timers_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_start_input_timers_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_start_input_timers_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_text_param_set___")]
  public static extern void switch_asr_interface_asr_text_param_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_text_param_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_text_param_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_numeric_param_set___")]
  public static extern void switch_asr_interface_asr_numeric_param_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_numeric_param_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_numeric_param_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_float_param_set___")]
  public static extern void switch_asr_interface_asr_float_param_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_float_param_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_float_param_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_rwlock_set___")]
  public static extern void switch_asr_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_asr_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_refs_set___")]
  public static extern void switch_asr_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_refs_get___")]
  public static extern int switch_asr_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_reflock_set___")]
  public static extern void switch_asr_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_asr_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_parent_set___")]
  public static extern void switch_asr_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_parent_get___")]
  public static extern global::System.IntPtr switch_asr_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_next_set___")]
  public static extern void switch_asr_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_next_get___")]
  public static extern global::System.IntPtr switch_asr_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_enable_grammar_set___")]
  public static extern void switch_asr_interface_asr_enable_grammar_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_enable_grammar_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_enable_grammar_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_grammar_set___")]
  public static extern void switch_asr_interface_asr_disable_grammar_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_grammar_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_disable_grammar_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_all_grammars_set___")]
  public static extern void switch_asr_interface_asr_disable_all_grammars_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_disable_all_grammars_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_disable_all_grammars_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_dtmf_set___")]
  public static extern void switch_asr_interface_asr_feed_dtmf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_interface_asr_feed_dtmf_get___")]
  public static extern global::System.IntPtr switch_asr_interface_asr_feed_dtmf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_asr_interface___")]
  public static extern global::System.IntPtr new_switch_asr_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_asr_interface___")]
  public static extern void delete_switch_asr_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_asr_interface_set___")]
  public static extern void switch_asr_handle_asr_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_asr_interface_get___")]
  public static extern global::System.IntPtr switch_asr_handle_asr_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_flags_set___")]
  public static extern void switch_asr_handle_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_flags_get___")]
  public static extern uint switch_asr_handle_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_name_set___")]
  public static extern void switch_asr_handle_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_name_get___")]
  public static extern string switch_asr_handle_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_codec_set___")]
  public static extern void switch_asr_handle_codec_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_codec_get___")]
  public static extern string switch_asr_handle_codec_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_rate_set___")]
  public static extern void switch_asr_handle_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_rate_get___")]
  public static extern uint switch_asr_handle_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_grammar_set___")]
  public static extern void switch_asr_handle_grammar_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_grammar_get___")]
  public static extern string switch_asr_handle_grammar_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_param_set___")]
  public static extern void switch_asr_handle_param_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_param_get___")]
  public static extern string switch_asr_handle_param_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_memory_pool_set___")]
  public static extern void switch_asr_handle_memory_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_memory_pool_get___")]
  public static extern global::System.IntPtr switch_asr_handle_memory_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_buffer_set___")]
  public static extern void switch_asr_handle_buffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_buffer_get___")]
  public static extern global::System.IntPtr switch_asr_handle_buffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_dbuf_set___")]
  public static extern void switch_asr_handle_dbuf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_dbuf_get___")]
  public static extern global::System.IntPtr switch_asr_handle_dbuf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_dbuflen_set___")]
  public static extern void switch_asr_handle_dbuflen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_dbuflen_get___")]
  public static extern global::System.IntPtr switch_asr_handle_dbuflen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_resampler_set___")]
  public static extern void switch_asr_handle_resampler_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_resampler_get___")]
  public static extern global::System.IntPtr switch_asr_handle_resampler_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_samplerate_set___")]
  public static extern void switch_asr_handle_samplerate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_samplerate_get___")]
  public static extern uint switch_asr_handle_samplerate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_native_rate_set___")]
  public static extern void switch_asr_handle_native_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_native_rate_get___")]
  public static extern uint switch_asr_handle_native_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_private_info_set___")]
  public static extern void switch_asr_handle_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_asr_handle_private_info_get___")]
  public static extern global::System.IntPtr switch_asr_handle_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_asr_handle___")]
  public static extern global::System.IntPtr new_switch_asr_handle();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_asr_handle___")]
  public static extern void delete_switch_asr_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_interface_name_set___")]
  public static extern void switch_speech_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_interface_name_get___")]
  public static extern string switch_speech_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_open_set___")]
  public static extern void switch_speech_interface_speech_open_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_open_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_open_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_close_set___")]
  public static extern void switch_speech_interface_speech_close_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_close_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_close_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_feed_tts_set___")]
  public static extern void switch_speech_interface_speech_feed_tts_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_feed_tts_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_feed_tts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_read_tts_set___")]
  public static extern void switch_speech_interface_speech_read_tts_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_read_tts_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_read_tts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_flush_tts_set___")]
  public static extern void switch_speech_interface_speech_flush_tts_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_flush_tts_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_flush_tts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_text_param_tts_set___")]
  public static extern void switch_speech_interface_speech_text_param_tts_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_text_param_tts_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_text_param_tts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_numeric_param_tts_set___")]
  public static extern void switch_speech_interface_speech_numeric_param_tts_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_numeric_param_tts_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_numeric_param_tts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_float_param_tts_set___")]
  public static extern void switch_speech_interface_speech_float_param_tts_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_speech_float_param_tts_get___")]
  public static extern global::System.IntPtr switch_speech_interface_speech_float_param_tts_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_rwlock_set___")]
  public static extern void switch_speech_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_speech_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_refs_set___")]
  public static extern void switch_speech_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_refs_get___")]
  public static extern int switch_speech_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_reflock_set___")]
  public static extern void switch_speech_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_speech_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_parent_set___")]
  public static extern void switch_speech_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_parent_get___")]
  public static extern global::System.IntPtr switch_speech_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_next_set___")]
  public static extern void switch_speech_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_interface_next_get___")]
  public static extern global::System.IntPtr switch_speech_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_speech_interface___")]
  public static extern global::System.IntPtr new_switch_speech_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_speech_interface___")]
  public static extern void delete_switch_speech_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_speech_interface_set___")]
  public static extern void switch_speech_handle_speech_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_speech_interface_get___")]
  public static extern global::System.IntPtr switch_speech_handle_speech_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_flags_set___")]
  public static extern void switch_speech_handle_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_flags_get___")]
  public static extern uint switch_speech_handle_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_name_set___")]
  public static extern void switch_speech_handle_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_name_get___")]
  public static extern string switch_speech_handle_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_rate_set___")]
  public static extern void switch_speech_handle_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_rate_get___")]
  public static extern uint switch_speech_handle_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_speed_set___")]
  public static extern void switch_speech_handle_speed_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_speed_get___")]
  public static extern uint switch_speech_handle_speed_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_samples_set___")]
  public static extern void switch_speech_handle_samples_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_samples_get___")]
  public static extern uint switch_speech_handle_samples_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_channels_set___")]
  public static extern void switch_speech_handle_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_channels_get___")]
  public static extern uint switch_speech_handle_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_real_channels_set___")]
  public static extern void switch_speech_handle_real_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_real_channels_get___")]
  public static extern uint switch_speech_handle_real_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_voice_set___")]
  public static extern void switch_speech_handle_voice_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_voice_get___")]
  public static extern string switch_speech_handle_voice_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_engine_set___")]
  public static extern void switch_speech_handle_engine_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_engine_get___")]
  public static extern string switch_speech_handle_engine_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_param_set___")]
  public static extern void switch_speech_handle_param_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_param_get___")]
  public static extern string switch_speech_handle_param_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_memory_pool_set___")]
  public static extern void switch_speech_handle_memory_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_memory_pool_get___")]
  public static extern global::System.IntPtr switch_speech_handle_memory_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_resampler_set___")]
  public static extern void switch_speech_handle_resampler_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_resampler_get___")]
  public static extern global::System.IntPtr switch_speech_handle_resampler_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_buffer_set___")]
  public static extern void switch_speech_handle_buffer_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_buffer_get___")]
  public static extern global::System.IntPtr switch_speech_handle_buffer_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_dbuf_set___")]
  public static extern void switch_speech_handle_dbuf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_dbuf_get___")]
  public static extern global::System.IntPtr switch_speech_handle_dbuf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_dbuflen_set___")]
  public static extern void switch_speech_handle_dbuflen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_dbuflen_get___")]
  public static extern global::System.IntPtr switch_speech_handle_dbuflen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_samplerate_set___")]
  public static extern void switch_speech_handle_samplerate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_samplerate_get___")]
  public static extern uint switch_speech_handle_samplerate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_native_rate_set___")]
  public static extern void switch_speech_handle_native_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_native_rate_get___")]
  public static extern uint switch_speech_handle_native_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_private_info_set___")]
  public static extern void switch_speech_handle_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_speech_handle_private_info_get___")]
  public static extern global::System.IntPtr switch_speech_handle_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_speech_handle___")]
  public static extern global::System.IntPtr new_switch_speech_handle();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_speech_handle___")]
  public static extern void delete_switch_speech_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_interface_name_set___")]
  public static extern void switch_say_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_interface_name_get___")]
  public static extern string switch_say_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_say_function_set___")]
  public static extern void switch_say_interface_say_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_say_function_get___")]
  public static extern global::System.IntPtr switch_say_interface_say_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_say_string_function_set___")]
  public static extern void switch_say_interface_say_string_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_say_string_function_get___")]
  public static extern global::System.IntPtr switch_say_interface_say_string_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_rwlock_set___")]
  public static extern void switch_say_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_say_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_refs_set___")]
  public static extern void switch_say_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_refs_get___")]
  public static extern int switch_say_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_reflock_set___")]
  public static extern void switch_say_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_say_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_parent_set___")]
  public static extern void switch_say_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_parent_get___")]
  public static extern global::System.IntPtr switch_say_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_next_set___")]
  public static extern void switch_say_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_say_interface_next_get___")]
  public static extern global::System.IntPtr switch_say_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_say_interface___")]
  public static extern global::System.IntPtr new_switch_say_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_say_interface___")]
  public static extern void delete_switch_say_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_interface_name_set___")]
  public static extern void switch_chat_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_interface_name_get___")]
  public static extern string switch_chat_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_chat_send_set___")]
  public static extern void switch_chat_interface_chat_send_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_chat_send_get___")]
  public static extern global::System.IntPtr switch_chat_interface_chat_send_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_rwlock_set___")]
  public static extern void switch_chat_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_chat_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_refs_set___")]
  public static extern void switch_chat_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_refs_get___")]
  public static extern int switch_chat_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_reflock_set___")]
  public static extern void switch_chat_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_chat_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_parent_set___")]
  public static extern void switch_chat_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_parent_get___")]
  public static extern global::System.IntPtr switch_chat_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_next_set___")]
  public static extern void switch_chat_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_interface_next_get___")]
  public static extern global::System.IntPtr switch_chat_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_chat_interface___")]
  public static extern global::System.IntPtr new_switch_chat_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_chat_interface___")]
  public static extern void delete_switch_chat_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_relative_oid_set___")]
  public static extern void switch_management_interface_relative_oid_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_relative_oid_get___")]
  public static extern string switch_management_interface_relative_oid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_management_function_set___")]
  public static extern void switch_management_interface_management_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_management_function_get___")]
  public static extern global::System.IntPtr switch_management_interface_management_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_rwlock_set___")]
  public static extern void switch_management_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_management_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_refs_set___")]
  public static extern void switch_management_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_refs_get___")]
  public static extern int switch_management_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_reflock_set___")]
  public static extern void switch_management_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_management_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_parent_set___")]
  public static extern void switch_management_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_parent_get___")]
  public static extern global::System.IntPtr switch_management_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_next_set___")]
  public static extern void switch_management_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_management_interface_next_get___")]
  public static extern global::System.IntPtr switch_management_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_management_interface___")]
  public static extern global::System.IntPtr new_switch_management_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_management_interface___")]
  public static extern void delete_switch_management_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_interface_name_set___")]
  public static extern void switch_limit_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_interface_name_get___")]
  public static extern string switch_limit_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_incr_set___")]
  public static extern void switch_limit_interface_incr_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_incr_get___")]
  public static extern global::System.IntPtr switch_limit_interface_incr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_release_set___")]
  public static extern void switch_limit_interface_release_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_release_get___")]
  public static extern global::System.IntPtr switch_limit_interface_release_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_usage_set___")]
  public static extern void switch_limit_interface_usage_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_usage_get___")]
  public static extern global::System.IntPtr switch_limit_interface_usage_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_reset_set___")]
  public static extern void switch_limit_interface_reset_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_reset_get___")]
  public static extern global::System.IntPtr switch_limit_interface_reset_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_status_set___")]
  public static extern void switch_limit_interface_status_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_status_get___")]
  public static extern global::System.IntPtr switch_limit_interface_status_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_interval_reset_set___")]
  public static extern void switch_limit_interface_interval_reset_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_interval_reset_get___")]
  public static extern global::System.IntPtr switch_limit_interface_interval_reset_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_rwlock_set___")]
  public static extern void switch_limit_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_limit_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_refs_set___")]
  public static extern void switch_limit_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_refs_get___")]
  public static extern int switch_limit_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_reflock_set___")]
  public static extern void switch_limit_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_limit_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_parent_set___")]
  public static extern void switch_limit_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_parent_get___")]
  public static extern global::System.IntPtr switch_limit_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_next_set___")]
  public static extern void switch_limit_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_limit_interface_next_get___")]
  public static extern global::System.IntPtr switch_limit_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_limit_interface___")]
  public static extern global::System.IntPtr new_switch_limit_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_limit_interface___")]
  public static extern void delete_switch_limit_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_interface_name_set___")]
  public static extern void switch_directory_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_interface_name_get___")]
  public static extern string switch_directory_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_open_set___")]
  public static extern void switch_directory_interface_directory_open_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_open_get___")]
  public static extern global::System.IntPtr switch_directory_interface_directory_open_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_close_set___")]
  public static extern void switch_directory_interface_directory_close_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_close_get___")]
  public static extern global::System.IntPtr switch_directory_interface_directory_close_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_query_set___")]
  public static extern void switch_directory_interface_directory_query_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_query_get___")]
  public static extern global::System.IntPtr switch_directory_interface_directory_query_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_set___")]
  public static extern void switch_directory_interface_directory_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_get___")]
  public static extern global::System.IntPtr switch_directory_interface_directory_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_pair_set___")]
  public static extern void switch_directory_interface_directory_next_pair_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_directory_next_pair_get___")]
  public static extern global::System.IntPtr switch_directory_interface_directory_next_pair_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_rwlock_set___")]
  public static extern void switch_directory_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_directory_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_refs_set___")]
  public static extern void switch_directory_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_refs_get___")]
  public static extern int switch_directory_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_reflock_set___")]
  public static extern void switch_directory_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_directory_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_parent_set___")]
  public static extern void switch_directory_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_parent_get___")]
  public static extern global::System.IntPtr switch_directory_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_next_set___")]
  public static extern void switch_directory_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_interface_next_get___")]
  public static extern global::System.IntPtr switch_directory_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_directory_interface___")]
  public static extern global::System.IntPtr new_switch_directory_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_directory_interface___")]
  public static extern void delete_switch_directory_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_directory_interface_set___")]
  public static extern void switch_directory_handle_directory_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_directory_interface_get___")]
  public static extern global::System.IntPtr switch_directory_handle_directory_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_flags_set___")]
  public static extern void switch_directory_handle_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_flags_get___")]
  public static extern uint switch_directory_handle_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_memory_pool_set___")]
  public static extern void switch_directory_handle_memory_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_memory_pool_get___")]
  public static extern global::System.IntPtr switch_directory_handle_memory_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_private_info_set___")]
  public static extern void switch_directory_handle_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_directory_handle_private_info_get___")]
  public static extern global::System.IntPtr switch_directory_handle_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_directory_handle___")]
  public static extern global::System.IntPtr new_switch_directory_handle();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_directory_handle___")]
  public static extern void delete_switch_directory_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_interface_name_set___")]
  public static extern void switch_database_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_interface_name_get___")]
  public static extern string switch_database_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_flags_set___")]
  public static extern void switch_database_interface_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_flags_get___")]
  public static extern uint switch_database_interface_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_new_set___")]
  public static extern void switch_database_interface_handle_new_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_new_get___")]
  public static extern global::System.IntPtr switch_database_interface_handle_new_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_destroy_set___")]
  public static extern void switch_database_interface_handle_destroy_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_destroy_get___")]
  public static extern global::System.IntPtr switch_database_interface_handle_destroy_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_flush_set___")]
  public static extern void switch_database_interface_flush_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_flush_get___")]
  public static extern global::System.IntPtr switch_database_interface_flush_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_exec_detailed_set___")]
  public static extern void switch_database_interface_exec_detailed_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_exec_detailed_get___")]
  public static extern global::System.IntPtr switch_database_interface_exec_detailed_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_exec_string_set___")]
  public static extern void switch_database_interface_exec_string_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_exec_string_get___")]
  public static extern global::System.IntPtr switch_database_interface_exec_string_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_sql_set_auto_commit_attr_set___")]
  public static extern void switch_database_interface_sql_set_auto_commit_attr_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_sql_set_auto_commit_attr_get___")]
  public static extern global::System.IntPtr switch_database_interface_sql_set_auto_commit_attr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_commit_set___")]
  public static extern void switch_database_interface_commit_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_commit_get___")]
  public static extern global::System.IntPtr switch_database_interface_commit_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_rollback_set___")]
  public static extern void switch_database_interface_rollback_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_rollback_get___")]
  public static extern global::System.IntPtr switch_database_interface_rollback_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_callback_exec_detailed_set___")]
  public static extern void switch_database_interface_callback_exec_detailed_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_callback_exec_detailed_get___")]
  public static extern global::System.IntPtr switch_database_interface_callback_exec_detailed_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_affected_rows_set___")]
  public static extern void switch_database_interface_affected_rows_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_affected_rows_get___")]
  public static extern global::System.IntPtr switch_database_interface_affected_rows_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_prefixes_set___")]
  public static extern void switch_database_interface_prefixes_set(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_prefixes_get___")]
  public static extern string switch_database_interface_prefixes_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_rwlock_set___")]
  public static extern void switch_database_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_database_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_refs_set___")]
  public static extern void switch_database_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_refs_get___")]
  public static extern int switch_database_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_reflock_set___")]
  public static extern void switch_database_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_database_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_parent_set___")]
  public static extern void switch_database_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_parent_get___")]
  public static extern global::System.IntPtr switch_database_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_next_set___")]
  public static extern void switch_database_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_next_get___")]
  public static extern global::System.IntPtr switch_database_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_database_interface___")]
  public static extern global::System.IntPtr new_switch_database_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_database_interface___")]
  public static extern void delete_switch_database_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_connection_options_set___")]
  public static extern void switch_database_interface_handle_connection_options_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_connection_options_get___")]
  public static extern global::System.IntPtr switch_database_interface_handle_connection_options_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_handle_set___")]
  public static extern void switch_database_interface_handle_handle_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_database_interface_handle_handle_get___")]
  public static extern global::System.IntPtr switch_database_interface_handle_handle_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_database_interface_handle___")]
  public static extern global::System.IntPtr new_switch_database_interface_handle();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_database_interface_handle___")]
  public static extern void delete_switch_database_interface_handle(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_codec_settings_unused_set___")]
  public static extern void switch_audio_codec_settings_unused_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_codec_settings_unused_get___")]
  public static extern int switch_audio_codec_settings_unused_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_audio_codec_settings___")]
  public static extern global::System.IntPtr new_switch_audio_codec_settings();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_audio_codec_settings___")]
  public static extern void delete_switch_audio_codec_settings(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_bandwidth_set___")]
  public static extern void switch_video_codec_settings_bandwidth_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_bandwidth_get___")]
  public static extern uint switch_video_codec_settings_bandwidth_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_width_set___")]
  public static extern void switch_video_codec_settings_width_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_width_get___")]
  public static extern int switch_video_codec_settings_width_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_height_set___")]
  public static extern void switch_video_codec_settings_height_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_height_get___")]
  public static extern int switch_video_codec_settings_height_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_try_hardware_encoder_set___")]
  public static extern void switch_video_codec_settings_try_hardware_encoder_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_try_hardware_encoder_get___")]
  public static extern byte switch_video_codec_settings_try_hardware_encoder_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_fps_set___")]
  public static extern void switch_video_codec_settings_fps_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_fps_get___")]
  public static extern byte switch_video_codec_settings_fps_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_config_profile_name_set___")]
  public static extern void switch_video_codec_settings_config_profile_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_video_codec_settings_config_profile_name_get___")]
  public static extern string switch_video_codec_settings_config_profile_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_video_codec_settings___")]
  public static extern global::System.IntPtr new_switch_video_codec_settings();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_video_codec_settings___")]
  public static extern void delete_switch_video_codec_settings(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_settings_audio_set___")]
  public static extern void switch_codec_settings_audio_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_settings_audio_get___")]
  public static extern global::System.IntPtr switch_codec_settings_audio_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_settings_video_set___")]
  public static extern void switch_codec_settings_video_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_settings_video_get___")]
  public static extern global::System.IntPtr switch_codec_settings_video_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_codec_settings___")]
  public static extern global::System.IntPtr new_switch_codec_settings();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_codec_settings___")]
  public static extern void delete_switch_codec_settings(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_actual_samples_per_second_set___")]
  public static extern void switch_codec_fmtp_actual_samples_per_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_actual_samples_per_second_get___")]
  public static extern uint switch_codec_fmtp_actual_samples_per_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_bits_per_second_set___")]
  public static extern void switch_codec_fmtp_bits_per_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_bits_per_second_get___")]
  public static extern int switch_codec_fmtp_bits_per_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_microseconds_per_packet_set___")]
  public static extern void switch_codec_fmtp_microseconds_per_packet_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_microseconds_per_packet_get___")]
  public static extern int switch_codec_fmtp_microseconds_per_packet_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_max_ptime_set___")]
  public static extern void switch_codec_fmtp_max_ptime_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_max_ptime_get___")]
  public static extern int switch_codec_fmtp_max_ptime_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_min_ptime_set___")]
  public static extern void switch_codec_fmtp_min_ptime_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_min_ptime_get___")]
  public static extern int switch_codec_fmtp_min_ptime_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_stereo_set___")]
  public static extern void switch_codec_fmtp_stereo_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_stereo_get___")]
  public static extern int switch_codec_fmtp_stereo_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_sprop_stereo_set___")]
  public static extern void switch_codec_fmtp_sprop_stereo_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_sprop_stereo_get___")]
  public static extern int switch_codec_fmtp_sprop_stereo_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_private_info_set___")]
  public static extern void switch_codec_fmtp_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_private_info_get___")]
  public static extern global::System.IntPtr switch_codec_fmtp_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_codec_fmtp___")]
  public static extern global::System.IntPtr new_switch_codec_fmtp();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_codec_fmtp___")]
  public static extern void delete_switch_codec_fmtp(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_width_set___")]
  public static extern void switch_picture_width_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_width_get___")]
  public static extern uint switch_picture_width_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_height_set___")]
  public static extern void switch_picture_height_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_height_get___")]
  public static extern uint switch_picture_height_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_planes_set___")]
  public static extern void switch_picture_planes_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_planes_get___")]
  public static extern global::System.IntPtr switch_picture_planes_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_stride_set___")]
  public static extern void switch_picture_stride_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_picture_stride_get___")]
  public static extern global::System.IntPtr switch_picture_stride_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_picture___")]
  public static extern global::System.IntPtr new_switch_picture();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_picture___")]
  public static extern void delete_switch_picture(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_codec_interface_set___")]
  public static extern void switch_codec_codec_interface_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_codec_interface_get___")]
  public static extern global::System.IntPtr switch_codec_codec_interface_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_set___")]
  public static extern void switch_codec_implementation_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_in_set___")]
  public static extern void switch_codec_fmtp_in_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_in_get___")]
  public static extern string switch_codec_fmtp_in_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_out_set___")]
  public static extern void switch_codec_fmtp_out_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_fmtp_out_get___")]
  public static extern string switch_codec_fmtp_out_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_flags_set___")]
  public static extern void switch_codec_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_flags_get___")]
  public static extern uint switch_codec_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_memory_pool_set___")]
  public static extern void switch_codec_memory_pool_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_memory_pool_get___")]
  public static extern global::System.IntPtr switch_codec_memory_pool_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_private_info_set___")]
  public static extern void switch_codec_private_info_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_private_info_get___")]
  public static extern global::System.IntPtr switch_codec_private_info_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_agreed_pt_set___")]
  public static extern void switch_codec_agreed_pt_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_agreed_pt_get___")]
  public static extern byte switch_codec_agreed_pt_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_mutex_set___")]
  public static extern void switch_codec_mutex_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_mutex_get___")]
  public static extern global::System.IntPtr switch_codec_mutex_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_next_set___")]
  public static extern void switch_codec_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_next_get___")]
  public static extern global::System.IntPtr switch_codec_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_session_set___")]
  public static extern void switch_codec_session_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_session_get___")]
  public static extern global::System.IntPtr switch_codec_session_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_cur_frame_set___")]
  public static extern void switch_codec_cur_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_cur_frame_get___")]
  public static extern global::System.IntPtr switch_codec_cur_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_codec___")]
  public static extern global::System.IntPtr new_switch_codec();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_codec___")]
  public static extern void delete_switch_codec(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_type_set___")]
  public static extern void switch_codec_implementation_codec_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_type_get___")]
  public static extern int switch_codec_implementation_codec_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_ianacode_set___")]
  public static extern void switch_codec_implementation_ianacode_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_ianacode_get___")]
  public static extern byte switch_codec_implementation_ianacode_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_iananame_set___")]
  public static extern void switch_codec_implementation_iananame_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_iananame_get___")]
  public static extern string switch_codec_implementation_iananame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_fmtp_set___")]
  public static extern void switch_codec_implementation_fmtp_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_fmtp_get___")]
  public static extern string switch_codec_implementation_fmtp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_second_set___")]
  public static extern void switch_codec_implementation_samples_per_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_second_get___")]
  public static extern uint switch_codec_implementation_samples_per_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_actual_samples_per_second_set___")]
  public static extern void switch_codec_implementation_actual_samples_per_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_actual_samples_per_second_get___")]
  public static extern uint switch_codec_implementation_actual_samples_per_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_bits_per_second_set___")]
  public static extern void switch_codec_implementation_bits_per_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_bits_per_second_get___")]
  public static extern int switch_codec_implementation_bits_per_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_microseconds_per_packet_set___")]
  public static extern void switch_codec_implementation_microseconds_per_packet_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_microseconds_per_packet_get___")]
  public static extern int switch_codec_implementation_microseconds_per_packet_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_packet_set___")]
  public static extern void switch_codec_implementation_samples_per_packet_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_samples_per_packet_get___")]
  public static extern uint switch_codec_implementation_samples_per_packet_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_decoded_bytes_per_packet_set___")]
  public static extern void switch_codec_implementation_decoded_bytes_per_packet_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_decoded_bytes_per_packet_get___")]
  public static extern uint switch_codec_implementation_decoded_bytes_per_packet_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_encoded_bytes_per_packet_set___")]
  public static extern void switch_codec_implementation_encoded_bytes_per_packet_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_encoded_bytes_per_packet_get___")]
  public static extern uint switch_codec_implementation_encoded_bytes_per_packet_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_number_of_channels_set___")]
  public static extern void switch_codec_implementation_number_of_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_number_of_channels_get___")]
  public static extern byte switch_codec_implementation_number_of_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_frames_per_packet_set___")]
  public static extern void switch_codec_implementation_codec_frames_per_packet_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_frames_per_packet_get___")]
  public static extern int switch_codec_implementation_codec_frames_per_packet_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_init_set___")]
  public static extern void switch_codec_implementation_init_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_init_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_init_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_set___")]
  public static extern void switch_codec_implementation_encode_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_encode_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_set___")]
  public static extern void switch_codec_implementation_decode_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_decode_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_video_set___")]
  public static extern void switch_codec_implementation_encode_video_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_encode_video_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_encode_video_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_video_set___")]
  public static extern void switch_codec_implementation_decode_video_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_decode_video_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_decode_video_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_control_set___")]
  public static extern void switch_codec_implementation_codec_control_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_control_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_codec_control_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_destroy_set___")]
  public static extern void switch_codec_implementation_destroy_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_destroy_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_destroy_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_id_set___")]
  public static extern void switch_codec_implementation_codec_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_codec_id_get___")]
  public static extern uint switch_codec_implementation_codec_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_impl_id_set___")]
  public static extern void switch_codec_implementation_impl_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_impl_id_get___")]
  public static extern uint switch_codec_implementation_impl_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_modname_set___")]
  public static extern void switch_codec_implementation_modname_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_modname_get___")]
  public static extern string switch_codec_implementation_modname_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_next_set___")]
  public static extern void switch_codec_implementation_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_implementation_next_get___")]
  public static extern global::System.IntPtr switch_codec_implementation_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_codec_implementation___")]
  public static extern global::System.IntPtr new_switch_codec_implementation();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_codec_implementation___")]
  public static extern void delete_switch_codec_implementation(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_interface_name_set___")]
  public static extern void switch_codec_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_interface_name_get___")]
  public static extern string switch_codec_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_implementations_set___")]
  public static extern void switch_codec_interface_implementations_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_implementations_get___")]
  public static extern global::System.IntPtr switch_codec_interface_implementations_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_parse_fmtp_set___")]
  public static extern void switch_codec_interface_parse_fmtp_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_parse_fmtp_get___")]
  public static extern global::System.IntPtr switch_codec_interface_parse_fmtp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_codec_id_set___")]
  public static extern void switch_codec_interface_codec_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_codec_id_get___")]
  public static extern uint switch_codec_interface_codec_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_rwlock_set___")]
  public static extern void switch_codec_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_codec_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_refs_set___")]
  public static extern void switch_codec_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_refs_get___")]
  public static extern int switch_codec_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_reflock_set___")]
  public static extern void switch_codec_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_codec_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_modname_set___")]
  public static extern void switch_codec_interface_modname_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_modname_get___")]
  public static extern string switch_codec_interface_modname_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_parent_set___")]
  public static extern void switch_codec_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_parent_get___")]
  public static extern global::System.IntPtr switch_codec_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_next_set___")]
  public static extern void switch_codec_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_codec_interface_next_get___")]
  public static extern global::System.IntPtr switch_codec_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_codec_interface___")]
  public static extern global::System.IntPtr new_switch_codec_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_codec_interface___")]
  public static extern void delete_switch_codec_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_interface_name_set___")]
  public static extern void switch_application_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_interface_name_get___")]
  public static extern string switch_application_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_application_function_set___")]
  public static extern void switch_application_interface_application_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_application_function_get___")]
  public static extern global::System.IntPtr switch_application_interface_application_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_long_desc_set___")]
  public static extern void switch_application_interface_long_desc_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_long_desc_get___")]
  public static extern string switch_application_interface_long_desc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_short_desc_set___")]
  public static extern void switch_application_interface_short_desc_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_short_desc_get___")]
  public static extern string switch_application_interface_short_desc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_syntax_set___")]
  public static extern void switch_application_interface_syntax_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_syntax_get___")]
  public static extern string switch_application_interface_syntax_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_flags_set___")]
  public static extern void switch_application_interface_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_flags_get___")]
  public static extern uint switch_application_interface_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_rwlock_set___")]
  public static extern void switch_application_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_application_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_refs_set___")]
  public static extern void switch_application_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_refs_get___")]
  public static extern int switch_application_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_reflock_set___")]
  public static extern void switch_application_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_application_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_parent_set___")]
  public static extern void switch_application_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_parent_get___")]
  public static extern global::System.IntPtr switch_application_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_next_set___")]
  public static extern void switch_application_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_application_interface_next_get___")]
  public static extern global::System.IntPtr switch_application_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_application_interface___")]
  public static extern global::System.IntPtr new_switch_application_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_application_interface___")]
  public static extern void delete_switch_application_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_interface_name_set___")]
  public static extern void switch_chat_application_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_interface_name_get___")]
  public static extern string switch_chat_application_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_chat_application_function_set___")]
  public static extern void switch_chat_application_interface_chat_application_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_chat_application_function_get___")]
  public static extern global::System.IntPtr switch_chat_application_interface_chat_application_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_long_desc_set___")]
  public static extern void switch_chat_application_interface_long_desc_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_long_desc_get___")]
  public static extern string switch_chat_application_interface_long_desc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_short_desc_set___")]
  public static extern void switch_chat_application_interface_short_desc_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_short_desc_get___")]
  public static extern string switch_chat_application_interface_short_desc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_syntax_set___")]
  public static extern void switch_chat_application_interface_syntax_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_syntax_get___")]
  public static extern string switch_chat_application_interface_syntax_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_flags_set___")]
  public static extern void switch_chat_application_interface_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_flags_get___")]
  public static extern uint switch_chat_application_interface_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_rwlock_set___")]
  public static extern void switch_chat_application_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_chat_application_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_refs_set___")]
  public static extern void switch_chat_application_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_refs_get___")]
  public static extern int switch_chat_application_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_reflock_set___")]
  public static extern void switch_chat_application_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_chat_application_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_parent_set___")]
  public static extern void switch_chat_application_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_parent_get___")]
  public static extern global::System.IntPtr switch_chat_application_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_next_set___")]
  public static extern void switch_chat_application_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_chat_application_interface_next_get___")]
  public static extern global::System.IntPtr switch_chat_application_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_chat_application_interface___")]
  public static extern global::System.IntPtr new_switch_chat_application_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_chat_application_interface___")]
  public static extern void delete_switch_chat_application_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_interface_name_set___")]
  public static extern void switch_api_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_interface_name_get___")]
  public static extern string switch_api_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_desc_set___")]
  public static extern void switch_api_interface_desc_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_desc_get___")]
  public static extern string switch_api_interface_desc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_function_set___")]
  public static extern void switch_api_interface_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_function_get___")]
  public static extern global::System.IntPtr switch_api_interface_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_syntax_set___")]
  public static extern void switch_api_interface_syntax_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_syntax_get___")]
  public static extern string switch_api_interface_syntax_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_rwlock_set___")]
  public static extern void switch_api_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_api_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_refs_set___")]
  public static extern void switch_api_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_refs_get___")]
  public static extern int switch_api_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_reflock_set___")]
  public static extern void switch_api_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_api_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_parent_set___")]
  public static extern void switch_api_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_parent_get___")]
  public static extern global::System.IntPtr switch_api_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_next_set___")]
  public static extern void switch_api_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_api_interface_next_get___")]
  public static extern global::System.IntPtr switch_api_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_api_interface___")]
  public static extern global::System.IntPtr new_switch_api_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_api_interface___")]
  public static extern void delete_switch_api_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_interface_name_set___")]
  public static extern void switch_json_api_interface_interface_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_interface_name_get___")]
  public static extern string switch_json_api_interface_interface_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_desc_set___")]
  public static extern void switch_json_api_interface_desc_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_desc_get___")]
  public static extern string switch_json_api_interface_desc_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_function_set___")]
  public static extern void switch_json_api_interface_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_function_get___")]
  public static extern global::System.IntPtr switch_json_api_interface_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_syntax_set___")]
  public static extern void switch_json_api_interface_syntax_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_syntax_get___")]
  public static extern string switch_json_api_interface_syntax_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_rwlock_set___")]
  public static extern void switch_json_api_interface_rwlock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_rwlock_get___")]
  public static extern global::System.IntPtr switch_json_api_interface_rwlock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_refs_set___")]
  public static extern void switch_json_api_interface_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_refs_get___")]
  public static extern int switch_json_api_interface_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_reflock_set___")]
  public static extern void switch_json_api_interface_reflock_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_reflock_get___")]
  public static extern global::System.IntPtr switch_json_api_interface_reflock_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_parent_set___")]
  public static extern void switch_json_api_interface_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_parent_get___")]
  public static extern global::System.IntPtr switch_json_api_interface_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_next_set___")]
  public static extern void switch_json_api_interface_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_api_interface_next_get___")]
  public static extern global::System.IntPtr switch_json_api_interface_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_json_api_interface___")]
  public static extern global::System.IntPtr new_switch_json_api_interface();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_json_api_interface___")]
  public static extern void delete_switch_json_api_interface(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_session_set___")]
  public static extern void switch_slin_data_session_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_session_get___")]
  public static extern global::System.IntPtr switch_slin_data_session_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_write_frame_set___")]
  public static extern void switch_slin_data_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_write_frame_get___")]
  public static extern global::System.IntPtr switch_slin_data_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_codec_set___")]
  public static extern void switch_slin_data_codec_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_codec_get___")]
  public static extern global::System.IntPtr switch_slin_data_codec_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_frame_data_set___")]
  public static extern void switch_slin_data_frame_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_slin_data_frame_data_get___")]
  public static extern string switch_slin_data_frame_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_slin_data___")]
  public static extern global::System.IntPtr new_switch_slin_data();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_slin_data___")]
  public static extern void delete_switch_slin_data(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_profile_created_set___")]
  public static extern void switch_channel_timetable_profile_created_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_profile_created_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_profile_created_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_created_set___")]
  public static extern void switch_channel_timetable_created_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_created_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_created_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_answered_set___")]
  public static extern void switch_channel_timetable_answered_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_answered_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_answered_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_set___")]
  public static extern void switch_channel_timetable_progress_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_progress_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_media_set___")]
  public static extern void switch_channel_timetable_progress_media_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_progress_media_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_progress_media_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_hungup_set___")]
  public static extern void switch_channel_timetable_hungup_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_hungup_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_hungup_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_transferred_set___")]
  public static extern void switch_channel_timetable_transferred_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_transferred_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_transferred_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_resurrected_set___")]
  public static extern void switch_channel_timetable_resurrected_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_resurrected_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_resurrected_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_bridged_set___")]
  public static extern void switch_channel_timetable_bridged_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_bridged_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_bridged_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_last_hold_set___")]
  public static extern void switch_channel_timetable_last_hold_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_last_hold_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_last_hold_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_hold_accum_set___")]
  public static extern void switch_channel_timetable_hold_accum_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_hold_accum_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_hold_accum_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_next_set___")]
  public static extern void switch_channel_timetable_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_timetable_next_get___")]
  public static extern global::System.IntPtr switch_channel_timetable_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_channel_timetable___")]
  public static extern global::System.IntPtr new_switch_channel_timetable();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_channel_timetable___")]
  public static extern void delete_switch_channel_timetable(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_state___")]
  public static extern int switch_channel_get_state(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_running_state___")]
  public static extern int switch_channel_get_running_state(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_check_signal___")]
  public static extern int switch_channel_check_signal(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_test_ready___")]
  public static extern int switch_channel_test_ready(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_wait_for_state___")]
  public static extern void switch_channel_wait_for_state(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_wait_for_state_timeout___")]
  public static extern void switch_channel_wait_for_state_timeout(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_wait_for_flag___")]
  public static extern int switch_channel_wait_for_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, uint jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_wait_for_app_flag___")]
  public static extern int switch_channel_wait_for_app_flag(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, string jarg3, int jarg4, uint jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_set_state___")]
  public static extern int switch_channel_perform_set_state(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_set_running_state___")]
  public static extern int switch_channel_perform_set_running_state(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_str2cause___")]
  public static extern int switch_channel_str2cause(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_cause___")]
  public static extern int switch_channel_get_cause(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_cause_q850___")]
  public static extern int switch_channel_cause_q850(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_cause_q850___")]
  public static extern int switch_channel_get_cause_q850(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_cause_ptr___")]
  public static extern global::System.IntPtr switch_channel_get_cause_ptr(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_cause2str___")]
  public static extern string switch_channel_cause2str(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_timetable___")]
  public static extern global::System.IntPtr switch_channel_get_timetable(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_alloc___")]
  public static extern int switch_channel_alloc(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_init___")]
  public static extern int switch_channel_init(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_presence_data_vals___")]
  public static extern void switch_channel_set_presence_data_vals(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_presence___")]
  public static extern void switch_channel_perform_presence(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, int jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_uninit___")]
  public static extern void switch_channel_uninit(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_caller_profile___")]
  public static extern void switch_channel_set_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_step_caller_profile___")]
  public static extern void switch_channel_step_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_caller_profile___")]
  public static extern global::System.IntPtr switch_channel_get_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_originator_caller_profile___")]
  public static extern void switch_channel_set_originator_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_hunt_caller_profile___")]
  public static extern void switch_channel_set_hunt_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_originator_caller_profile___")]
  public static extern global::System.IntPtr switch_channel_get_originator_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_originatee_caller_profile___")]
  public static extern void switch_channel_set_originatee_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_originatee_caller_profile___")]
  public static extern global::System.IntPtr switch_channel_get_originatee_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_origination_caller_profile___")]
  public static extern void switch_channel_set_origination_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_origination_caller_profile___")]
  public static extern global::System.IntPtr switch_channel_get_origination_caller_profile(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_uuid___")]
  public static extern string switch_channel_get_uuid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_profile_var___")]
  public static extern int switch_channel_set_profile_var(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_log_tag___")]
  public static extern int switch_channel_set_log_tag(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_log_tags___")]
  public static extern int switch_channel_get_log_tags(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_variable_var_check___")]
  public static extern int switch_channel_set_variable_var_check(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_variable_strip_quotes_var_check___")]
  public static extern int switch_channel_set_variable_strip_quotes_var_check(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_add_variable_var_check___")]
  public static extern int switch_channel_add_variable_var_check(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_variable_printf___")]
  public static extern int switch_channel_set_variable_printf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_variable_name_printf___")]
  public static extern int switch_channel_set_variable_name_printf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_variable_partner_var_check___")]
  public static extern int switch_channel_set_variable_partner_var_check(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_variable_partner___")]
  public static extern string switch_channel_get_variable_partner(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_hold_music___")]
  public static extern string switch_channel_get_hold_music(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_hold_music_partner___")]
  public static extern string switch_channel_get_hold_music_partner(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_del_variable_prefix___")]
  public static extern uint switch_channel_del_variable_prefix(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_transfer_variable_prefix___")]
  public static extern int switch_channel_transfer_variable_prefix(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_export_variable_var_check___")]
  public static extern int switch_channel_export_variable_var_check(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_process_export___")]
  public static extern void switch_channel_process_export(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_export_variable_printf___")]
  public static extern int switch_channel_export_variable_printf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_scope_variables___")]
  public static extern void switch_channel_set_scope_variables(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_scope_variables___")]
  public static extern int switch_channel_get_scope_variables(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_variable_dup___")]
  public static extern string switch_channel_get_variable_dup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_variable_strdup___")]
  public static extern string switch_channel_get_variable_strdup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_variable_buf___")]
  public static extern int switch_channel_get_variable_buf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_variables___")]
  public static extern int switch_channel_get_variables(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_variables_prefix___")]
  public static extern int switch_channel_get_variables_prefix(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_pass_callee_id___")]
  public static extern int switch_channel_pass_callee_id(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_var_false___")]
  public static extern int switch_channel_var_false(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_var_true___")]
  public static extern int switch_channel_var_true(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_variable_first___")]
  public static extern global::System.IntPtr switch_channel_variable_first(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_variable_last___")]
  public static extern void switch_channel_variable_last(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_restart___")]
  public static extern void switch_channel_restart(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_caller_extension_masquerade___")]
  public static extern int switch_channel_caller_extension_masquerade(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_caller_extension___")]
  public static extern void switch_channel_set_caller_extension(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_invert_cid___")]
  public static extern void switch_channel_invert_cid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_flip_cid___")]
  public static extern void switch_channel_flip_cid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_sort_cid___")]
  public static extern void switch_channel_sort_cid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_caller_extension___")]
  public static extern global::System.IntPtr switch_channel_get_caller_extension(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_test_flag___")]
  public static extern uint switch_channel_test_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_flag_value___")]
  public static extern void switch_channel_set_flag_value(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_flag_recursive___")]
  public static extern void switch_channel_set_flag_recursive(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_cap_value___")]
  public static extern void switch_channel_set_cap_value(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_cap___")]
  public static extern void switch_channel_clear_cap(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_test_cap___")]
  public static extern uint switch_channel_test_cap(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_test_cap_partner___")]
  public static extern uint switch_channel_test_cap_partner(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_flag_partner___")]
  public static extern int switch_channel_set_flag_partner(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_flag_partner___")]
  public static extern int switch_channel_clear_flag_partner(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_test_flag_partner___")]
  public static extern uint switch_channel_test_flag_partner(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_state_flag___")]
  public static extern void switch_channel_set_state_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_state_flag___")]
  public static extern void switch_channel_clear_state_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_flag___")]
  public static extern void switch_channel_clear_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_flag_recursive___")]
  public static extern void switch_channel_clear_flag_recursive(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_answer___")]
  public static extern int switch_channel_perform_answer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_mark_answered___")]
  public static extern int switch_channel_perform_mark_answered(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_acknowledge_call___")]
  public static extern int switch_channel_perform_acknowledge_call(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_ring_ready_value___")]
  public static extern int switch_channel_perform_ring_ready_value(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_pre_answer___")]
  public static extern int switch_channel_perform_pre_answer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_mark_pre_answered___")]
  public static extern int switch_channel_perform_mark_pre_answered(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_mark_ring_ready_value___")]
  public static extern int switch_channel_perform_mark_ring_ready_value(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_add_state_handler___")]
  public static extern int switch_channel_add_state_handler(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_state_handler___")]
  public static extern void switch_channel_clear_state_handler(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_state_handler___")]
  public static extern global::System.IntPtr switch_channel_get_state_handler(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_private___")]
  public static extern int switch_channel_set_private(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_private___")]
  public static extern global::System.IntPtr switch_channel_get_private(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_private_partner___")]
  public static extern global::System.IntPtr switch_channel_get_private_partner(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_name___")]
  public static extern int switch_channel_set_name(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_name___")]
  public static extern string switch_channel_get_name(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_hangup___")]
  public static extern int switch_channel_perform_hangup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_has_dtmf___")]
  public static extern global::System.IntPtr switch_channel_has_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_dtmf_lock___")]
  public static extern int switch_channel_dtmf_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_try_dtmf_lock___")]
  public static extern int switch_channel_try_dtmf_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_dtmf_unlock___")]
  public static extern int switch_channel_dtmf_unlock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_queue_dtmf___")]
  public static extern int switch_channel_queue_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_queue_dtmf_string___")]
  public static extern int switch_channel_queue_dtmf_string(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_dequeue_dtmf___")]
  public static extern int switch_channel_dequeue_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_flush_dtmf___")]
  public static extern void switch_channel_flush_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_dequeue_dtmf_string___")]
  public static extern global::System.IntPtr switch_channel_dequeue_dtmf_string(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_state_name___")]
  public static extern string switch_channel_state_name(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_name_state___")]
  public static extern int switch_channel_name_state(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_event_set_data___")]
  public static extern void switch_channel_event_set_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_event_set_basic_data___")]
  public static extern void switch_channel_event_set_basic_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_event_set_extended_data___")]
  public static extern void switch_channel_event_set_extended_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_expand_variables_check___")]
  public static extern string switch_channel_expand_variables_check(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, uint jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_build_param_string___")]
  public static extern string switch_channel_build_param_string(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_timestamps___")]
  public static extern int switch_channel_set_timestamps(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_audio_sync___")]
  public static extern void switch_channel_perform_audio_sync(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_video_sync___")]
  public static extern void switch_channel_perform_video_sync(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_private_flag___")]
  public static extern void switch_channel_set_private_flag(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_private_flag___")]
  public static extern void switch_channel_clear_private_flag(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_test_private_flag___")]
  public static extern int switch_channel_test_private_flag(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_app_flag_key___")]
  public static extern void switch_channel_set_app_flag_key(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_app_flag_key___")]
  public static extern void switch_channel_clear_app_flag_key(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_test_app_flag_key___")]
  public static extern int switch_channel_test_app_flag_key(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_bridge_time___")]
  public static extern void switch_channel_set_bridge_time(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_hangup_time___")]
  public static extern void switch_channel_set_hangup_time(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_direction___")]
  public static extern int switch_channel_direction(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_logical_direction___")]
  public static extern int switch_channel_logical_direction(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_direction___")]
  public static extern void switch_channel_set_direction(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_session___")]
  public static extern global::System.IntPtr switch_channel_get_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_flag_string___")]
  public static extern string switch_channel_get_flag_string(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_cap_string___")]
  public static extern string switch_channel_get_cap_string(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_state_change_pending___")]
  public static extern int switch_channel_state_change_pending(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_perform_set_callstate___")]
  public static extern void switch_channel_perform_set_callstate(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_callstate___")]
  public static extern int switch_channel_get_callstate(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_callstate2str___")]
  public static extern string switch_channel_callstate2str(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_str2callstate___")]
  public static extern int switch_channel_str2callstate(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_mark_hold___")]
  public static extern void switch_channel_mark_hold(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_execute_on___")]
  public static extern int switch_channel_execute_on(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_execute_on_value___")]
  public static extern int switch_channel_execute_on_value(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_api_on___")]
  public static extern int switch_channel_api_on(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_process_device_hangup___")]
  public static extern void switch_channel_process_device_hangup(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_queued_extension___")]
  public static extern global::System.IntPtr switch_channel_get_queued_extension(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_transfer_to_extension___")]
  public static extern void switch_channel_transfer_to_extension(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_partner_uuid___")]
  public static extern string switch_channel_get_partner_uuid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_partner_uuid_copy___")]
  public static extern string switch_channel_get_partner_uuid_copy(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_hold_record___")]
  public static extern global::System.IntPtr switch_channel_get_hold_record(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_state_thread_lock___")]
  public static extern void switch_channel_state_thread_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_state_thread_unlock___")]
  public static extern void switch_channel_state_thread_unlock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_state_thread_trylock___")]
  public static extern int switch_channel_state_thread_trylock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_handle_cause___")]
  public static extern void switch_channel_handle_cause(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_global_init___")]
  public static extern void switch_channel_global_init(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_global_uninit___")]
  public static extern void switch_channel_global_uninit();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_set_device_id___")]
  public static extern string switch_channel_set_device_id(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_clear_device_record___")]
  public static extern void switch_channel_clear_device_record(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_get_device_record___")]
  public static extern global::System.IntPtr switch_channel_get_device_record(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_release_device_record___")]
  public static extern void switch_channel_release_device_record(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_bind_device_state_handler___")]
  public static extern int switch_channel_bind_device_state_handler(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_unbind_device_state_handler___")]
  public static extern int switch_channel_unbind_device_state_handler(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_device_state2str___")]
  public static extern string switch_channel_device_state2str(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_channel_pass_sdp___")]
  public static extern int switch_channel_pass_sdp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_create_partition___")]
  public static extern int switch_buffer_create_partition(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_set_partition_data___")]
  public static extern int switch_buffer_set_partition_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_reset_partition_data___")]
  public static extern int switch_buffer_reset_partition_data(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_create___")]
  public static extern int switch_buffer_create(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_create_dynamic___")]
  public static extern int switch_buffer_create_dynamic(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_add_mutex___")]
  public static extern void switch_buffer_add_mutex(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_lock___")]
  public static extern void switch_buffer_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_trylock___")]
  public static extern int switch_buffer_trylock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_unlock___")]
  public static extern void switch_buffer_unlock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_len___")]
  public static extern global::System.IntPtr switch_buffer_len(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_freespace___")]
  public static extern global::System.IntPtr switch_buffer_freespace(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_inuse___")]
  public static extern global::System.IntPtr switch_buffer_inuse(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_read___")]
  public static extern global::System.IntPtr switch_buffer_read(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_peek___")]
  public static extern global::System.IntPtr switch_buffer_peek(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_peek_zerocopy___")]
  public static extern global::System.IntPtr switch_buffer_peek_zerocopy(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_read_loop___")]
  public static extern global::System.IntPtr switch_buffer_read_loop(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_set_loops___")]
  public static extern void switch_buffer_set_loops(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_write___")]
  public static extern global::System.IntPtr switch_buffer_write(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_toss___")]
  public static extern global::System.IntPtr switch_buffer_toss(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_zero___")]
  public static extern void switch_buffer_zero(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_slide_write___")]
  public static extern global::System.IntPtr switch_buffer_slide_write(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_destroy___")]
  public static extern void switch_buffer_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_zwrite___")]
  public static extern global::System.IntPtr switch_buffer_zwrite(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_buffer_get_head_pointer___")]
  public static extern global::System.IntPtr switch_buffer_get_head_pointer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_name_set___")]
  public static extern void switch_event_header_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_name_get___")]
  public static extern string switch_event_header_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_value_set___")]
  public static extern void switch_event_header_value_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_value_get___")]
  public static extern string switch_event_header_value_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_array_set___")]
  public static extern void switch_event_header_array_set(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_array_get___")]
  public static extern string switch_event_header_array_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_idx_set___")]
  public static extern void switch_event_header_idx_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_idx_get___")]
  public static extern int switch_event_header_idx_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_hash_set___")]
  public static extern void switch_event_header_hash_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_hash_get___")]
  public static extern uint switch_event_header_hash_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_next_set___")]
  public static extern void switch_event_header_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_header_next_get___")]
  public static extern global::System.IntPtr switch_event_header_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_event_header___")]
  public static extern global::System.IntPtr new_switch_event_header();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_event_header___")]
  public static extern void delete_switch_event_header(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_event_id_set___")]
  public static extern void switch_event_event_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_event_id_get___")]
  public static extern int switch_event_event_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_priority_set___")]
  public static extern void switch_event_priority_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_priority_get___")]
  public static extern int switch_event_priority_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_owner_set___")]
  public static extern void switch_event_owner_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_owner_get___")]
  public static extern string switch_event_owner_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_subclass_name_set___")]
  public static extern void switch_event_subclass_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_subclass_name_get___")]
  public static extern string switch_event_subclass_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_headers_set___")]
  public static extern void switch_event_headers_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_headers_get___")]
  public static extern global::System.IntPtr switch_event_headers_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_last_header_set___")]
  public static extern void switch_event_last_header_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_last_header_get___")]
  public static extern global::System.IntPtr switch_event_last_header_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_body_set___")]
  public static extern void switch_event_body_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_body_get___")]
  public static extern string switch_event_body_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_bind_user_data_set___")]
  public static extern void switch_event_bind_user_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_bind_user_data_get___")]
  public static extern global::System.IntPtr switch_event_bind_user_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_event_user_data_set___")]
  public static extern void switch_event_event_user_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_event_user_data_get___")]
  public static extern global::System.IntPtr switch_event_event_user_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_key_set___")]
  public static extern void switch_event_key_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_key_get___")]
  public static extern uint switch_event_key_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_next_set___")]
  public static extern void switch_event_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_next_get___")]
  public static extern global::System.IntPtr switch_event_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_flags_set___")]
  public static extern void switch_event_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_flags_get___")]
  public static extern int switch_event_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_event___")]
  public static extern global::System.IntPtr new_switch_event();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_event___")]
  public static extern void delete_switch_event(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_event_id_set___")]
  public static extern void switch_serial_event_t_event_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_event_id_get___")]
  public static extern int switch_serial_event_t_event_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_priority_set___")]
  public static extern void switch_serial_event_t_priority_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_priority_get___")]
  public static extern int switch_serial_event_t_priority_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_flags_set___")]
  public static extern void switch_serial_event_t_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_flags_get___")]
  public static extern int switch_serial_event_t_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_owner_set___")]
  public static extern void switch_serial_event_t_owner_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_owner_get___")]
  public static extern string switch_serial_event_t_owner_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_subclass_name_set___")]
  public static extern void switch_serial_event_t_subclass_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_subclass_name_get___")]
  public static extern string switch_serial_event_t_subclass_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_body_set___")]
  public static extern void switch_serial_event_t_body_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_t_body_get___")]
  public static extern string switch_serial_event_t_body_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_serial_event_t___")]
  public static extern global::System.IntPtr new_switch_serial_event_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_serial_event_t___")]
  public static extern void delete_switch_serial_event_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_header_t_name_set___")]
  public static extern void switch_serial_event_header_t_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_header_t_name_get___")]
  public static extern string switch_serial_event_header_t_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_header_t_value_set___")]
  public static extern void switch_serial_event_header_t_value_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_serial_event_header_t_value_get___")]
  public static extern string switch_serial_event_header_t_value_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_serial_event_header_t___")]
  public static extern global::System.IntPtr new_switch_serial_event_header_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_serial_event_header_t___")]
  public static extern void delete_switch_serial_event_header_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_init___")]
  public static extern int switch_event_init(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_shutdown___")]
  public static extern int switch_event_shutdown();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_create_subclass_detailed___")]
  public static extern int switch_event_create_subclass_detailed(string jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5, string jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_set_priority___")]
  public static extern int switch_event_set_priority(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_get_header_ptr___")]
  public static extern global::System.IntPtr switch_event_get_header_ptr(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_get_header_idx___")]
  public static extern string switch_event_get_header_idx(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_rename_header___")]
  public static extern int switch_event_rename_header(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_get_body___")]
  public static extern string switch_event_get_body(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_set_subclass_name___")]
  public static extern int switch_event_set_subclass_name(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_add_header_string___")]
  public static extern int switch_event_add_header_string(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_add_header_string_nodup___")]
  public static extern int switch_event_add_header_string_nodup(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_del_header_val___")]
  public static extern int switch_event_del_header_val(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_add_array___")]
  public static extern int switch_event_add_array(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_destroy___")]
  public static extern void switch_event_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_dup___")]
  public static extern int switch_event_dup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_merge___")]
  public static extern void switch_event_merge(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_dup_reply___")]
  public static extern int switch_event_dup_reply(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_fire_detailed___")]
  public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_prep_for_delivery_detailed___")]
  public static extern void switch_event_prep_for_delivery_detailed(string jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_bind___")]
  public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_get_custom_events___")]
  public static extern int switch_event_get_custom_events(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_bind_removable___")]
  public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_unbind___")]
  public static extern int switch_event_unbind(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_unbind_callback___")]
  public static extern int switch_event_unbind_callback(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_name___")]
  public static extern string switch_event_name(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_name_event___")]
  public static extern int switch_name_event(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_reserve_subclass_detailed___")]
  public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_free_subclass_detailed___")]
  public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_binary_deserialize___")]
  public static extern int switch_event_binary_deserialize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_binary_serialize___")]
  public static extern int switch_event_binary_serialize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_serialize___")]
  public static extern int switch_event_serialize(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_serialize_json___")]
  public static extern int switch_event_serialize_json(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_serialize_json_obj___")]
  public static extern int switch_event_serialize_json_obj(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_create_json___")]
  public static extern int switch_event_create_json(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_create_brackets___")]
  public static extern int switch_event_create_brackets(string jarg1, char jarg2, char jarg3, char jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, ref string jarg6, int jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_create_array_pair___")]
  public static extern int switch_event_create_array_pair(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2, ref string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_running___")]
  public static extern int switch_event_running();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_set_body___")]
  public static extern int switch_event_set_body(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_expand_headers_check___")]
  public static extern string switch_event_expand_headers_check(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, uint jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_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);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_create_plain___")]
  public static extern int switch_event_create_plain(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_deliver___")]
  public static extern void switch_event_deliver(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_build_param_string___")]
  public static extern string switch_event_build_param_string(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_check_permission_list___")]
  public static extern int switch_event_check_permission_list(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_add_presence_data_cols___")]
  public static extern void switch_event_add_presence_data_cols(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_json_add_presence_data_cols___")]
  public static extern void switch_json_add_presence_data_cols(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_launch_dispatch_threads___")]
  public static extern void switch_event_launch_dispatch_threads(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_channel_broadcast___")]
  public static extern int switch_event_channel_broadcast(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_channel_deliver___")]
  public static extern int switch_event_channel_deliver(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_channel_unbind___")]
  public static extern uint switch_event_channel_unbind(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_channel_bind___")]
  public static extern int switch_event_channel_bind(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_NO_EVENT_CHANNEL_ID_get___")]
  public static extern int NO_EVENT_CHANNEL_ID_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_EVENT_CHANNEL_GLOBAL_get___")]
  public static extern string SWITCH_EVENT_CHANNEL_GLOBAL_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_clear___")]
  public static extern int switch_live_array_clear(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_bootstrap___")]
  public static extern int switch_live_array_bootstrap(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_destroy___")]
  public static extern int switch_live_array_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_create___")]
  public static extern int switch_live_array_create(string jarg1, string jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_get___")]
  public static extern global::System.IntPtr switch_live_array_get(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_get_idx___")]
  public static extern global::System.IntPtr switch_live_array_get_idx(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_del___")]
  public static extern int switch_live_array_del(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_add___")]
  public static extern int switch_live_array_add(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_visible___")]
  public static extern int switch_live_array_visible(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_isnew___")]
  public static extern int switch_live_array_isnew(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_lock___")]
  public static extern void switch_live_array_lock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_unlock___")]
  public static extern void switch_live_array_unlock(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_set_user_data___")]
  public static extern void switch_live_array_set_user_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_set_command_handler___")]
  public static extern void switch_live_array_set_command_handler(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_parse_json___")]
  public static extern void switch_live_array_parse_json(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_add_alias___")]
  public static extern int switch_live_array_add_alias(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_live_array_clear_alias___")]
  public static extern int switch_live_array_clear_alias(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_channel_permission_verify___")]
  public static extern int switch_event_channel_permission_verify(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_channel_permission_modify___")]
  public static extern void switch_event_channel_permission_modify(string jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_event_channel_permission_clear___")]
  public static extern void switch_event_channel_permission_clear(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_GRANULAR_VOLUME_MAX_get___")]
  public static extern int SWITCH_GRANULAR_VOLUME_MAX_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RESAMPLE_QUALITY_get___")]
  public static extern int SWITCH_RESAMPLE_QUALITY_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_resampler_set___")]
  public static extern void switch_audio_resampler_t_resampler_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_resampler_get___")]
  public static extern global::System.IntPtr switch_audio_resampler_t_resampler_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_from_rate_set___")]
  public static extern void switch_audio_resampler_t_from_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_from_rate_get___")]
  public static extern int switch_audio_resampler_t_from_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_rate_set___")]
  public static extern void switch_audio_resampler_t_to_rate_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_rate_get___")]
  public static extern int switch_audio_resampler_t_to_rate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_factor_set___")]
  public static extern void switch_audio_resampler_t_factor_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_factor_get___")]
  public static extern double switch_audio_resampler_t_factor_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_rfactor_set___")]
  public static extern void switch_audio_resampler_t_rfactor_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_rfactor_get___")]
  public static extern double switch_audio_resampler_t_rfactor_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_set___")]
  public static extern void switch_audio_resampler_t_to_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_get___")]
  public static extern global::System.IntPtr switch_audio_resampler_t_to_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_len_set___")]
  public static extern void switch_audio_resampler_t_to_len_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_len_get___")]
  public static extern uint switch_audio_resampler_t_to_len_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_size_set___")]
  public static extern void switch_audio_resampler_t_to_size_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_to_size_get___")]
  public static extern uint switch_audio_resampler_t_to_size_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_channels_set___")]
  public static extern void switch_audio_resampler_t_channels_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_audio_resampler_t_channels_get___")]
  public static extern int switch_audio_resampler_t_channels_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_audio_resampler_t___")]
  public static extern global::System.IntPtr new_switch_audio_resampler_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_audio_resampler_t___")]
  public static extern void delete_switch_audio_resampler_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_resample_perform_create___")]
  public static extern int switch_resample_perform_create(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, int jarg5, uint jarg6, string jarg7, string jarg8, int jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_resample_destroy___")]
  public static extern void switch_resample_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_resample_process___")]
  public static extern uint switch_resample_process(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_float_to_short___")]
  public static extern global::System.IntPtr switch_float_to_short(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_char_to_float___")]
  public static extern int switch_char_to_float(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_float_to_char___")]
  public static extern int switch_float_to_char(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_short_to_float___")]
  public static extern int switch_short_to_float(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_swap_linear___")]
  public static extern void switch_swap_linear(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_generate_sln_silence___")]
  public static extern void switch_generate_sln_silence(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_change_sln_volume___")]
  public static extern void switch_change_sln_volume(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_change_sln_volume_granular___")]
  public static extern void switch_change_sln_volume_granular(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_merge_sln___")]
  public static extern uint switch_merge_sln(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, uint jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unmerge_sln___")]
  public static extern uint switch_unmerge_sln(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, uint jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_mux_channels___")]
  public static extern void switch_mux_channels(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_agc_set___")]
  public static extern void switch_agc_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, uint jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_agc_create___")]
  public static extern int switch_agc_create(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, uint jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_agc_destroy___")]
  public static extern void switch_agc_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_agc_feed___")]
  public static extern int switch_agc_feed(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_agc_set_energy_avg___")]
  public static extern void switch_agc_set_energy_avg(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_agc_set_energy_low___")]
  public static extern void switch_agc_set_energy_low(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_agc_set_token___")]
  public static extern void switch_agc_set_token(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_session_set___")]
  public static extern void switch_unicast_conninfo_session_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_session_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_session_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_read_codec_set___")]
  public static extern void switch_unicast_conninfo_read_codec_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_read_codec_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_read_codec_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_set___")]
  public static extern void switch_unicast_conninfo_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_data_set___")]
  public static extern void switch_unicast_conninfo_write_frame_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_write_frame_data_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_write_frame_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_socket_set___")]
  public static extern void switch_unicast_conninfo_socket_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_socket_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_socket_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_ip_set___")]
  public static extern void switch_unicast_conninfo_local_ip_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_ip_get___")]
  public static extern string switch_unicast_conninfo_local_ip_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_port_set___")]
  public static extern void switch_unicast_conninfo_local_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_port_get___")]
  public static extern ushort switch_unicast_conninfo_local_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_ip_set___")]
  public static extern void switch_unicast_conninfo_remote_ip_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_ip_get___")]
  public static extern string switch_unicast_conninfo_remote_ip_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_port_set___")]
  public static extern void switch_unicast_conninfo_remote_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_port_get___")]
  public static extern ushort switch_unicast_conninfo_remote_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_addr_set___")]
  public static extern void switch_unicast_conninfo_local_addr_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_local_addr_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_local_addr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_addr_set___")]
  public static extern void switch_unicast_conninfo_remote_addr_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_remote_addr_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_remote_addr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flag_mutex_set___")]
  public static extern void switch_unicast_conninfo_flag_mutex_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flag_mutex_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_flag_mutex_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flags_set___")]
  public static extern void switch_unicast_conninfo_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_flags_get___")]
  public static extern int switch_unicast_conninfo_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_type_set___")]
  public static extern void switch_unicast_conninfo_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_type_get___")]
  public static extern int switch_unicast_conninfo_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_transport_set___")]
  public static extern void switch_unicast_conninfo_transport_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_transport_get___")]
  public static extern int switch_unicast_conninfo_transport_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_stream_id_set___")]
  public static extern void switch_unicast_conninfo_stream_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_stream_id_get___")]
  public static extern int switch_unicast_conninfo_stream_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_thread_set___")]
  public static extern void switch_unicast_conninfo_thread_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_unicast_conninfo_thread_get___")]
  public static extern global::System.IntPtr switch_unicast_conninfo_thread_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_unicast_conninfo___")]
  public static extern global::System.IntPtr new_switch_unicast_conninfo();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_unicast_conninfo___")]
  public static extern void delete_switch_unicast_conninfo(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_deactivate_unicast___")]
  public static extern int switch_ivr_deactivate_unicast(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_activate_unicast___")]
  public static extern int switch_ivr_activate_unicast(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_generate_json_cdr___")]
  public static extern int switch_ivr_generate_json_cdr(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_generate_xml_cdr___")]
  public static extern int switch_ivr_generate_xml_cdr(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_set_xml_profile_data___")]
  public static extern int switch_ivr_set_xml_profile_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_set_xml_chan_vars___")]
  public static extern int switch_ivr_set_xml_chan_vars(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_parse_event___")]
  public static extern int switch_ivr_parse_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_parse_all_events___")]
  public static extern int switch_ivr_parse_all_events(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_parse_next_event___")]
  public static extern int switch_ivr_parse_next_event(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_parse_all_messages___")]
  public static extern int switch_ivr_parse_all_messages(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_parse_all_signal_data___")]
  public static extern int switch_ivr_parse_all_signal_data(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_parse_signal_data___")]
  public static extern int switch_ivr_parse_signal_data(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_parse_next_signal_data___")]
  public static extern int switch_ivr_parse_next_signal_data(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_process_indications___")]
  public static extern int switch_ivr_process_indications(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_sleep___")]
  public static extern int switch_ivr_sleep(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_park___")]
  public static extern int switch_ivr_park(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_collect_digits_callback___")]
  public static extern int switch_ivr_collect_digits_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_collect_digits_count___")]
  public static extern int switch_ivr_collect_digits_count(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_play_and_detect_speech___")]
  public static extern int switch_ivr_play_and_detect_speech(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, ref string jarg5, uint jarg6, global::System.Runtime.InteropServices.HandleRef jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_init___")]
  public static extern int switch_ivr_detect_speech_init(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech___")]
  public static extern int switch_ivr_detect_speech(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_detect_speech___")]
  public static extern int switch_ivr_stop_detect_speech(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_pause_detect_speech___")]
  public static extern int switch_ivr_pause_detect_speech(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_resume_detect_speech___")]
  public static extern int switch_ivr_resume_detect_speech(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_load_grammar___")]
  public static extern int switch_ivr_detect_speech_load_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_unload_grammar___")]
  public static extern int switch_ivr_detect_speech_unload_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_enable_grammar___")]
  public static extern int switch_ivr_detect_speech_enable_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_disable_grammar___")]
  public static extern int switch_ivr_detect_speech_disable_grammar(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_disable_all_grammars___")]
  public static extern int switch_ivr_detect_speech_disable_all_grammars(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_set_param_detect_speech___")]
  public static extern int switch_ivr_set_param_detect_speech(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_speech_start_input_timers___")]
  public static extern int switch_ivr_detect_speech_start_input_timers(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_record_session___")]
  public static extern int switch_ivr_record_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_record_session_event___")]
  public static extern int switch_ivr_record_session_event(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_transfer_recordings___")]
  public static extern int switch_ivr_transfer_recordings(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_pop_eavesdropper___")]
  public static extern int switch_ivr_eavesdrop_pop_eavesdropper(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_exec_all___")]
  public static extern int switch_ivr_eavesdrop_exec_all(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_update_display___")]
  public static extern int switch_ivr_eavesdrop_update_display(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_eavesdrop_session___")]
  public static extern int switch_ivr_eavesdrop_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_displace_session___")]
  public static extern int switch_ivr_displace_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, uint jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_displace_session___")]
  public static extern int switch_ivr_stop_displace_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_record_session___")]
  public static extern int switch_ivr_stop_record_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_session_audio___")]
  public static extern int switch_ivr_session_audio(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_session_audio___")]
  public static extern int switch_ivr_stop_session_audio(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_inband_dtmf_session___")]
  public static extern int switch_ivr_inband_dtmf_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_inband_dtmf_session___")]
  public static extern int switch_ivr_stop_inband_dtmf_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_inband_dtmf_generate_session___")]
  public static extern int switch_ivr_inband_dtmf_generate_session(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_inband_dtmf_generate_session___")]
  public static extern int switch_ivr_stop_inband_dtmf_generate_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_session_echo___")]
  public static extern int switch_ivr_session_echo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_tone_detect_session___")]
  public static extern int switch_ivr_stop_tone_detect_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_tone_detect_session___")]
  public static extern int switch_ivr_tone_detect_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, int jarg6, string jarg7, string jarg8, global::System.Runtime.InteropServices.HandleRef jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_play_file___")]
  public static extern int switch_ivr_play_file(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_audio___")]
  public static extern int switch_ivr_detect_audio(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_detect_silence___")]
  public static extern int switch_ivr_detect_silence(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_wait_for_silence___")]
  public static extern int switch_ivr_wait_for_silence(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_gentones___")]
  public static extern int switch_ivr_gentones(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_record_file___")]
  public static extern int switch_ivr_record_file(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, uint jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_record_file_event___")]
  public static extern int switch_ivr_record_file_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_play_and_get_digits___")]
  public static extern int switch_play_and_get_digits(global::System.Runtime.InteropServices.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);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_speak_text_handle___")]
  public static extern int switch_ivr_speak_text_handle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, string jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_clear_speech_cache___")]
  public static extern void switch_ivr_clear_speech_cache(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_speak_text___")]
  public static extern int switch_ivr_speak_text(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_originate___")]
  public static extern int switch_ivr_originate(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, string jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, string jarg7, string jarg8, global::System.Runtime.InteropServices.HandleRef jarg9, global::System.Runtime.InteropServices.HandleRef jarg10, uint jarg11, global::System.Runtime.InteropServices.HandleRef jarg12, global::System.Runtime.InteropServices.HandleRef jarg13);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_enterprise_originate___")]
  public static extern int switch_ivr_enterprise_originate(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, string jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, string jarg7, string jarg8, global::System.Runtime.InteropServices.HandleRef jarg9, global::System.Runtime.InteropServices.HandleRef jarg10, uint jarg11, global::System.Runtime.InteropServices.HandleRef jarg12, global::System.Runtime.InteropServices.HandleRef jarg13);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_bridge_display___")]
  public static extern void switch_ivr_bridge_display(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_multi_threaded_bridge___")]
  public static extern int switch_ivr_multi_threaded_bridge(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_bridge_bleg___")]
  public static extern int switch_ivr_bridge_bleg(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_signal_bridge___")]
  public static extern int switch_ivr_signal_bridge(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_check_hold___")]
  public static extern void switch_ivr_check_hold(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_session_transfer___")]
  public static extern int switch_ivr_session_transfer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_schedule_transfer___")]
  public static extern uint switch_ivr_schedule_transfer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_schedule_hangup___")]
  public static extern uint switch_ivr_schedule_hangup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_uuid_bridge___")]
  public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_media___")]
  public static extern int switch_ivr_media(string jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_3p_media___")]
  public static extern int switch_ivr_3p_media(string jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_nomedia___")]
  public static extern int switch_ivr_nomedia(string jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_3p_nomedia___")]
  public static extern int switch_ivr_3p_nomedia(string jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_bg_media___")]
  public static extern void switch_ivr_bg_media(string jarg1, uint jarg2, int jarg3, int jarg4, uint jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_hold_uuid___")]
  public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_hold_toggle_uuid___")]
  public static extern int switch_ivr_hold_toggle_uuid(string jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_unhold_uuid___")]
  public static extern int switch_ivr_unhold_uuid(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_hold___")]
  public static extern int switch_ivr_hold(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_unhold___")]
  public static extern int switch_ivr_unhold(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_schedule_broadcast___")]
  public static extern uint switch_ivr_schedule_broadcast(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_broadcast___")]
  public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_broadcast_in_thread___")]
  public static extern void switch_ivr_broadcast_in_thread(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_transfer_variable___")]
  public static extern int switch_ivr_transfer_variable(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_new___")]
  public static extern int switch_ivr_digit_stream_parser_new(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_destroy___")]
  public static extern int switch_ivr_digit_stream_parser_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_new___")]
  public static extern int switch_ivr_digit_stream_new(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_destroy___")]
  public static extern int switch_ivr_digit_stream_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_set_event___")]
  public static extern int switch_ivr_digit_stream_parser_set_event(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_del_event___")]
  public static extern int switch_ivr_digit_stream_parser_del_event(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_feed___")]
  public static extern global::System.IntPtr switch_ivr_digit_stream_parser_feed(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, char jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_reset___")]
  public static extern int switch_ivr_digit_stream_reset(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_digit_stream_parser_set_terminator___")]
  public static extern int switch_ivr_digit_stream_parser_set_terminator(global::System.Runtime.InteropServices.HandleRef jarg1, char jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_init___")]
  public static extern int switch_ivr_menu_init(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.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, global::System.Runtime.InteropServices.HandleRef jarg19);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_bind_action___")]
  public static extern int switch_ivr_menu_bind_action(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_bind_function___")]
  public static extern int switch_ivr_menu_bind_function(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_execute___")]
  public static extern int switch_ivr_menu_execute(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_free___")]
  public static extern int switch_ivr_menu_stack_free(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_xml_build___")]
  public static extern int switch_ivr_menu_stack_xml_build(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_str2action___")]
  public static extern int switch_ivr_menu_str2action(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_xml_add_custom___")]
  public static extern int switch_ivr_menu_stack_xml_add_custom(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_menu_stack_xml_init___")]
  public static extern int switch_ivr_menu_stack_xml_init(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_phrase_macro_event___")]
  public static extern int switch_ivr_phrase_macro_event(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, string jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_delay_echo___")]
  public static extern void switch_ivr_delay_echo(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_find_bridged_uuid___")]
  public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_intercept_session___")]
  public static extern int switch_ivr_intercept_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_park_session___")]
  public static extern void switch_ivr_park_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_wait_for_answer___")]
  public static extern int switch_ivr_wait_for_answer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_read___")]
  public static extern int switch_ivr_read(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, uint jarg8, string jarg9, uint jarg10);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_block_dtmf_session___")]
  public static extern int switch_ivr_block_dtmf_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_unblock_dtmf_session___")]
  public static extern int switch_ivr_unblock_dtmf_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_bind_dtmf_meta_session___")]
  public static extern int switch_ivr_bind_dtmf_meta_session(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_unbind_dtmf_meta_session___")]
  public static extern int switch_ivr_unbind_dtmf_meta_session(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_soft_hold___")]
  public static extern int switch_ivr_soft_hold(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_say___")]
  public static extern int switch_ivr_say(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, global::System.Runtime.InteropServices.HandleRef jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_say_string___")]
  public static extern int switch_ivr_say_string(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, ref string jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_get_say_method_by_name___")]
  public static extern int switch_ivr_get_say_method_by_name(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_get_say_gender_by_name___")]
  public static extern int switch_ivr_get_say_gender_by_name(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_get_say_type_by_name___")]
  public static extern int switch_ivr_get_say_type_by_name(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_say_spell___")]
  public static extern int switch_ivr_say_spell(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_say_ip___")]
  public static extern int switch_ivr_say_ip(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_set_user___")]
  public static extern int switch_ivr_set_user(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_set_user_extended___")]
  public static extern int switch_ivr_set_user_extended(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_set_user_xml___")]
  public static extern int switch_ivr_set_user_xml(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_sound_test___")]
  public static extern int switch_ivr_sound_test(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_process_import___")]
  public static extern void switch_process_import(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_uuid_exists___")]
  public static extern int switch_ivr_uuid_exists(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_uuid_force_exists___")]
  public static extern int switch_ivr_uuid_force_exists(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_is_parsing___")]
  public static extern int switch_ivr_dmachine_is_parsing(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_last_ping___")]
  public static extern int switch_ivr_dmachine_last_ping(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_name___")]
  public static extern string switch_ivr_dmachine_get_name(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_match_callback___")]
  public static extern void switch_ivr_dmachine_set_match_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_nonmatch_callback___")]
  public static extern void switch_ivr_dmachine_set_nonmatch_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_create___")]
  public static extern int switch_ivr_dmachine_create(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, uint jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_destroy___")]
  public static extern void switch_ivr_dmachine_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_bind___")]
  public static extern int switch_ivr_dmachine_bind(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, byte jarg4, int jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_feed___")]
  public static extern int switch_ivr_dmachine_feed(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_clear___")]
  public static extern int switch_ivr_dmachine_clear(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_ping___")]
  public static extern int switch_ivr_dmachine_ping(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_match___")]
  public static extern global::System.IntPtr switch_ivr_dmachine_get_match(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_get_failed_digits___")]
  public static extern string switch_ivr_dmachine_get_failed_digits(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_digit_timeout_ms___")]
  public static extern void switch_ivr_dmachine_set_digit_timeout_ms(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_input_timeout_ms___")]
  public static extern void switch_ivr_dmachine_set_input_timeout_ms(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_clear_realm___")]
  public static extern int switch_ivr_dmachine_clear_realm(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_dmachine_set_realm___")]
  public static extern int switch_ivr_dmachine_set_realm(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_get_file_handle___")]
  public static extern int switch_ivr_get_file_handle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_release_file_handle___")]
  public static extern int switch_ivr_release_file_handle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_process_fh___")]
  public static extern int switch_ivr_process_fh(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_insert_file___")]
  public static extern int switch_ivr_insert_file(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_create_message_reply___")]
  public static extern int switch_ivr_create_message_reply(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_check_presence_mapping___")]
  public static extern string switch_ivr_check_presence_mapping(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_kill_uuid___")]
  public static extern int switch_ivr_kill_uuid(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_blind_transfer_ack___")]
  public static extern int switch_ivr_blind_transfer_ack(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_record_session_mask___")]
  public static extern int switch_ivr_record_session_mask(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_record_session_pause___")]
  public static extern int switch_ivr_record_session_pause(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_stop_video_write_overlay_session___")]
  public static extern int switch_ivr_stop_video_write_overlay_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_video_write_overlay_session___")]
  public static extern int switch_ivr_video_write_overlay_session(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, byte jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_capture_text___")]
  public static extern int switch_ivr_capture_text(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_create___")]
  public static extern int switch_dial_handle_create(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_create_json_obj___")]
  public static extern int switch_dial_handle_create_json_obj(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_create_json___")]
  public static extern int switch_dial_handle_create_json(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_destroy___")]
  public static extern void switch_dial_handle_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_serialize_json_obj___")]
  public static extern int switch_dial_handle_serialize_json_obj(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_serialize_json___")]
  public static extern int switch_dial_handle_serialize_json(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_add_leg_list___")]
  public static extern void switch_dial_handle_add_leg_list(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_leg_list_add_leg___")]
  public static extern void switch_dial_leg_list_add_leg(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_leg_list_add_leg_printf___")]
  public static extern void switch_dial_leg_list_add_leg_printf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_add_global_var___")]
  public static extern void switch_dial_handle_add_global_var(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_add_global_var_printf___")]
  public static extern void switch_dial_handle_add_global_var_printf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_add_leg_var___")]
  public static extern int switch_dial_handle_add_leg_var(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_add_leg_var_printf___")]
  public static extern int switch_dial_handle_add_leg_var_printf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_get_peers___")]
  public static extern int switch_dial_handle_get_peers(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, ref string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_get_vars___")]
  public static extern int switch_dial_handle_get_vars(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_get_global_vars___")]
  public static extern global::System.IntPtr switch_dial_handle_get_global_vars(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_leg_get_vars___")]
  public static extern global::System.IntPtr switch_dial_leg_get_vars(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_leg_get_var___")]
  public static extern string switch_dial_leg_get_var(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_get_total___")]
  public static extern int switch_dial_handle_get_total(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_serialize_json_obj___")]
  public static extern int switch_dial_handle_list_serialize_json_obj(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_serialize_json___")]
  public static extern int switch_dial_handle_list_serialize_json(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_create_json_obj___")]
  public static extern int switch_dial_handle_list_create_json_obj(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_create_json___")]
  public static extern int switch_dial_handle_list_create_json(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_create___")]
  public static extern int switch_dial_handle_list_create(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_create_handle___")]
  public static extern int switch_dial_handle_list_create_handle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_destroy___")]
  public static extern void switch_dial_handle_list_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_add_global_var___")]
  public static extern void switch_dial_handle_list_add_global_var(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_dial_handle_list_add_global_var_printf___")]
  public static extern void switch_dial_handle_list_add_global_var_printf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_enterprise_orig_and_bridge___")]
  public static extern int switch_ivr_enterprise_orig_and_bridge(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_orig_and_bridge___")]
  public static extern int switch_ivr_orig_and_bridge(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_send_prompt___")]
  public static extern int switch_ivr_send_prompt(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_ivr_play_and_collect_input___")]
  public static extern int switch_ivr_play_and_collect_input(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5, int jarg6, string jarg7, uint jarg8, global::System.Runtime.InteropServices.HandleRef jarg9, ref string jarg10, string jarg11, global::System.Runtime.InteropServices.HandleRef jarg12);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTP_MAX_BUF_LEN_get___")]
  public static extern int SWITCH_RTP_MAX_BUF_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTCP_MAX_BUF_LEN_get___")]
  public static extern int SWITCH_RTCP_MAX_BUF_LEN_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTP_MAX_BUF_LEN_WORDS_get___")]
  public static extern int SWITCH_RTP_MAX_BUF_LEN_WORDS_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTP_CRYPTO_KEY_80_get___")]
  public static extern string SWITCH_RTP_CRYPTO_KEY_80_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_RTP_BUNDLE_INTERNAL_PT_get___")]
  public static extern int SWITCH_RTP_BUNDLE_INTERNAL_PT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_header_set___")]
  public static extern void switch_rtp_packet_t_header_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_header_get___")]
  public static extern global::System.IntPtr switch_rtp_packet_t_header_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_body_set___")]
  public static extern void switch_rtp_packet_t_body_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_body_get___")]
  public static extern string switch_rtp_packet_t_body_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ext_set___")]
  public static extern void switch_rtp_packet_t_ext_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ext_get___")]
  public static extern global::System.IntPtr switch_rtp_packet_t_ext_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ebody_set___")]
  public static extern void switch_rtp_packet_t_ebody_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_packet_t_ebody_get___")]
  public static extern string switch_rtp_packet_t_ebody_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtp_packet_t___")]
  public static extern global::System.IntPtr new_switch_rtp_packet_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtp_packet_t___")]
  public static extern void delete_switch_rtp_packet_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_name_set___")]
  public static extern void switch_srtp_crypto_suite_t_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_name_get___")]
  public static extern string switch_srtp_crypto_suite_t_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_alias_set___")]
  public static extern void switch_srtp_crypto_suite_t_alias_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_alias_get___")]
  public static extern string switch_srtp_crypto_suite_t_alias_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_type_set___")]
  public static extern void switch_srtp_crypto_suite_t_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_type_get___")]
  public static extern int switch_srtp_crypto_suite_t_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_keysalt_len_set___")]
  public static extern void switch_srtp_crypto_suite_t_keysalt_len_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_keysalt_len_get___")]
  public static extern int switch_srtp_crypto_suite_t_keysalt_len_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_salt_len_set___")]
  public static extern void switch_srtp_crypto_suite_t_salt_len_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_srtp_crypto_suite_t_salt_len_get___")]
  public static extern int switch_srtp_crypto_suite_t_salt_len_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_srtp_crypto_suite_t___")]
  public static extern global::System.IntPtr new_switch_srtp_crypto_suite_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_srtp_crypto_suite_t___")]
  public static extern void delete_switch_srtp_crypto_suite_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_index_set___")]
  public static extern void switch_rtp_crypto_key_index_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_index_get___")]
  public static extern uint switch_rtp_crypto_key_index_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_type_set___")]
  public static extern void switch_rtp_crypto_key_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_type_get___")]
  public static extern int switch_rtp_crypto_key_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keysalt_set___")]
  public static extern void switch_rtp_crypto_key_keysalt_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keysalt_get___")]
  public static extern global::System.IntPtr switch_rtp_crypto_key_keysalt_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keylen_set___")]
  public static extern void switch_rtp_crypto_key_keylen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_keylen_get___")]
  public static extern global::System.IntPtr switch_rtp_crypto_key_keylen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_next_set___")]
  public static extern void switch_rtp_crypto_key_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_next_get___")]
  public static extern global::System.IntPtr switch_rtp_crypto_key_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_rtp_crypto_key___")]
  public static extern global::System.IntPtr new_switch_rtp_crypto_key();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_rtp_crypto_key___")]
  public static extern void delete_switch_rtp_crypto_key(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_foundation_set___")]
  public static extern void icand_t_foundation_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_foundation_get___")]
  public static extern string icand_t_foundation_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_component_id_set___")]
  public static extern void icand_t_component_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_component_id_get___")]
  public static extern int icand_t_component_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_transport_set___")]
  public static extern void icand_t_transport_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_transport_get___")]
  public static extern string icand_t_transport_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_priority_set___")]
  public static extern void icand_t_priority_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_priority_get___")]
  public static extern uint icand_t_priority_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_con_addr_set___")]
  public static extern void icand_t_con_addr_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_con_addr_get___")]
  public static extern string icand_t_con_addr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_con_port_set___")]
  public static extern void icand_t_con_port_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_con_port_get___")]
  public static extern ushort icand_t_con_port_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_cand_type_set___")]
  public static extern void icand_t_cand_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_cand_type_get___")]
  public static extern string icand_t_cand_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_raddr_set___")]
  public static extern void icand_t_raddr_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_raddr_get___")]
  public static extern string icand_t_raddr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_rport_set___")]
  public static extern void icand_t_rport_set(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_rport_get___")]
  public static extern ushort icand_t_rport_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_generation_set___")]
  public static extern void icand_t_generation_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_generation_get___")]
  public static extern string icand_t_generation_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_ready_set___")]
  public static extern void icand_t_ready_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_ready_get___")]
  public static extern byte icand_t_ready_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_responsive_set___")]
  public static extern void icand_t_responsive_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_responsive_get___")]
  public static extern byte icand_t_responsive_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_use_candidate_set___")]
  public static extern void icand_t_use_candidate_set(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_icand_t_use_candidate_get___")]
  public static extern byte icand_t_use_candidate_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_icand_t___")]
  public static extern global::System.IntPtr new_icand_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_icand_t___")]
  public static extern void delete_icand_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MAX_CAND_get___")]
  public static extern int MAX_CAND_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_MAX_CAND_IDX_COUNT_get___")]
  public static extern int MAX_CAND_IDX_COUNT_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_cands_set___")]
  public static extern void ice_t_cands_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_cands_get___")]
  public static extern global::System.IntPtr ice_t_cands_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_cand_idx_set___")]
  public static extern void ice_t_cand_idx_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_cand_idx_get___")]
  public static extern global::System.IntPtr ice_t_cand_idx_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_chosen_set___")]
  public static extern void ice_t_chosen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_chosen_get___")]
  public static extern global::System.IntPtr ice_t_chosen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_is_chosen_set___")]
  public static extern void ice_t_is_chosen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_is_chosen_get___")]
  public static extern global::System.IntPtr ice_t_is_chosen_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_ufrag_set___")]
  public static extern void ice_t_ufrag_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_ufrag_get___")]
  public static extern string ice_t_ufrag_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_pwd_set___")]
  public static extern void ice_t_pwd_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_pwd_get___")]
  public static extern string ice_t_pwd_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_options_set___")]
  public static extern void ice_t_options_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ice_t_options_get___")]
  public static extern string ice_t_options_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_ice_t___")]
  public static extern global::System.IntPtr new_ice_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_ice_t___")]
  public static extern void delete_ice_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_add_crypto_key___")]
  public static extern int switch_rtp_add_crypto_key(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_random___")]
  public static extern void switch_rtp_get_random(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_init___")]
  public static extern void switch_rtp_init(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_shutdown___")]
  public static extern void switch_rtp_shutdown();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_start_port___")]
  public static extern ushort switch_rtp_set_start_port(ushort jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_ssrc___")]
  public static extern int switch_rtp_set_ssrc(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_remote_ssrc___")]
  public static extern int switch_rtp_set_remote_ssrc(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_end_port___")]
  public static extern ushort switch_rtp_set_end_port(ushort jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_request_port___")]
  public static extern ushort switch_rtp_request_port(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_release_port___")]
  public static extern void switch_rtp_release_port(string jarg1, ushort jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_interval___")]
  public static extern int switch_rtp_set_interval(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_change_interval___")]
  public static extern int switch_rtp_change_interval(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_create___")]
  public static extern int switch_rtp_create(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, string jarg6, ref global::System.IntPtr jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_new___")]
  public static extern global::System.IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, global::System.Runtime.InteropServices.HandleRef jarg8, string jarg9, ref global::System.IntPtr jarg10, global::System.Runtime.InteropServices.HandleRef jarg11, ushort jarg12, ushort jarg13);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_remote_address___")]
  public static extern int switch_rtp_set_remote_address(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, ushort jarg3, ushort jarg4, int jarg5, ref global::System.IntPtr jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_reset_jb___")]
  public static extern void switch_rtp_reset_jb(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_remote_host___")]
  public static extern string switch_rtp_get_remote_host(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_remote_port___")]
  public static extern ushort switch_rtp_get_remote_port(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_reset_media_timer___")]
  public static extern void switch_rtp_reset_media_timer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_max_missed_packets___")]
  public static extern void switch_rtp_set_max_missed_packets(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_media_timeout___")]
  public static extern void switch_rtp_set_media_timeout(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_udptl_mode___")]
  public static extern int switch_rtp_udptl_mode(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_reset___")]
  public static extern void switch_rtp_reset(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_local_address___")]
  public static extern int switch_rtp_set_local_address(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, ushort jarg3, ref global::System.IntPtr jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_kill_socket___")]
  public static extern void switch_rtp_kill_socket(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_break___")]
  public static extern void switch_rtp_break(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_flush___")]
  public static extern void switch_rtp_flush(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_ready___")]
  public static extern byte switch_rtp_ready(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_destroy___")]
  public static extern void switch_rtp_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_sync_stats___")]
  public static extern int switch_rtp_sync_stats(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_activate_ice___")]
  public static extern int switch_rtp_activate_ice(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, int jarg6, int jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_activate_rtcp___")]
  public static extern int switch_rtp_activate_rtcp(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, ushort jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_media_timer___")]
  public static extern global::System.IntPtr switch_rtp_get_media_timer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_video_buffer_size___")]
  public static extern int switch_rtp_set_video_buffer_size(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_video_buffer_size___")]
  public static extern int switch_rtp_get_video_buffer_size(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_activate_jitter_buffer___")]
  public static extern int switch_rtp_activate_jitter_buffer(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_debug_jitter_buffer___")]
  public static extern int switch_rtp_debug_jitter_buffer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_deactivate_jitter_buffer___")]
  public static extern int switch_rtp_deactivate_jitter_buffer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_pause_jitter_buffer___")]
  public static extern int switch_rtp_pause_jitter_buffer(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_jitter_buffer___")]
  public static extern global::System.IntPtr switch_rtp_get_jitter_buffer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_flag___")]
  public static extern void switch_rtp_set_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_flags___")]
  public static extern void switch_rtp_set_flags(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_clear_flags___")]
  public static extern void switch_rtp_clear_flags(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_test_flag___")]
  public static extern uint switch_rtp_test_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_clear_flag___")]
  public static extern void switch_rtp_clear_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_rtp_socket___")]
  public static extern global::System.IntPtr switch_rtp_get_rtp_socket(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_ping___")]
  public static extern void switch_rtp_ping(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_default_samples_per_interval___")]
  public static extern uint switch_rtp_get_default_samples_per_interval(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_default_payload___")]
  public static extern void switch_rtp_set_default_payload(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_default_payload___")]
  public static extern uint switch_rtp_get_default_payload(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_invalid_handler___")]
  public static extern void switch_rtp_set_invalid_handler(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_read___")]
  public static extern int switch_rtp_read(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, uint jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_queue_rfc2833___")]
  public static extern int switch_rtp_queue_rfc2833(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_queue_rfc2833_in___")]
  public static extern int switch_rtp_queue_rfc2833_in(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_has_dtmf___")]
  public static extern global::System.IntPtr switch_rtp_has_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_dequeue_dtmf___")]
  public static extern global::System.IntPtr switch_rtp_dequeue_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_zerocopy_read___")]
  public static extern int switch_rtp_zerocopy_read(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, uint jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_zerocopy_read_frame___")]
  public static extern int switch_rtp_zerocopy_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtcp_zerocopy_read_frame___")]
  public static extern int switch_rtcp_zerocopy_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_rtp_flush_read_buffer___")]
  public static extern void rtp_flush_read_buffer(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_enable_vad___")]
  public static extern int switch_rtp_enable_vad(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, uint jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_disable_vad___")]
  public static extern int switch_rtp_disable_vad(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_write_frame___")]
  public static extern int switch_rtp_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_write_manual___")]
  public static extern int switch_rtp_write_manual(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, global::System.Runtime.InteropServices.HandleRef jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_write_raw___")]
  public static extern int switch_rtp_write_raw(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_ssrc___")]
  public static extern uint switch_rtp_get_ssrc(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_private___")]
  public static extern void switch_rtp_set_private(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_telephony_event___")]
  public static extern void switch_rtp_set_telephony_event(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_telephony_recv_event___")]
  public static extern void switch_rtp_set_telephony_recv_event(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_cng_pt___")]
  public static extern void switch_rtp_set_cng_pt(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_private___")]
  public static extern global::System.IntPtr switch_rtp_get_private(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_payload_map___")]
  public static extern int switch_rtp_set_payload_map(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_intentional_bugs___")]
  public static extern void switch_rtp_intentional_bugs(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_stats___")]
  public static extern global::System.IntPtr switch_rtp_get_stats(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_check_auto_adj___")]
  public static extern byte switch_rtp_check_auto_adj(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_set_interdigit_delay___")]
  public static extern void switch_rtp_set_interdigit_delay(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_add_dtls___")]
  public static extern int switch_rtp_add_dtls(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4, byte jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_del_dtls___")]
  public static extern int switch_rtp_del_dtls(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_dtls_state___")]
  public static extern int switch_rtp_dtls_state(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_has_dtls___")]
  public static extern int switch_rtp_has_dtls();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_req_bitrate___")]
  public static extern int switch_rtp_req_bitrate(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_ack_bitrate___")]
  public static extern int switch_rtp_ack_bitrate(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_video_refresh___")]
  public static extern void switch_rtp_video_refresh(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_video_loss___")]
  public static extern void switch_rtp_video_loss(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_core_session___")]
  public static extern global::System.IntPtr switch_rtp_get_core_session(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_data_set___")]
  public static extern void switch_log_node_t_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_data_get___")]
  public static extern string switch_log_node_t_data_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_file_set___")]
  public static extern void switch_log_node_t_file_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_file_get___")]
  public static extern string switch_log_node_t_file_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_line_set___")]
  public static extern void switch_log_node_t_line_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_line_get___")]
  public static extern uint switch_log_node_t_line_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_func_set___")]
  public static extern void switch_log_node_t_func_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_func_get___")]
  public static extern string switch_log_node_t_func_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_level_set___")]
  public static extern void switch_log_node_t_level_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_level_get___")]
  public static extern int switch_log_node_t_level_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_timestamp_set___")]
  public static extern void switch_log_node_t_timestamp_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_timestamp_get___")]
  public static extern global::System.IntPtr switch_log_node_t_timestamp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_content_set___")]
  public static extern void switch_log_node_t_content_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_content_get___")]
  public static extern string switch_log_node_t_content_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_userdata_set___")]
  public static extern void switch_log_node_t_userdata_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_userdata_get___")]
  public static extern string switch_log_node_t_userdata_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_channel_set___")]
  public static extern void switch_log_node_t_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_channel_get___")]
  public static extern int switch_log_node_t_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_slevel_set___")]
  public static extern void switch_log_node_t_slevel_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_slevel_get___")]
  public static extern int switch_log_node_t_slevel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_tags_set___")]
  public static extern void switch_log_node_t_tags_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_tags_get___")]
  public static extern global::System.IntPtr switch_log_node_t_tags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_sequence_set___")]
  public static extern void switch_log_node_t_sequence_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_sequence_get___")]
  public static extern long switch_log_node_t_sequence_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_meta_set___")]
  public static extern void switch_log_node_t_meta_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_meta_get___")]
  public static extern global::System.IntPtr switch_log_node_t_meta_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_log_node_t___")]
  public static extern global::System.IntPtr new_switch_log_node_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_log_node_t___")]
  public static extern void delete_switch_log_node_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_name_set___")]
  public static extern void switch_log_json_format_item_t_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_name_get___")]
  public static extern string switch_log_json_format_item_t_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_value_set___")]
  public static extern void switch_log_json_format_item_t_value_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_item_t_value_get___")]
  public static extern string switch_log_json_format_item_t_value_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_log_json_format_item_t___")]
  public static extern global::System.IntPtr new_switch_log_json_format_item_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_log_json_format_item_t___")]
  public static extern void delete_switch_log_json_format_item_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_version_set___")]
  public static extern void switch_log_json_format_t_version_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_version_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_version_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_host_set___")]
  public static extern void switch_log_json_format_t_host_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_host_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_host_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_set___")]
  public static extern void switch_log_json_format_t_timestamp_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_timestamp_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_level_set___")]
  public static extern void switch_log_json_format_t_level_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_level_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_level_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_ident_set___")]
  public static extern void switch_log_json_format_t_ident_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_ident_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_ident_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_pid_set___")]
  public static extern void switch_log_json_format_t_pid_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_pid_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_pid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_uuid_set___")]
  public static extern void switch_log_json_format_t_uuid_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_uuid_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_uuid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_file_set___")]
  public static extern void switch_log_json_format_t_file_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_file_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_file_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_line_set___")]
  public static extern void switch_log_json_format_t_line_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_line_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_line_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_function_set___")]
  public static extern void switch_log_json_format_t_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_function_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_full_message_set___")]
  public static extern void switch_log_json_format_t_full_message_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_full_message_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_full_message_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_short_message_set___")]
  public static extern void switch_log_json_format_t_short_message_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_short_message_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_short_message_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_custom_field_prefix_set___")]
  public static extern void switch_log_json_format_t_custom_field_prefix_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_custom_field_prefix_get___")]
  public static extern string switch_log_json_format_t_custom_field_prefix_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_divisor_set___")]
  public static extern void switch_log_json_format_t_timestamp_divisor_set(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_timestamp_divisor_get___")]
  public static extern double switch_log_json_format_t_timestamp_divisor_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_sequence_set___")]
  public static extern void switch_log_json_format_t_sequence_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_json_format_t_sequence_get___")]
  public static extern global::System.IntPtr switch_log_json_format_t_sequence_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_log_json_format_t___")]
  public static extern global::System.IntPtr new_switch_log_json_format_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_log_json_format_t___")]
  public static extern void delete_switch_log_json_format_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_to_json___")]
  public static extern global::System.IntPtr switch_log_node_to_json(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_init___")]
  public static extern int switch_log_init(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_shutdown___")]
  public static extern int switch_log_shutdown();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_bind_logger___")]
  public static extern int switch_log_bind_logger(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_unbind_logger___")]
  public static extern int switch_log_unbind_logger(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_level2str___")]
  public static extern string switch_log_level2str(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_str2level___")]
  public static extern int switch_log_str2level(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_str2mask___")]
  public static extern uint switch_log_str2mask(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_dup___")]
  public static extern global::System.IntPtr switch_log_node_dup(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_free___")]
  public static extern void switch_log_node_free(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_SWITCH_XML_BUFSIZE_get___")]
  public static extern int SWITCH_XML_BUFSIZE_get();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_name_set___")]
  public static extern void switch_xml_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_name_get___")]
  public static extern string switch_xml_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_attr_set___")]
  public static extern void switch_xml_attr_set(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_attr_get___")]
  public static extern string switch_xml_attr_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_txt_set___")]
  public static extern void switch_xml_txt_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_txt_get___")]
  public static extern string switch_xml_txt_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_free_path_set___")]
  public static extern void switch_xml_free_path_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_free_path_get___")]
  public static extern string switch_xml_free_path_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_off_set___")]
  public static extern void switch_xml_off_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_off_get___")]
  public static extern global::System.IntPtr switch_xml_off_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_next_set___")]
  public static extern void switch_xml_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_next_get___")]
  public static extern global::System.IntPtr switch_xml_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_sibling_set___")]
  public static extern void switch_xml_sibling_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_sibling_get___")]
  public static extern global::System.IntPtr switch_xml_sibling_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_ordered_set___")]
  public static extern void switch_xml_ordered_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_ordered_get___")]
  public static extern global::System.IntPtr switch_xml_ordered_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_child_set___")]
  public static extern void switch_xml_child_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_child_get___")]
  public static extern global::System.IntPtr switch_xml_child_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parent_set___")]
  public static extern void switch_xml_parent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parent_get___")]
  public static extern global::System.IntPtr switch_xml_parent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_flags_set___")]
  public static extern void switch_xml_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_flags_get___")]
  public static extern uint switch_xml_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_is_switch_xml_root_t_set___")]
  public static extern void switch_xml_is_switch_xml_root_t_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_is_switch_xml_root_t_get___")]
  public static extern int switch_xml_is_switch_xml_root_t_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_refs_set___")]
  public static extern void switch_xml_refs_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_refs_get___")]
  public static extern uint switch_xml_refs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_open_set___")]
  public static extern void switch_xml_open_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_open_get___")]
  public static extern string switch_xml_open_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_close_set___")]
  public static extern void switch_xml_close_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_close_get___")]
  public static extern string switch_xml_close_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_xml___")]
  public static extern global::System.IntPtr new_switch_xml();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_xml___")]
  public static extern void delete_switch_xml(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parse_str_dynamic___")]
  public static extern global::System.IntPtr switch_xml_parse_str_dynamic(string jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parse_str___")]
  public static extern global::System.IntPtr switch_xml_parse_str(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parse_fd___")]
  public static extern global::System.IntPtr switch_xml_parse_fd(int jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parse_file___")]
  public static extern global::System.IntPtr switch_xml_parse_file(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parse_file_simple___")]
  public static extern global::System.IntPtr switch_xml_parse_file_simple(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parse_fp___")]
  public static extern global::System.IntPtr switch_xml_parse_fp(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_child___")]
  public static extern global::System.IntPtr switch_xml_child(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_find_child___")]
  public static extern global::System.IntPtr switch_xml_find_child(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_find_child_multi___")]
  public static extern global::System.IntPtr switch_xml_find_child_multi(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_attr___")]
  public static extern string switch_xml_attr(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_attr_soft___")]
  public static extern string switch_xml_attr_soft(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_get___")]
  public static extern global::System.IntPtr switch_xml_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_toxml_ex___")]
  public static extern string switch_xml_toxml_ex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_toxml_nolock_ex___")]
  public static extern string switch_xml_toxml_nolock_ex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_tohtml_ex___")]
  public static extern string switch_xml_tohtml_ex(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_toxml_buf_ex___")]
  public static extern string switch_xml_toxml_buf_ex(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5, int jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_free___")]
  public static extern void switch_xml_free(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_free_in_thread___")]
  public static extern void switch_xml_free_in_thread(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_error___")]
  public static extern string switch_xml_error(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_new___")]
  public static extern global::System.IntPtr switch_xml_new(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_add_child___")]
  public static extern global::System.IntPtr switch_xml_add_child(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_add_child_d___")]
  public static extern global::System.IntPtr switch_xml_add_child_d(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_txt___")]
  public static extern global::System.IntPtr switch_xml_set_txt(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_txt_d___")]
  public static extern global::System.IntPtr switch_xml_set_txt_d(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_attr___")]
  public static extern global::System.IntPtr switch_xml_set_attr(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_attr_d___")]
  public static extern global::System.IntPtr switch_xml_set_attr_d(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_attr_d_buf___")]
  public static extern global::System.IntPtr switch_xml_set_attr_d_buf(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_flag___")]
  public static extern global::System.IntPtr switch_xml_set_flag(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_cut___")]
  public static extern global::System.IntPtr switch_xml_cut(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_insert___")]
  public static extern global::System.IntPtr switch_xml_insert(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_root___")]
  public static extern int switch_xml_set_root(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_open_root_function___")]
  public static extern int switch_xml_set_open_root_function(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_open_root___")]
  public static extern global::System.IntPtr switch_xml_open_root(byte jarg1, ref global::System.IntPtr jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_init___")]
  public static extern int switch_xml_init(global::System.Runtime.InteropServices.HandleRef jarg1, ref global::System.IntPtr jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_reload___")]
  public static extern int switch_xml_reload(ref global::System.IntPtr jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_destroy___")]
  public static extern int switch_xml_destroy();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_root___")]
  public static extern global::System.IntPtr switch_xml_root();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_locate___")]
  public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, int jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_locate_domain___")]
  public static extern int switch_xml_locate_domain(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_locate_group___")]
  public static extern int switch_xml_locate_group(string jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_locate_user___")]
  public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, global::System.Runtime.InteropServices.HandleRef jarg7, global::System.Runtime.InteropServices.HandleRef jarg8, global::System.Runtime.InteropServices.HandleRef jarg9);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_locate_user_in_domain___")]
  public static extern int switch_xml_locate_user_in_domain(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_locate_user_merged___")]
  public static extern int switch_xml_locate_user_merged(string jarg1, string jarg2, string jarg3, string jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_clear_user_cache___")]
  public static extern uint switch_xml_clear_user_cache(string jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_merge_user___")]
  public static extern void switch_xml_merge_user(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_dup___")]
  public static extern global::System.IntPtr switch_xml_dup(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_open_cfg___")]
  public static extern global::System.IntPtr switch_xml_open_cfg(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_binding_sections___")]
  public static extern void switch_xml_set_binding_sections(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_set_binding_user_data___")]
  public static extern void switch_xml_set_binding_user_data(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_get_binding_sections___")]
  public static extern uint switch_xml_get_binding_sections(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_get_binding_user_data___")]
  public static extern global::System.IntPtr switch_xml_get_binding_user_data(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_bind_search_function_ret___")]
  public static extern int switch_xml_bind_search_function_ret(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_unbind_search_function___")]
  public static extern int switch_xml_unbind_search_function(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_unbind_search_function_ptr___")]
  public static extern int switch_xml_unbind_search_function_ptr(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_parse_section_string___")]
  public static extern uint switch_xml_parse_section_string(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_std_datetime_check___")]
  public static extern int switch_xml_std_datetime_check(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_xml_locate_language___")]
  public static extern int switch_xml_locate_language(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, string jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_outgoing_channel_set___")]
  public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_outgoing_channel_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_next_set___")]
  public static extern void switch_io_event_hook_outgoing_channel_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_outgoing_channel_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_outgoing_channel_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_outgoing_channel___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_outgoing_channel();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_outgoing_channel___")]
  public static extern void delete_switch_io_event_hook_outgoing_channel(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_receive_message_set___")]
  public static extern void switch_io_event_hook_receive_message_receive_message_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_receive_message_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_receive_message_receive_message_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_next_set___")]
  public static extern void switch_io_event_hook_receive_message_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_message_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_receive_message_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_receive_message___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_receive_message();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_receive_message___")]
  public static extern void delete_switch_io_event_hook_receive_message(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_receive_event_set___")]
  public static extern void switch_io_event_hook_receive_event_receive_event_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_receive_event_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_receive_event_receive_event_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_next_set___")]
  public static extern void switch_io_event_hook_receive_event_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_receive_event_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_receive_event_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_receive_event___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_receive_event();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_receive_event___")]
  public static extern void delete_switch_io_event_hook_receive_event(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_read_frame_set___")]
  public static extern void switch_io_event_hook_read_frame_read_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_read_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_read_frame_read_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_next_set___")]
  public static extern void switch_io_event_hook_read_frame_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_read_frame_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_read_frame_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_read_frame___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_read_frame();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_read_frame___")]
  public static extern void delete_switch_io_event_hook_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_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(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_video_read_frame_video_read_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_video_read_frame_next_set___")]
  public static extern void switch_io_event_hook_video_read_frame_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_video_read_frame_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_video_read_frame_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_video_read_frame___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_video_read_frame();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_video_read_frame___")]
  public static extern void delete_switch_io_event_hook_video_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_write_frame_set___")]
  public static extern void switch_io_event_hook_write_frame_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_write_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_write_frame_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_next_set___")]
  public static extern void switch_io_event_hook_write_frame_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_write_frame_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_write_frame_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_write_frame___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_write_frame();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_write_frame___")]
  public static extern void delete_switch_io_event_hook_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_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(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_video_write_frame_video_write_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_video_write_frame_next_set___")]
  public static extern void switch_io_event_hook_video_write_frame_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_video_write_frame_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_video_write_frame_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_video_write_frame___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_video_write_frame();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_video_write_frame___")]
  public static extern void delete_switch_io_event_hook_video_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_text_read_frame_set___")]
  public static extern void switch_io_event_hook_text_read_frame_text_read_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_text_read_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_text_read_frame_text_read_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_next_set___")]
  public static extern void switch_io_event_hook_text_read_frame_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_read_frame_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_text_read_frame_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_text_read_frame___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_text_read_frame();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_text_read_frame___")]
  public static extern void delete_switch_io_event_hook_text_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_text_write_frame_set___")]
  public static extern void switch_io_event_hook_text_write_frame_text_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_text_write_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_text_write_frame_text_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_next_set___")]
  public static extern void switch_io_event_hook_text_write_frame_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_text_write_frame_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_text_write_frame_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_text_write_frame___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_text_write_frame();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_text_write_frame___")]
  public static extern void delete_switch_io_event_hook_text_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_kill_channel_set___")]
  public static extern void switch_io_event_hook_kill_channel_kill_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_kill_channel_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_kill_channel_kill_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_next_set___")]
  public static extern void switch_io_event_hook_kill_channel_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_kill_channel_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_kill_channel_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_kill_channel___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_kill_channel();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_kill_channel___")]
  public static extern void delete_switch_io_event_hook_kill_channel(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_send_dtmf_set___")]
  public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_send_dtmf_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_next_set___")]
  public static extern void switch_io_event_hook_send_dtmf_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_send_dtmf_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_send_dtmf_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_send_dtmf___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_send_dtmf();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_send_dtmf___")]
  public static extern void delete_switch_io_event_hook_send_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_recv_dtmf_set___")]
  public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_recv_dtmf_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_next_set___")]
  public static extern void switch_io_event_hook_recv_dtmf_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_recv_dtmf_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_recv_dtmf_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_recv_dtmf___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_recv_dtmf();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_recv_dtmf___")]
  public static extern void delete_switch_io_event_hook_recv_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_state_change_set___")]
  public static extern void switch_io_event_hook_state_change_state_change_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_state_change_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_state_change_state_change_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_next_set___")]
  public static extern void switch_io_event_hook_state_change_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_change_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_state_change_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_state_change___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_state_change();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_state_change___")]
  public static extern void delete_switch_io_event_hook_state_change(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_state_run_set___")]
  public static extern void switch_io_event_hook_state_run_state_run_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_state_run_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_state_run_state_run_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_next_set___")]
  public static extern void switch_io_event_hook_state_run_next_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hook_state_run_next_get___")]
  public static extern global::System.IntPtr switch_io_event_hook_state_run_next_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hook_state_run___")]
  public static extern global::System.IntPtr new_switch_io_event_hook_state_run();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hook_state_run___")]
  public static extern void delete_switch_io_event_hook_state_run(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_outgoing_channel_set___")]
  public static extern void switch_io_event_hooks_outgoing_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_outgoing_channel_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_outgoing_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_message_set___")]
  public static extern void switch_io_event_hooks_receive_message_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_message_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_receive_message_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_event_set___")]
  public static extern void switch_io_event_hooks_receive_event_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_receive_event_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_receive_event_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_read_frame_set___")]
  public static extern void switch_io_event_hooks_read_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_read_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_read_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_read_frame_set___")]
  public static extern void switch_io_event_hooks_video_read_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_read_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_video_read_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_write_frame_set___")]
  public static extern void switch_io_event_hooks_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_write_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_write_frame_set___")]
  public static extern void switch_io_event_hooks_video_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_video_write_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_video_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_write_frame_set___")]
  public static extern void switch_io_event_hooks_text_write_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_write_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_text_write_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_read_frame_set___")]
  public static extern void switch_io_event_hooks_text_read_frame_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_text_read_frame_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_text_read_frame_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_kill_channel_set___")]
  public static extern void switch_io_event_hooks_kill_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_kill_channel_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_kill_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_send_dtmf_set___")]
  public static extern void switch_io_event_hooks_send_dtmf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_send_dtmf_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_send_dtmf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_recv_dtmf_set___")]
  public static extern void switch_io_event_hooks_recv_dtmf_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_recv_dtmf_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_recv_dtmf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_change_set___")]
  public static extern void switch_io_event_hooks_state_change_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_change_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_state_change_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_run_set___")]
  public static extern void switch_io_event_hooks_state_run_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_io_event_hooks_state_run_get___")]
  public static extern global::System.IntPtr switch_io_event_hooks_state_run_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_io_event_hooks___")]
  public static extern global::System.IntPtr new_switch_io_event_hooks();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_io_event_hooks___")]
  public static extern void delete_switch_io_event_hooks(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_outgoing_channel___")]
  public static extern int switch_core_event_hook_add_outgoing_channel(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_receive_message___")]
  public static extern int switch_core_event_hook_add_receive_message(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_receive_event___")]
  public static extern int switch_core_event_hook_add_receive_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_state_change___")]
  public static extern int switch_core_event_hook_add_state_change(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_state_run___")]
  public static extern int switch_core_event_hook_add_state_run(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_read_frame___")]
  public static extern int switch_core_event_hook_add_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_write_frame___")]
  public static extern int switch_core_event_hook_add_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_video_read_frame___")]
  public static extern int switch_core_event_hook_add_video_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_video_write_frame___")]
  public static extern int switch_core_event_hook_add_video_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_text_read_frame___")]
  public static extern int switch_core_event_hook_add_text_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_text_write_frame___")]
  public static extern int switch_core_event_hook_add_text_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_kill_channel___")]
  public static extern int switch_core_event_hook_add_kill_channel(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_send_dtmf___")]
  public static extern int switch_core_event_hook_add_send_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_add_recv_dtmf___")]
  public static extern int switch_core_event_hook_add_recv_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_outgoing_channel___")]
  public static extern int switch_core_event_hook_remove_outgoing_channel(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_receive_message___")]
  public static extern int switch_core_event_hook_remove_receive_message(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_receive_event___")]
  public static extern int switch_core_event_hook_remove_receive_event(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_state_change___")]
  public static extern int switch_core_event_hook_remove_state_change(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_state_run___")]
  public static extern int switch_core_event_hook_remove_state_run(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_read_frame___")]
  public static extern int switch_core_event_hook_remove_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_write_frame___")]
  public static extern int switch_core_event_hook_remove_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_video_read_frame___")]
  public static extern int switch_core_event_hook_remove_video_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_video_write_frame___")]
  public static extern int switch_core_event_hook_remove_video_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_text_read_frame___")]
  public static extern int switch_core_event_hook_remove_text_read_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_text_write_frame___")]
  public static extern int switch_core_event_hook_remove_text_write_frame(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_kill_channel___")]
  public static extern int switch_core_event_hook_remove_kill_channel(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_send_dtmf___")]
  public static extern int switch_core_event_hook_remove_send_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_core_event_hook_remove_recv_dtmf___")]
  public static extern int switch_core_event_hook_remove_recv_dtmf(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_created_set___")]
  public static extern void switch_scheduler_task_created_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_created_get___")]
  public static extern long switch_scheduler_task_created_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_runtime_set___")]
  public static extern void switch_scheduler_task_runtime_set(global::System.Runtime.InteropServices.HandleRef jarg1, long jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_runtime_get___")]
  public static extern long switch_scheduler_task_runtime_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_id_set___")]
  public static extern void switch_scheduler_task_cmd_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_id_get___")]
  public static extern uint switch_scheduler_task_cmd_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_repeat_set___")]
  public static extern void switch_scheduler_task_repeat_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_repeat_get___")]
  public static extern uint switch_scheduler_task_repeat_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_group_set___")]
  public static extern void switch_scheduler_task_group_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_group_get___")]
  public static extern string switch_scheduler_task_group_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_arg_set___")]
  public static extern void switch_scheduler_task_cmd_arg_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_cmd_arg_get___")]
  public static extern global::System.IntPtr switch_scheduler_task_cmd_arg_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_task_id_set___")]
  public static extern void switch_scheduler_task_task_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_task_id_get___")]
  public static extern uint switch_scheduler_task_task_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_hash_set___")]
  public static extern void switch_scheduler_task_hash_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_hash_get___")]
  public static extern uint switch_scheduler_task_hash_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_scheduler_task___")]
  public static extern global::System.IntPtr new_switch_scheduler_task();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_scheduler_task___")]
  public static extern void delete_switch_scheduler_task(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_add_task___")]
  public static extern uint switch_scheduler_add_task(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, uint jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_add_task_ex___")]
  public static extern uint switch_scheduler_add_task_ex(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4, uint jarg5, global::System.Runtime.InteropServices.HandleRef jarg6, uint jarg7, global::System.Runtime.InteropServices.HandleRef jarg8);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_del_task_id___")]
  public static extern uint switch_scheduler_del_task_id(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_del_task_group___")]
  public static extern uint switch_scheduler_del_task_group(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_thread_start___")]
  public static extern void switch_scheduler_task_thread_start();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_scheduler_task_thread_stop___")]
  public static extern void switch_scheduler_task_thread_stop();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_file_set___")]
  public static extern void switch_config_file_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_file_get___")]
  public static extern global::System.IntPtr switch_config_file_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_path_set___")]
  public static extern void switch_config_path_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_path_get___")]
  public static extern string switch_config_path_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_category_set___")]
  public static extern void switch_config_category_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_category_get___")]
  public static extern string switch_config_category_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_section_set___")]
  public static extern void switch_config_section_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_section_get___")]
  public static extern string switch_config_section_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_buf_set___")]
  public static extern void switch_config_buf_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_buf_get___")]
  public static extern string switch_config_buf_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_lineno_set___")]
  public static extern void switch_config_lineno_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_lineno_get___")]
  public static extern int switch_config_lineno_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_catno_set___")]
  public static extern void switch_config_catno_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_catno_get___")]
  public static extern int switch_config_catno_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_sectno_set___")]
  public static extern void switch_config_sectno_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_sectno_get___")]
  public static extern int switch_config_sectno_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_lockto_set___")]
  public static extern void switch_config_lockto_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_lockto_get___")]
  public static extern int switch_config_lockto_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_switch_config___")]
  public static extern global::System.IntPtr new_switch_config();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_switch_config___")]
  public static extern void delete_switch_config(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_open_file___")]
  public static extern int switch_config_open_file(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_close_file___")]
  public static extern void switch_config_close_file(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_config_next_pair___")]
  public static extern int switch_config_next_pair(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2, ref string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_setGlobalVariable___")]
  public static extern void setGlobalVariable(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_getGlobalVariable___")]
  public static extern string getGlobalVariable(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_consoleLog___")]
  public static extern void consoleLog(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_consoleLog2___")]
  public static extern void consoleLog2(string jarg1, string jarg2, string jarg3, int jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_consoleCleanLog___")]
  public static extern void consoleCleanLog(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_running___")]
  public static extern bool running();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_email___")]
  public static extern bool email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_IvrMenu___")]
  public static extern global::System.IntPtr new_IvrMenu(global::System.Runtime.InteropServices.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);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_IvrMenu___")]
  public static extern void delete_IvrMenu(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_IvrMenu_bindAction___")]
  public static extern void IvrMenu_bindAction(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_IvrMenu_Execute___")]
  public static extern void IvrMenu_Execute(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_Api___")]
  public static extern global::System.IntPtr new_Api(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_Api___")]
  public static extern void delete_Api(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Api_Execute___")]
  public static extern string Api_Execute(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Api_ExecuteString___")]
  public static extern string Api_ExecuteString(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Api_getTime___")]
  public static extern string Api_getTime(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_function_set___")]
  public static extern void input_callback_state_t_function_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_function_get___")]
  public static extern global::System.IntPtr input_callback_state_t_function_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_threadState_set___")]
  public static extern void input_callback_state_t_threadState_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_threadState_get___")]
  public static extern global::System.IntPtr input_callback_state_t_threadState_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_extra_set___")]
  public static extern void input_callback_state_t_extra_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_extra_get___")]
  public static extern global::System.IntPtr input_callback_state_t_extra_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_funcargs_set___")]
  public static extern void input_callback_state_t_funcargs_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_input_callback_state_t_funcargs_get___")]
  public static extern string input_callback_state_t_funcargs_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_input_callback_state_t___")]
  public static extern global::System.IntPtr new_input_callback_state_t();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_input_callback_state_t___")]
  public static extern void delete_input_callback_state_t(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_DTMF_digit_set___")]
  public static extern void DTMF_digit_set(global::System.Runtime.InteropServices.HandleRef jarg1, char jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_DTMF_digit_get___")]
  public static extern char DTMF_digit_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_DTMF_duration_set___")]
  public static extern void DTMF_duration_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_DTMF_duration_get___")]
  public static extern uint DTMF_duration_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_DTMF___")]
  public static extern global::System.IntPtr new_DTMF(char jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_DTMF___")]
  public static extern void delete_DTMF(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_Stream__SWIG_0___")]
  public static extern global::System.IntPtr new_Stream__SWIG_0();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_Stream__SWIG_1___")]
  public static extern global::System.IntPtr new_Stream__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_Stream___")]
  public static extern void delete_Stream(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Stream_read___")]
  public static extern string Stream_read(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Stream_Write___")]
  public static extern void Stream_Write(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Stream_raw_write___")]
  public static extern void Stream_raw_write(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Stream_get_data___")]
  public static extern string Stream_get_data(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_InternalEvent_set___")]
  public static extern void Event_InternalEvent_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_InternalEvent_get___")]
  public static extern global::System.IntPtr Event_InternalEvent_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_serialized_string_set___")]
  public static extern void Event_serialized_string_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_serialized_string_get___")]
  public static extern string Event_serialized_string_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_mine_set___")]
  public static extern void Event_mine_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_mine_get___")]
  public static extern int Event_mine_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_Event__SWIG_0___")]
  public static extern global::System.IntPtr new_Event__SWIG_0(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_Event__SWIG_1___")]
  public static extern global::System.IntPtr new_Event__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_Event___")]
  public static extern void delete_Event(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_chat_execute___")]
  public static extern int Event_chat_execute(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_chat_send___")]
  public static extern int Event_chat_send(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_Serialize___")]
  public static extern string Event_Serialize(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_SetPriority___")]
  public static extern bool Event_SetPriority(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_GetHeader___")]
  public static extern string Event_GetHeader(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_GetBody___")]
  public static extern string Event_GetBody(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_GetEventType___")]
  public static extern string Event_GetEventType(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_AddBody___")]
  public static extern bool Event_AddBody(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_AddHeader___")]
  public static extern bool Event_AddHeader(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_DeleteHeader___")]
  public static extern bool Event_DeleteHeader(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_Fire___")]
  public static extern bool Event_Fire(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_Event_merge___")]
  public static extern bool Event_merge(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_events_set___")]
  public static extern void EventConsumer_events_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_events_get___")]
  public static extern global::System.IntPtr EventConsumer_events_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_event_id_set___")]
  public static extern void EventConsumer_e_event_id_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_event_id_get___")]
  public static extern int EventConsumer_e_event_id_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_callback_set___")]
  public static extern void EventConsumer_e_callback_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_callback_get___")]
  public static extern string EventConsumer_e_callback_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_subclass_name_set___")]
  public static extern void EventConsumer_e_subclass_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_subclass_name_get___")]
  public static extern string EventConsumer_e_subclass_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_cb_arg_set___")]
  public static extern void EventConsumer_e_cb_arg_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_e_cb_arg_get___")]
  public static extern string EventConsumer_e_cb_arg_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_enodes_set___")]
  public static extern void EventConsumer_enodes_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_enodes_get___")]
  public static extern global::System.IntPtr EventConsumer_enodes_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_node_index_set___")]
  public static extern void EventConsumer_node_index_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_node_index_get___")]
  public static extern uint EventConsumer_node_index_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_EventConsumer___")]
  public static extern global::System.IntPtr new_EventConsumer(string jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_EventConsumer___")]
  public static extern void delete_EventConsumer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_bind___")]
  public static extern int EventConsumer_bind(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_pop___")]
  public static extern global::System.IntPtr EventConsumer_pop(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_EventConsumer_cleanup___")]
  public static extern void EventConsumer_cleanup(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_CoreSession___")]
  public static extern void delete_CoreSession(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_InternalSession_set___")]
  public static extern void CoreSession_InternalSession_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_InternalSession_get___")]
  public static extern global::System.IntPtr CoreSession_InternalSession_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_channel_set___")]
  public static extern void CoreSession_channel_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_channel_get___")]
  public static extern global::System.IntPtr CoreSession_channel_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_flags_set___")]
  public static extern void CoreSession_flags_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_flags_get___")]
  public static extern uint CoreSession_flags_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_allocated_set___")]
  public static extern void CoreSession_allocated_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_allocated_get___")]
  public static extern int CoreSession_allocated_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_cb_state_set___")]
  public static extern void CoreSession_cb_state_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_cb_state_get___")]
  public static extern global::System.IntPtr CoreSession_cb_state_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_HookState_set___")]
  public static extern void CoreSession_HookState_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_HookState_get___")]
  public static extern int CoreSession_HookState_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_cause_set___")]
  public static extern void CoreSession_cause_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_cause_get___")]
  public static extern int CoreSession_cause_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_uuid_set___")]
  public static extern void CoreSession_uuid_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_uuid_get___")]
  public static extern string CoreSession_uuid_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_tts_name_set___")]
  public static extern void CoreSession_tts_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_tts_name_get___")]
  public static extern string CoreSession_tts_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_voice_name_set___")]
  public static extern void CoreSession_voice_name_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_voice_name_get___")]
  public static extern string CoreSession_voice_name_get(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_insertFile___")]
  public static extern int CoreSession_insertFile(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_Answer___")]
  public static extern int CoreSession_Answer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_print___")]
  public static extern int CoreSession_print(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_preAnswer___")]
  public static extern int CoreSession_preAnswer(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_Hangup___")]
  public static extern void CoreSession_Hangup(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_hangupState___")]
  public static extern void CoreSession_hangupState(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_SetVariable___")]
  public static extern void CoreSession_SetVariable(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_SetPrivate___")]
  public static extern void CoreSession_SetPrivate(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_GetPrivate___")]
  public static extern global::System.IntPtr CoreSession_GetPrivate(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_GetVariable___")]
  public static extern string CoreSession_GetVariable(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_Say___")]
  public static extern void CoreSession_Say(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_SayPhrase___")]
  public static extern void CoreSession_SayPhrase(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_hangupCause___")]
  public static extern string CoreSession_hangupCause(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_getState___")]
  public static extern string CoreSession_getState(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_RecordFile___")]
  public static extern int CoreSession_RecordFile(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_originate___")]
  public static extern int CoreSession_originate(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_destroy___")]
  public static extern void CoreSession_destroy(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_Speak___")]
  public static extern int CoreSession_Speak(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_SetTtsParameters___")]
  public static extern void CoreSession_SetTtsParameters(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_set_tts_params___")]
  public static extern void CoreSession_set_tts_params(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_CollectDigits__SWIG_0___")]
  public static extern int CoreSession_CollectDigits__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_CollectDigits__SWIG_1___")]
  public static extern int CoreSession_CollectDigits__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_GetDigits__SWIG_0___")]
  public static extern string CoreSession_GetDigits__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, int jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_GetDigits__SWIG_1___")]
  public static extern string CoreSession_GetDigits__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_GetDigits__SWIG_2___")]
  public static extern string CoreSession_GetDigits__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5, int jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_Transfer___")]
  public static extern int CoreSession_Transfer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_read___")]
  public static extern string CoreSession_read(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6, int jarg7);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_detectSpeech___")]
  public static extern void CoreSession_detectSpeech(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_PlayAndGetDigits___")]
  public static extern string CoreSession_PlayAndGetDigits(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_playAndDetectSpeech___")]
  public static extern string CoreSession_playAndDetectSpeech(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_StreamFile___")]
  public static extern int CoreSession_StreamFile(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_sleep___")]
  public static extern int CoreSession_sleep(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_flushEvents___")]
  public static extern int CoreSession_flushEvents(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_flushDigits___")]
  public static extern int CoreSession_flushDigits(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_SetAutoHangup___")]
  public static extern int CoreSession_SetAutoHangup(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_Ready___")]
  public static extern bool CoreSession_Ready(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_bridged___")]
  public static extern bool CoreSession_bridged(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_answered___")]
  public static extern bool CoreSession_answered(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_mediaReady___")]
  public static extern bool CoreSession_mediaReady(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_waitForAnswer___")]
  public static extern void CoreSession_waitForAnswer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_Execute___")]
  public static extern void CoreSession_Execute(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_sendEvent___")]
  public static extern void CoreSession_sendEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_setEventData___")]
  public static extern void CoreSession_setEventData(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_getXMLCDR___")]
  public static extern string CoreSession_getXMLCDR(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_begin_allow_threads___")]
  public static extern bool CoreSession_begin_allow_threads(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_end_allow_threads___")]
  public static extern bool CoreSession_end_allow_threads(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_GetUuid___")]
  public static extern string CoreSession_GetUuid(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_get_cb_args___")]
  public static extern global::System.IntPtr CoreSession_get_cb_args(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_check_hangup_hook___")]
  public static extern void CoreSession_check_hangup_hook(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_consoleLog___")]
  public static extern void CoreSession_consoleLog(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_CoreSession_consoleLog2___")]
  public static extern void CoreSession_consoleLog2(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5, string jarg6);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_console_log___")]
  public static extern void console_log(string jarg1, string jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_console_log2___")]
  public static extern void console_log2(string jarg1, string jarg2, string jarg3, int jarg4, string jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_console_clean_log___")]
  public static extern void console_clean_log(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_msleep___")]
  public static extern void msleep(uint jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_bridge___")]
  public static extern void bridge(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_hanguphook___")]
  public static extern int hanguphook(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_dtmf_callback___")]
  public static extern int dtmf_callback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, uint jarg5);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_ManagedSession__SWIG_0___")]
  public static extern global::System.IntPtr new_ManagedSession__SWIG_0();

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_ManagedSession__SWIG_1___")]
  public static extern global::System.IntPtr new_ManagedSession__SWIG_1(string jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_new_ManagedSession__SWIG_2___")]
  public static extern global::System.IntPtr new_ManagedSession__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_delete_ManagedSession___")]
  public static extern void delete_ManagedSession(global::System.Runtime.InteropServices.HandleRef jarg1);

  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_ManagedSession_SWIGUpcast___")]
  public static extern global::System.IntPtr ManagedSession_SWIGUpcast(global::System.IntPtr jarg1);
}

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

namespace FreeSWITCH.Native {

public class icand_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal icand_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(icand_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(icand_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~icand_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_icand_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 byte responsive {
    set {
      freeswitchPINVOKE.icand_t_responsive_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.icand_t_responsive_get(swigCPtr);
      return ret;
    } 
  }

  public byte use_candidate {
    set {
      freeswitchPINVOKE.icand_t_use_candidate_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.icand_t_use_candidate_get(swigCPtr);
      return ret;
    } 
  }

  public icand_t() : this(freeswitchPINVOKE.new_icand_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class ice_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal ice_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ice_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(ice_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~ice_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_ice_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_a_2__icand_s cands {
    set {
      freeswitchPINVOKE.ice_t_cands_set(swigCPtr, SWIGTYPE_p_a_2__icand_s.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.ice_t_cands_get(swigCPtr);
      SWIGTYPE_p_a_2__icand_s ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_a_2__icand_s(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_int cand_idx {
    set {
      freeswitchPINVOKE.ice_t_cand_idx_set(swigCPtr, SWIGTYPE_p_int.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.ice_t_cand_idx_get(swigCPtr);
      SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_int chosen {
    set {
      freeswitchPINVOKE.ice_t_chosen_set(swigCPtr, SWIGTYPE_p_int.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.ice_t_chosen_get(swigCPtr);
      SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_int is_chosen {
    set {
      freeswitchPINVOKE.ice_t_is_chosen_set(swigCPtr, SWIGTYPE_p_int.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.ice_t_is_chosen_get(swigCPtr);
      SWIGTYPE_p_int ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class input_callback_state_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal input_callback_state_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(input_callback_state_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(input_callback_state_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~input_callback_state_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_void function {
    set {
      freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class ip_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal ip_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ip_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(ip_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~ip_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_ip_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class payload_map_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal payload_map_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(payload_map_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(payload_map_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~payload_map_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_payload_map_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 string modname {
    set {
      freeswitchPINVOKE.payload_map_t_modname_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.payload_map_t_modname_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 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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.payload_map_t_next_get(swigCPtr);
      payload_map_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new payload_map_t(cPtr, false);
      return ret;
    } 
  }

  public payload_map_t() : this(freeswitchPINVOKE.new_payload_map_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class profile_node_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal profile_node_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(profile_node_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(profile_node_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~profile_node_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_profile_node_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.profile_node_t_next_get(swigCPtr);
      profile_node_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new profile_node_t(cPtr, false);
      return ret;
    } 
  }

  public profile_node_t() : this(freeswitchPINVOKE.new_profile_node_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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 rtcp_psfb_t {
  _RTCP_PSFB_PLI = 1,
  _RTCP_PSFB_SLI = 2,
  _RTCP_PSFB_RPSI = 3,
  _RTCP_PSFB_FIR = 4,
  _RTCP_PSFB_TSTR = 5,
  _RTCP_PSFB_TSTN = 6,
  _RTCP_PSFB_VBCM = 7,
  _RTCP_PSFB_PSLEI = 8,
  _RTCP_PSFB_AFB = 15
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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 rtcp_pt_t {
  _RTCP_PT_FIR = 192,
  _RTCP_PT_IJ = 195,
  _RTCP_PT_SR = 200,
  _RTCP_PT_RR = 201,
  _RTCP_PT_SDES = 202,
  _RTCP_PT_BYE = 203,
  _RTCP_PT_APP = 204,
  _RTCP_PT_RTPFB = 205,
  _RTCP_PT_PSFB = 206,
  _RTCP_PT_XR = 207,
  _RTCP_PT_AVB = 208,
  _RTCP_PT_RSI = 209,
  _RTCP_PT_TOKEN = 210,
  _RTCP_PT_IDMS = 211,
  _RTCP_PT_LAST = 255
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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 rtcp_rtpfb_t {
  _RTCP_RTPFB_NACK = 1,
  _RTCP_RTPFB_TMMBR = 3,
  _RTCP_RTPFB_TMMBN = 4,
  _RTCP_RTPFB_SR_REQ = 5,
  _RTCP_RTPFB_RAMS = 6,
  _RTCP_RTPFB_TLLEI = 7,
  _RTCP_RTPFB_ECN_FB = 8
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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 rtcp_sdes_t {
  _RTCP_SDES_END = 0,
  _RTCP_SDES_CNAME = 1,
  _RTCP_SDES_NAME = 2,
  _RTCP_SDES_EMAIL = 3,
  _RTCP_SDES_PHONE = 4,
  _RTCP_SDES_LOC = 5,
  _RTCP_SDES_TOOL = 6,
  _RTCP_SDES_NOTE = 7,
  _RTCP_SDES_PRIV = 8,
  _RTCP_SDES_H323 = 9,
  _RTCP_SDES_APSI = 10
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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,
  SWITCH_ABC_TYPE_READ_VIDEO_PING,
  SWITCH_ABC_TYPE_WRITE_VIDEO_PING,
  SWITCH_ABC_TYPE_STREAM_VIDEO_PING,
  SWITCH_ABC_TYPE_VIDEO_PATCH,
  SWITCH_ABC_TYPE_READ_TEXT
}

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

namespace FreeSWITCH.Native {

public class switch_api_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_api_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_api_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_api_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_api_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_api_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_next_get(swigCPtr);
      switch_api_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_api_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_api_interface() : this(freeswitchPINVOKE.new_switch_api_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_app_log : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_app_log(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_app_log obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_app_log obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_app_log() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_app_log(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr);
      switch_app_log ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
      return ret;
    } 
  }

  public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SAF_SUPPORT_TEXT_ONLY = (1 << 5)
}

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

namespace FreeSWITCH.Native {

public class switch_application_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_application_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_application_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_application_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_application_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_application_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_application_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr);
      switch_application_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_application_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class switch_asr_handle : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_asr_handle(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_asr_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_asr_handle obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_asr_handle() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_asr_handle(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_asr_interface asr_interface {
    set {
      freeswitchPINVOKE.switch_asr_handle_asr_interface_set(swigCPtr, switch_asr_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_asr_interface_get(swigCPtr);
      switch_asr_interface ret = (cPtr == global::System.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_fspr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_asr_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_handle() : this(freeswitchPINVOKE.new_switch_asr_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_asr_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_asr_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_asr_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_asr_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_asr_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_asr_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_resume_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_pause_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_start_input_timers_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_numeric_param_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_float_param_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_next_get(swigCPtr);
      switch_asr_interface ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_disable_all_grammars_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_audio_codec_settings : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_audio_codec_settings(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_audio_codec_settings obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_audio_codec_settings obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_audio_codec_settings() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_audio_codec_settings(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public int unused {
    set {
      freeswitchPINVOKE.switch_audio_codec_settings_unused_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_audio_codec_settings_unused_get(swigCPtr);
      return ret;
    } 
  }

  public switch_audio_codec_settings() : this(freeswitchPINVOKE.new_switch_audio_codec_settings(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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,
  SWITCH_AUDIO_COL_STR_ALBUM = 0x07,
  SWITCH_AUDIO_COL_STR_LICENSE = 0x08,
  SWITCH_AUDIO_COL_STR_TRACKNUMBER = 0x09,
  SWITCH_AUDIO_COL_STR_GENRE = 0x10,
  SWITCH_AUDIO_COL_STR_FILE_SIZE = 0xF0,
  SWITCH_AUDIO_COL_STR_FILE_TRIMMED = 0xF1,
  SWITCH_AUDIO_COL_STR_FILE_TRIMMED_MS = 0xF2
}

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

namespace FreeSWITCH.Native {

public class switch_audio_resampler_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_audio_resampler_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_audio_resampler_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_audio_resampler_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_audio_resampler_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_audio_resampler_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_void resampler {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_resampler_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_resampler_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_to_get(swigCPtr);
      SWIGTYPE_p_short ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_bitpack_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_bitpack_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_bitpack_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_bitpack_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_bitpack_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_bitpack_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_unsigned_char buf {
    set {
      freeswitchPINVOKE.switch_bitpack_t_buf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_buf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_cur_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_cache_db_connection_options_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_connection_options_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_cache_db_connection_options_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_connection_options_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_cache_db_connection_options_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_connection_options_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_connection_options_t_core_db_options_get(swigCPtr);
      switch_cache_db_core_db_options_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_connection_options_t_odbc_options_get(swigCPtr);
      switch_cache_db_odbc_options_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_cache_db_odbc_options_t(cPtr, false);
      return ret;
    } 
  }

  public switch_cache_db_database_interface_options_t database_interface_options {
    set {
      freeswitchPINVOKE.switch_cache_db_connection_options_t_database_interface_options_set(swigCPtr, switch_cache_db_database_interface_options_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_connection_options_t_database_interface_options_get(swigCPtr);
      switch_cache_db_database_interface_options_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_cache_db_database_interface_options_t(cPtr, false);
      return ret;
    } 
  }

  public switch_cache_db_connection_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_connection_options_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_cache_db_core_db_options_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_core_db_options_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_cache_db_core_db_options_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_core_db_options_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_cache_db_core_db_options_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_core_db_options_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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_bool_t in_memory {
    set {
      freeswitchPINVOKE.switch_cache_db_core_db_options_t_in_memory_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_cache_db_core_db_options_t_in_memory_get(swigCPtr);
      return ret;
    } 
  }

  public switch_cache_db_core_db_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_core_db_options_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_cache_db_database_interface_options_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_database_interface_options_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_cache_db_database_interface_options_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_database_interface_options_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_cache_db_database_interface_options_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_database_interface_options_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public string original_dsn {
    set {
      freeswitchPINVOKE.switch_cache_db_database_interface_options_t_original_dsn_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_database_interface_options_t_original_dsn_get(swigCPtr);
      return ret;
    } 
  }

  public string connection_string {
    set {
      freeswitchPINVOKE.switch_cache_db_database_interface_options_t_connection_string_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_database_interface_options_t_connection_string_get(swigCPtr);
      return ret;
    } 
  }

  public string prefix {
    set {
      freeswitchPINVOKE.switch_cache_db_database_interface_options_t_prefix_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_cache_db_database_interface_options_t_prefix_get(swigCPtr);
      return ret;
    } 
  }

  public switch_database_interface database_interface {
    set {
      freeswitchPINVOKE.switch_cache_db_database_interface_options_t_database_interface_set(swigCPtr, switch_database_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_database_interface_options_t_database_interface_get(swigCPtr);
      switch_database_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_database_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_bool_t make_module_no_unloadable {
    set {
      freeswitchPINVOKE.switch_cache_db_database_interface_options_t_make_module_no_unloadable_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_cache_db_database_interface_options_t_make_module_no_unloadable_get(swigCPtr);
      return ret;
    } 
  }

  public switch_cache_db_database_interface_options_t() : this(freeswitchPINVOKE.new_switch_cache_db_database_interface_options_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_DATABASE_INTERFACE
}

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

namespace FreeSWITCH.Native {

public class switch_cache_db_native_handle_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_native_handle_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_cache_db_native_handle_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_native_handle_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_cache_db_native_handle_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_native_handle_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_coredb_handle core_db_dbh {
    set {
      freeswitchPINVOKE.switch_cache_db_native_handle_t_core_db_dbh_set(swigCPtr, switch_coredb_handle.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_native_handle_t_core_db_dbh_get(swigCPtr);
      switch_coredb_handle ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_coredb_handle(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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_native_handle_t_odbc_dbh_get(swigCPtr);
      SWIGTYPE_p_switch_odbc_handle ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_odbc_handle(cPtr, false);
      return ret;
    } 
  }

  public switch_database_interface_handle database_interface_dbh {
    set {
      freeswitchPINVOKE.switch_cache_db_native_handle_t_database_interface_dbh_set(swigCPtr, switch_database_interface_handle.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_cache_db_native_handle_t_database_interface_dbh_get(swigCPtr);
      switch_database_interface_handle ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_database_interface_handle(cPtr, false);
      return ret;
    } 
  }

  public switch_cache_db_native_handle_t() : this(freeswitchPINVOKE.new_switch_cache_db_native_handle_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_cache_db_odbc_options_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cache_db_odbc_options_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_cache_db_odbc_options_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_odbc_options_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_cache_db_odbc_options_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cache_db_odbc_options_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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 = 700,
  SWITCH_CAUSE_SYSTEM_SHUTDOWN = 701,
  SWITCH_CAUSE_LOSE_RACE = 702,
  SWITCH_CAUSE_MANAGER_REQUEST = 703,
  SWITCH_CAUSE_BLIND_TRANSFER = 800,
  SWITCH_CAUSE_ATTENDED_TRANSFER = 801,
  SWITCH_CAUSE_ALLOTTED_TIMEOUT = 802,
  SWITCH_CAUSE_USER_CHALLENGE = 803,
  SWITCH_CAUSE_MEDIA_TIMEOUT = 804,
  SWITCH_CAUSE_PICKED_OFF = 805,
  SWITCH_CAUSE_USER_NOT_REGISTERED = 806,
  SWITCH_CAUSE_PROGRESS_TIMEOUT = 807,
  SWITCH_CAUSE_INVALID_GATEWAY = 808,
  SWITCH_CAUSE_GATEWAY_DOWN = 809,
  SWITCH_CAUSE_INVALID_URL = 810,
  SWITCH_CAUSE_INVALID_PROFILE = 811,
  SWITCH_CAUSE_NO_PICKUP = 812,
  SWITCH_CAUSE_SRTP_READ_ERROR = 813,
  SWITCH_CAUSE_BOWOUT = 814,
  SWITCH_CAUSE_BUSY_EVERYWHERE = 815,
  SWITCH_CAUSE_DECLINE = 816,
  SWITCH_CAUSE_DOES_NOT_EXIST_ANYWHERE = 817,
  SWITCH_CAUSE_NOT_ACCEPTABLE = 818,
  SWITCH_CAUSE_UNWANTED = 819,
  SWITCH_CAUSE_NO_IDENTITY = 820,
  SWITCH_CAUSE_BAD_IDENTITY_INFO = 821,
  SWITCH_CAUSE_UNSUPPORTED_CERTIFICATE = 822,
  SWITCH_CAUSE_INVALID_IDENTITY = 823,
  SWITCH_CAUSE_STALE_DATE = 824,
  SWITCH_CAUSE_REJECT_ALL = 825
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_caller_application : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_caller_application(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_caller_application obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_caller_application obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_caller_application() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_caller_application(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_application_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_next_get(swigCPtr);
      switch_caller_application ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application() : this(freeswitchPINVOKE.new_switch_caller_application(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_caller_extension : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_caller_extension(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_caller_extension obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_caller_extension obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_caller_extension() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_caller_extension(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_current_application_get(swigCPtr);
      switch_caller_application ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_last_application_get(swigCPtr);
      switch_caller_application ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_applications_get(swigCPtr);
      switch_caller_application ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_children_get(swigCPtr);
      switch_caller_profile ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_next_get(swigCPtr);
      switch_caller_extension ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_extension() : this(freeswitchPINVOKE.new_switch_caller_extension(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_caller_profile : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_caller_profile(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_caller_profile obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_caller_profile obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_caller_profile() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_caller_profile(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_origination_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_hunt_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_times_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_old_times_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_caller_extension_get(swigCPtr);
      switch_caller_extension ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_fspr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_caller_profile_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_next_get(swigCPtr);
      switch_caller_profile ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_soft_get(swigCPtr);
      profile_node_t ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SWITCH_CPF_SOFT_PREFIX = (1 << 3),
  SWITCH_CPF_SOFT_LOOKUP = (1 << 4)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  CF_APP_T38_POSSIBLE = (1 << 5)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_IO_OVERRIDE,
  CC_RTP_RTT,
  CC_MSRP,
  CC_MUTE_VIA_MEDIA_STREAM,
  CC_FLAG_MAX
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_HOLD_BLEG,
  CF_SERVICE,
  CF_TAGGED,
  CF_WINNER,
  CF_REUSE_CALLER_PROFILE,
  CF_CONTROLLED,
  CF_PROXY_MODE,
  CF_PROXY_OFF,
  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_MANUAL_VID_REFRESH,
  CF_MANUAL_MEDIA_PARAMS,
  CF_SERVICE_AUDIO,
  CF_SERVICE_VIDEO,
  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_NOSDP_REINVITE,
  CF_AUTOFLUSH_DURING_BRIDGE,
  CF_RTP_NOTIMER_DURING_BRIDGE,
  CF_AVPF,
  CF_AVPF_MOZ,
  CF_ICE,
  CF_DTLS,
  CF_VERBOSE_SDP,
  CF_DTLS_OK,
  CF_3PCC,
  CF_VIDEO_PASSIVE,
  CF_NOVIDEO,
  CF_VIDEO_BITRATE_UNMANAGABLE,
  CF_VIDEO_ECHO,
  CF_VIDEO_BLANK,
  CF_VIDEO_WRITING,
  CF_SLA_INTERCEPT,
  CF_VIDEO_BREAK,
  CF_AUDIO_PAUSE_READ,
  CF_AUDIO_PAUSE_WRITE,
  CF_VIDEO_PAUSE_READ,
  CF_VIDEO_PAUSE_WRITE,
  CF_BYPASS_MEDIA_AFTER_HOLD,
  CF_HANGUP_HELD,
  CF_CONFERENCE_RESET_MEDIA,
  CF_VIDEO_DECODED_READ,
  CF_VIDEO_DEBUG_READ,
  CF_VIDEO_DEBUG_WRITE,
  CF_NO_RECOVER,
  CF_VIDEO_READY,
  CF_VIDEO_MIRROR_INPUT,
  CF_VIDEO_READ_FILE_ATTACHED,
  CF_VIDEO_WRITE_FILE_ATTACHED,
  CF_3P_MEDIA_REQUESTED,
  CF_3P_NOMEDIA_REQUESTED,
  CF_3P_NOMEDIA_REQUESTED_BLEG,
  CF_IMAGE_SDP,
  CF_VIDEO_SDP_RECVD,
  CF_TEXT_SDP_RECVD,
  CF_HAS_TEXT,
  CF_TEXT_POSSIBLE,
  CF_TEXT_PASSIVE,
  CF_TEXT_ECHO,
  CF_TEXT_ACTIVE,
  CF_TEXT_IDLE,
  CF_TEXT_LINE_BASED,
  CF_QUEUE_TEXT_EVENTS,
  CF_FIRE_TEXT_EVENTS,
  CF_MSRP,
  CF_MSRPS,
  CF_WANT_MSRP,
  CF_WANT_MSRPS,
  CF_RTT,
  CF_WANT_RTT,
  CF_AUDIO,
  CF_AWAITING_STREAM_CHANGE,
  CF_PROCESSING_STREAM_CHANGE,
  CF_STREAM_CHANGED,
  CF_ARRANGED_BRIDGE,
  CF_STATE_REPEAT,
  CF_WANT_DTLSv1_2,
  CF_RFC7329_COMPAT,
  CF_REATTACHED,
  CF_VIDEO_READ_TAPPED,
  CF_VIDEO_WRITE_TAPPED,
  CF_DEVICES_CHANGED,
  CF_FLAG_MAX
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_channel_timetable : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_channel_timetable(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_channel_timetable obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_channel_timetable obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_channel_timetable() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_channel_timetable(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_channel_timetable_next_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_timetable() : this(freeswitchPINVOKE.new_switch_channel_timetable(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_chat_application_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_chat_application_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_chat_application_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_chat_application_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_chat_application_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_chat_application_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_application_interface_next_get(swigCPtr);
      switch_chat_application_interface ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_chat_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_chat_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_chat_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_chat_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_chat_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_chat_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_chat_send_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_event__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_next_get(swigCPtr);
      switch_chat_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_chat_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_interface() : this(freeswitchPINVOKE.new_switch_chat_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_codec : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_codec obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_codec() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_codec_interface codec_interface {
    set {
      freeswitchPINVOKE.switch_codec_codec_interface_set(swigCPtr, switch_codec_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_interface_get(swigCPtr);
      switch_codec_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == global::System.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_fspr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_codec_memory_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_memory_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_next_get(swigCPtr);
      switch_codec ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_session_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_cur_frame_get(swigCPtr);
      switch_frame ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_codec() : this(freeswitchPINVOKE.new_switch_codec(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_control_command_t {
  SCC_VIDEO_GEN_KEYFRAME = 0,
  SCC_VIDEO_BANDWIDTH,
  SCC_VIDEO_RESET,
  SCC_AUDIO_PACKET_LOSS,
  SCC_AUDIO_ADJUST_BITRATE,
  SCC_AUDIO_VAD,
  SCC_DEBUG,
  SCC_CODEC_SPECIFIC
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_control_type_t {
  SCCT_NONE = 0,
  SCCT_STRING,
  SCCT_INT
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SWITCH_CODEC_FLAG_HAS_ADJ_BITRATE = (1 << 14),
  SWITCH_CODEC_FLAG_HAS_PLC = (1 << 15),
  SWITCH_CODEC_FLAG_VIDEO_PATCHING = (1 << 16)
}

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

namespace FreeSWITCH.Native {

public class switch_codec_fmtp : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_fmtp(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_codec_fmtp obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_fmtp obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_codec_fmtp() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_fmtp(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 max_ptime {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_max_ptime_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_fmtp_max_ptime_get(swigCPtr);
      return ret;
    } 
  }

  public int min_ptime {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_min_ptime_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_fmtp_min_ptime_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 int sprop_stereo {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_sprop_stereo_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_fmtp_sprop_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_fmtp_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_fmtp() : this(freeswitchPINVOKE.new_switch_codec_fmtp(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_codec_implementation : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_implementation(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_codec_implementation obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_implementation obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_codec_implementation() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_implementation(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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_frame__switch_status_t encode_video {
    set {
      freeswitchPINVOKE.switch_codec_implementation_encode_video_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_encode_video_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t decode_video {
    set {
      freeswitchPINVOKE.switch_codec_implementation_decode_video_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_decode_video_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t codec_control {
    set {
      freeswitchPINVOKE.switch_codec_implementation_codec_control_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_codec_control_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec__switch_status_t ret = (cPtr == global::System.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 string modname {
    set {
      freeswitchPINVOKE.switch_codec_implementation_modname_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_implementation_modname_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_implementation next {
    set {
      freeswitchPINVOKE.switch_codec_implementation_next_set(swigCPtr, switch_codec_implementation.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_next_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_implementation() : this(freeswitchPINVOKE.new_switch_codec_implementation(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_codec_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_codec_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_codec_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_implementations_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public string modname {
    set {
      freeswitchPINVOKE.switch_codec_interface_modname_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_interface_modname_get(swigCPtr);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_codec_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_next_get(swigCPtr);
      switch_codec_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_interface() : this(freeswitchPINVOKE.new_switch_codec_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_codec_settings : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_codec_settings(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_codec_settings obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_settings obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_codec_settings() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_codec_settings(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_audio_codec_settings audio {
    set {
      freeswitchPINVOKE.switch_codec_settings_audio_set(swigCPtr, switch_audio_codec_settings.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_settings_audio_get(swigCPtr);
      switch_audio_codec_settings ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_audio_codec_settings(cPtr, false);
      return ret;
    } 
  }

  public switch_video_codec_settings video {
    set {
      freeswitchPINVOKE.switch_codec_settings_video_set(swigCPtr, switch_video_codec_settings.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_codec_settings_video_get(swigCPtr);
      switch_video_codec_settings ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_video_codec_settings(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_settings() : this(freeswitchPINVOKE.new_switch_codec_settings(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_config : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_config(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_config obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_config obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_config() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_config(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_FILE file {
    set {
      freeswitchPINVOKE.switch_config_file_set(swigCPtr, SWIGTYPE_p_FILE.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_config_file_get(swigCPtr);
      SWIGTYPE_p_FILE ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_console_callback_match : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_console_callback_match(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_console_callback_match obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_console_callback_match obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_console_callback_match() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_console_callback_match(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_console_callback_match_node head {
    set {
      freeswitchPINVOKE.switch_console_callback_match_head_set(swigCPtr, switch_console_callback_match_node.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_console_callback_match_head_get(swigCPtr);
      switch_console_callback_match_node ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_console_callback_match_end_get(swigCPtr);
      switch_console_callback_match_node ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_console_callback_match_node : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_console_callback_match_node(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_console_callback_match_node obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_console_callback_match_node obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_console_callback_match_node() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_console_callback_match_node(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_console_callback_match_node_next_get(swigCPtr);
      switch_console_callback_match_node ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SCF_DIALPLAN_TIMESTAMPS = (1 << 24),
  SCF_CPF_SOFT_PREFIX = (1 << 25),
  SCF_CPF_SOFT_LOOKUP = (1 << 26),
  SCF_EVENT_CHANNEL_ENABLE_HIERARCHY_DELIVERY = (1 << 27),
  SCF_EVENT_CHANNEL_HIERARCHY_DELIVERY_ONCE = (1 << 28),
  SCF_EVENT_CHANNEL_LOG_UNDELIVERABLE_JSON = (1 << 29),
  SCF_LOG_DISABLE = (1 << 30)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  ICE_LITE = (1 << 3)
}

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

namespace FreeSWITCH.Native {

public class switch_core_session_message : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_core_session_message(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_core_session_message obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_core_session_message obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_core_session_message() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_core_session_message(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_arg_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_reply_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_string_array_arg_get(swigCPtr);
      SWIGTYPE_p_p_char ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_ACKNOWLEDGE_CALL,
  SWITCH_MESSAGE_INDICATE_PROGRESS,
  SWITCH_MESSAGE_INDICATE_BRIDGE,
  SWITCH_MESSAGE_INDICATE_UNBRIDGE,
  SWITCH_MESSAGE_INDICATE_TRANSFER,
  SWITCH_MESSAGE_INDICATE_RINGING,
  SWITCH_MESSAGE_INDICATE_ALERTING,
  SWITCH_MESSAGE_INDICATE_MEDIA,
  SWITCH_MESSAGE_INDICATE_3P_MEDIA,
  SWITCH_MESSAGE_INDICATE_NOMEDIA,
  SWITCH_MESSAGE_INDICATE_3P_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_MEDIA_PARAMS,
  SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY,
  SWITCH_MESSAGE_INDICATE_AUDIO_SYNC,
  SWITCH_MESSAGE_INDICATE_VIDEO_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_INDICATE_HARD_MUTE,
  SWITCH_MESSAGE_INDICATE_BITRATE_REQ,
  SWITCH_MESSAGE_INDICATE_BITRATE_ACK,
  SWITCH_MESSAGE_INDICATE_CODEC_DEBUG_REQ,
  SWITCH_MESSAGE_INDICATE_CODEC_SPECIFIC_REQ,
  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_INDICATE_SESSION_ID,
  SWITCH_MESSAGE_INDICATE_PROMPT,
  SWITCH_MESSAGE_INVALID
}

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

namespace FreeSWITCH.Native {

public class switch_core_thread_session : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_core_thread_session(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_core_thread_session obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_core_thread_session obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_core_thread_session() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_core_thread_session(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_objs_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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_fspr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_core_thread_session_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_core_thread_session() : this(freeswitchPINVOKE.new_switch_core_thread_session(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_core_time_duration : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_core_time_duration(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_core_time_duration obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_core_time_duration obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_core_time_duration() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_core_time_duration(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_coredb_handle : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_coredb_handle(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_coredb_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_coredb_handle obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_coredb_handle() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_coredb_handle(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_bool_t in_memory {
    set {
      freeswitchPINVOKE.switch_coredb_handle_in_memory_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_coredb_handle_in_memory_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_sqlite3 handle {
    set {
      freeswitchPINVOKE.switch_coredb_handle_handle_set(swigCPtr, SWIGTYPE_p_sqlite3.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_coredb_handle_handle_get(swigCPtr);
      SWIGTYPE_p_sqlite3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false);
      return ret;
    } 
  }

  public switch_coredb_handle() : this(freeswitchPINVOKE.new_switch_coredb_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_cputime : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_cputime(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_cputime obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cputime obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_cputime() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_cputime(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public long userms {
    set {
      freeswitchPINVOKE.switch_cputime_userms_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_cputime_userms_get(swigCPtr);
      return ret;
    } 
  }

  public long kernelms {
    set {
      freeswitchPINVOKE.switch_cputime_kernelms_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_cputime_kernelms_get(swigCPtr);
      return ret;
    } 
  }

  public switch_cputime() : this(freeswitchPINVOKE.new_switch_cputime(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_crypto_key_material_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_crypto_key_material_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_crypto_key_material_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_crypto_key_material_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_crypto_key_material_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_crypto_key_material_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_rtp_crypto_key_param_method_type_t method {
    set {
      freeswitchPINVOKE.switch_crypto_key_material_t_method_set(swigCPtr, (int)value);
    } 
    get {
      switch_rtp_crypto_key_param_method_type_t ret = (switch_rtp_crypto_key_param_method_type_t)freeswitchPINVOKE.switch_crypto_key_material_t_method_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char raw_key {
    set {
      freeswitchPINVOKE.switch_crypto_key_material_t_raw_key_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_crypto_key_material_t_raw_key_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public string crypto_key {
    set {
      freeswitchPINVOKE.switch_crypto_key_material_t_crypto_key_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_crypto_key_material_t_crypto_key_get(swigCPtr);
      return ret;
    } 
  }

  public ulong lifetime {
    set {
      freeswitchPINVOKE.switch_crypto_key_material_t_lifetime_set(swigCPtr, value);
    } 
    get {
      ulong ret = freeswitchPINVOKE.switch_crypto_key_material_t_lifetime_get(swigCPtr);
      return ret;
    } 
  }

  public uint mki_id {
    set {
      freeswitchPINVOKE.switch_crypto_key_material_t_mki_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_crypto_key_material_t_mki_id_get(swigCPtr);
      return ret;
    } 
  }

  public uint mki_size {
    set {
      freeswitchPINVOKE.switch_crypto_key_material_t_mki_size_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_crypto_key_material_t_mki_size_get(swigCPtr);
      return ret;
    } 
  }

  public switch_crypto_key_material_t next {
    set {
      freeswitchPINVOKE.switch_crypto_key_material_t_next_set(swigCPtr, switch_crypto_key_material_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_crypto_key_material_t_next_get(swigCPtr);
      switch_crypto_key_material_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_crypto_key_material_t(cPtr, false);
      return ret;
    } 
  }

  public switch_crypto_key_material_t() : this(freeswitchPINVOKE.new_switch_crypto_key_material_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_database_flag_enum_t {
  SWITCH_DATABASE_FLAG_ROW_SIZE_LIMIT = (1 << 0)
}

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

namespace FreeSWITCH.Native {

public class switch_database_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_database_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_database_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_database_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_database_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_database_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_database_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_database_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

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

  public SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t handle_new {
    set {
      freeswitchPINVOKE.switch_database_interface_handle_new_set(swigCPtr, SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_handle_new_get(swigCPtr);
      SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t handle_destroy {
    set {
      freeswitchPINVOKE.switch_database_interface_handle_destroy_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_handle_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t flush {
    set {
      freeswitchPINVOKE.switch_database_interface_flush_set(swigCPtr, SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_flush_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t exec_detailed {
    set {
      freeswitchPINVOKE.switch_database_interface_exec_detailed_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_exec_detailed_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t exec_string {
    set {
      freeswitchPINVOKE.switch_database_interface_exec_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_exec_string_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t sql_set_auto_commit_attr {
    set {
      freeswitchPINVOKE.switch_database_interface_sql_set_auto_commit_attr_set(swigCPtr, SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_sql_set_auto_commit_attr_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t commit {
    set {
      freeswitchPINVOKE.switch_database_interface_commit_set(swigCPtr, SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_commit_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t rollback {
    set {
      freeswitchPINVOKE.switch_database_interface_rollback_set(swigCPtr, SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_rollback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t callback_exec_detailed {
    set {
      freeswitchPINVOKE.switch_database_interface_callback_exec_detailed_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_callback_exec_detailed_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t affected_rows {
    set {
      freeswitchPINVOKE.switch_database_interface_affected_rows_set(swigCPtr, SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_affected_rows_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public string prefixes {
  set { freeswitchPINVOKE.switch_database_interface_prefixes_set(swigCPtr, ref value); }

  get {
    return freeswitchPINVOKE.switch_database_interface_prefixes_get(swigCPtr);
  }

  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_database_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_database_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_database_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_database_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_database_interface_parent_set(swigCPtr, switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_database_interface next {
    set {
      freeswitchPINVOKE.switch_database_interface_next_set(swigCPtr, switch_database_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_next_get(swigCPtr);
      switch_database_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_database_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_database_interface() : this(freeswitchPINVOKE.new_switch_database_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_database_interface_handle : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_database_interface_handle(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_database_interface_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_database_interface_handle obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_database_interface_handle() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_database_interface_handle(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_cache_db_database_interface_options_t connection_options {
    set {
      freeswitchPINVOKE.switch_database_interface_handle_connection_options_set(swigCPtr, switch_cache_db_database_interface_options_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_handle_connection_options_get(swigCPtr);
      switch_cache_db_database_interface_options_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_cache_db_database_interface_options_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void handle {
    set {
      freeswitchPINVOKE.switch_database_interface_handle_handle_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_database_interface_handle_handle_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_database_interface_handle() : this(freeswitchPINVOKE.new_switch_database_interface_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_device_node_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_device_node_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_device_node_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_device_node_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_device_node_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_device_node_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_xml_cdr_get(swigCPtr);
      switch_xml ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_event__get(swigCPtr);
      switch_event ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_hold_record_get(swigCPtr);
      switch_hold_record_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_hup_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_parent_get(swigCPtr);
      switch_device_record_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_node_t_next_get(swigCPtr);
      switch_device_node_t ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_device_record_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_device_record_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_device_record_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_device_record_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_device_record_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_device_record_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_stats_get(swigCPtr);
      switch_device_stats_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_last_stats_get(swigCPtr);
      switch_device_stats_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_uuid_list_get(swigCPtr);
      switch_device_node_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_uuid_tail_get(swigCPtr);
      switch_device_node_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_fspr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_device_record_t_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_device_record_t_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_device_record_t() : this(freeswitchPINVOKE.new_switch_device_record_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_device_stats_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_device_stats_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_device_stats_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_device_stats_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_device_stats_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_device_stats_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_dialplan_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_dialplan_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_dialplan_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_dialplan_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_dialplan_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_dialplan_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_next_get(swigCPtr);
      switch_dialplan_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_dialplan_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_dialplan_interface() : this(freeswitchPINVOKE.new_switch_dialplan_interface(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_directories : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_directories(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_directories obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_directories obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_directories() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_directories(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 string fonts_dir {
    set {
      freeswitchPINVOKE.switch_directories_fonts_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_fonts_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string images_dir {
    set {
      freeswitchPINVOKE.switch_directories_images_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_images_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string data_dir {
    set {
      freeswitchPINVOKE.switch_directories_data_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_data_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string localstate_dir {
    set {
      freeswitchPINVOKE.switch_directories_localstate_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_localstate_dir_get(swigCPtr);
      return ret;
    } 
  }

  public switch_directories() : this(freeswitchPINVOKE.new_switch_directories(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class switch_directory_handle : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_directory_handle(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_directory_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_directory_handle obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_directory_handle() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_directory_handle(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_directory_interface directory_interface {
    set {
      freeswitchPINVOKE.switch_directory_handle_directory_interface_set(swigCPtr, switch_directory_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_directory_interface_get(swigCPtr);
      switch_directory_interface ret = (cPtr == global::System.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_fspr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_directory_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_handle() : this(freeswitchPINVOKE.new_switch_directory_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_directory_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_directory_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_directory_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_directory_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_directory_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_directory_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_next_get(swigCPtr);
      switch_directory_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_interface() : this(freeswitchPINVOKE.new_switch_directory_interface(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_dtmf_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_dtmf_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_dtmf_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_dtmf_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_dtmf_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_dtmf_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  ED_BRIDGE_READ = (1 << 4),
  ED_BRIDGE_WRITE = (1 << 5),
  ED_TAP_READ = (1 << 6),
  ED_TAP_WRITE = (1 << 7),
  ED_STEREO = (1 << 8)
}

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

namespace FreeSWITCH.Native {

public class switch_endpoint_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_endpoint_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_endpoint_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_endpoint_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_endpoint_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_endpoint_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_io_routines_get(swigCPtr);
      switch_io_routines ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_state_handler_get(swigCPtr);
      switch_state_handler_table ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_next_get(swigCPtr);
      switch_endpoint_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_recover_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__int ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_error_period_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_error_period_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_error_period_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_error_period_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_error_period_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_error_period_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public long start {
    set {
      freeswitchPINVOKE.switch_error_period_t_start_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_error_period_t_start_get(swigCPtr);
      return ret;
    } 
  }

  public long stop {
    set {
      freeswitchPINVOKE.switch_error_period_t_stop_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_error_period_t_stop_get(swigCPtr);
      return ret;
    } 
  }

  public uint flaws {
    set {
      freeswitchPINVOKE.switch_error_period_t_flaws_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_error_period_t_flaws_get(swigCPtr);
      return ret;
    } 
  }

  public uint consecutive_flaws {
    set {
      freeswitchPINVOKE.switch_error_period_t_consecutive_flaws_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_error_period_t_consecutive_flaws_get(swigCPtr);
      return ret;
    } 
  }

  public switch_error_period_t next {
    set {
      freeswitchPINVOKE.switch_error_period_t_next_set(swigCPtr, switch_error_period_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_error_period_t_next_get(swigCPtr);
      switch_error_period_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_error_period_t(cPtr, false);
      return ret;
    } 
  }

  public switch_error_period_t() : this(freeswitchPINVOKE.new_switch_error_period_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_event : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_event(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_event obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_event obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_event() {
    Dispose(false);
  }

  public virtual void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_event(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_headers_get(swigCPtr);
      switch_event_header ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_last_header_get(swigCPtr);
      switch_event_header ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_bind_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_event_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_next_get(swigCPtr);
      switch_event ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class switch_event_header : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_event_header(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_event_header obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_event_header obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_event_header() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_event_header(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_header_next_get(swigCPtr);
      switch_event_header ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
      return ret;
    } 
  }

  public switch_event_header() : this(freeswitchPINVOKE.new_switch_event_header(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_SEND_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_TEXT,
  SWITCH_EVENT_SHUTDOWN_REQUESTED,
  SWITCH_EVENT_CERT_RELOAD,
  SWITCH_EVENT_ALL
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_file_command_t {
  SCFC_FLUSH_AUDIO,
  SCFC_PAUSE_READ,
  SCFC_PAUSE_WRITE,
  SCFC_RESUME_WRITE
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SWITCH_FILE_FLAG_VIDEO = (1 << 19),
  SWITCH_FILE_FLAG_VIDEO_EOF = (1 << 20),
  SWITCH_FILE_PRE_CLOSED = (1 << 21)
}

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

namespace FreeSWITCH.Native {

public class switch_file_handle : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_file_handle(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_file_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_file_handle obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_file_handle() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_file_handle(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_file_interface file_interface {
    set {
      freeswitchPINVOKE.switch_file_handle_file_interface_set(swigCPtr, switch_file_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_file_interface_get(swigCPtr);
      switch_file_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_fd_get(swigCPtr);
      SWIGTYPE_p_switch_file_t ret = (cPtr == global::System.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_fspr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_file_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_audio_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == global::System.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 int volgranular {
    set {
      freeswitchPINVOKE.switch_file_handle_volgranular_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_volgranular_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_params__get(swigCPtr);
      switch_event ret = (cPtr == global::System.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 string stream_name {
    set {
      freeswitchPINVOKE.switch_file_handle_stream_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_stream_name_get(swigCPtr);
      return ret;
    } 
  }

  public string modname {
    set {
      freeswitchPINVOKE.switch_file_handle_modname_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_modname_get(swigCPtr);
      return ret;
    } 
  }

  public switch_mm_t mm {
    set {
      freeswitchPINVOKE.switch_file_handle_mm_set(swigCPtr, switch_mm_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_mm_get(swigCPtr);
      switch_mm_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_mm_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t flag_mutex {
    set {
      freeswitchPINVOKE.switch_file_handle_flag_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_flag_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public long duration {
    set {
      freeswitchPINVOKE.switch_file_handle_duration_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_file_handle_duration_get(swigCPtr);
      return ret;
    } 
  }

  public long vpos {
    set {
      freeswitchPINVOKE.switch_file_handle_vpos_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_file_handle_vpos_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void muxbuf {
    set {
      freeswitchPINVOKE.switch_file_handle_muxbuf_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_muxbuf_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t muxlen {
    set {
      freeswitchPINVOKE.switch_file_handle_muxlen_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_muxlen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_file_handle() : this(freeswitchPINVOKE.new_switch_file_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_file_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_file_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_file_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_file_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_file_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_file_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_truncate_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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_switch_frame_enum_switch_video_read_flag_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_switch_frame_enum_switch_video_read_flag_t__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_read_video_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t file_write_video {
    set {
      freeswitchPINVOKE.switch_file_interface_file_write_video_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_write_video_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 SWIGTYPE_p_f_p_switch_file_handle__switch_status_t file_pre_close {
    set {
      freeswitchPINVOKE.switch_file_interface_file_pre_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_pre_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle__switch_status_t ret = (cPtr == global::System.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_enum_switch_file_command_t__switch_status_t file_command {
    set {
      freeswitchPINVOKE.switch_file_interface_file_command_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_command_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_next_get(swigCPtr);
      switch_file_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_file_interface() : this(freeswitchPINVOKE.new_switch_file_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_filenames : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_filenames(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_filenames obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_filenames obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_filenames() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_filenames(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_fps_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_fps_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_fps_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_fps_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_fps_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_fps_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public float fps {
    set {
      freeswitchPINVOKE.switch_fps_t_fps_set(swigCPtr, value);
    } 
    get {
      float ret = freeswitchPINVOKE.switch_fps_t_fps_get(swigCPtr);
      return ret;
    } 
  }

  public int ms {
    set {
      freeswitchPINVOKE.switch_fps_t_ms_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_fps_t_ms_get(swigCPtr);
      return ret;
    } 
  }

  public int samples {
    set {
      freeswitchPINVOKE.switch_fps_t_samples_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_fps_t_samples_get(swigCPtr);
      return ret;
    } 
  }

  public switch_fps_t() : this(freeswitchPINVOKE.new_switch_fps_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_frame : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_frame(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_frame obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_frame() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_frame(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_codec codec {
    set {
      freeswitchPINVOKE.switch_frame_codec_set(swigCPtr, switch_codec.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_codec_get(swigCPtr);
      switch_codec ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_packet_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_extra_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 uint timestamp {
    set {
      freeswitchPINVOKE.switch_frame_timestamp_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_timestamp_get(swigCPtr);
      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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_pmap_get(swigCPtr);
      payload_map_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new payload_map_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_image_t img {
    set {
      freeswitchPINVOKE.switch_frame_img_set(swigCPtr, SWIGTYPE_p_switch_image_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_img_get(swigCPtr);
      SWIGTYPE_p_switch_image_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_image_t(cPtr, false);
      return ret;
    } 
  }

  public switch_frame_geometry_t geometry {
    set {
      freeswitchPINVOKE.switch_frame_geometry_set(swigCPtr, switch_frame_geometry_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_frame_geometry_get(swigCPtr);
      switch_frame_geometry_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_frame_geometry_t(cPtr, false);
      return ret;
    } 
  }

  public switch_frame() : this(freeswitchPINVOKE.new_switch_frame(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_UDPTL_PACKET = (1 << 7),
  SFF_NOT_AUDIO = (1 << 8),
  SFF_RTCP = (1 << 9),
  SFF_MARKER = (1 << 10),
  SFF_WAIT_KEY_FRAME = (1 << 11),
  SFF_RAW_RTP_PARSE_FRAME = (1 << 12),
  SFF_PICTURE_RESET = (1 << 13),
  SFF_SAME_IMAGE = (1 << 14),
  SFF_USE_VIDEO_TIMESTAMP = (1 << 15),
  SFF_ENCODED = (1 << 16),
  SFF_TEXT_LINE_BREAK = (1 << 17),
  SFF_IS_KEYFRAME = (1 << 18),
  SFF_EXTERNAL = (1 << 19)
}

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

namespace FreeSWITCH.Native {

public class switch_frame_geometry_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_frame_geometry_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_frame_geometry_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_frame_geometry_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_frame_geometry_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_frame_geometry_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public int w {
    set {
      freeswitchPINVOKE.switch_frame_geometry_t_w_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_frame_geometry_t_w_get(swigCPtr);
      return ret;
    } 
  }

  public int h {
    set {
      freeswitchPINVOKE.switch_frame_geometry_t_h_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_frame_geometry_t_h_get(swigCPtr);
      return ret;
    } 
  }

  public int x {
    set {
      freeswitchPINVOKE.switch_frame_geometry_t_x_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_frame_geometry_t_x_get(swigCPtr);
      return ret;
    } 
  }

  public int y {
    set {
      freeswitchPINVOKE.switch_frame_geometry_t_y_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_frame_geometry_t_y_get(swigCPtr);
      return ret;
    } 
  }

  public int z {
    set {
      freeswitchPINVOKE.switch_frame_geometry_t_z_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_frame_geometry_t_z_get(swigCPtr);
      return ret;
    } 
  }

  public int M {
    set {
      freeswitchPINVOKE.switch_frame_geometry_t_M_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_frame_geometry_t_M_get(swigCPtr);
      return ret;
    } 
  }

  public int X {
    set {
      freeswitchPINVOKE.switch_frame_geometry_t_X_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_frame_geometry_t_X_get(swigCPtr);
      return ret;
    } 
  }

  public switch_frame_geometry_t() : this(freeswitchPINVOKE.new_switch_frame_geometry_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_hold_record_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_hold_record_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_hold_record_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_hold_record_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_hold_record_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_hold_record_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_hold_record_t_next_get(swigCPtr);
      switch_hold_record_t ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_http_request_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_http_request_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_http_request_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_http_request_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_http_request_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_http_request_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_http_request_t_headers_get(swigCPtr);
      switch_event ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_http_request_t_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class switch_input_args_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_input_args_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_input_args_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_input_args_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_input_args_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_input_args_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_buf_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_dmachine_get(swigCPtr);
      SWIGTYPE_p_switch_ivr_dmachine ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_kill_channel : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_kill_channel(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_kill_channel obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_kill_channel obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_kill_channel() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_kill_channel(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_get(swigCPtr);
      switch_io_event_hook_kill_channel ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_outgoing_channel : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_outgoing_channel(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_outgoing_channel obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_outgoing_channel obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_outgoing_channel() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_outgoing_channel(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_get(swigCPtr);
      switch_io_event_hook_outgoing_channel ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_read_frame : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_read_frame(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_read_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_read_frame obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_read_frame() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_read_frame(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_read_frame_next_get(swigCPtr);
      switch_io_event_hook_read_frame ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_receive_event : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_receive_event(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_receive_event obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_receive_event obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_receive_event() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_receive_event(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_next_get(swigCPtr);
      switch_io_event_hook_receive_event ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_receive_message : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_receive_message(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_receive_message obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_receive_message obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_receive_message() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_receive_message(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_next_get(swigCPtr);
      switch_io_event_hook_receive_message ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_recv_dtmf : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_recv_dtmf(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_recv_dtmf obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_recv_dtmf obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_recv_dtmf() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_recv_dtmf(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr);
      switch_io_event_hook_recv_dtmf ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_send_dtmf : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_send_dtmf(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_send_dtmf obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_send_dtmf obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_send_dtmf() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_send_dtmf(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_get(swigCPtr);
      switch_io_event_hook_send_dtmf ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_state_change : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_state_change(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_state_change obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_state_change obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_state_change() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_state_change(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_next_get(swigCPtr);
      switch_io_event_hook_state_change ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_state_run : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_state_run(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_state_run obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_state_run obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_state_run() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_state_run(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_run_next_get(swigCPtr);
      switch_io_event_hook_state_run ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_text_read_frame : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_text_read_frame(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_text_read_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_text_read_frame obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_text_read_frame() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_text_read_frame(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t text_read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_text_read_frame_text_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_read_frame_text_read_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == global::System.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_text_read_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_text_read_frame_next_set(swigCPtr, switch_io_event_hook_text_read_frame.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_read_frame_next_get(swigCPtr);
      switch_io_event_hook_text_read_frame ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_io_event_hook_text_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_text_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_text_read_frame(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_text_write_frame : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_text_write_frame(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_text_write_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_text_write_frame obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_text_write_frame() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_text_write_frame(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t text_write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_text_write_frame_text_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_write_frame_text_write_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == global::System.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_text_write_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_text_write_frame_next_set(swigCPtr, switch_io_event_hook_text_write_frame.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_write_frame_next_get(swigCPtr);
      switch_io_event_hook_text_write_frame ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_io_event_hook_text_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_text_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_text_write_frame(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_video_read_frame : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_video_read_frame(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_video_read_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_video_read_frame obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_video_read_frame() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_video_read_frame(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_get(swigCPtr);
      switch_io_event_hook_video_read_frame ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_video_write_frame : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_video_write_frame(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_video_write_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_video_write_frame obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_video_write_frame() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_video_write_frame(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_get(swigCPtr);
      switch_io_event_hook_video_write_frame ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hook_write_frame : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_write_frame(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hook_write_frame obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_write_frame obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hook_write_frame() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hook_write_frame(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_write_frame_next_get(swigCPtr);
      switch_io_event_hook_write_frame ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_io_event_hooks : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hooks(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_event_hooks obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hooks obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_event_hooks() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr);
      switch_io_event_hook_outgoing_channel ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr);
      switch_io_event_hook_receive_message ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr);
      switch_io_event_hook_receive_event ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr);
      switch_io_event_hook_read_frame ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr);
      switch_io_event_hook_video_read_frame ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr);
      switch_io_event_hook_write_frame ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr);
      switch_io_event_hook_video_write_frame ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_text_write_frame text_write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_text_write_frame_set(swigCPtr, switch_io_event_hook_text_write_frame.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_text_write_frame_get(swigCPtr);
      switch_io_event_hook_text_write_frame ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_io_event_hook_text_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_text_read_frame text_read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_text_read_frame_set(swigCPtr, switch_io_event_hook_text_read_frame.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_text_read_frame_get(swigCPtr);
      switch_io_event_hook_text_read_frame ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_io_event_hook_text_read_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr);
      switch_io_event_hook_kill_channel ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr);
      switch_io_event_hook_send_dtmf ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr);
      switch_io_event_hook_recv_dtmf ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr);
      switch_io_event_hook_state_change ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_run_get(swigCPtr);
      switch_io_event_hook_state_run ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SWITCH_IO_FLAG_FORCE = (1 << 2),
  SWITCH_IO_FLAG_QUEUED = (1 << 3)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_READ_TEXT_FRAME,
  SWITCH_IO_WRITE_TEXT_FRAME,
  SWITCH_IO_GET_JB
}

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

namespace FreeSWITCH.Native {

public class switch_io_routines : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_routines(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_io_routines obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_routines obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_io_routines() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_io_routines(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_fspr_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_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t.getCPtr(value));
    } 
    get {
      global::System.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_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t ret = (cPtr == global::System.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_fspr_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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_kill_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_state_change_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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_p_p_switch_frame_unsigned_long_int__switch_status_t read_text_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_read_text_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_read_text_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == global::System.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_text_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_write_text_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_write_text_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_state_run_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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_t_switch_media_type_t__p_switch_jb_s get_jb {
    set {
      freeswitchPINVOKE.switch_io_routines_get_jb_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_get_jb_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s(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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_padding_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_io_routines() : this(freeswitchPINVOKE.new_switch_io_routines(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_type_t {
  SWITCH_IO_READ,
  SWITCH_IO_WRITE
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_ivr_dmachine_match : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_ivr_dmachine_match(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_ivr_dmachine_match obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_ivr_dmachine_match obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_ivr_dmachine_match() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_ivr_dmachine_match(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_switch_ivr_dmachine dmachine {
    set {
      freeswitchPINVOKE.switch_ivr_dmachine_match_dmachine_set(swigCPtr, SWIGTYPE_p_switch_ivr_dmachine.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_ivr_dmachine_match_dmachine_get(swigCPtr);
      SWIGTYPE_p_switch_ivr_dmachine ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_ivr_dmachine_match_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_ivr_dmachine_match() : this(freeswitchPINVOKE.new_switch_ivr_dmachine_match(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class switch_json_api_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_json_api_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_json_api_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_json_api_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_json_api_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_json_api_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_json_api_interface_next_get(swigCPtr);
      switch_json_api_interface ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_limit_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_limit_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_limit_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_limit_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_limit_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_limit_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_reset_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_status_get(swigCPtr);
      SWIGTYPE_p_f_void__p_char ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_limit_interface_next_get(swigCPtr);
      switch_limit_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_limit_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_limit_interface() : this(freeswitchPINVOKE.new_switch_limit_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_loadable_module_function_table_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_loadable_module_function_table_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_loadable_module_function_table_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_loadable_module_function_table_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_loadable_module_function_table_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_loadable_module_function_table_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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_fspr_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_fspr_pool_t__switch_status_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_load_get(swigCPtr);
      SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == global::System.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) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_loadable_module_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_loadable_module_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_loadable_module_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_loadable_module_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_loadable_module_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_loadable_module_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_endpoint_interface_get(swigCPtr);
      switch_endpoint_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_timer_interface_get(swigCPtr);
      switch_timer_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_dialplan_interface_get(swigCPtr);
      switch_dialplan_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_codec_interface_get(swigCPtr);
      switch_codec_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_application_interface_get(swigCPtr);
      switch_application_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_chat_application_interface_get(swigCPtr);
      switch_chat_application_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_api_interface_get(swigCPtr);
      switch_api_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_json_api_interface_get(swigCPtr);
      switch_json_api_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_file_interface_get(swigCPtr);
      switch_file_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_speech_interface_get(swigCPtr);
      switch_speech_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_directory_interface_get(swigCPtr);
      switch_directory_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_chat_interface_get(swigCPtr);
      switch_chat_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_say_interface_get(swigCPtr);
      switch_say_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_asr_interface_get(swigCPtr);
      switch_asr_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_management_interface_get(swigCPtr);
      switch_management_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_limit_interface_get(swigCPtr);
      switch_limit_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_limit_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_database_interface database_interface {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_database_interface_set(swigCPtr, switch_database_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_database_interface_get(swigCPtr);
      switch_database_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_database_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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_fspr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_loadable_module_interface_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_interface_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_loadable_module_interface() : this(freeswitchPINVOKE.new_switch_loadable_module_interface(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_loadable_module_type_t {
  SWITCH_LOADABLE_MODULE_TYPE_PRELOAD,
  SWITCH_LOADABLE_MODULE_TYPE_COMMON,
  SWITCH_LOADABLE_MODULE_TYPE_POSTLOAD
}

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

namespace FreeSWITCH.Native {

public class switch_log_json_format_item_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_log_json_format_item_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_log_json_format_item_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_log_json_format_item_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_log_json_format_item_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_log_json_format_item_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_log_json_format_item_t_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_json_format_item_t_name_get(swigCPtr);
      return ret;
    } 
  }

  public string value {
    set {
      freeswitchPINVOKE.switch_log_json_format_item_t_value_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_json_format_item_t_value_get(swigCPtr);
      return ret;
    } 
  }

  public switch_log_json_format_item_t() : this(freeswitchPINVOKE.new_switch_log_json_format_item_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_log_json_format_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_log_json_format_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_log_json_format_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_log_json_format_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_log_json_format_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_log_json_format_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_log_json_format_item_t version {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_version_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_version_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t host {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_host_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_host_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t timestamp {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_timestamp_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_timestamp_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t level {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_level_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_level_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t ident {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_ident_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_ident_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t pid {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_pid_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_pid_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t uuid {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_uuid_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_uuid_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t file {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_file_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_file_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t line {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_line_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_line_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t function {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_function_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_function_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t full_message {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_full_message_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_full_message_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_item_t short_message {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_short_message_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_short_message_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public string custom_field_prefix {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_custom_field_prefix_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_json_format_t_custom_field_prefix_get(swigCPtr);
      return ret;
    } 
  }

  public double timestamp_divisor {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_timestamp_divisor_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_log_json_format_t_timestamp_divisor_get(swigCPtr);
      return ret;
    } 
  }

  public switch_log_json_format_item_t sequence {
    set {
      freeswitchPINVOKE.switch_log_json_format_t_sequence_set(swigCPtr, switch_log_json_format_item_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_json_format_t_sequence_get(swigCPtr);
      switch_log_json_format_item_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_log_json_format_item_t(cPtr, false);
      return ret;
    } 
  }

  public switch_log_json_format_t() : this(freeswitchPINVOKE.new_switch_log_json_format_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_DISABLE = -1,
  SWITCH_LOG_INVALID = 64,
  SWITCH_LOG_UNINIT = 1000
}

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

namespace FreeSWITCH.Native {

public class switch_log_node_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_log_node_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_log_node_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_log_node_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_log_node_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_log_node_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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_event tags {
    set {
      freeswitchPINVOKE.switch_log_node_t_tags_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_node_t_tags_get(swigCPtr);
      switch_event ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public long sequence {
    set {
      freeswitchPINVOKE.switch_log_node_t_sequence_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_log_node_t_sequence_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_cJSON meta {
    set {
      freeswitchPINVOKE.switch_log_node_t_meta_set(swigCPtr, SWIGTYPE_p_cJSON.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_node_t_meta_get(swigCPtr);
      SWIGTYPE_p_cJSON ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_cJSON(cPtr, false);
      return ret;
    } 
  }

  public switch_log_node_t() : this(freeswitchPINVOKE.new_switch_log_node_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_management_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_management_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_management_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_management_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_management_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_management_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_next_get(swigCPtr);
      switch_management_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_management_interface() : this(freeswitchPINVOKE.new_switch_management_interface(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SMBF_READ_VIDEO_PING = (1 << 17),
  SMBF_WRITE_VIDEO_PING = (1 << 18),
  SMBF_READ_VIDEO_STREAM = (1 << 19),
  SMBF_WRITE_VIDEO_STREAM = (1 << 20),
  SMBF_VIDEO_PATCH = (1 << 21),
  SMBF_SPY_VIDEO_STREAM = (1 << 22),
  SMBF_SPY_VIDEO_STREAM_BLEG = (1 << 23),
  SMBF_READ_VIDEO_PATCH = (1 << 24),
  SMBF_READ_TEXT_STREAM = (1 << 25),
  SMBF_FIRST = (1 << 26),
  SMBF_PAUSE = (1 << 27)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SMF_REPLYONLY_A = (1 << 9),
  SMF_REPLYONLY_B = (1 << 10)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_flow_t {
  SWITCH_MEDIA_FLOW_SENDRECV = 0,
  SWITCH_MEDIA_FLOW_SENDONLY,
  SWITCH_MEDIA_FLOW_RECVONLY,
  SWITCH_MEDIA_FLOW_INACTIVE,
  SWITCH_MEDIA_FLOW_DISABLED
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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,
  SWITCH_MEDIA_TYPE_TEXT
}

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

namespace FreeSWITCH.Native {

public class switch_mm_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_mm_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_mm_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_mm_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_mm_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_mm_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public int samplerate {
    set {
      freeswitchPINVOKE.switch_mm_t_samplerate_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_samplerate_get(swigCPtr);
      return ret;
    } 
  }

  public int channels {
    set {
      freeswitchPINVOKE.switch_mm_t_channels_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_channels_get(swigCPtr);
      return ret;
    } 
  }

  public int keyint {
    set {
      freeswitchPINVOKE.switch_mm_t_keyint_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_keyint_get(swigCPtr);
      return ret;
    } 
  }

  public int ab {
    set {
      freeswitchPINVOKE.switch_mm_t_ab_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_ab_get(swigCPtr);
      return ret;
    } 
  }

  public int vb {
    set {
      freeswitchPINVOKE.switch_mm_t_vb_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_vb_get(swigCPtr);
      return ret;
    } 
  }

  public int vw {
    set {
      freeswitchPINVOKE.switch_mm_t_vw_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_vw_get(swigCPtr);
      return ret;
    } 
  }

  public int vh {
    set {
      freeswitchPINVOKE.switch_mm_t_vh_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_vh_get(swigCPtr);
      return ret;
    } 
  }

  public int cbr {
    set {
      freeswitchPINVOKE.switch_mm_t_cbr_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_cbr_get(swigCPtr);
      return ret;
    } 
  }

  public float fps {
    set {
      freeswitchPINVOKE.switch_mm_t_fps_set(swigCPtr, value);
    } 
    get {
      float ret = freeswitchPINVOKE.switch_mm_t_fps_get(swigCPtr);
      return ret;
    } 
  }

  public float source_fps {
    set {
      freeswitchPINVOKE.switch_mm_t_source_fps_set(swigCPtr, value);
    } 
    get {
      float ret = freeswitchPINVOKE.switch_mm_t_source_fps_get(swigCPtr);
      return ret;
    } 
  }

  public int source_kps {
    set {
      freeswitchPINVOKE.switch_mm_t_source_kps_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_source_kps_get(swigCPtr);
      return ret;
    } 
  }

  public int vbuf {
    set {
      freeswitchPINVOKE.switch_mm_t_vbuf_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_vbuf_get(swigCPtr);
      return ret;
    } 
  }

  public switch_video_profile_t vprofile {
    set {
      freeswitchPINVOKE.switch_mm_t_vprofile_set(swigCPtr, (int)value);
    } 
    get {
      switch_video_profile_t ret = (switch_video_profile_t)freeswitchPINVOKE.switch_mm_t_vprofile_get(swigCPtr);
      return ret;
    } 
  }

  public switch_video_encode_speed_t vencspd {
    set {
      freeswitchPINVOKE.switch_mm_t_vencspd_set(swigCPtr, (int)value);
    } 
    get {
      switch_video_encode_speed_t ret = (switch_video_encode_speed_t)freeswitchPINVOKE.switch_mm_t_vencspd_get(swigCPtr);
      return ret;
    } 
  }

  public byte try_hardware_encoder {
    set {
      freeswitchPINVOKE.switch_mm_t_try_hardware_encoder_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_mm_t_try_hardware_encoder_get(swigCPtr);
      return ret;
    } 
  }

  public int scale_w {
    set {
      freeswitchPINVOKE.switch_mm_t_scale_w_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_scale_w_get(swigCPtr);
      return ret;
    } 
  }

  public int scale_h {
    set {
      freeswitchPINVOKE.switch_mm_t_scale_h_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_mm_t_scale_h_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_img_fmt_t fmt {
    set {
      freeswitchPINVOKE.switch_mm_t_fmt_set(swigCPtr, SWIGTYPE_p_switch_img_fmt_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_img_fmt_t ret = new SWIGTYPE_p_switch_img_fmt_t(freeswitchPINVOKE.switch_mm_t_fmt_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string auth_username {
    set {
      freeswitchPINVOKE.switch_mm_t_auth_username_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_mm_t_auth_username_get(swigCPtr);
      return ret;
    } 
  }

  public string auth_password {
    set {
      freeswitchPINVOKE.switch_mm_t_auth_password_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_mm_t_auth_password_get(swigCPtr);
      return ret;
    } 
  }

  public switch_mm_t() : this(freeswitchPINVOKE.new_switch_mm_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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,
  SWITCH_DATABASE_INTERFACE
}

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

namespace FreeSWITCH.Native {

public class switch_network_port_range : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_network_port_range(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_network_port_range obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_network_port_range obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_network_port_range() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_network_port_range(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public int port {
    set {
      freeswitchPINVOKE.switch_network_port_range_port_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_network_port_range_port_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_int ports {
    set {
      freeswitchPINVOKE.switch_network_port_range_ports_set(swigCPtr, SWIGTYPE_p_int.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_network_port_range_ports_get(swigCPtr);
      SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
      return ret;
    } 
  }

  public int min_port {
    set {
      freeswitchPINVOKE.switch_network_port_range_min_port_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_network_port_range_min_port_get(swigCPtr);
      return ret;
    } 
  }

  public int max_port {
    set {
      freeswitchPINVOKE.switch_network_port_range_max_port_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_network_port_range_max_port_get(swigCPtr);
      return ret;
    } 
  }

  public switch_network_port_range() : this(freeswitchPINVOKE.new_switch_network_port_range(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class switch_picture : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_picture(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_picture obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_picture obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_picture() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_picture(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public uint width {
    set {
      freeswitchPINVOKE.switch_picture_width_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_picture_width_get(swigCPtr);
      return ret;
    } 
  }

  public uint height {
    set {
      freeswitchPINVOKE.switch_picture_height_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_picture_height_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_unsigned_char planes {
    set {
      freeswitchPINVOKE.switch_picture_planes_set(swigCPtr, SWIGTYPE_p_p_unsigned_char.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_picture_planes_get(swigCPtr);
      SWIGTYPE_p_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_long stride {
    set {
      freeswitchPINVOKE.switch_picture_stride_set(swigCPtr, SWIGTYPE_p_unsigned_long.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_picture_stride_get(swigCPtr);
      SWIGTYPE_p_unsigned_long ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_long(cPtr, false);
      return ret;
    } 
  }

  public switch_picture() : this(freeswitchPINVOKE.new_switch_picture(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_rtcp_hdr_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtcp_hdr_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtcp_hdr_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_hdr_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtcp_hdr_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtcp_hdr_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_rtcp_numbers_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtcp_numbers_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtcp_numbers_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_numbers_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtcp_numbers_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtcp_numbers_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 uint last_rpt_ts {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_last_rpt_ts_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_last_rpt_ts_get(swigCPtr);
      return ret;
    } 
  }

  public uint ssrc {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_ssrc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_ssrc_get(swigCPtr);
      return ret;
    } 
  }

  public uint csrc {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_csrc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_csrc_get(swigCPtr);
      return ret;
    } 
  }

  public uint last_pkt_tsdiff {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_last_pkt_tsdiff_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_last_pkt_tsdiff_get(swigCPtr);
      return ret;
    } 
  }

  public double inter_jitter {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_inter_jitter_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_rtcp_numbers_t_inter_jitter_get(swigCPtr);
      return ret;
    } 
  }

  public uint last_rpt_ext_seq {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_last_rpt_ext_seq_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_last_rpt_ext_seq_get(swigCPtr);
      return ret;
    } 
  }

  public ushort last_rpt_cycle {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_last_rpt_cycle_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_numbers_t_last_rpt_cycle_get(swigCPtr);
      return ret;
    } 
  }

  public ushort period_pkt_count {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_period_pkt_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_numbers_t_period_pkt_count_get(swigCPtr);
      return ret;
    } 
  }

  public ushort pkt_count {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_pkt_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_numbers_t_pkt_count_get(swigCPtr);
      return ret;
    } 
  }

  public ushort sent_pkt_count {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_sent_pkt_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_numbers_t_sent_pkt_count_get(swigCPtr);
      return ret;
    } 
  }

  public uint rtcp_rtp_count {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_rtcp_rtp_count_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_rtcp_rtp_count_get(swigCPtr);
      return ret;
    } 
  }

  public uint high_ext_seq_recv {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_high_ext_seq_recv_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_high_ext_seq_recv_get(swigCPtr);
      return ret;
    } 
  }

  public ushort cycle {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_cycle_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_numbers_t_cycle_get(swigCPtr);
      return ret;
    } 
  }

  public uint bad_seq {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_bad_seq_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_bad_seq_get(swigCPtr);
      return ret;
    } 
  }

  public ushort base_seq {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_base_seq_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_numbers_t_base_seq_get(swigCPtr);
      return ret;
    } 
  }

  public uint cum_lost {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_cum_lost_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_cum_lost_get(swigCPtr);
      return ret;
    } 
  }

  public uint last_recv_lsr_local {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_last_recv_lsr_local_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_last_recv_lsr_local_get(swigCPtr);
      return ret;
    } 
  }

  public uint last_recv_lsr_peer {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_last_recv_lsr_peer_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_last_recv_lsr_peer_get(swigCPtr);
      return ret;
    } 
  }

  public uint init {
    set {
      freeswitchPINVOKE.switch_rtcp_numbers_t_init_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtcp_numbers_t_init_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtcp_numbers_t() : this(freeswitchPINVOKE.new_switch_rtcp_numbers_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_rtcp_video_counters_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtcp_video_counters_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtcp_video_counters_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_video_counters_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtcp_video_counters_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtcp_video_counters_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public ushort nack_count {
    set {
      freeswitchPINVOKE.switch_rtcp_video_counters_t_nack_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_video_counters_t_nack_count_get(swigCPtr);
      return ret;
    } 
  }

  public ushort fir_count {
    set {
      freeswitchPINVOKE.switch_rtcp_video_counters_t_fir_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_video_counters_t_fir_count_get(swigCPtr);
      return ret;
    } 
  }

  public ushort pli_count {
    set {
      freeswitchPINVOKE.switch_rtcp_video_counters_t_pli_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_video_counters_t_pli_count_get(swigCPtr);
      return ret;
    } 
  }

  public ushort sr_count {
    set {
      freeswitchPINVOKE.switch_rtcp_video_counters_t_sr_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_video_counters_t_sr_count_get(swigCPtr);
      return ret;
    } 
  }

  public ushort rr_count {
    set {
      freeswitchPINVOKE.switch_rtcp_video_counters_t_rr_count_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_rtcp_video_counters_t_rr_count_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtcp_video_counters_t() : this(freeswitchPINVOKE.new_switch_rtcp_video_counters_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_rtcp_video_stats_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtcp_video_stats_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtcp_video_stats_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_video_stats_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtcp_video_stats_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtcp_video_stats_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_rtcp_video_counters_t video_in {
    set {
      freeswitchPINVOKE.switch_rtcp_video_stats_t_video_in_set(swigCPtr, switch_rtcp_video_counters_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtcp_video_stats_t_video_in_get(swigCPtr);
      switch_rtcp_video_counters_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_rtcp_video_counters_t(cPtr, false);
      return ret;
    } 
  }

  public switch_rtcp_video_counters_t video_out {
    set {
      freeswitchPINVOKE.switch_rtcp_video_stats_t_video_out_set(swigCPtr, switch_rtcp_video_counters_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtcp_video_stats_t_video_out_get(swigCPtr);
      switch_rtcp_video_counters_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_rtcp_video_counters_t(cPtr, false);
      return ret;
    } 
  }

  public switch_rtcp_video_stats_t() : this(freeswitchPINVOKE.new_switch_rtcp_video_stats_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  RTP_BUG_ALWAYS_AUTO_ADJUST = (1 << 12)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_rtp_crypto_key : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_crypto_key(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtp_crypto_key obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_crypto_key obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtp_crypto_key() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_crypto_key(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 keysalt {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_keysalt_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_keysalt_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_next_get(swigCPtr);
      switch_rtp_crypto_key ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_param_method_type_t {
  CRYPTO_KEY_PARAM_METHOD_INLINE,
  CRYPTO_KEY_PARAM_METHOD_INVALID
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_256_GCM,
  AEAD_AES_128_GCM_8,
  AEAD_AES_128_GCM,
  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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_RTCP_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_RTP_FLAG_DEBUG_RTP_READ,
  SWITCH_RTP_FLAG_DEBUG_RTP_WRITE,
  SWITCH_RTP_FLAG_ESTIMATORS,
  SWITCH_RTP_FLAG_ADJ_BITRATE_CAP,
  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_MUTE,
  SWITCH_RTP_FLAG_NACK,
  SWITCH_RTP_FLAG_TMMBR,
  SWITCH_RTP_FLAG_DETECT_SSRC,
  SWITCH_RTP_FLAG_TEXT,
  SWITCH_RTP_FLAG_OLD_FIR,
  SWITCH_RTP_FLAG_PASSTHRU,
  SWITCH_RTP_FLAG_SECURE_SEND_MKI,
  SWITCH_RTP_FLAG_SECURE_RECV_MKI,
  SWITCH_RTP_FLAG_SRTP_HANGUP_ON_ERROR,
  SWITCH_RTP_FLAG_AUDIO_FIRE_SEND_RTCP_EVENT,
  SWITCH_RTP_FLAG_VIDEO_FIRE_SEND_RTCP_EVENT,
  SWITCH_RTP_FLAG_INVALID
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_rtp_hdr_ext_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_hdr_ext_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtp_hdr_ext_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_hdr_ext_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtp_hdr_ext_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_hdr_ext_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_rtp_hdr_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_hdr_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtp_hdr_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_hdr_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtp_hdr_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_hdr_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_rtp_numbers_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_numbers_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtp_numbers_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_numbers_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtp_numbers_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_numbers_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_numbers_t_loss_get(swigCPtr);
      SWIGTYPE_p_int ret = (cPtr == global::System.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_error_period_t error_log {
    set {
      freeswitchPINVOKE.switch_rtp_numbers_t_error_log_set(swigCPtr, switch_error_period_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_numbers_t_error_log_get(swigCPtr);
      switch_error_period_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_error_period_t(cPtr, false);
      return ret;
    } 
  }

  public switch_rtp_numbers_t() : this(freeswitchPINVOKE.new_switch_rtp_numbers_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_rtp_packet_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_packet_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtp_packet_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_packet_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtp_packet_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_packet_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_rtp_hdr_t header {
    set {
      freeswitchPINVOKE.switch_rtp_packet_t_header_set(swigCPtr, switch_rtp_hdr_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_packet_t_header_get(swigCPtr);
      switch_rtp_hdr_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_rtp_hdr_t(cPtr, false);
      return ret;
    } 
  }

  public string body {
    set {
      freeswitchPINVOKE.switch_rtp_packet_t_body_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_rtp_packet_t_body_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_hdr_ext_t ext {
    set {
      freeswitchPINVOKE.switch_rtp_packet_t_ext_set(swigCPtr, switch_rtp_hdr_ext_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_packet_t_ext_get(swigCPtr);
      switch_rtp_hdr_ext_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_rtp_hdr_ext_t(cPtr, false);
      return ret;
    } 
  }

  public string ebody {
    set {
      freeswitchPINVOKE.switch_rtp_packet_t_ebody_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_rtp_packet_t_ebody_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_packet_t() : this(freeswitchPINVOKE.new_switch_rtp_packet_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_rtp_stats_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_stats_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_rtp_stats_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_stats_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_rtp_stats_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_rtp_stats_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_rtp_numbers_t inbound {
    set {
      freeswitchPINVOKE.switch_rtp_stats_t_inbound_set(swigCPtr, switch_rtp_numbers_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_stats_t_inbound_get(swigCPtr);
      switch_rtp_numbers_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_stats_t_outbound_get(swigCPtr);
      switch_rtp_numbers_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_stats_t_rtcp_get(swigCPtr);
      switch_rtcp_numbers_t ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_rw_t {
  SWITCH_RW_READ,
  SWITCH_RW_WRITE
}

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

namespace FreeSWITCH.Native {

public class switch_say_args_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_say_args_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_say_args_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_say_args_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_say_args_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_say_args_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_say_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_say_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_say_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_say_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_say_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_say_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_next_get(swigCPtr);
      switch_say_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_say_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_say_interface() : this(freeswitchPINVOKE.new_switch_say_interface(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

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

namespace FreeSWITCH.Native {

public class switch_scheduler_task : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_scheduler_task(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_scheduler_task obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_scheduler_task obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_scheduler_task() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_scheduler_task(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_scheduler_task_cmd_arg_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_OFFER,
  SDP_ANSWER
}

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

namespace FreeSWITCH.Native {

public class switch_secure_settings_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_secure_settings_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_secure_settings_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_secure_settings_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_secure_settings_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_secure_settings_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public int crypto_tag {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_crypto_tag_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_secure_settings_t_crypto_tag_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char local_raw_key {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_local_raw_key_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_secure_settings_t_local_raw_key_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char remote_raw_key {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_remote_raw_key_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_secure_settings_t_remote_raw_key_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public switch_rtp_crypto_key_type_t crypto_type {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_crypto_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_rtp_crypto_key_type_t ret = (switch_rtp_crypto_key_type_t)freeswitchPINVOKE.switch_secure_settings_t_crypto_type_get(swigCPtr);
      return ret;
    } 
  }

  public string local_crypto_key {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_local_crypto_key_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_secure_settings_t_local_crypto_key_get(swigCPtr);
      return ret;
    } 
  }

  public string remote_crypto_key {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_remote_crypto_key_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_secure_settings_t_remote_crypto_key_get(swigCPtr);
      return ret;
    } 
  }

  public switch_crypto_key_material_t local_key_material_next {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_local_key_material_next_set(swigCPtr, switch_crypto_key_material_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_secure_settings_t_local_key_material_next_get(swigCPtr);
      switch_crypto_key_material_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_crypto_key_material_t(cPtr, false);
      return ret;
    } 
  }

  public uint local_key_material_n {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_local_key_material_n_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_secure_settings_t_local_key_material_n_get(swigCPtr);
      return ret;
    } 
  }

  public switch_crypto_key_material_t remote_key_material_next {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_remote_key_material_next_set(swigCPtr, switch_crypto_key_material_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_secure_settings_t_remote_key_material_next_get(swigCPtr);
      switch_crypto_key_material_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_crypto_key_material_t(cPtr, false);
      return ret;
    } 
  }

  public uint remote_key_material_n {
    set {
      freeswitchPINVOKE.switch_secure_settings_t_remote_key_material_n_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_secure_settings_t_remote_key_material_n_get(swigCPtr);
      return ret;
    } 
  }

  public switch_secure_settings_t() : this(freeswitchPINVOKE.new_switch_secure_settings_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_serial_event_header_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_serial_event_header_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_serial_event_header_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_serial_event_header_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_serial_event_header_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_serial_event_header_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_serial_event_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_serial_event_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_serial_event_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_serial_event_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_serial_event_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_serial_event_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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,
  SCSC_MDNS_RESOLVE,
  SCSC_SHUTDOWN_CAUSE,
  SCSC_UUID_VERSION
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_slin_data : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_slin_data(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_slin_data obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_slin_data obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_slin_data() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_slin_data(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_switch_core_session session {
    set {
      freeswitchPINVOKE.switch_slin_data_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_session_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_write_frame_get(swigCPtr);
      switch_frame ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_codec_get(swigCPtr);
      switch_codec ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SWITCH_SPEECH_FLAG_MULTI = (1 << 7)
}

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

namespace FreeSWITCH.Native {

public class switch_speech_handle : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_speech_handle(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_speech_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_speech_handle obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_speech_handle() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_speech_handle(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public switch_speech_interface speech_interface {
    set {
      freeswitchPINVOKE.switch_speech_handle_speech_interface_set(swigCPtr, switch_speech_interface.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_speech_interface_get(swigCPtr);
      switch_speech_interface ret = (cPtr == global::System.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_fspr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_speech_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_handle() : this(freeswitchPINVOKE.new_switch_speech_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_speech_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_speech_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_speech_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_speech_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_speech_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_speech_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle__void ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_next_get(swigCPtr);
      switch_speech_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_interface() : this(freeswitchPINVOKE.new_switch_speech_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_srtp_crypto_suite_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_srtp_crypto_suite_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_srtp_crypto_suite_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_srtp_crypto_suite_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_srtp_crypto_suite_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_srtp_crypto_suite_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 string alias {
    set {
      freeswitchPINVOKE.switch_srtp_crypto_suite_t_alias_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_srtp_crypto_suite_t_alias_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 keysalt_len {
    set {
      freeswitchPINVOKE.switch_srtp_crypto_suite_t_keysalt_len_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_srtp_crypto_suite_t_keysalt_len_get(swigCPtr);
      return ret;
    } 
  }

  public int salt_len {
    set {
      freeswitchPINVOKE.switch_srtp_crypto_suite_t_salt_len_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_srtp_crypto_suite_t_salt_len_get(swigCPtr);
      return ret;
    } 
  }

  public switch_srtp_crypto_suite_t() : this(freeswitchPINVOKE.new_switch_srtp_crypto_suite_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_UNSHIFT = (1 << 2),
  SWITCH_STACK_PUSH = (1 << 3)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SSH_FLAG_PRE_EXEC = (1 << 1)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_state_handler_table : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_state_handler_table(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_state_handler_table obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_state_handler_table obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_state_handler_table() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_state_handler_table(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_routing_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_execute_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hangup_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_consume_media_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hibernate_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reset_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_park_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reporting_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_padding_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == global::System.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) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_TOO_LATE,
  SWITCH_STATUS_XBREAK = 35,
  SWITCH_STATUS_WINBREAK = 730035
}

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

namespace FreeSWITCH.Native {

public class switch_stream_handle : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_stream_handle(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_stream_handle obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_stream_handle obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_stream_handle() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_stream_handle(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_read_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_end_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_param_event_get(swigCPtr);
      switch_event ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public switch_stream_handle() : this(freeswitchPINVOKE.new_switch_stream_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_t38_options_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_t38_options_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_t38_options_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_t38_options_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_t38_options_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_t38_options_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_thread_data_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_thread_data_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_thread_data_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_thread_data_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_thread_data_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_thread_data_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_thread_data_t_obj_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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 int running {
    set {
      freeswitchPINVOKE.switch_thread_data_t_running_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_thread_data_t_running_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_fspr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_thread_data_t_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_thread_data_t_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_thread_data_t() : this(freeswitchPINVOKE.new_switch_thread_data_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_timer : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_timer(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_timer obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_timer obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_timer() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_timer(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 uint last_samplecount {
    set {
      freeswitchPINVOKE.switch_timer_last_samplecount_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_timer_last_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_timer_interface_get(swigCPtr);
      switch_timer_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_fspr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_timer_memory_pool_set(swigCPtr, SWIGTYPE_p_fspr_pool_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_memory_pool_get(swigCPtr);
      SWIGTYPE_p_fspr_pool_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_fspr_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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == global::System.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_time_t start {
    set {
      freeswitchPINVOKE.switch_timer_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_timer_start_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public ulong tick {
    set {
      freeswitchPINVOKE.switch_timer_tick_set(swigCPtr, value);
    } 
    get {
      ulong ret = freeswitchPINVOKE.switch_timer_tick_get(swigCPtr);
      return ret;
    } 
  }

  public switch_timer() : this(freeswitchPINVOKE.new_switch_timer(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

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

namespace FreeSWITCH.Native {

public class switch_timer_interface : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_timer_interface(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_timer_interface obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_timer_interface obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_timer_interface() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_timer_interface(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_next_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_step_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_sync_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == global::System.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 {
      global::System.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 == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_parent_get(swigCPtr);
      switch_loadable_module_interface ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_next_get(swigCPtr);
      switch_timer_interface ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_timer_interface() : this(freeswitchPINVOKE.new_switch_timer_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_uint31_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_uint31_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_uint31_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_uint31_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_uint31_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_uint31_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public uint value {
    set {
      freeswitchPINVOKE.switch_uint31_t_value_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_uint31_t_value_get(swigCPtr);
      return ret;
    } 
  }

  public switch_uint31_t() : this(freeswitchPINVOKE.new_switch_uint31_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public class switch_unicast_conninfo : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_unicast_conninfo(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_unicast_conninfo obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_unicast_conninfo obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_unicast_conninfo() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_unicast_conninfo(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public SWIGTYPE_p_switch_core_session session {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_session_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_read_codec_get(swigCPtr);
      switch_codec ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_get(swigCPtr);
      switch_frame ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_socket_get(swigCPtr);
      SWIGTYPE_p_switch_socket_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_local_addr_get(swigCPtr);
      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_get(swigCPtr);
      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == global::System.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 SWIGTYPE_p_switch_thread_t thread {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_thread_set(swigCPtr, SWIGTYPE_p_switch_thread_t.getCPtr(value));
    } 
    get {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_thread_get(swigCPtr);
      SWIGTYPE_p_switch_thread_t ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_t(cPtr, false);
      return ret;
    } 
  }

  public switch_unicast_conninfo() : this(freeswitchPINVOKE.new_switch_unicast_conninfo(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_vad_state_t {
  SWITCH_VAD_STATE_NONE,
  SWITCH_VAD_STATE_START_TALKING,
  SWITCH_VAD_STATE_TALKING,
  SWITCH_VAD_STATE_STOP_TALKING,
  SWITCH_VAD_STATE_ERROR
}

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

namespace FreeSWITCH.Native {

public class switch_vid_params_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_vid_params_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_vid_params_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_vid_params_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_vid_params_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_vid_params_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public uint width {
    set {
      freeswitchPINVOKE.switch_vid_params_t_width_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_vid_params_t_width_get(swigCPtr);
      return ret;
    } 
  }

  public uint height {
    set {
      freeswitchPINVOKE.switch_vid_params_t_height_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_vid_params_t_height_get(swigCPtr);
      return ret;
    } 
  }

  public uint fps {
    set {
      freeswitchPINVOKE.switch_vid_params_t_fps_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_vid_params_t_fps_get(swigCPtr);
      return ret;
    } 
  }

  public uint d_width {
    set {
      freeswitchPINVOKE.switch_vid_params_t_d_width_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_vid_params_t_d_width_get(swigCPtr);
      return ret;
    } 
  }

  public uint d_height {
    set {
      freeswitchPINVOKE.switch_vid_params_t_d_height_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_vid_params_t_d_height_get(swigCPtr);
      return ret;
    } 
  }

  public switch_vid_params_t() : this(freeswitchPINVOKE.new_switch_vid_params_t(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_vid_spy_fmt_t {
  SPY_LOWER_RIGHT_SMALL,
  SPY_LOWER_RIGHT_LARGE,
  SPY_DUAL_CROP
}

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

namespace FreeSWITCH.Native {

public class switch_video_codec_settings : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_video_codec_settings(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_video_codec_settings obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_video_codec_settings obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_video_codec_settings() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_video_codec_settings(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  public uint bandwidth {
    set {
      freeswitchPINVOKE.switch_video_codec_settings_bandwidth_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_video_codec_settings_bandwidth_get(swigCPtr);
      return ret;
    } 
  }

  public int width {
    set {
      freeswitchPINVOKE.switch_video_codec_settings_width_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_video_codec_settings_width_get(swigCPtr);
      return ret;
    } 
  }

  public int height {
    set {
      freeswitchPINVOKE.switch_video_codec_settings_height_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_video_codec_settings_height_get(swigCPtr);
      return ret;
    } 
  }

  public byte try_hardware_encoder {
    set {
      freeswitchPINVOKE.switch_video_codec_settings_try_hardware_encoder_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_video_codec_settings_try_hardware_encoder_get(swigCPtr);
      return ret;
    } 
  }

  public byte fps {
    set {
      freeswitchPINVOKE.switch_video_codec_settings_fps_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_video_codec_settings_fps_get(swigCPtr);
      return ret;
    } 
  }

  public string config_profile_name {
    set {
      freeswitchPINVOKE.switch_video_codec_settings_config_profile_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_video_codec_settings_config_profile_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_video_codec_settings() : this(freeswitchPINVOKE.new_switch_video_codec_settings(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_video_encode_speed_t {
  SWITCH_VIDEO_ENCODE_SPEED_DEFAULT = 0,
  SWITCH_VIDEO_ENCODE_SPEED_FAST = 0,
  SWITCH_VIDEO_ENCODE_SPEED_MEDIUM,
  SWITCH_VIDEO_ENCODE_SPEED_SLOW
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_video_profile_t {
  SWITCH_VIDEO_PROFILE_BASELINE,
  SWITCH_VIDEO_PROFILE_MAIN,
  SWITCH_VIDEO_PROFILE_HIGH
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_video_read_flag_t {
  SVR_BLOCK = (1 << 0),
  SVR_FLUSH = (1 << 1),
  SVR_CHECK = (1 << 2)
}

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

namespace FreeSWITCH.Native {

public class switch_waitlist_t : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_waitlist_t(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_waitlist_t obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_waitlist_t obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_waitlist_t() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_waitlist_t(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

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

}

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

namespace FreeSWITCH.Native {

public class switch_xml : global::System.IDisposable {
  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_xml(global::System.IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
  }

  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(switch_xml obj) {
    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
  }

  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_xml obj) {
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.Dispose();
      return ptr;
    } else {
      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
    }
  }

  ~switch_xml() {
    Dispose(false);
  }

  public void Dispose() {
    Dispose(true);
    global::System.GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing) {
    lock(this) {
      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
        if (swigCMemOwn) {
          swigCMemOwn = false;
          freeswitchPINVOKE.delete_switch_xml(swigCPtr);
        }
        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
      }
    }
  }

  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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_next_get(swigCPtr);
      switch_xml ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_sibling_get(swigCPtr);
      switch_xml ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_ordered_get(swigCPtr);
      switch_xml ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_child_get(swigCPtr);
      switch_xml ret = (cPtr == global::System.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 {
      global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_parent_get(swigCPtr);
      switch_xml ret = (cPtr == global::System.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 string open {
    set {
      freeswitchPINVOKE.switch_xml_open_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_open_get(swigCPtr);
      return ret;
    } 
  }

  public string close {
    set {
      freeswitchPINVOKE.switch_xml_close_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_close_get(swigCPtr);
      return ret;
    } 
  }

  public switch_xml() : this(freeswitchPINVOKE.new_switch_xml(), true) {
  }

}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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),
  SWITCH_XML_CDATA = (1 << 4)
}

}
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.1.0
//
// 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_CHANNELS = (1 << 5),
  SWITCH_XML_SECTION_MAX = (1 << 5)
}

}
