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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~Api() {
    Dispose();
  }

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

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

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

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

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

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~CoreSession() {
    Dispose();
  }

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

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

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

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

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

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

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

  public 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 Answer() {
    int ret = freeswitchPINVOKE.CoreSession_Answer(swigCPtr);
    return ret;
  }

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

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

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

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

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

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

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

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

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

  public void SetCallerData(string var, string val) {
    freeswitchPINVOKE.CoreSession_SetCallerData(swigCPtr, var, val);
  }

  public int Originate(CoreSession a_leg_session, string dest, int timeout) {
    int ret = freeswitchPINVOKE.CoreSession_Originate(swigCPtr, CoreSession.getCPtr(a_leg_session), dest, timeout);
    return ret;
  }

  public 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 int CollectDigits(int timeout) {
    int ret = freeswitchPINVOKE.CoreSession_CollectDigits(swigCPtr, timeout);
    return ret;
  }

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

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

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

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

  public string PlayAndGetDigits(int min_digits, int max_digits, int max_tries, int timeout, string terminators, string audio_files, string bad_input_audio_files, string digits_regex, string var_name) {
    string ret = freeswitchPINVOKE.CoreSession_PlayAndGetDigits(swigCPtr, min_digits, max_digits, max_tries, timeout, terminators, audio_files, bad_input_audio_files, digits_regex, var_name);
    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 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);
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~DTMF() {
    Dispose();
  }

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

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

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

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

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~EventConsumer() {
    Dispose();
  }

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

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

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

  public SWIGTYPE_p_switch_event_node node {
    set {
      freeswitchPINVOKE.EventConsumer_node_set(swigCPtr, SWIGTYPE_p_switch_event_node.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.EventConsumer_node_get(swigCPtr);
      SWIGTYPE_p_switch_event_node ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_event_node(cPtr, false);
      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 EventConsumer(string event_name, string subclass_name) : this(freeswitchPINVOKE.new_EventConsumer(event_name, subclass_name), true) {
  }

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

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~Event() {
    Dispose();
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static string switch_vmprintf(string zFormat, SWIGTYPE_p_va_list ap) {
    string ret = freeswitchPINVOKE.switch_vmprintf(zFormat, SWIGTYPE_p_va_list.getCPtr(ap));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

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

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

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

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

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

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

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

  public static void switch_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_add(SWIGTYPE_p_switch_core_session session, 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), 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 SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

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

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

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

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

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

  public static 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 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 switch_status_t switch_core_media_bug_remove_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback));
    return ret;
  }

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

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

  public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
    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_port_allocator_new(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(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 switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err);
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static void switch_core_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 SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

  public static 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_core_session switch_core_session_request_by_name(string endpoint_name, switch_call_direction_t direction, SWIGTYPE_p_p_apr_pool_t pool) {
    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, (int)direction, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool));
    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
    return ret;
  }

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

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

  public static 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_get_uuid() {
    string ret = freeswitchPINVOKE.switch_core_get_uuid();
    return ret;
  }

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

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

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

  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 void switch_core_session_hupall_matching_var(string var_name, string var_val, switch_call_cause_t cause) {
    freeswitchPINVOKE.switch_core_session_hupall_matching_var(var_name, var_val, (int)cause);
  }

  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_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 switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication);
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static switch_call_cause_t switch_core_session_resurrect_channel(string endpoint_name, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, SWIGTYPE_p_void data) {
    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_resurrect_channel(endpoint_name, SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_void.getCPtr(data));
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data));
    return ret;
  }

  public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash 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_hash.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_delete(SWIGTYPE_p_switch_hash hash, string key) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hash.getCPtr(hash), key);
    return ret;
  }

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

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

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

  public static SWIGTYPE_p_HashElem switch_hash_first(string depricate_me, SWIGTYPE_p_switch_hash hash) {
    IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(depricate_me, SWIGTYPE_p_switch_hash.getCPtr(hash));
    SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
    return ret;
  }

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

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

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

  public static 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(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static 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, byte channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static switch_status_t switch_core_asr_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_load_grammar(switch_asr_handle ah, string grammar, string path) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, path);
    return ret;
  }

  public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string grammar) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), grammar);
    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_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

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

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

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

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

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

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

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

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

  public static int set_high_priority() {
    int ret = freeswitchPINVOKE.set_high_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_int val) {
    int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_int.getCPtr(val));
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

  public static 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 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 switch_status_t switch_strftime_tz(string tz, string format, string date, uint len, SWIGTYPE_p_switch_time_t thetime) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len, SWIGTYPE_p_switch_time_t.getCPtr(thetime));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

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

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

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

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

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

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

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

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

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

  public static 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(string name, string proto, string from, string to, string subject, string body, string type, string hint) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_chat_send(name, proto, from, to, subject, body, type, hint);
    return ret;
  }

  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 int switch_toupper(int c) {
    int ret = freeswitchPINVOKE.switch_toupper(c);
    return ret;
  }

  public static int switch_tolower(int c) {
    int ret = freeswitchPINVOKE.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_is_moh(string s) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s);
    return ret;
  }

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

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

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

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

  public static 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 switch_status_t switch_find_local_ip(string buf, int len, int family) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, 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 ushort get_port(SWIGTYPE_p_sockaddr sa) {
    ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa));
    return ret;
  }

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

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

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

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

  public static 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_safe_strdup(string it) {
    string ret = freeswitchPINVOKE.switch_safe_strdup(it);
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file) {
    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file);
    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 int switch_parse_cidr(string arg0, SWIGTYPE_p_unsigned_long ip, SWIGTYPE_p_unsigned_long mask, SWIGTYPE_p_unsigned_long bitp) {
    int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, SWIGTYPE_p_unsigned_long.getCPtr(ip), SWIGTYPE_p_unsigned_long.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, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  public static int switch_channel_test_ready(SWIGTYPE_p_switch_channel channel, switch_bool_t media) {
    int ret = freeswitchPINVOKE.switch_channel_test_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)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 switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel));
    return ret;
  }

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

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

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

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

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

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

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

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

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

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

  public static void switch_channel_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id) {
    freeswitchPINVOKE.switch_channel_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id);
  }

  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 switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
    return ret;
  }

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

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

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

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

  public static 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_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_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_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_variable(SWIGTYPE_p_switch_channel channel, string varname) {
    string ret = freeswitchPINVOKE.switch_channel_get_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname);
    return ret;
  }

  public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
    return ret;
  }

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

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

  public static void switch_channel_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 switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) {
    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel));
    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
    return ret;
  }

  public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
    return ret;
  }

  public static void switch_channel_set_flag(SWIGTYPE_p_switch_channel channel, switch_channel_flag_t flag) {
    freeswitchPINVOKE.switch_channel_set_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)flag);
  }

  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 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_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 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_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), 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(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
    return ret;
  }

  public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
    int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
    return ret;
  }

  public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
    freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
  }

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

  public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info));
    return ret;
  }

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

  public static 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_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

  public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string);
    return ret;
  }

  public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
    return ret;
  }

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

  public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static string switch_channel_state_name(switch_channel_state_t state) {
    string ret = freeswitchPINVOKE.switch_channel_state_name((int)state);
    return ret;
  }

  public static switch_channel_state_t switch_channel_name_state(string name) {
    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name);
    return ret;
  }

  public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
    freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
  }

  public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
    freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
  }

  public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
    freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
  }

  public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) {
    string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1);
    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_audio_sync(SWIGTYPE_p_switch_channel channel) {
    freeswitchPINVOKE.switch_channel_audio_sync(SWIGTYPE_p_switch_channel.getCPtr(channel));
  }

  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(SWIGTYPE_p_switch_channel channel, uint flags) {
    freeswitchPINVOKE.switch_channel_set_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
  }

  public static void switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
    freeswitchPINVOKE.switch_channel_clear_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
  }

  public static int switch_channel_test_app_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
    int ret = freeswitchPINVOKE.switch_channel_test_app_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
    return ret;
  }

  public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) {
    freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
  }

  public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) {
    freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
  }

  public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
    return ret;
  }

  public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) {
    freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_read(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_read(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_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 void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) {
    freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer));
  }

  public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_zwrite(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

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

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

  public static switch_status_t switch_event_create_subclass_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, switch_event_types_t event_id, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), (int)event_id, subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority);
    return ret;
  }

  public static string switch_event_get_header(switch_event arg0, string header_name) {
    string ret = freeswitchPINVOKE.switch_event_get_header(switch_event.getCPtr(arg0), header_name);
    return ret;
  }

  public static string switch_event_get_body(switch_event arg0) {
    string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0));
    return ret;
  }

  public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data);
    return ret;
  }

  public static switch_status_t switch_event_del_header(switch_event arg0, string header_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header(switch_event.getCPtr(arg0), header_name);
    return ret;
  }

  public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) {
    freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
  }

  public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup));
    return ret;
  }

  public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static void switch_event_prep_for_delivery_detailed(string file, string func, int line, switch_event arg3) {
    freeswitchPINVOKE.switch_event_prep_for_delivery_detailed(file, func, line, switch_event.getCPtr(arg3));
  }

  public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
    return ret;
  }

  public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node));
    return ret;
  }

  public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node));
    return ret;
  }

  public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback));
    return ret;
  }

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

  public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type));
    return ret;
  }

  public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name);
    return ret;
  }

  public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode);
    return ret;
  }

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

  public static string switch_event_expand_headers(switch_event arg0, string arg1) {
    string ret = freeswitchPINVOKE.switch_event_expand_headers(switch_event.getCPtr(arg0), arg1);
    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 void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) {
    freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
  }

  public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hash vars_map) {
    string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hash.getCPtr(vars_map));
    return ret;
  }

  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, 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, 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 divisor) {
    freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, 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 uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) {
    uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples);
    return ret;
  }

  public static void switch_mux_channels(SWIGTYPE_p_short data, SWIGTYPE_p_switch_size_t samples, uint channels) {
    freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(samples), channels);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
  }

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

  public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr));
    return ret;
  }

  public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) {
    int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off);
    return ret;
  }

  public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) {
    int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off);
    return ret;
  }

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

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

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

  public static switch_status_t switch_ivr_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 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), 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_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string path, 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, path, 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 path) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, path);
    return ret;
  }

  public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string grammar) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar);
    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_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_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 void switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) {
    freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args));
  }

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

  public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, int hits, string app, string data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t callback) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), hits, app, data, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t.getCPtr(callback));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint listen_hits, uint timeout_ms, string file) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, listen_hits, timeout_ms, file);
    return ret;
  }

  public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit);
    return ret;
  }

  public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, string var_name, string digit_buffer, uint digit_buffer_length, string digits_regex) {
    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);
    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) {
    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);
    return ret;
  }

  public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data));
    return ret;
  }

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

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

  public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) {
    uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) {
    uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid);
    return ret;
  }

  public static switch_status_t switch_ivr_media(string uuid, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags);
    return ret;
  }

  public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh);
    return ret;
  }

  public static switch_status_t switch_ivr_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 switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var);
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_p_switch_ivr_digit_stream stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits);
    return ret;
  }

  public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) {
    IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit);
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream));
    return ret;
  }

  public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit);
    return ret;
  }

  public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, string tts_engine, string tts_voice, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, tts_engine, tts_voice, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind);
    return ret;
  }

  public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_switch_ivr_menu_action_function_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_switch_ivr_menu_action_function_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_switch_ivr_menu_action_function_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_switch_ivr_menu_action_function_t.getCPtr(function));
    return ret;
  }

  public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static switch_status_t switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session session, string macro_name, string data, string lang, switch_input_args_t args) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, lang, switch_input_args_t.getCPtr(args));
    return ret;
  }

  public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) {
    freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms);
  }

  public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) {
    freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg);
  }

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

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

  public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators) {
    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);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    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, 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, switch_input_args_t.getCPtr(args));
    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_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_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_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 switch_status_t switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_crypto_direction_t direction, uint index, switch_rtp_crypto_key_type_t type, SWIGTYPE_p_unsigned_char key, SWIGTYPE_p_switch_size_t keylen) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, (int)type, SWIGTYPE_p_unsigned_char.getCPtr(key), SWIGTYPE_p_switch_size_t.getCPtr(keylen));
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) {
    freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len);
  }

  public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) {
    freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
  }

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

  public static ushort switch_rtp_set_start_port(ushort port) {
    ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port);
    return ret;
  }

  public static 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_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, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    return ret;
  }

  public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
    SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err);
    return ret;
  }

  public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) {
    string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) {
    ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) {
    freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max);
  }

  public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err);
    return ret;
  }

  public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) {
    byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session));
  }

  public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin);
    return ret;
  }

  public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames);
    return ret;
  }

  public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
    freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
  }

  public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
    uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
    return ret;
  }

  public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
    freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
  }

  public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
    return ret;
  }

  public static void switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session, uint samples_per_interval) {
    freeswitchPINVOKE.switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), samples_per_interval);
  }

  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_invald_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_invald_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 void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session) {
    freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
  }

  public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags);
    return ret;
  }

  public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) {
    int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame));
    return ret;
  }

  public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) {
    int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags));
    return ret;
  }

  public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) {
    uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    return ret;
  }

  public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) {
    freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data));
  }

  public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) {
    freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te);
  }

  public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) {
    freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt);
  }

  public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) {
    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp rtp_session, string stun_ip, ushort stun_port, uint packet_count, switch_bool_t funny) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), stun_ip, stun_port, packet_count, (int)funny);
    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_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize);
    return ret;
  }

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

  public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console);
    return ret;
  }

  public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function));
    return ret;
  }

  public static string switch_log_level2str(switch_log_level_t level) {
    string ret = freeswitchPINVOKE.switch_log_level2str((int)level);
    return ret;
  }

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

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

  public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_xml switch_xml_parse_fd(int fd) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_file(string file) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_parse_file_simple(string file) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

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

  public static switch_xml switch_xml_child(switch_xml xml, string name) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_find_child_multi(switch_xml node, string childname) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child_multi(switch_xml.getCPtr(node), childname);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static string switch_xml_attr(switch_xml xml, string attr) {
    string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr);
    return ret;
  }

  public static string switch_xml_attr_soft(switch_xml xml, string attr) {
    string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr);
    return ret;
  }

  public static switch_xml switch_xml_get(switch_xml xml) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) {
    string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header);
    return ret;
  }

  public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) {
    string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static void switch_xml_free(switch_xml xml) {
    freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml));
  }

  public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) {
    freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize);
  }

  public static string switch_xml_error(switch_xml xml) {
    string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml));
    return ret;
  }

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

  public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_cut(switch_xml xml) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

  public static switch_xml switch_xml_open_root(byte reload, ref string err) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err);
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err);
    return ret;
  }

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

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

  public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6, switch_bool_t clone) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6), (int)clone);
    return ret;
  }

  public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain));
    return ret;
  }

  public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event arg5) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_group(group_name, domain_name, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(group), switch_event.getCPtr(arg5));
    return ret;
  }

  public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event arg8) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup), switch_event.getCPtr(arg8));
    return ret;
  }

  public static switch_status_t switch_xml_locate_user_in_domain(string user_name, switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_in_domain(user_name, switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup));
    return ret;
  }

  public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2));
    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
    return ret;
  }

  public static void switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding binding, uint sections) {
    freeswitchPINVOKE.switch_xml_set_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), sections);
  }

  public static void switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding binding, SWIGTYPE_p_void user_data) {
    freeswitchPINVOKE.switch_xml_set_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding), SWIGTYPE_p_void.getCPtr(user_data));
  }

  public static uint switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding binding) {
    uint ret = freeswitchPINVOKE.switch_xml_get_binding_sections(SWIGTYPE_p_switch_xml_binding.getCPtr(binding));
    return ret;
  }

  public static SWIGTYPE_p_void switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding binding) {
    IntPtr cPtr = freeswitchPINVOKE.switch_xml_get_binding_user_data(SWIGTYPE_p_switch_xml_binding.getCPtr(binding));
    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
    return ret;
  }

  public static switch_status_t switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_xml_binding ret_binding) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function_ret(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_xml_binding.getCPtr(ret_binding));
    return ret;
  }

  public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding));
    return ret;
  }

  public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function));
    return ret;
  }

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

  public static 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_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session));
    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_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_read_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(video_write_frame));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
    return ret;
  }

  public static switch_status_t switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) {
    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session));
    return ret;
  }

  public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) {
    uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags);
    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    return ret;
  }

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

  public static uint switch_scheduler_del_task_group(string group) {
    uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group);
    return ret;
  }

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

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

  public static int switch_config_open_file(switch_config cfg, string file_path) {
    int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path);
    return ret;
  }

  public static void switch_config_close_file(switch_config cfg) {
    freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg));
  }

  public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) {
    int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val);
    return ret;
  }

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

  public static void consoleCleanLog(string msg) {
    freeswitchPINVOKE.consoleCleanLog(msg);
  }

  public static void console_log(string level_str, string msg) {
    freeswitchPINVOKE.console_log(level_str, 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_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_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 int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_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_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_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_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_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_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ANSWER_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_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_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get();
  public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_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_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_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_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_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_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_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();
  public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();
  public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();
  public static readonly string SWITCH_REMOTE_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();
  public static readonly string SWITCH_LOCAL_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();
  public static readonly string SWITCH_LOCAL_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get();
  public static readonly string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_PARK_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get();
  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();
  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();
  public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get();
  public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get();
  public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get();
  public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get();
  public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get();
  public static readonly int SWITCH_DEFAULT_FILE_BUFFER_LEN = freeswitchPINVOKE.SWITCH_DEFAULT_FILE_BUFFER_LEN_get();
  public static readonly int SWITCH_DTMF_LOG_LEN = freeswitchPINVOKE.SWITCH_DTMF_LOG_LEN_get();
  public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get();
  public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get();
  public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get();
  public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get();
  public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get();
  public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get();
  public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get();
  public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get();
  public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get();
  public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get();
  public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get();
  public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();
  public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get();
  public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get();
  public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get();
  public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get();
  public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get();
  public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get();
  public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get();
  public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get();
  public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get();
  public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get();
  public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get();
  public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get();
  public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get();
  public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get();
  public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get();
  public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get();
  public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get();
  public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get();
  public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get();
  public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get();
  public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get();
  public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get();
  public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get();
  public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get();
  public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get();
  public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get();
  public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get();
  public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get();
  public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get();
  public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get();
  public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get();
  public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();
  public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get();
  public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get();
  public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get();
  public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get();
  public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get();
  public static readonly int 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_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get();
  public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get();
  public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get();
  public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get();
  public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get();
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

class freeswitchPINVOKE {

  protected class SWIGExceptionHelper {

    public delegate void ExceptionDelegate(string message);
    public delegate void ExceptionArgumentDelegate(string message, string paramName);

    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
    static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException);
    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);

    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);

    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")]
    public static extern void SWIGRegisterExceptionCallbacks_freeswitch(
                                ExceptionDelegate applicationDelegate,
                                ExceptionDelegate arithmeticDelegate,
                                ExceptionDelegate divideByZeroDelegate, 
                                ExceptionDelegate indexOutOfRangeDelegate, 
                                ExceptionDelegate invalidCastDelegate,
                                ExceptionDelegate invalidOperationDelegate,
                                ExceptionDelegate ioDelegate,
                                ExceptionDelegate nullReferenceDelegate,
                                ExceptionDelegate outOfMemoryDelegate, 
                                ExceptionDelegate overflowDelegate, 
                                ExceptionDelegate systemExceptionDelegate);

    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")]
    public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch(
                                ExceptionArgumentDelegate argumentDelegate,
                                ExceptionArgumentDelegate argumentNullDelegate,
                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);

    static void SetPendingApplicationException(string message) {
      SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArithmeticException(string message) {
      SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingDivideByZeroException(string message) {
      SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIndexOutOfRangeException(string message) {
      SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidCastException(string message) {
      SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingInvalidOperationException(string message) {
      SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingIOException(string message) {
      SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingNullReferenceException(string message) {
      SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOutOfMemoryException(string message) {
      SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingOverflowException(string message) {
      SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve()));
    }
    static void SetPendingSystemException(string message) {
      SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve()));
    }

    static void SetPendingArgumentException(string message, string paramName) {
      SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
    }
    static void SetPendingArgumentNullException(string message, string paramName) {
      Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new System.ArgumentNullException(paramName, message));
    }
    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
      Exception e = SWIGPendingException.Retrieve();
      if (e != null) message = message + " Inner Exception: " + e.Message;
      SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message));
    }

    static SWIGExceptionHelper() {
      SWIGRegisterExceptionCallbacks_freeswitch(
                                applicationDelegate,
                                arithmeticDelegate,
                                divideByZeroDelegate,
                                indexOutOfRangeDelegate,
                                invalidCastDelegate,
                                invalidOperationDelegate,
                                ioDelegate,
                                nullReferenceDelegate,
                                outOfMemoryDelegate,
                                overflowDelegate,
                                systemDelegate);

      SWIGRegisterExceptionCallbacksArgument_freeswitch(
                                argumentDelegate,
                                argumentNullDelegate,
                                argumentOutOfRangeDelegate);
    }
  }

  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();

  public class SWIGPendingException {
    [ThreadStatic]
    private static Exception pendingException = null;
    private static int numExceptionsPending = 0;

    public static bool Pending {
      get {
        bool pending = false;
        if (numExceptionsPending > 0)
          if (pendingException != null)
            pending = true;
        return pending;
      } 
    }

    public static void Set(Exception e) {
      if (pendingException != null)
        throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
      pendingException = e;
      lock(typeof(freeswitchPINVOKE)) {
        numExceptionsPending++;
      }
    }

    public static Exception Retrieve() {
      Exception e = null;
      if (numExceptionsPending > 0) {
        if (pendingException != null) {
          e = pendingException;
          pendingException = null;
          lock(typeof(freeswitchPINVOKE)) {
            numExceptionsPending--;
          }
        }
      }
      return e;
    }
  }


  protected class SWIGStringHelper {

    public delegate string SWIGStringDelegate(string message);
    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);

    [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")]
    public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate);

    static string CreateString(string cString) {
      return cString;
    }

    static SWIGStringHelper() {
      SWIGRegisterStringCallback_freeswitch(stringDelegate);
    }
  }

  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();


  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")]
  public static extern string FREESWITCH_PEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")]
  public static extern string FREESWITCH_OID_PREFIX_get();

  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")]
  public static extern string FREESWITCH_ITAD_get();

  [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")]
  public static extern int __EXTENSIONS___get();

  [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")]
  public static extern int __BSD_VISIBLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")]
  public static extern string SWITCH_BLANK_STRING_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")]
  public static extern string SWITCH_SEQ_ESC_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")]
  public static extern char SWITCH_SEQ_HOME_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")]
  public static extern string SWITCH_SEQ_HOME_CHAR_STR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")]
  public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")]
  public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")]
  public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")]
  public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")]
  public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")]
  public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")]
  public static extern string SWITCH_SEQ_AND_COLOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")]
  public static extern string SWITCH_SEQ_END_COLOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")]
  public static extern string SWITCH_SEQ_F_BLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")]
  public static extern string SWITCH_SEQ_F_RED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")]
  public static extern string SWITCH_SEQ_F_GREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")]
  public static extern string SWITCH_SEQ_F_YELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")]
  public static extern string SWITCH_SEQ_F_BLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")]
  public static extern string SWITCH_SEQ_F_MAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")]
  public static extern string SWITCH_SEQ_F_CYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")]
  public static extern string SWITCH_SEQ_F_WHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")]
  public static extern string SWITCH_SEQ_B_BLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")]
  public static extern string SWITCH_SEQ_B_RED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")]
  public static extern string SWITCH_SEQ_B_GREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")]
  public static extern string SWITCH_SEQ_B_YELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")]
  public static extern string SWITCH_SEQ_B_BLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")]
  public static extern string SWITCH_SEQ_B_MAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")]
  public static extern string SWITCH_SEQ_B_CYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")]
  public static extern string SWITCH_SEQ_B_WHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")]
  public static extern string SWITCH_SEQ_FBLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")]
  public static extern string SWITCH_SEQ_FRED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")]
  public static extern string SWITCH_SEQ_FGREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")]
  public static extern string SWITCH_SEQ_FYELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")]
  public static extern string SWITCH_SEQ_FBLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")]
  public static extern string SWITCH_SEQ_FMAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")]
  public static extern string SWITCH_SEQ_FCYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")]
  public static extern string SWITCH_SEQ_FWHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")]
  public static extern string SWITCH_SEQ_BBLACK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")]
  public static extern string SWITCH_SEQ_BRED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")]
  public static extern string SWITCH_SEQ_BGREEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")]
  public static extern string SWITCH_SEQ_BYELLOW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")]
  public static extern string SWITCH_SEQ_BBLUE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")]
  public static extern string SWITCH_SEQ_BMAGEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")]
  public static extern string SWITCH_SEQ_BCYAN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")]
  public static extern string SWITCH_SEQ_BWHITE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")]
  public static extern string SWITCH_SEQ_HOME_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")]
  public static extern string SWITCH_SEQ_CLEARLINE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")]
  public static extern string SWITCH_SEQ_CLEARLINEEND_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")]
  public static extern string SWITCH_SEQ_CLEARSCR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")]
  public static extern int SWITCH_DEFAULT_DTMF_DURATION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")]
  public static extern int SWITCH_MAX_DTMF_DURATION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")]
  public static extern string SWITCH_PATH_SEPARATOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")]
  public static extern string SWITCH_URL_SEPARATOR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get")]
  public static extern string SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")]
  public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get")]
  public static extern string SWITCH_CURRENT_APPLICATION_DATA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get")]
  public static extern string SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get")]
  public static extern string SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")]
  public static extern string SWITCH_READ_RESULT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")]
  public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")]
  public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")]
  public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")]
  public static extern string SWITCH_HOLDING_UUID_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")]
  public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")]
  public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get")]
  public static extern string SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")]
  public static extern string SWITCH_PROCESS_CDR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")]
  public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")]
  public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")]
  public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")]
  public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")]
  public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")]
  public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")]
  public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")]
  public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")]
  public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")]
  public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")]
  public static extern string SWITCH_EXPORT_VARS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")]
  public static extern string SWITCH_R_SDP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")]
  public static extern string SWITCH_L_SDP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")]
  public static extern string SWITCH_B_SDP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")]
  public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")]
  public static extern string SWITCH_ORIGINATOR_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")]
  public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get")]
  public static extern string SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")]
  public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get")]
  public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get")]
  public static extern string SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")]
  public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")]
  public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")]
  public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")]
  public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")]
  public static extern string SWITCH_SPEECH_KEY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")]
  public static extern string SWITCH_UUID_BRIDGE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")]
  public static extern int SWITCH_BITS_PER_BYTE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get")]
  public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DTMF_LOG_LEN_get")]
  public static extern int SWITCH_DTMF_LOG_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")]
  public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")]
  public static extern char switch_dtmf_t_digit_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")]
  public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")]
  public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")]
  public static extern IntPtr new_switch_dtmf_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")]
  public static extern void delete_switch_dtmf_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")]
  public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")]
  public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")]
  public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")]
  public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")]
  public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")]
  public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")]
  public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")]
  public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")]
  public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")]
  public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")]
  public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")]
  public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")]
  public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")]
  public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")]
  public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")]
  public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")]
  public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")]
  public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")]
  public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")]
  public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")]
  public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")]
  public static extern byte switch_bitpack_t_under_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")]
  public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")]
  public static extern byte switch_bitpack_t_over_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")]
  public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")]
  public static extern int switch_bitpack_t_mode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")]
  public static extern IntPtr new_switch_bitpack_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")]
  public static extern void delete_switch_bitpack_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")]
  public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")]
  public static extern string switch_directories_base_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")]
  public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")]
  public static extern string switch_directories_mod_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")]
  public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")]
  public static extern string switch_directories_conf_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")]
  public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")]
  public static extern string switch_directories_log_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")]
  public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")]
  public static extern string switch_directories_db_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")]
  public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")]
  public static extern string switch_directories_script_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")]
  public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")]
  public static extern string switch_directories_temp_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")]
  public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")]
  public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")]
  public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")]
  public static extern string switch_directories_grammar_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")]
  public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")]
  public static extern string switch_directories_storage_dir_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")]
  public static extern IntPtr new_switch_directories();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")]
  public static extern void delete_switch_directories(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")]
  public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")]
  public static extern IntPtr SWITCH_GLOBAL_dirs_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")]
  public static extern int SWITCH_MAX_STACKS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")]
  public static extern int SWITCH_THREAD_STACKSIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")]
  public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")]
  public static extern int SWITCH_MAX_INTERVAL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")]
  public static extern int SWITCH_INTERVAL_PAD_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")]
  public static extern int SWITCH_MAX_SAMPLE_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")]
  public static extern int SWITCH_BYTES_PER_SAMPLE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")]
  public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")]
  public static extern int SWITCH_MAX_CODECS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")]
  public static extern int SWITCH_MAX_STATE_HANDLERS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")]
  public static extern int SWITCH_CORE_QUEUE_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")]
  public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")]
  public static extern int SWITCH_RTP_CNG_PAYLOAD_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")]
  public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")]
  public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")]
  public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")]
  public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")]
  public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")]
  public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")]
  public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")]
  public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")]
  public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")]
  public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")]
  public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")]
  public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")]
  public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")]
  public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")]
  public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")]
  public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")]
  public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")]
  public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")]
  public static extern IntPtr new_switch_rtp_hdr_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")]
  public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_set")]
  public static extern void switch_t38_options_t_T38MaxBitRate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38MaxBitRate_get")]
  public static extern uint switch_t38_options_t_T38MaxBitRate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_set")]
  public static extern void switch_t38_options_t_T38FaxFillBitRemoval_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxFillBitRemoval_get")]
  public static extern int switch_t38_options_t_T38FaxFillBitRemoval_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_set")]
  public static extern void switch_t38_options_t_T38FaxTranscodingMMR_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingMMR_get")]
  public static extern int switch_t38_options_t_T38FaxTranscodingMMR_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_set")]
  public static extern void switch_t38_options_t_T38FaxTranscodingJBIG_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxTranscodingJBIG_get")]
  public static extern int switch_t38_options_t_T38FaxTranscodingJBIG_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_set")]
  public static extern void switch_t38_options_t_T38FaxRateManagement_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxRateManagement_get")]
  public static extern string switch_t38_options_t_T38FaxRateManagement_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_set")]
  public static extern void switch_t38_options_t_T38FaxMaxBuffer_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxBuffer_get")]
  public static extern uint switch_t38_options_t_T38FaxMaxBuffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_set")]
  public static extern void switch_t38_options_t_T38FaxMaxDatagram_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxMaxDatagram_get")]
  public static extern uint switch_t38_options_t_T38FaxMaxDatagram_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_set")]
  public static extern void switch_t38_options_t_T38FaxUdpEC_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38FaxUdpEC_get")]
  public static extern string switch_t38_options_t_T38FaxUdpEC_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_set")]
  public static extern void switch_t38_options_t_T38VendorInfo_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_T38VendorInfo_get")]
  public static extern string switch_t38_options_t_T38VendorInfo_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_set")]
  public static extern void switch_t38_options_t_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_ip_get")]
  public static extern string switch_t38_options_t_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_set")]
  public static extern void switch_t38_options_t_port_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_t38_options_t_port_get")]
  public static extern uint switch_t38_options_t_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_t38_options_t")]
  public static extern IntPtr new_switch_t38_options_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_t38_options_t")]
  public static extern void delete_switch_t38_options_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")]
  public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")]
  public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")]
  public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")]
  public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")]
  public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")]
  public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")]
  public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")]
  public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")]
  public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")]
  public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")]
  public static extern IntPtr new_switch_input_args_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")]
  public static extern void delete_switch_input_args_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")]
  public static extern int SWITCH_API_VERSION_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")]
  public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")]
  public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")]
  public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")]
  public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")]
  public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")]
  public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")]
  public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")]
  public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_set")]
  public static extern void switch_loadable_module_function_table_t_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_flags_get")]
  public static extern uint switch_loadable_module_function_table_t_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")]
  public static extern IntPtr new_switch_loadable_module_function_table_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")]
  public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")]
  public static extern int switch_core_db_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")]
  public static extern int switch_core_db_open(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")]
  public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")]
  public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")]
  public static extern int switch_core_db_column_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")]
  public static extern string switch_core_db_errmsg(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")]
  public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")]
  public static extern int switch_core_db_finalize(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")]
  public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")]
  public static extern int switch_core_db_step(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")]
  public static extern int switch_core_db_reset(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")]
  public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")]
  public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")]
  public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")]
  public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")]
  public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")]
  public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")]
  public static extern void switch_core_db_free_table(ref string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")]
  public static extern void switch_core_db_free(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")]
  public static extern int switch_core_db_changes(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")]
  public static extern int SWITCH_CORE_DB_OK_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")]
  public static extern int SWITCH_CORE_DB_ERROR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")]
  public static extern int SWITCH_CORE_DB_INTERNAL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")]
  public static extern int SWITCH_CORE_DB_PERM_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")]
  public static extern int SWITCH_CORE_DB_ABORT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")]
  public static extern int SWITCH_CORE_DB_BUSY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")]
  public static extern int SWITCH_CORE_DB_LOCKED_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")]
  public static extern int SWITCH_CORE_DB_NOMEM_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")]
  public static extern int SWITCH_CORE_DB_READONLY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")]
  public static extern int SWITCH_CORE_DB_INTERRUPT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")]
  public static extern int SWITCH_CORE_DB_IOERR_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")]
  public static extern int SWITCH_CORE_DB_CORRUPT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")]
  public static extern int SWITCH_CORE_DB_NOTFOUND_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")]
  public static extern int SWITCH_CORE_DB_FULL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")]
  public static extern int SWITCH_CORE_DB_CANTOPEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")]
  public static extern int SWITCH_CORE_DB_PROTOCOL_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")]
  public static extern int SWITCH_CORE_DB_EMPTY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")]
  public static extern int SWITCH_CORE_DB_SCHEMA_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")]
  public static extern int SWITCH_CORE_DB_TOOBIG_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")]
  public static extern int SWITCH_CORE_DB_CONSTRAINT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")]
  public static extern int SWITCH_CORE_DB_MISMATCH_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")]
  public static extern int SWITCH_CORE_DB_MISUSE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")]
  public static extern int SWITCH_CORE_DB_NOLFS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")]
  public static extern int SWITCH_CORE_DB_AUTH_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")]
  public static extern int SWITCH_CORE_DB_FORMAT_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")]
  public static extern int SWITCH_CORE_DB_RANGE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")]
  public static extern int SWITCH_CORE_DB_NOTADB_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")]
  public static extern int SWITCH_CORE_DB_ROW_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")]
  public static extern int SWITCH_CORE_DB_DONE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_mprintf")]
  public static extern string switch_mprintf(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_vmprintf")]
  public static extern string switch_vmprintf(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")]
  public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")]
  public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")]
  public static extern void switch_regex_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")]
  public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")]
  public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")]
  public static extern int switch_regex_match(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")]
  public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")]
  public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")]
  public static extern int SWITCH_MAX_STREAMS_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")]
  public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")]
  public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")]
  public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")]
  public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")]
  public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")]
  public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")]
  public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")]
  public static extern uint switch_core_time_duration_min_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")]
  public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")]
  public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")]
  public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")]
  public static extern uint switch_core_time_duration_day_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")]
  public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")]
  public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")]
  public static extern IntPtr new_switch_core_time_duration();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")]
  public static extern void delete_switch_core_time_duration(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")]
  public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")]
  public static extern string switch_app_log_app_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")]
  public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")]
  public static extern string switch_app_log_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")]
  public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")]
  public static extern IntPtr switch_app_log_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")]
  public static extern IntPtr new_switch_app_log();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")]
  public static extern void delete_switch_app_log(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")]
  public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")]
  public static extern string switch_core_session_message_from_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")]
  public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")]
  public static extern int switch_core_session_message_message_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")]
  public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")]
  public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")]
  public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")]
  public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")]
  public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")]
  public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")]
  public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")]
  public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")]
  public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")]
  public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")]
  public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")]
  public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")]
  public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")]
  public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")]
  public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")]
  public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")]
  public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")]
  public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")]
  public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")]
  public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")]
  public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")]
  public static extern uint switch_core_session_message_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_set")]
  public static extern void switch_core_session_message__file_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__file_get")]
  public static extern string switch_core_session_message__file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_set")]
  public static extern void switch_core_session_message__func_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__func_get")]
  public static extern string switch_core_session_message__func_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_set")]
  public static extern void switch_core_session_message__line_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message__line_get")]
  public static extern int switch_core_session_message__line_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")]
  public static extern IntPtr new_switch_core_session_message();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")]
  public static extern void delete_switch_core_session_message(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")]
  public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")]
  public static extern int switch_core_thread_session_running_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")]
  public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")]
  public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")]
  public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")]
  public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")]
  public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")]
  public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")]
  public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")]
  public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")]
  public static extern IntPtr new_switch_core_thread_session();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")]
  public static extern void delete_switch_core_thread_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sched_heartbeat")]
  public static extern void switch_core_session_sched_heartbeat(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unsched_heartbeat")]
  public static extern void switch_core_session_unsched_heartbeat(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_enable_heartbeat")]
  public static extern void switch_core_session_enable_heartbeat(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_disable_heartbeat")]
  public static extern void switch_core_session_disable_heartbeat(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")]
  public static extern int switch_core_media_bug_add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_pause")]
  public static extern void switch_core_media_bug_pause(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_resume")]
  public static extern void switch_core_media_bug_resume(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")]
  public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")]
  public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")]
  public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")]
  public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_session")]
  public static extern IntPtr switch_core_media_bug_get_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_test_flag")]
  public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")]
  public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")]
  public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_callback")]
  public static extern int switch_core_media_bug_remove_callback(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")]
  public static extern int switch_core_media_bug_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all")]
  public static extern int switch_core_media_bug_remove_all(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")]
  public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush")]
  public static extern void switch_core_media_bug_flush(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_flush_all")]
  public static extern int switch_core_media_bug_flush_all(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")]
  public static extern int switch_core_port_allocator_new(ushort jarg1, ushort jarg2, uint jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")]
  public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")]
  public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")]
  public static extern void switch_core_port_allocator_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")]
  public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")]
  public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")]
  public static extern uint switch_core_session_limit(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")]
  public static extern uint switch_core_sessions_per_second(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")]
  public static extern int switch_core_destroy();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")]
  public static extern int switch_core_session_read_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock_hangup")]
  public static extern int switch_core_session_read_lock_hangup(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")]
  public static extern void switch_core_session_write_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")]
  public static extern void switch_core_session_rwunlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")]
  public static extern int switch_core_add_state_handler(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")]
  public static extern void switch_core_remove_state_handler(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")]
  public static extern IntPtr switch_core_get_state_handler(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")]
  public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")]
  public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")]
  public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")]
  public static extern void switch_core_session_run(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")]
  public static extern uint switch_core_session_running(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")]
  public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")]
  public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")]
  public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")]
  public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")]
  public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")]
  public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")]
  public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")]
  public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")]
  public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_uuid")]
  public static extern IntPtr switch_core_session_request_uuid(HandleRef jarg1, int jarg2, HandleRef jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_uuid")]
  public static extern int switch_core_session_set_uuid(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")]
  public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")]
  public static extern uint switch_core_session_count();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_id")]
  public static extern IntPtr switch_core_session_get_id(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")]
  public static extern IntPtr switch_core_session_id();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")]
  public static extern IntPtr switch_core_session_request_by_name(string jarg1, int jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")]
  public static extern int switch_core_session_thread_launch(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")]
  public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")]
  public static extern void switch_core_session_signal_state_change(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")]
  public static extern string switch_core_session_get_uuid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")]
  public static extern string switch_core_get_uuid();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_locate")]
  public static extern IntPtr switch_core_session_locate(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")]
  public static extern string switch_core_get_variable(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")]
  public static extern void switch_core_set_variable(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")]
  public static extern void switch_core_dump_variables(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")]
  public static extern void switch_core_session_hupall(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var")]
  public static extern void switch_core_session_hupall_matching_var(string jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")]
  public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")]
  public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")]
  public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")]
  public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")]
  public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")]
  public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")]
  public static extern int switch_core_session_flush_message(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")]
  public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")]
  public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")]
  public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application")]
  public static extern int switch_core_session_execute_application(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")]
  public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")]
  public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private")]
  public static extern IntPtr switch_core_session_get_private(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private")]
  public static extern int switch_core_session_set_private(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")]
  public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")]
  public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream_count")]
  public static extern int switch_core_session_get_stream_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_launch_thread")]
  public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")]
  public static extern void switch_core_thread_session_end(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session")]
  public static extern void switch_core_service_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")]
  public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_resurrect_channel")]
  public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_receive_message")]
  public static extern int switch_core_session_perform_receive_message(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")]
  public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")]
  public static extern uint switch_core_session_event_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")]
  public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")]
  public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")]
  public static extern uint switch_core_session_private_event_count(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")]
  public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")]
  public static extern uint switch_core_session_flush_private_events(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")]
  public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")]
  public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")]
  public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")]
  public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")]
  public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")]
  public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")]
  public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")]
  public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")]
  public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init_case")]
  public static extern int switch_core_hash_init_case(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")]
  public static extern int switch_core_hash_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")]
  public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")]
  public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")]
  public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")]
  public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")]
  public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")]
  public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")]
  public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_next")]
  public static extern IntPtr switch_hash_next(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_this")]
  public static extern void switch_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")]
  public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")]
  public static extern int switch_core_timer_next(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")]
  public static extern int switch_core_timer_step(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")]
  public static extern int switch_core_timer_sync(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")]
  public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")]
  public static extern int switch_core_timer_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init")]
  public static extern int switch_core_codec_init(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, HandleRef jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")]
  public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")]
  public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")]
  public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")]
  public static extern int switch_core_codec_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")]
  public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")]
  public static extern void switch_core_session_unset_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_write_codec")]
  public static extern void switch_core_session_unset_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_write")]
  public static extern void switch_core_session_lock_codec_write(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_write")]
  public static extern void switch_core_session_unlock_codec_write(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_lock_codec_read")]
  public static extern void switch_core_session_lock_codec_read(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unlock_codec_read")]
  public static extern void switch_core_session_unlock_codec_read(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_impl")]
  public static extern int switch_core_session_get_read_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_impl")]
  public static extern int switch_core_session_get_write_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_impl")]
  public static extern int switch_core_session_get_video_read_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_impl")]
  public static extern int switch_core_session_get_video_write_impl(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")]
  public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")]
  public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")]
  public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")]
  public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")]
  public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")]
  public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")]
  public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")]
  public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")]
  public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")]
  public static extern IntPtr switch_core_db_open_file(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")]
  public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")]
  public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_get")]
  public static extern string SWITCH_CORE_DB_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")]
  public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")]
  public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")]
  public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")]
  public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")]
  public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")]
  public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")]
  public static extern int switch_core_file_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")]
  public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")]
  public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")]
  public static extern void switch_core_speech_flush_tts(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")]
  public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")]
  public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")]
  public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")]
  public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")]
  public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")]
  public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")]
  public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")]
  public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")]
  public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")]
  public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")]
  public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")]
  public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")]
  public static extern int switch_core_asr_pause(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")]
  public static extern int switch_core_asr_resume(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")]
  public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")]
  public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")]
  public static extern int switch_core_directory_next(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")]
  public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")]
  public static extern int switch_core_directory_close(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")]
  public static extern IntPtr switch_core_data_channel(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")]
  public static extern int switch_core_ready();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")]
  public static extern uint switch_core_flags();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")]
  public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_set_high_priority")]
  public static extern int set_high_priority();

  [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")]
  public static extern int change_user_group(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")]
  public static extern void switch_core_runtime_loop(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")]
  public static extern int switch_core_set_console(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")]
  public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")]
  public static extern IntPtr switch_core_uptime();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")]
  public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")]
  public static extern IntPtr switch_core_get_console();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")]
  public static extern void switch_core_set_globals();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")]
  public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")]
  public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")]
  public static extern IntPtr switch_core_mime_index();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")]
  public static extern string switch_core_mime_ext2type(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")]
  public static extern int switch_core_mime_add_type(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")]
  public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")]
  public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_micro_time_now")]
  public static extern IntPtr switch_micro_time_now();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")]
  public static extern void switch_core_memory_reclaim();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")]
  public static extern void switch_core_memory_reclaim_events();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")]
  public static extern void switch_core_memory_reclaim_logger();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")]
  public static extern void switch_core_memory_reclaim_all();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")]
  public static extern void switch_core_setrlimits();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")]
  public static extern void switch_time_sync();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_epoch_time_now")]
  public static extern IntPtr switch_epoch_time_now(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")]
  public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_exp_tz_name")]
  public static extern int switch_time_exp_tz_name(string jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")]
  public static extern void switch_load_network_lists(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")]
  public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")]
  public static extern void switch_time_set_monotonic(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")]
  public static extern uint switch_core_max_dtmf_duration(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")]
  public static extern uint switch_core_default_dtmf_duration(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")]
  public static extern int switch_console_set_complete(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")]
  public static extern int switch_console_set_alias(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_system")]
  public static extern int switch_system(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_yield")]
  public static extern void switch_cond_yield(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cond_next")]
  public static extern void switch_cond_next();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_chat_send")]
  public static extern int switch_core_chat_send(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")]
  public static extern int SWITCH_CMD_CHUNK_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")]
  public static extern void switch_console_loop();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")]
  public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_toupper")]
  public static extern int switch_toupper(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_tolower")]
  public static extern int switch_tolower(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isalnum")]
  public static extern int switch_isalnum(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isalpha")]
  public static extern int switch_isalpha(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_iscntrl")]
  public static extern int switch_iscntrl(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isdigit")]
  public static extern int switch_isdigit(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isgraph")]
  public static extern int switch_isgraph(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_islower")]
  public static extern int switch_islower(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isprint")]
  public static extern int switch_isprint(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ispunct")]
  public static extern int switch_ispunct(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isspace")]
  public static extern int switch_isspace(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isupper")]
  public static extern int switch_isupper(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_isxdigit")]
  public static extern int switch_isxdigit(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")]
  public static extern int SWITCH_SMAX_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")]
  public static extern int SWITCH_SMIN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")]
  public static extern int switch_is_moh(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")]
  public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")]
  public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_amp_encode")]
  public static extern string switch_amp_encode(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_digit_string")]
  public static extern int switch_is_digit_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")]
  public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")]
  public static extern int switch_find_local_ip(string jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_get_addr")]
  public static extern string get_addr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_get_port")]
  public static extern ushort get_port(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")]
  public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")]
  public static extern string switch_priority_name(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")]
  public static extern char switch_rfc2833_to_char(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")]
  public static extern byte switch_char_to_rfc2833(char jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check")]
  public static extern int switch_string_var_check(string jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_var_check_const")]
  public static extern int switch_string_var_check_const(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_var_clean_string")]
  public static extern string switch_var_clean_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")]
  public static extern string switch_clean_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")]
  public static extern string switch_safe_strdup(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_lc_strdup")]
  public static extern string switch_lc_strdup(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_uc_strdup")]
  public static extern string switch_uc_strdup(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")]
  public static extern int switch_strstr(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")]
  public static extern IntPtr switch_str_time(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")]
  public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")]
  public static extern int switch_is_number(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")]
  public static extern string switch_strip_spaces(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")]
  public static extern string switch_separate_paren_args(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")]
  public static extern string switch_stristr(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")]
  public static extern int switch_is_lan_addr(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")]
  public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")]
  public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")]
  public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")]
  public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")]
  public static extern string switch_cut_path(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")]
  public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")]
  public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")]
  public static extern uint switch_url_encode(string jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")]
  public static extern string switch_url_decode(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")]
  public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")]
  public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")]
  public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")]
  public static extern int switch_network_list_create(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")]
  public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")]
  public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")]
  public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")]
  public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")]
  public static extern string switch_caller_profile_username_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")]
  public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")]
  public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")]
  public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")]
  public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")]
  public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")]
  public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")]
  public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")]
  public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")]
  public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")]
  public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")]
  public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")]
  public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")]
  public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")]
  public static extern string switch_caller_profile_ani_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")]
  public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")]
  public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")]
  public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")]
  public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")]
  public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")]
  public static extern string switch_caller_profile_aniii_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")]
  public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")]
  public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")]
  public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")]
  public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")]
  public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")]
  public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")]
  public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")]
  public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")]
  public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")]
  public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")]
  public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")]
  public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")]
  public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")]
  public static extern string switch_caller_profile_source_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")]
  public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")]
  public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")]
  public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")]
  public static extern string switch_caller_profile_uuid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")]
  public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")]
  public static extern string switch_caller_profile_context_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")]
  public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")]
  public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")]
  public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")]
  public static extern uint switch_caller_profile_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")]
  public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")]
  public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")]
  public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")]
  public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")]
  public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")]
  public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")]
  public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")]
  public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")]
  public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")]
  public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")]
  public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")]
  public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")]
  public static extern IntPtr new_switch_caller_profile();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")]
  public static extern void delete_switch_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")]
  public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")]
  public static extern string switch_caller_application_application_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")]
  public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")]
  public static extern string switch_caller_application_application_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")]
  public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")]
  public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")]
  public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")]
  public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")]
  public static extern IntPtr new_switch_caller_application();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")]
  public static extern void delete_switch_caller_application(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")]
  public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")]
  public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")]
  public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")]
  public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")]
  public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")]
  public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")]
  public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")]
  public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")]
  public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")]
  public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")]
  public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")]
  public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")]
  public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")]
  public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")]
  public static extern IntPtr new_switch_caller_extension();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")]
  public static extern void delete_switch_caller_extension(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")]
  public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")]
  public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")]
  public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")]
  public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")]
  public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")]
  public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")]
  public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")]
  public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")]
  public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")]
  public static extern IntPtr switch_frame_codec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")]
  public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")]
  public static extern string switch_frame_source_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")]
  public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")]
  public static extern IntPtr switch_frame_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")]
  public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")]
  public static extern uint switch_frame_packetlen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")]
  public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")]
  public static extern IntPtr switch_frame_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")]
  public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")]
  public static extern uint switch_frame_datalen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")]
  public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")]
  public static extern uint switch_frame_buflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")]
  public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")]
  public static extern uint switch_frame_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")]
  public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")]
  public static extern uint switch_frame_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")]
  public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")]
  public static extern byte switch_frame_payload_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")]
  public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")]
  public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")]
  public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")]
  public static extern ushort switch_frame_seq_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")]
  public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")]
  public static extern uint switch_frame_ssrc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")]
  public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")]
  public static extern int switch_frame_m_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")]
  public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")]
  public static extern uint switch_frame_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")]
  public static extern IntPtr new_switch_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")]
  public static extern void delete_switch_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")]
  public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")]
  public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")]
  public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")]
  public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")]
  public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")]
  public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")]
  public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")]
  public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")]
  public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")]
  public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")]
  public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")]
  public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")]
  public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")]
  public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")]
  public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")]
  public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")]
  public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")]
  public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")]
  public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")]
  public static extern IntPtr switch_state_handler_table_on_park_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reporting_set")]
  public static extern void switch_state_handler_table_on_reporting_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reporting_get")]
  public static extern IntPtr switch_state_handler_table_on_reporting_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_set")]
  public static extern void switch_state_handler_table_padding_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")]
  public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")]
  public static extern IntPtr new_switch_state_handler_table();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")]
  public static extern void delete_switch_state_handler_table(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")]
  public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")]
  public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")]
  public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")]
  public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")]
  public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")]
  public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")]
  public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")]
  public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")]
  public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")]
  public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")]
  public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")]
  public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")]
  public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")]
  public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")]
  public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")]
  public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")]
  public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")]
  public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")]
  public static extern IntPtr new_switch_stream_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")]
  public static extern void delete_switch_stream_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")]
  public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")]
  public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")]
  public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")]
  public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")]
  public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")]
  public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")]
  public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")]
  public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")]
  public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")]
  public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")]
  public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")]
  public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")]
  public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")]
  public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")]
  public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")]
  public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")]
  public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")]
  public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")]
  public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_get")]
  public static extern IntPtr switch_io_routines_write_video_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_set")]
  public static extern void switch_io_routines_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_get")]
  public static extern IntPtr switch_io_routines_resurrect_session_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")]
  public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")]
  public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")]
  public static extern IntPtr new_switch_io_routines();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")]
  public static extern void delete_switch_io_routines(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")]
  public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")]
  public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")]
  public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")]
  public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")]
  public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")]
  public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")]
  public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")]
  public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")]
  public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")]
  public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_set")]
  public static extern void switch_endpoint_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_refs_get")]
  public static extern int switch_endpoint_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_set")]
  public static extern void switch_endpoint_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_reflock_get")]
  public static extern IntPtr switch_endpoint_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_set")]
  public static extern void switch_endpoint_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_parent_get")]
  public static extern IntPtr switch_endpoint_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")]
  public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")]
  public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")]
  public static extern IntPtr new_switch_endpoint_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")]
  public static extern void delete_switch_endpoint_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")]
  public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")]
  public static extern int switch_timer_interval_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")]
  public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")]
  public static extern uint switch_timer_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")]
  public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")]
  public static extern uint switch_timer_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")]
  public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")]
  public static extern uint switch_timer_samplecount_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")]
  public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")]
  public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")]
  public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")]
  public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")]
  public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")]
  public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")]
  public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")]
  public static extern IntPtr switch_timer_diff_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")]
  public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")]
  public static extern IntPtr switch_timer_tick_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")]
  public static extern IntPtr new_switch_timer();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")]
  public static extern void delete_switch_timer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")]
  public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")]
  public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")]
  public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")]
  public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")]
  public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")]
  public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")]
  public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")]
  public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")]
  public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")]
  public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")]
  public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")]
  public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")]
  public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")]
  public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")]
  public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")]
  public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_set")]
  public static extern void switch_timer_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_refs_get")]
  public static extern int switch_timer_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_set")]
  public static extern void switch_timer_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_reflock_get")]
  public static extern IntPtr switch_timer_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_set")]
  public static extern void switch_timer_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_parent_get")]
  public static extern IntPtr switch_timer_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")]
  public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")]
  public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")]
  public static extern IntPtr new_switch_timer_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")]
  public static extern void delete_switch_timer_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")]
  public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")]
  public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")]
  public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")]
  public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")]
  public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")]
  public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_set")]
  public static extern void switch_dialplan_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_refs_get")]
  public static extern int switch_dialplan_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_set")]
  public static extern void switch_dialplan_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_reflock_get")]
  public static extern IntPtr switch_dialplan_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_set")]
  public static extern void switch_dialplan_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_parent_get")]
  public static extern IntPtr switch_dialplan_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")]
  public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")]
  public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")]
  public static extern IntPtr new_switch_dialplan_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")]
  public static extern void delete_switch_dialplan_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")]
  public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")]
  public static extern string switch_file_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")]
  public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")]
  public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")]
  public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")]
  public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")]
  public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")]
  public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")]
  public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")]
  public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")]
  public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")]
  public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")]
  public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")]
  public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")]
  public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")]
  public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")]
  public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")]
  public static extern string switch_file_interface_extens_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")]
  public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")]
  public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_set")]
  public static extern void switch_file_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_refs_get")]
  public static extern int switch_file_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_set")]
  public static extern void switch_file_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_reflock_get")]
  public static extern IntPtr switch_file_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_set")]
  public static extern void switch_file_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_parent_get")]
  public static extern IntPtr switch_file_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")]
  public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")]
  public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")]
  public static extern IntPtr new_switch_file_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")]
  public static extern void delete_switch_file_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")]
  public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")]
  public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")]
  public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")]
  public static extern uint switch_file_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")]
  public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")]
  public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")]
  public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")]
  public static extern uint switch_file_handle_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")]
  public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")]
  public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")]
  public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")]
  public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")]
  public static extern void switch_file_handle_channels_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")]
  public static extern byte switch_file_handle_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")]
  public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")]
  public static extern uint switch_file_handle_format_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")]
  public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")]
  public static extern uint switch_file_handle_sections_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")]
  public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")]
  public static extern int switch_file_handle_seekable_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")]
  public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")]
  public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")]
  public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")]
  public static extern int switch_file_handle_speed_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")]
  public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")]
  public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")]
  public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")]
  public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")]
  public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")]
  public static extern uint switch_file_handle_interval_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")]
  public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")]
  public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")]
  public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")]
  public static extern string switch_file_handle_handler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")]
  public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")]
  public static extern long switch_file_handle_pos_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")]
  public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")]
  public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")]
  public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")]
  public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")]
  public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")]
  public static extern uint switch_file_handle_thresh_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")]
  public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")]
  public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")]
  public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")]
  public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")]
  public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")]
  public static extern int switch_file_handle_vol_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")]
  public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")]
  public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")]
  public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")]
  public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")]
  public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")]
  public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")]
  public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")]
  public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_set")]
  public static extern void switch_file_handle_pre_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_get")]
  public static extern IntPtr switch_file_handle_pre_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_set")]
  public static extern void switch_file_handle_pre_buffer_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_get")]
  public static extern IntPtr switch_file_handle_pre_buffer_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_set")]
  public static extern void switch_file_handle_pre_buffer_datalen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_get")]
  public static extern IntPtr switch_file_handle_pre_buffer_datalen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")]
  public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")]
  public static extern string switch_file_handle_file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")]
  public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")]
  public static extern string switch_file_handle_func_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")]
  public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")]
  public static extern int switch_file_handle_line_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")]
  public static extern IntPtr new_switch_file_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")]
  public static extern void delete_switch_file_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")]
  public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")]
  public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")]
  public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")]
  public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")]
  public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")]
  public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")]
  public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")]
  public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")]
  public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")]
  public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")]
  public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")]
  public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")]
  public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")]
  public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")]
  public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")]
  public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")]
  public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")]
  public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")]
  public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")]
  public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")]
  public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")]
  public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_set")]
  public static extern void switch_asr_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_refs_get")]
  public static extern int switch_asr_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_set")]
  public static extern void switch_asr_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_reflock_get")]
  public static extern IntPtr switch_asr_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_set")]
  public static extern void switch_asr_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_parent_get")]
  public static extern IntPtr switch_asr_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")]
  public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")]
  public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")]
  public static extern IntPtr new_switch_asr_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")]
  public static extern void delete_switch_asr_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")]
  public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")]
  public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")]
  public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")]
  public static extern uint switch_asr_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")]
  public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")]
  public static extern string switch_asr_handle_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")]
  public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")]
  public static extern string switch_asr_handle_codec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")]
  public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")]
  public static extern uint switch_asr_handle_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")]
  public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")]
  public static extern string switch_asr_handle_grammar_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")]
  public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")]
  public static extern string switch_asr_handle_param_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")]
  public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")]
  public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")]
  public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")]
  public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")]
  public static extern IntPtr new_switch_asr_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")]
  public static extern void delete_switch_asr_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")]
  public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")]
  public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")]
  public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")]
  public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")]
  public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")]
  public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")]
  public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")]
  public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")]
  public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")]
  public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")]
  public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")]
  public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")]
  public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")]
  public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")]
  public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_set")]
  public static extern void switch_speech_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_refs_get")]
  public static extern int switch_speech_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_set")]
  public static extern void switch_speech_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_reflock_get")]
  public static extern IntPtr switch_speech_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_set")]
  public static extern void switch_speech_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_parent_get")]
  public static extern IntPtr switch_speech_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")]
  public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")]
  public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")]
  public static extern IntPtr new_switch_speech_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")]
  public static extern void delete_switch_speech_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")]
  public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")]
  public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")]
  public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")]
  public static extern uint switch_speech_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")]
  public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")]
  public static extern string switch_speech_handle_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")]
  public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")]
  public static extern uint switch_speech_handle_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")]
  public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")]
  public static extern uint switch_speech_handle_speed_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")]
  public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")]
  public static extern uint switch_speech_handle_samples_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")]
  public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")]
  public static extern string switch_speech_handle_voice_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")]
  public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")]
  public static extern string switch_speech_handle_engine_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")]
  public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")]
  public static extern string switch_speech_handle_param_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")]
  public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")]
  public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_resampler_set")]
  public static extern void switch_speech_handle_resampler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_resampler_get")]
  public static extern IntPtr switch_speech_handle_resampler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_buffer_set")]
  public static extern void switch_speech_handle_buffer_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_buffer_get")]
  public static extern IntPtr switch_speech_handle_buffer_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuf_set")]
  public static extern void switch_speech_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuf_get")]
  public static extern IntPtr switch_speech_handle_dbuf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuflen_set")]
  public static extern void switch_speech_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_dbuflen_get")]
  public static extern IntPtr switch_speech_handle_dbuflen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samplerate_set")]
  public static extern void switch_speech_handle_samplerate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samplerate_get")]
  public static extern uint switch_speech_handle_samplerate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_native_rate_set")]
  public static extern void switch_speech_handle_native_rate_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_native_rate_get")]
  public static extern uint switch_speech_handle_native_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")]
  public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")]
  public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")]
  public static extern IntPtr new_switch_speech_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")]
  public static extern void delete_switch_speech_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")]
  public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")]
  public static extern string switch_say_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")]
  public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")]
  public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")]
  public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")]
  public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_set")]
  public static extern void switch_say_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_refs_get")]
  public static extern int switch_say_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_set")]
  public static extern void switch_say_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_reflock_get")]
  public static extern IntPtr switch_say_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_set")]
  public static extern void switch_say_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_parent_get")]
  public static extern IntPtr switch_say_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")]
  public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")]
  public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")]
  public static extern IntPtr new_switch_say_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")]
  public static extern void delete_switch_say_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")]
  public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")]
  public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")]
  public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")]
  public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")]
  public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")]
  public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_set")]
  public static extern void switch_chat_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_refs_get")]
  public static extern int switch_chat_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_set")]
  public static extern void switch_chat_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_reflock_get")]
  public static extern IntPtr switch_chat_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_set")]
  public static extern void switch_chat_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_parent_get")]
  public static extern IntPtr switch_chat_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")]
  public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")]
  public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")]
  public static extern IntPtr new_switch_chat_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")]
  public static extern void delete_switch_chat_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")]
  public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")]
  public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")]
  public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")]
  public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")]
  public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")]
  public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_set")]
  public static extern void switch_management_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_refs_get")]
  public static extern int switch_management_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_set")]
  public static extern void switch_management_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_reflock_get")]
  public static extern IntPtr switch_management_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_set")]
  public static extern void switch_management_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_parent_get")]
  public static extern IntPtr switch_management_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")]
  public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")]
  public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")]
  public static extern IntPtr new_switch_management_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")]
  public static extern void delete_switch_management_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")]
  public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")]
  public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")]
  public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")]
  public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")]
  public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")]
  public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")]
  public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")]
  public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")]
  public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")]
  public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")]
  public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")]
  public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")]
  public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")]
  public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_set")]
  public static extern void switch_directory_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_refs_get")]
  public static extern int switch_directory_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_set")]
  public static extern void switch_directory_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_reflock_get")]
  public static extern IntPtr switch_directory_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_set")]
  public static extern void switch_directory_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_parent_get")]
  public static extern IntPtr switch_directory_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")]
  public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")]
  public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")]
  public static extern IntPtr new_switch_directory_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")]
  public static extern void delete_switch_directory_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")]
  public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")]
  public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")]
  public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")]
  public static extern uint switch_directory_handle_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")]
  public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")]
  public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")]
  public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")]
  public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")]
  public static extern IntPtr new_switch_directory_handle();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")]
  public static extern void delete_switch_directory_handle(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_set")]
  public static extern void switch_codec_settings_quality_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_get")]
  public static extern int switch_codec_settings_quality_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_set")]
  public static extern void switch_codec_settings_complexity_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_get")]
  public static extern int switch_codec_settings_complexity_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_set")]
  public static extern void switch_codec_settings_enhancement_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_get")]
  public static extern int switch_codec_settings_enhancement_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_set")]
  public static extern void switch_codec_settings_vad_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_get")]
  public static extern int switch_codec_settings_vad_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_set")]
  public static extern void switch_codec_settings_vbr_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_get")]
  public static extern int switch_codec_settings_vbr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_set")]
  public static extern void switch_codec_settings_vbr_quality_set(HandleRef jarg1, float jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_get")]
  public static extern float switch_codec_settings_vbr_quality_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_set")]
  public static extern void switch_codec_settings_abr_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_get")]
  public static extern int switch_codec_settings_abr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_set")]
  public static extern void switch_codec_settings_dtx_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_get")]
  public static extern int switch_codec_settings_dtx_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_set")]
  public static extern void switch_codec_settings_preproc_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_get")]
  public static extern int switch_codec_settings_preproc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_set")]
  public static extern void switch_codec_settings_pp_vad_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_get")]
  public static extern int switch_codec_settings_pp_vad_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_set")]
  public static extern void switch_codec_settings_pp_agc_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_get")]
  public static extern int switch_codec_settings_pp_agc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_set")]
  public static extern void switch_codec_settings_pp_agc_level_set(HandleRef jarg1, float jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_get")]
  public static extern float switch_codec_settings_pp_agc_level_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_set")]
  public static extern void switch_codec_settings_pp_denoise_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_get")]
  public static extern int switch_codec_settings_pp_denoise_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_set")]
  public static extern void switch_codec_settings_pp_dereverb_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_get")]
  public static extern int switch_codec_settings_pp_dereverb_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_set")]
  public static extern void switch_codec_settings_pp_dereverb_decay_set(HandleRef jarg1, float jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_get")]
  public static extern float switch_codec_settings_pp_dereverb_decay_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_set")]
  public static extern void switch_codec_settings_pp_dereverb_level_set(HandleRef jarg1, float jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_get")]
  public static extern float switch_codec_settings_pp_dereverb_level_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")]
  public static extern IntPtr new_switch_codec_settings();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")]
  public static extern void delete_switch_codec_settings(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")]
  public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")]
  public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")]
  public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")]
  public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")]
  public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")]
  public static extern string switch_codec_fmtp_in_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")]
  public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")]
  public static extern string switch_codec_fmtp_out_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_set")]
  public static extern void switch_codec_codec_settings_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_get")]
  public static extern IntPtr switch_codec_codec_settings_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")]
  public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")]
  public static extern uint switch_codec_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")]
  public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")]
  public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")]
  public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")]
  public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")]
  public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")]
  public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_set")]
  public static extern void switch_codec_mutex_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_mutex_get")]
  public static extern IntPtr switch_codec_mutex_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")]
  public static extern IntPtr new_switch_codec();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")]
  public static extern void delete_switch_codec(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")]
  public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")]
  public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")]
  public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")]
  public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")]
  public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")]
  public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")]
  public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")]
  public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")]
  public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")]
  public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")]
  public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")]
  public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")]
  public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")]
  public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_set")]
  public static extern void switch_codec_implementation_microseconds_per_packet_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_packet_get")]
  public static extern int switch_codec_implementation_microseconds_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_set")]
  public static extern void switch_codec_implementation_samples_per_packet_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_packet_get")]
  public static extern uint switch_codec_implementation_samples_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_set")]
  public static extern void switch_codec_implementation_decoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decoded_bytes_per_packet_get")]
  public static extern uint switch_codec_implementation_decoded_bytes_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_set")]
  public static extern void switch_codec_implementation_encoded_bytes_per_packet_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_packet_get")]
  public static extern uint switch_codec_implementation_encoded_bytes_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")]
  public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")]
  public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_set")]
  public static extern void switch_codec_implementation_codec_frames_per_packet_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_frames_per_packet_get")]
  public static extern int switch_codec_implementation_codec_frames_per_packet_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")]
  public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")]
  public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")]
  public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")]
  public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")]
  public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")]
  public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")]
  public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")]
  public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")]
  public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")]
  public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")]
  public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")]
  public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")]
  public static extern IntPtr new_switch_codec_implementation();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")]
  public static extern void delete_switch_codec_implementation(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")]
  public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")]
  public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")]
  public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")]
  public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")]
  public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")]
  public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")]
  public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")]
  public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_set")]
  public static extern void switch_codec_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_refs_get")]
  public static extern int switch_codec_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_set")]
  public static extern void switch_codec_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_reflock_get")]
  public static extern IntPtr switch_codec_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_set")]
  public static extern void switch_codec_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_parent_get")]
  public static extern IntPtr switch_codec_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")]
  public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")]
  public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")]
  public static extern IntPtr new_switch_codec_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")]
  public static extern void delete_switch_codec_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")]
  public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")]
  public static extern string switch_application_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")]
  public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")]
  public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")]
  public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")]
  public static extern string switch_application_interface_long_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")]
  public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")]
  public static extern string switch_application_interface_short_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")]
  public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")]
  public static extern string switch_application_interface_syntax_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")]
  public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")]
  public static extern uint switch_application_interface_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")]
  public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")]
  public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_set")]
  public static extern void switch_application_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_refs_get")]
  public static extern int switch_application_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_set")]
  public static extern void switch_application_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_reflock_get")]
  public static extern IntPtr switch_application_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_set")]
  public static extern void switch_application_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_parent_get")]
  public static extern IntPtr switch_application_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")]
  public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")]
  public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")]
  public static extern IntPtr new_switch_application_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")]
  public static extern void delete_switch_application_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")]
  public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")]
  public static extern string switch_api_interface_interface_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")]
  public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")]
  public static extern string switch_api_interface_desc_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")]
  public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")]
  public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")]
  public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")]
  public static extern string switch_api_interface_syntax_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")]
  public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")]
  public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_set")]
  public static extern void switch_api_interface_refs_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_refs_get")]
  public static extern int switch_api_interface_refs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_set")]
  public static extern void switch_api_interface_reflock_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_reflock_get")]
  public static extern IntPtr switch_api_interface_reflock_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_set")]
  public static extern void switch_api_interface_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_parent_get")]
  public static extern IntPtr switch_api_interface_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")]
  public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")]
  public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")]
  public static extern IntPtr new_switch_api_interface();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")]
  public static extern void delete_switch_api_interface(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")]
  public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")]
  public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")]
  public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")]
  public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")]
  public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")]
  public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")]
  public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")]
  public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")]
  public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")]
  public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")]
  public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")]
  public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")]
  public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")]
  public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")]
  public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")]
  public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")]
  public static extern IntPtr new_switch_channel_timetable();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")]
  public static extern void delete_switch_channel_timetable(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")]
  public static extern int switch_channel_get_state(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")]
  public static extern int switch_channel_get_running_state(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_ready")]
  public static extern int switch_channel_test_ready(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")]
  public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")]
  public static extern int switch_channel_wait_for_flag(HandleRef jarg1, int jarg2, int jarg3, uint jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")]
  public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")]
  public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")]
  public static extern int switch_channel_str2cause(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")]
  public static extern int switch_channel_get_cause(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")]
  public static extern int switch_channel_cause_q850(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")]
  public static extern int switch_channel_get_cause_q850(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")]
  public static extern string switch_channel_cause2str(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")]
  public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")]
  public static extern int switch_channel_alloc(HandleRef jarg1, int jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")]
  public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_presence")]
  public static extern void switch_channel_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")]
  public static extern void switch_channel_uninit(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")]
  public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")]
  public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")]
  public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")]
  public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")]
  public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")]
  public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_uuid")]
  public static extern string switch_channel_get_uuid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_var_check")]
  public static extern int switch_channel_set_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")]
  public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner_var_check")]
  public static extern int switch_channel_set_variable_partner_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")]
  public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable")]
  public static extern string switch_channel_get_variable(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variables")]
  public static extern int switch_channel_get_variables(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_first")]
  public static extern IntPtr switch_channel_variable_first(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")]
  public static extern void switch_channel_variable_last(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")]
  public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")]
  public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")]
  public static extern uint switch_channel_test_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag")]
  public static extern void switch_channel_set_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")]
  public static extern int switch_channel_set_flag_partner(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")]
  public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")]
  public static extern void switch_channel_set_state_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")]
  public static extern void switch_channel_clear_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")]
  public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")]
  public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready")]
  public static extern int switch_channel_perform_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")]
  public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")]
  public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready")]
  public static extern int switch_channel_perform_mark_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")]
  public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")]
  public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")]
  public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")]
  public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")]
  public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")]
  public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")]
  public static extern string switch_channel_get_name(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")]
  public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")]
  public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")]
  public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")]
  public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")]
  public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")]
  public static extern void switch_channel_flush_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")]
  public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")]
  public static extern string switch_channel_state_name(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")]
  public static extern int switch_channel_name_state(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")]
  public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_basic_data")]
  public static extern void switch_channel_event_set_basic_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_extended_data")]
  public static extern void switch_channel_event_set_extended_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")]
  public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")]
  public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")]
  public static extern int switch_channel_set_timestamps(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_audio_sync")]
  public static extern void switch_channel_audio_sync(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private_flag")]
  public static extern void switch_channel_set_private_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_private_flag")]
  public static extern void switch_channel_clear_private_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_private_flag")]
  public static extern int switch_channel_test_private_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_app_flag")]
  public static extern void switch_channel_set_app_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_app_flag")]
  public static extern void switch_channel_clear_app_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_app_flag")]
  public static extern int switch_channel_test_app_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")]
  public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")]
  public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")]
  public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")]
  public static extern void switch_buffer_lock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")]
  public static extern int switch_buffer_trylock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")]
  public static extern void switch_buffer_unlock(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")]
  public static extern IntPtr switch_buffer_len(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")]
  public static extern IntPtr switch_buffer_freespace(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")]
  public static extern IntPtr switch_buffer_inuse(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")]
  public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")]
  public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")]
  public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")]
  public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")]
  public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")]
  public static extern void switch_buffer_zero(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")]
  public static extern void switch_buffer_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zwrite")]
  public static extern IntPtr switch_buffer_zwrite(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_set")]
  public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")]
  public static extern string switch_event_header_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")]
  public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")]
  public static extern string switch_event_header_value_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_set")]
  public static extern void switch_event_header_hash_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_hash_get")]
  public static extern uint switch_event_header_hash_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")]
  public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")]
  public static extern IntPtr switch_event_header_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")]
  public static extern IntPtr new_switch_event_header();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")]
  public static extern void delete_switch_event_header(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")]
  public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")]
  public static extern int switch_event_event_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")]
  public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")]
  public static extern int switch_event_priority_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")]
  public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")]
  public static extern string switch_event_owner_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")]
  public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")]
  public static extern string switch_event_subclass_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")]
  public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")]
  public static extern IntPtr switch_event_headers_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")]
  public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")]
  public static extern IntPtr switch_event_last_header_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")]
  public static extern void switch_event_body_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")]
  public static extern string switch_event_body_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")]
  public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")]
  public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")]
  public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")]
  public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")]
  public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")]
  public static extern uint switch_event_key_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")]
  public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")]
  public static extern IntPtr switch_event_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")]
  public static extern IntPtr new_switch_event();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")]
  public static extern void delete_switch_event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")]
  public static extern int switch_event_init(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")]
  public static extern int switch_event_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass_detailed")]
  public static extern int switch_event_create_subclass_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, int jarg5, string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")]
  public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header")]
  public static extern string switch_event_get_header(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")]
  public static extern string switch_event_get_body(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")]
  public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header")]
  public static extern int switch_event_del_header(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")]
  public static extern void switch_event_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")]
  public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")]
  public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_prep_for_delivery_detailed")]
  public static extern void switch_event_prep_for_delivery_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")]
  public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")]
  public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")]
  public static extern int switch_event_unbind(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")]
  public static extern int switch_event_unbind_callback(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")]
  public static extern string switch_event_name(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")]
  public static extern int switch_name_event(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")]
  public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")]
  public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")]
  public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")]
  public static extern int switch_event_running();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers")]
  public static extern string switch_event_expand_headers(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")]
  public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")]
  public static extern void switch_event_deliver(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")]
  public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RESAMPLE_QUALITY_get")]
  public static extern int SWITCH_RESAMPLE_QUALITY_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")]
  public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")]
  public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")]
  public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")]
  public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")]
  public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")]
  public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")]
  public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")]
  public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")]
  public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")]
  public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")]
  public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")]
  public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")]
  public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")]
  public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")]
  public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")]
  public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")]
  public static extern IntPtr new_switch_audio_resampler_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")]
  public static extern void delete_switch_audio_resampler_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_perform_create")]
  public static extern int switch_resample_perform_create(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, int jarg5, string jarg6, string jarg7, int jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")]
  public static extern void switch_resample_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")]
  public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")]
  public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")]
  public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")]
  public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")]
  public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")]
  public static extern void switch_swap_linear(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")]
  public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")]
  public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")]
  public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")]
  public static extern void switch_mux_channels(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")]
  public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")]
  public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")]
  public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")]
  public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")]
  public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")]
  public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")]
  public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")]
  public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")]
  public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")]
  public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")]
  public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")]
  public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")]
  public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")]
  public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")]
  public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")]
  public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")]
  public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")]
  public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")]
  public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")]
  public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")]
  public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")]
  public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")]
  public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")]
  public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")]
  public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")]
  public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")]
  public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")]
  public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")]
  public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")]
  public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")]
  public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")]
  public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")]
  public static extern IntPtr new_switch_unicast_conninfo();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")]
  public static extern void delete_switch_unicast_conninfo(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")]
  public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")]
  public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")]
  public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")]
  public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")]
  public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")]
  public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")]
  public static extern int switch_ivr_parse_all_events(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")]
  public static extern int switch_ivr_parse_next_event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")]
  public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, int jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")]
  public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")]
  public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")]
  public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")]
  public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")]
  public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")]
  public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")]
  public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")]
  public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")]
  public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")]
  public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")]
  public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")]
  public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")]
  public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")]
  public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")]
  public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")]
  public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")]
  public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")]
  public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")]
  public static extern void switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")]
  public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")]
  public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6, string jarg7, string jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_file")]
  public static extern int switch_ivr_play_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_silence")]
  public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")]
  public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")]
  public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")]
  public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, uint jarg11, string jarg12);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")]
  public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")]
  public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")]
  public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")]
  public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, HandleRef jarg10, uint jarg11);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")]
  public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")]
  public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")]
  public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")]
  public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")]
  public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")]
  public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")]
  public static extern int switch_ivr_media(string jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")]
  public static extern int switch_ivr_nomedia(string jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")]
  public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")]
  public static extern int switch_ivr_unhold_uuid(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")]
  public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")]
  public static extern int switch_ivr_unhold(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")]
  public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")]
  public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")]
  public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")]
  public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")]
  public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")]
  public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")]
  public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")]
  public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")]
  public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")]
  public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")]
  public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")]
  public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")]
  public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, int jarg12, int jarg13, int jarg14, int jarg15, int jarg16, int jarg17, HandleRef jarg18);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")]
  public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")]
  public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")]
  public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")]
  public static extern int switch_ivr_menu_stack_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")]
  public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")]
  public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")]
  public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")]
  public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro")]
  public static extern int switch_ivr_phrase_macro(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")]
  public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")]
  public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")]
  public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")]
  public static extern void switch_ivr_park_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")]
  public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")]
  public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")]
  public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")]
  public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")]
  public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")]
  public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")]
  public static extern int switch_ivr_get_say_method_by_name(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")]
  public static extern int switch_ivr_get_say_type_by_name(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")]
  public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sound_test")]
  public static extern int switch_ivr_sound_test(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")]
  public static extern int SWITCH_RTP_MAX_BUF_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")]
  public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_KEY_LEN_get")]
  public static extern int SWITCH_RTP_KEY_LEN_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_32_get")]
  public static extern string SWITCH_RTP_CRYPTO_KEY_32_get();

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")]
  public static extern string SWITCH_RTP_CRYPTO_KEY_80_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")]
  public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")]
  public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")]
  public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")]
  public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")]
  public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")]
  public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")]
  public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")]
  public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")]
  public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")]
  public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")]
  public static extern IntPtr new_switch_rtp_crypto_key();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")]
  public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")]
  public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")]
  public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")]
  public static extern void switch_rtp_init(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")]
  public static extern void switch_rtp_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")]
  public static extern ushort switch_rtp_set_start_port(ushort jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")]
  public static extern ushort switch_rtp_set_end_port(ushort jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")]
  public static extern ushort switch_rtp_request_port(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")]
  public static extern void switch_rtp_release_port(string jarg1, ushort jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_change_interval")]
  public static extern int switch_rtp_change_interval(HandleRef jarg1, uint jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")]
  public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, ref string jarg7, HandleRef jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")]
  public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")]
  public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")]
  public static extern string switch_rtp_get_remote_host(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")]
  public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset_media_timer")]
  public static extern void switch_rtp_reset_media_timer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")]
  public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")]
  public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")]
  public static extern void switch_rtp_kill_socket(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")]
  public static extern void switch_rtp_break(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")]
  public static extern byte switch_rtp_ready(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")]
  public static extern void switch_rtp_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")]
  public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")]
  public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")]
  public static extern void switch_rtp_set_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")]
  public static extern uint switch_rtp_test_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")]
  public static extern void switch_rtp_clear_flag(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")]
  public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_samples_per_interval")]
  public static extern void switch_rtp_set_default_samples_per_interval(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")]
  public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")]
  public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")]
  public static extern uint switch_rtp_get_default_payload(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invald_handler")]
  public static extern void switch_rtp_set_invald_handler(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")]
  public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")]
  public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")]
  public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")]
  public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")]
  public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")]
  public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")]
  public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_rtp_flush_read_buffer")]
  public static extern void rtp_flush_read_buffer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")]
  public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")]
  public static extern int switch_rtp_disable_vad(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")]
  public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")]
  public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")]
  public static extern uint switch_rtp_get_ssrc(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")]
  public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")]
  public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")]
  public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")]
  public static extern IntPtr switch_rtp_get_private(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_stun_ping")]
  public static extern int switch_rtp_activate_stun_ping(HandleRef jarg1, string jarg2, ushort jarg3, uint jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_intentional_bugs")]
  public static extern void switch_rtp_intentional_bugs(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")]
  public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")]
  public static extern string switch_log_node_t_data_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")]
  public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")]
  public static extern string switch_log_node_t_file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")]
  public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")]
  public static extern uint switch_log_node_t_line_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")]
  public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")]
  public static extern string switch_log_node_t_func_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")]
  public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")]
  public static extern int switch_log_node_t_level_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")]
  public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")]
  public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")]
  public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")]
  public static extern string switch_log_node_t_content_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")]
  public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")]
  public static extern string switch_log_node_t_userdata_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_set")]
  public static extern void switch_log_node_t_channel_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_channel_get")]
  public static extern int switch_log_node_t_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")]
  public static extern IntPtr new_switch_log_node_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")]
  public static extern void delete_switch_log_node_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")]
  public static extern int switch_log_init(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")]
  public static extern int switch_log_shutdown();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")]
  public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")]
  public static extern int switch_log_unbind_logger(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")]
  public static extern string switch_log_level2str(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")]
  public static extern int switch_log_str2level(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")]
  public static extern uint switch_log_str2mask(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")]
  public static extern int SWITCH_XML_BUFSIZE_get();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")]
  public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")]
  public static extern string switch_xml_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")]
  public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")]
  public static extern string switch_xml_attr_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")]
  public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")]
  public static extern string switch_xml_txt_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")]
  public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")]
  public static extern string switch_xml_free_path_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")]
  public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")]
  public static extern IntPtr switch_xml_off_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")]
  public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")]
  public static extern IntPtr switch_xml_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")]
  public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")]
  public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")]
  public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")]
  public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")]
  public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")]
  public static extern IntPtr switch_xml_child_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")]
  public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")]
  public static extern IntPtr switch_xml_parent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")]
  public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")]
  public static extern uint switch_xml_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")]
  public static extern IntPtr new_switch_xml();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")]
  public static extern void delete_switch_xml(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")]
  public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")]
  public static extern IntPtr switch_xml_parse_fd(int jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")]
  public static extern IntPtr switch_xml_parse_file(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")]
  public static extern IntPtr switch_xml_parse_file_simple(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")]
  public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")]
  public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")]
  public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child_multi")]
  public static extern IntPtr switch_xml_find_child_multi(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")]
  public static extern string switch_xml_attr(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")]
  public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")]
  public static extern IntPtr switch_xml_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")]
  public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")]
  public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")]
  public static extern void switch_xml_free(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")]
  public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")]
  public static extern string switch_xml_error(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")]
  public static extern IntPtr switch_xml_new(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")]
  public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")]
  public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")]
  public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")]
  public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")]
  public static extern IntPtr switch_xml_cut(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")]
  public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")]
  public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")]
  public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")]
  public static extern int switch_xml_destroy();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")]
  public static extern IntPtr switch_xml_root();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")]
  public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, int jarg8);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")]
  public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_group")]
  public static extern int switch_xml_locate_group(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")]
  public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user_in_domain")]
  public static extern int switch_xml_locate_user_in_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")]
  public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_sections")]
  public static extern void switch_xml_set_binding_sections(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_binding_user_data")]
  public static extern void switch_xml_set_binding_user_data(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_sections")]
  public static extern uint switch_xml_get_binding_sections(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get_binding_user_data")]
  public static extern IntPtr switch_xml_get_binding_user_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function_ret")]
  public static extern int switch_xml_bind_search_function_ret(HandleRef jarg1, uint jarg2, HandleRef jarg3, HandleRef jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")]
  public static extern int switch_xml_unbind_search_function(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")]
  public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")]
  public static extern uint switch_xml_parse_section_string(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")]
  public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")]
  public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")]
  public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")]
  public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")]
  public static extern IntPtr new_switch_io_event_hook_outgoing_channel();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")]
  public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")]
  public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")]
  public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")]
  public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")]
  public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")]
  public static extern IntPtr new_switch_io_event_hook_receive_message();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")]
  public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")]
  public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")]
  public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")]
  public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")]
  public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")]
  public static extern IntPtr new_switch_io_event_hook_receive_event();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")]
  public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")]
  public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")]
  public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")]
  public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")]
  public static extern IntPtr new_switch_io_event_hook_read_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")]
  public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")]
  public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")]
  public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")]
  public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")]
  public static extern IntPtr new_switch_io_event_hook_video_read_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")]
  public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")]
  public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")]
  public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")]
  public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")]
  public static extern IntPtr new_switch_io_event_hook_write_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")]
  public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")]
  public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")]
  public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")]
  public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")]
  public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")]
  public static extern IntPtr new_switch_io_event_hook_video_write_frame();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_write_frame")]
  public static extern void delete_switch_io_event_hook_video_write_frame(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_set")]
  public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")]
  public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")]
  public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")]
  public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")]
  public static extern IntPtr new_switch_io_event_hook_kill_channel();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")]
  public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")]
  public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")]
  public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")]
  public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")]
  public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")]
  public static extern IntPtr new_switch_io_event_hook_send_dtmf();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")]
  public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")]
  public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")]
  public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")]
  public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")]
  public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")]
  public static extern IntPtr new_switch_io_event_hook_recv_dtmf();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")]
  public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")]
  public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")]
  public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")]
  public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")]
  public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")]
  public static extern IntPtr new_switch_io_event_hook_state_change();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")]
  public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set")]
  public static extern void switch_io_event_hook_resurrect_session_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get")]
  public static extern IntPtr switch_io_event_hook_resurrect_session_resurrect_session_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_set")]
  public static extern void switch_io_event_hook_resurrect_session_next_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_get")]
  public static extern IntPtr switch_io_event_hook_resurrect_session_next_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_resurrect_session")]
  public static extern IntPtr new_switch_io_event_hook_resurrect_session();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_resurrect_session")]
  public static extern void delete_switch_io_event_hook_resurrect_session(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")]
  public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")]
  public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")]
  public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")]
  public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")]
  public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")]
  public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")]
  public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")]
  public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")]
  public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")]
  public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")]
  public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")]
  public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")]
  public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_get")]
  public static extern IntPtr switch_io_event_hooks_video_write_frame_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_set")]
  public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")]
  public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")]
  public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")]
  public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")]
  public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")]
  public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")]
  public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")]
  public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_set")]
  public static extern void switch_io_event_hooks_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_get")]
  public static extern IntPtr switch_io_event_hooks_resurrect_session_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")]
  public static extern IntPtr new_switch_io_event_hooks();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")]
  public static extern void delete_switch_io_event_hooks(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")]
  public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")]
  public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")]
  public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")]
  public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")]
  public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")]
  public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")]
  public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_write_frame")]
  public static extern int switch_core_event_hook_add_video_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_kill_channel")]
  public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")]
  public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")]
  public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_resurrect_session")]
  public static extern int switch_core_event_hook_add_resurrect_session(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")]
  public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")]
  public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")]
  public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")]
  public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")]
  public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")]
  public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")]
  public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_write_frame")]
  public static extern int switch_core_event_hook_remove_video_write_frame(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_kill_channel")]
  public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")]
  public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")]
  public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_resurrect_session")]
  public static extern int switch_core_event_hook_remove_resurrect_session(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")]
  public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")]
  public static extern long switch_scheduler_task_created_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")]
  public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")]
  public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")]
  public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")]
  public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")]
  public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")]
  public static extern string switch_scheduler_task_group_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")]
  public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")]
  public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")]
  public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")]
  public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")]
  public static extern IntPtr new_switch_scheduler_task();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")]
  public static extern void delete_switch_scheduler_task(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")]
  public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")]
  public static extern uint switch_scheduler_del_task_id(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")]
  public static extern uint switch_scheduler_del_task_group(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")]
  public static extern void switch_scheduler_task_thread_start();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")]
  public static extern void switch_scheduler_task_thread_stop();

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")]
  public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")]
  public static extern IntPtr switch_config_file_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")]
  public static extern void switch_config_path_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")]
  public static extern string switch_config_path_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")]
  public static extern void switch_config_category_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")]
  public static extern string switch_config_category_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")]
  public static extern void switch_config_section_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")]
  public static extern string switch_config_section_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")]
  public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")]
  public static extern string switch_config_buf_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")]
  public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")]
  public static extern int switch_config_lineno_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")]
  public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")]
  public static extern int switch_config_catno_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")]
  public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")]
  public static extern int switch_config_sectno_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")]
  public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")]
  public static extern int switch_config_lockto_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")]
  public static extern IntPtr new_switch_config();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")]
  public static extern void delete_switch_config(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")]
  public static extern int switch_config_open_file(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")]
  public static extern void switch_config_close_file(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")]
  public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")]
  public static extern void consoleLog(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")]
  public static extern void consoleCleanLog(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")]
  public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, int jarg16);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")]
  public static extern void delete_IvrMenu(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")]
  public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")]
  public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Api")]
  public static extern IntPtr new_Api();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")]
  public static extern void delete_Api(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")]
  public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")]
  public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Api_getTime")]
  public static extern string Api_getTime(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")]
  public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")]
  public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")]
  public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")]
  public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")]
  public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")]
  public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")]
  public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")]
  public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")]
  public static extern IntPtr new_input_callback_state_t();

  [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")]
  public static extern void delete_input_callback_state_t(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")]
  public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")]
  public static extern char DTMF_digit_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")]
  public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")]
  public static extern uint DTMF_duration_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")]
  public static extern IntPtr new_DTMF(char jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")]
  public static extern void delete_DTMF(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")]
  public static extern IntPtr new_Stream__SWIG_0();

  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")]
  public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")]
  public static extern void delete_Stream(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")]
  public static extern void Stream_Write(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")]
  public static extern string Stream_get_data(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")]
  public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")]
  public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")]
  public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")]
  public static extern string Event_serialized_string_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")]
  public static extern void Event_mine_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")]
  public static extern int Event_mine_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")]
  public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")]
  public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")]
  public static extern void delete_Event(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")]
  public static extern string Event_Serialize(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")]
  public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")]
  public static extern string Event_GetHeader(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")]
  public static extern string Event_GetBody(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")]
  public static extern string Event_GetEventType(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")]
  public static extern bool Event_AddBody(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")]
  public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")]
  public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")]
  public static extern bool Event_Fire(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")]
  public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")]
  public static extern IntPtr EventConsumer_events_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")]
  public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")]
  public static extern int EventConsumer_e_event_id_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_set")]
  public static extern void EventConsumer_node_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_get")]
  public static extern IntPtr EventConsumer_node_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")]
  public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")]
  public static extern string EventConsumer_e_callback_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")]
  public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")]
  public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")]
  public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")]
  public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")]
  public static extern IntPtr new_EventConsumer(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")]
  public static extern void delete_EventConsumer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")]
  public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")]
  public static extern void delete_CoreSession(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")]
  public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")]
  public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")]
  public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")]
  public static extern IntPtr CoreSession_channel_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")]
  public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")]
  public static extern uint CoreSession_flags_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")]
  public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")]
  public static extern int CoreSession_allocated_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")]
  public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")]
  public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")]
  public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")]
  public static extern int CoreSession_HookState_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")]
  public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")]
  public static extern string CoreSession_uuid_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")]
  public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")]
  public static extern string CoreSession_tts_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")]
  public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")]
  public static extern string CoreSession_voice_name_get(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")]
  public static extern int CoreSession_Answer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")]
  public static extern int CoreSession_preAnswer(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")]
  public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")]
  public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")]
  public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")]
  public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")]
  public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")]
  public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")]
  public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")]
  public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetCallerData")]
  public static extern void CoreSession_SetCallerData(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Originate")]
  public static extern int CoreSession_Originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")]
  public static extern void CoreSession_destroy(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")]
  public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")]
  public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits")]
  public static extern int CoreSession_CollectDigits(HandleRef jarg1, int jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")]
  public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")]
  public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")]
  public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")]
  public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")]
  public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")]
  public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")]
  public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2, int jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")]
  public static extern int CoreSession_flushEvents(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")]
  public static extern int CoreSession_flushDigits(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")]
  public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")]
  public static extern bool CoreSession_Ready(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")]
  public static extern bool CoreSession_answered(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")]
  public static extern bool CoreSession_mediaReady(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")]
  public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")]
  public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")]
  public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")]
  public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")]
  public static extern string CoreSession_getXMLCDR(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")]
  public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")]
  public static extern bool CoreSession_end_allow_threads(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")]
  public static extern string CoreSession_GetUuid(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")]
  public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")]
  public static extern void CoreSession_check_hangup_hook(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_console_log")]
  public static extern void console_log(string jarg1, string jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")]
  public static extern void console_clean_log(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_msleep")]
  public static extern void msleep(uint jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_bridge")]
  public static extern void bridge(HandleRef jarg1, HandleRef jarg2);

  [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")]
  public static extern int hanguphook(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")]
  public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5);

  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")]
  public static extern IntPtr new_ManagedSession__SWIG_0();

  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")]
  public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")]
  public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")]
  public static extern void delete_ManagedSession(HandleRef jarg1);

  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSessionUpcast")]
  public static extern IntPtr ManagedSessionUpcast(IntPtr objectRef);
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~input_callback_state_t() {
    Dispose();
  }

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

  public SWIGTYPE_p_void function {
    set {
      freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void threadState {
    set {
      freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void extra {
    set {
      freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public string funcargs {
    set {
      freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr);
      return ret;
    } 
  }

  public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~IvrMenu() {
    Dispose();
  }

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

  public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string 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, confirm_macro, confirm_key, tts_engine, tts_voice, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) {
  }

  public void bindAction(string action, string arg, string bind) {
    freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind);
  }

  public void Execute(CoreSession session, string name) {
    freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name);
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public partial class ManagedSession : CoreSession {
  private HandleRef swigCPtr;

  internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSessionUpcast(cPtr), cMemoryOwn) {
    swigCPtr = new HandleRef(this, cPtr);
  }

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

  ~ManagedSession() {
    Dispose();
  }

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

  public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) {
  }

  public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) {
  }

  public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) {
  }

}

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

namespace FreeSWITCH.Native {

[System.Flags] public enum session_flag_t {
  S_HUP = (1 << 0),
  S_FREE = (1 << 1),
  S_RDLOCK = (1 << 2)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~Stream() {
    Dispose();
  }

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

  public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) {
  }

  public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) {
  }

  public void Write(string data) {
    freeswitchPINVOKE.Stream_Write(swigCPtr, data);
  }

  public string get_data() {
    string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr);
    return ret;
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_apr_pool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_apr_pool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_FILE {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_FILE() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_float {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_float() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_codec__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_event__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_event__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_scheduler_task__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_scheduler_task__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_speech_handle__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_speech_handle__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_switch_timer__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_p_void__void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_p_void__void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_f_void__switch_status_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_f_void__switch_status_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_HashElem {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_HashElem(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_HashElem() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_apr_pool_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_apr_pool_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_p_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_p_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_real_pcre {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_real_pcre() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_sqlite3 {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_sqlite3() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_sqlite3_stmt {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_sqlite3_stmt() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_audio_resampler_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_audio_resampler_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_buffer {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_buffer() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_caller_extension {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_caller_extension() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_channel {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_channel() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_core_port_allocator {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_port_allocator() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_core_session {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_session() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_core_session_message {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_core_session_message() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_event {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_event() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_event_node {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_event_node() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_frame {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_frame() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_hash {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_hash(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_hash() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_digit_stream {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_digit_stream() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_menu {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_menu() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_media_bug {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_media_bug() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_network_list {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_network_list() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_rtp {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_rtp() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_xml_binding {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_xml_binding() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_switch_xml {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_switch_xml() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_p_void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_p_void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_real_pcre {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_real_pcre() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_short {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_short() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_sockaddr {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sockaddr() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_socklen_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_socklen_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_sqlite3 {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sqlite3() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_sqlite3_stmt {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_sqlite3_stmt() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_buffer {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_buffer() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_call_cause_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_call_cause_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_channel {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_channel() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_core_port_allocator {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_core_port_allocator() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_core_session {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_core_session() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_event_node {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_event_node(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_event_node() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_event_types_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_event_types_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_file_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_file_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_hash {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_hash(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_hash() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_interval_time_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_interval_time_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_interval_time_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_action_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_action_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_digit_stream {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_digit_stream() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_digit_stream_parser {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_digit_stream_parser() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_menu_action_function_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_menu_action_function_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_menu_action_function_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_menu {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_menu() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ivr_menu_xml_ctx {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_loadable_module_interface {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_loadable_module_interface(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_loadable_module_interface() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_media_bug {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_media_bug() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_mutex_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_mutex_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_network_list {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_network_list() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_pollfd_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_pollfd_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_queue_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_queue_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_rtp {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_rtp() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_size_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_size_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_sockaddr_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_sockaddr_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_socket_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_socket_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_ssize_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_ssize_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_thread_rwlock_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_thread_rwlock_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_time_exp_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_time_exp_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_time_exp_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_time_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_time_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_switch_xml_binding {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_switch_xml_binding(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_switch_xml_binding() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_time_t {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_time_t() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_char {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_char() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_int {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_int() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_long {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_long() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_unsigned_short {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_unsigned_short() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_va_list {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_va_list(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_va_list() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class SWIGTYPE_p_void {
  private HandleRef swigCPtr;

  internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) {
    swigCPtr = new HandleRef(this, cPtr);
  }

  protected SWIGTYPE_p_void() {
    swigCPtr = new HandleRef(null, IntPtr.Zero);
  }

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

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_CLOSE
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_api_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_api_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_api_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public string desc {
    set {
      freeswitchPINVOKE.switch_api_interface_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_api_interface_desc_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t function {
    set {
      freeswitchPINVOKE.switch_api_interface_function_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_function_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public string syntax {
    set {
      freeswitchPINVOKE.switch_api_interface_syntax_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_api_interface_syntax_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_api_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_api_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_api_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_api_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_api_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_api_interface next {
    set {
      freeswitchPINVOKE.switch_api_interface_next_set(swigCPtr, switch_api_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_next_get(swigCPtr);
      switch_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_api_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_api_interface() : this(freeswitchPINVOKE.new_switch_api_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_application_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_application_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
    set {
      freeswitchPINVOKE.switch_application_interface_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_application_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
      return ret;
    } 
  }

  public string long_desc {
    set {
      freeswitchPINVOKE.switch_application_interface_long_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_long_desc_get(swigCPtr);
      return ret;
    } 
  }

  public string short_desc {
    set {
      freeswitchPINVOKE.switch_application_interface_short_desc_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_short_desc_get(swigCPtr);
      return ret;
    } 
  }

  public string syntax {
    set {
      freeswitchPINVOKE.switch_application_interface_syntax_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_application_interface_syntax_get(swigCPtr);
      return ret;
    } 
  }

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

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_application_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_application_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_application_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_application_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_application_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_application_interface next {
    set {
      freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr);
      switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_app_log() {
    Dispose();
  }

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

  public string app {
    set {
      freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr);
      return ret;
    } 
  }

  public string arg {
    set {
      freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr);
      return ret;
    } 
  }

  public switch_app_log next {
    set {
      freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr);
      switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
      return ret;
    } 
  }

  public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) {
  }

}

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

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_asr_flag_enum_t {
  SWITCH_ASR_FLAG_NONE = 0,
  SWITCH_ASR_FLAG_DATA = (1 << 0),
  SWITCH_ASR_FLAG_FREE_POOL = (1 << 1),
  SWITCH_ASR_FLAG_CLOSED = (1 << 2),
  SWITCH_ASR_FLAG_FIRE_EVENTS = (1 << 3),
  SWITCH_ASR_FLAG_AUTO_RESUME = (1 << 4)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_asr_handle() {
    Dispose();
  }

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

  public switch_asr_interface asr_interface {
    set {
      freeswitchPINVOKE.switch_asr_handle_asr_interface_set(swigCPtr, switch_asr_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_asr_interface_get(swigCPtr);
      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
      return ret;
    } 
  }

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

  public string name {
    set {
      freeswitchPINVOKE.switch_asr_handle_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_name_get(swigCPtr);
      return ret;
    } 
  }

  public string codec {
    set {
      freeswitchPINVOKE.switch_asr_handle_codec_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_codec_get(swigCPtr);
      return ret;
    } 
  }

  public uint rate {
    set {
      freeswitchPINVOKE.switch_asr_handle_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_asr_handle_rate_get(swigCPtr);
      return ret;
    } 
  }

  public string grammar {
    set {
      freeswitchPINVOKE.switch_asr_handle_grammar_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_grammar_get(swigCPtr);
      return ret;
    } 
  }

  public string param {
    set {
      freeswitchPINVOKE.switch_asr_handle_param_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_handle_param_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_asr_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_asr_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_handle() : this(freeswitchPINVOKE.new_switch_asr_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_asr_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_asr_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_asr_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t asr_open {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t asr_load_grammar {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t asr_unload_grammar {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_close {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t asr_feed {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_feed_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_feed_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_resume {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_resume_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_resume_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_pause {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_pause_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_pause_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_check_results {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_check_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_check_results_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t asr_get_results {
    set {
      freeswitchPINVOKE.switch_asr_interface_asr_get_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_get_results_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_asr_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_asr_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_asr_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_asr_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_asr_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_interface next {
    set {
      freeswitchPINVOKE.switch_asr_interface_next_set(swigCPtr, switch_asr_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_next_get(swigCPtr);
      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_asr_interface() : this(freeswitchPINVOKE.new_switch_asr_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public enum switch_audio_col_t {
  SWITCH_AUDIO_COL_STR_TITLE = 0x01,
  SWITCH_AUDIO_COL_STR_COPYRIGHT = 0x02,
  SWITCH_AUDIO_COL_STR_SOFTWARE = 0x03,
  SWITCH_AUDIO_COL_STR_ARTIST = 0x04,
  SWITCH_AUDIO_COL_STR_COMMENT = 0x05,
  SWITCH_AUDIO_COL_STR_DATE = 0x06
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_audio_resampler_t() {
    Dispose();
  }

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

  public SWIGTYPE_p_void resampler {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_resampler_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_resampler_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public int from_rate {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_from_rate_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_audio_resampler_t_from_rate_get(swigCPtr);
      return ret;
    } 
  }

  public int to_rate {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_rate_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_audio_resampler_t_to_rate_get(swigCPtr);
      return ret;
    } 
  }

  public double factor {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_factor_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_audio_resampler_t_factor_get(swigCPtr);
      return ret;
    } 
  }

  public double rfactor {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_rfactor_set(swigCPtr, value);
    } 
    get {
      double ret = freeswitchPINVOKE.switch_audio_resampler_t_rfactor_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_short to {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_set(swigCPtr, SWIGTYPE_p_short.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_to_get(swigCPtr);
      SWIGTYPE_p_short ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_short(cPtr, false);
      return ret;
    } 
  }

  public uint to_len {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_len_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_len_get(swigCPtr);
      return ret;
    } 
  }

  public uint to_size {
    set {
      freeswitchPINVOKE.switch_audio_resampler_t_to_size_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_size_get(swigCPtr);
      return ret;
    } 
  }

  public switch_audio_resampler_t() : this(freeswitchPINVOKE.new_switch_audio_resampler_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

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

namespace FreeSWITCH.Native {

public enum switch_bitpack_mode_t {
  SWITCH_BITPACK_MODE_RFC3551,
  SWITCH_BITPACK_MODE_AAL2
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_bitpack_t() {
    Dispose();
  }

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

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

  public uint buflen {
    set {
      freeswitchPINVOKE.switch_bitpack_t_buflen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_bitpack_t_buflen_get(swigCPtr);
      return ret;
    } 
  }

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

  public uint bytes {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bytes_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_bitpack_t_bytes_get(swigCPtr);
      return ret;
    } 
  }

  public uint bits_tot {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bits_tot_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_bitpack_t_bits_tot_get(swigCPtr);
      return ret;
    } 
  }

  public byte bits_cur {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bits_cur_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_cur_get(swigCPtr);
      return ret;
    } 
  }

  public byte bits_rem {
    set {
      freeswitchPINVOKE.switch_bitpack_t_bits_rem_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_rem_get(swigCPtr);
      return ret;
    } 
  }

  public byte frame_bits {
    set {
      freeswitchPINVOKE.switch_bitpack_t_frame_bits_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_frame_bits_get(swigCPtr);
      return ret;
    } 
  }

  public byte shiftby {
    set {
      freeswitchPINVOKE.switch_bitpack_t_shiftby_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_shiftby_get(swigCPtr);
      return ret;
    } 
  }

  public byte this_byte {
    set {
      freeswitchPINVOKE.switch_bitpack_t_this_byte_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_this_byte_get(swigCPtr);
      return ret;
    } 
  }

  public byte under {
    set {
      freeswitchPINVOKE.switch_bitpack_t_under_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_under_get(swigCPtr);
      return ret;
    } 
  }

  public byte over {
    set {
      freeswitchPINVOKE.switch_bitpack_t_over_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_bitpack_t_over_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bitpack_mode_t mode {
    set {
      freeswitchPINVOKE.switch_bitpack_t_mode_set(swigCPtr, (int)value);
    } 
    get {
      switch_bitpack_mode_t ret = (switch_bitpack_mode_t)freeswitchPINVOKE.switch_bitpack_t_mode_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bitpack_t() : this(freeswitchPINVOKE.new_switch_bitpack_t(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public enum switch_bool_t {
  SWITCH_FALSE = 0,
  SWITCH_TRUE = 1
}

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

namespace FreeSWITCH.Native {

public enum switch_call_cause_t {
  SWITCH_CAUSE_NONE = 0,
  SWITCH_CAUSE_UNALLOCATED_NUMBER = 1,
  SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET = 2,
  SWITCH_CAUSE_NO_ROUTE_DESTINATION = 3,
  SWITCH_CAUSE_CHANNEL_UNACCEPTABLE = 6,
  SWITCH_CAUSE_CALL_AWARDED_DELIVERED = 7,
  SWITCH_CAUSE_NORMAL_CLEARING = 16,
  SWITCH_CAUSE_USER_BUSY = 17,
  SWITCH_CAUSE_NO_USER_RESPONSE = 18,
  SWITCH_CAUSE_NO_ANSWER = 19,
  SWITCH_CAUSE_SUBSCRIBER_ABSENT = 20,
  SWITCH_CAUSE_CALL_REJECTED = 21,
  SWITCH_CAUSE_NUMBER_CHANGED = 22,
  SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23,
  SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR = 25,
  SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER = 27,
  SWITCH_CAUSE_INVALID_NUMBER_FORMAT = 28,
  SWITCH_CAUSE_FACILITY_REJECTED = 29,
  SWITCH_CAUSE_RESPONSE_TO_STATUS_ENQUIRY = 30,
  SWITCH_CAUSE_NORMAL_UNSPECIFIED = 31,
  SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION = 34,
  SWITCH_CAUSE_NETWORK_OUT_OF_ORDER = 38,
  SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE = 41,
  SWITCH_CAUSE_SWITCH_CONGESTION = 42,
  SWITCH_CAUSE_ACCESS_INFO_DISCARDED = 43,
  SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL = 44,
  SWITCH_CAUSE_PRE_EMPTED = 45,
  SWITCH_CAUSE_FACILITY_NOT_SUBSCRIBED = 50,
  SWITCH_CAUSE_OUTGOING_CALL_BARRED = 52,
  SWITCH_CAUSE_INCOMING_CALL_BARRED = 54,
  SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH = 57,
  SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58,
  SWITCH_CAUSE_SERVICE_UNAVAILABLE = 63,
  SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL = 65,
  SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED = 66,
  SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED = 69,
  SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED = 79,
  SWITCH_CAUSE_INVALID_CALL_REFERENCE = 81,
  SWITCH_CAUSE_INCOMPATIBLE_DESTINATION = 88,
  SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED = 95,
  SWITCH_CAUSE_MANDATORY_IE_MISSING = 96,
  SWITCH_CAUSE_MESSAGE_TYPE_NONEXIST = 97,
  SWITCH_CAUSE_WRONG_MESSAGE = 98,
  SWITCH_CAUSE_IE_NONEXIST = 99,
  SWITCH_CAUSE_INVALID_IE_CONTENTS = 100,
  SWITCH_CAUSE_WRONG_CALL_STATE = 101,
  SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE = 102,
  SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103,
  SWITCH_CAUSE_PROTOCOL_ERROR = 111,
  SWITCH_CAUSE_INTERWORKING = 127,
  SWITCH_CAUSE_SUCCESS = 142,
  SWITCH_CAUSE_ORIGINATOR_CANCEL = 487,
  SWITCH_CAUSE_CRASH = 500,
  SWITCH_CAUSE_SYSTEM_SHUTDOWN = 501,
  SWITCH_CAUSE_LOSE_RACE = 502,
  SWITCH_CAUSE_MANAGER_REQUEST = 503,
  SWITCH_CAUSE_BLIND_TRANSFER = 600,
  SWITCH_CAUSE_ATTENDED_TRANSFER = 601,
  SWITCH_CAUSE_ALLOTTED_TIMEOUT = 602,
  SWITCH_CAUSE_USER_CHALLENGE = 603,
  SWITCH_CAUSE_MEDIA_TIMEOUT = 604,
  SWITCH_CAUSE_PICKED_OFF = 605,
  SWITCH_CAUSE_USER_NOT_REGISTERED = 606,
  SWITCH_CAUSE_PROGRESS_TIMEOUT = 607
}

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

namespace FreeSWITCH.Native {

public enum switch_call_direction_t {
  SWITCH_CALL_DIRECTION_INBOUND,
  SWITCH_CALL_DIRECTION_OUTBOUND
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_caller_application() {
    Dispose();
  }

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

  public string application_name {
    set {
      freeswitchPINVOKE.switch_caller_application_application_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_application_application_name_get(swigCPtr);
      return ret;
    } 
  }

  public string application_data {
    set {
      freeswitchPINVOKE.switch_caller_application_application_data_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_application_application_data_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
    set {
      freeswitchPINVOKE.switch_caller_application_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_application_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application next {
    set {
      freeswitchPINVOKE.switch_caller_application_next_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_next_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application() : this(freeswitchPINVOKE.new_switch_caller_application(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_caller_extension() {
    Dispose();
  }

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

  public string extension_name {
    set {
      freeswitchPINVOKE.switch_caller_extension_extension_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_extension_extension_name_get(swigCPtr);
      return ret;
    } 
  }

  public string extension_number {
    set {
      freeswitchPINVOKE.switch_caller_extension_extension_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_extension_extension_number_get(swigCPtr);
      return ret;
    } 
  }

  public switch_caller_application current_application {
    set {
      freeswitchPINVOKE.switch_caller_extension_current_application_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_current_application_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application last_application {
    set {
      freeswitchPINVOKE.switch_caller_extension_last_application_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_last_application_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_application applications {
    set {
      freeswitchPINVOKE.switch_caller_extension_applications_set(swigCPtr, switch_caller_application.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_applications_get(swigCPtr);
      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile children {
    set {
      freeswitchPINVOKE.switch_caller_extension_children_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_children_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_extension next {
    set {
      freeswitchPINVOKE.switch_caller_extension_next_set(swigCPtr, switch_caller_extension.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_next_get(swigCPtr);
      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_extension() : this(freeswitchPINVOKE.new_switch_caller_extension(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_caller_profile() {
    Dispose();
  }

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

  public string username {
    set {
      freeswitchPINVOKE.switch_caller_profile_username_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_username_get(swigCPtr);
      return ret;
    } 
  }

  public string dialplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_dialplan_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_dialplan_get(swigCPtr);
      return ret;
    } 
  }

  public string caller_id_name {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_id_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_name_get(swigCPtr);
      return ret;
    } 
  }

  public string caller_id_number {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_id_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_number_get(swigCPtr);
      return ret;
    } 
  }

  public byte caller_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte caller_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string network_addr {
    set {
      freeswitchPINVOKE.switch_caller_profile_network_addr_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_network_addr_get(swigCPtr);
      return ret;
    } 
  }

  public string ani {
    set {
      freeswitchPINVOKE.switch_caller_profile_ani_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_ani_get(swigCPtr);
      return ret;
    } 
  }

  public byte ani_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_ani_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte ani_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_ani_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string aniii {
    set {
      freeswitchPINVOKE.switch_caller_profile_aniii_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_aniii_get(swigCPtr);
      return ret;
    } 
  }

  public string rdnis {
    set {
      freeswitchPINVOKE.switch_caller_profile_rdnis_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_rdnis_get(swigCPtr);
      return ret;
    } 
  }

  public byte rdnis_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_rdnis_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte rdnis_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string destination_number {
    set {
      freeswitchPINVOKE.switch_caller_profile_destination_number_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_destination_number_get(swigCPtr);
      return ret;
    } 
  }

  public byte destination_number_ton {
    set {
      freeswitchPINVOKE.switch_caller_profile_destination_number_ton_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_ton_get(swigCPtr);
      return ret;
    } 
  }

  public byte destination_number_numplan {
    set {
      freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_get(swigCPtr);
      return ret;
    } 
  }

  public string source {
    set {
      freeswitchPINVOKE.switch_caller_profile_source_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_source_get(swigCPtr);
      return ret;
    } 
  }

  public string chan_name {
    set {
      freeswitchPINVOKE.switch_caller_profile_chan_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_chan_name_get(swigCPtr);
      return ret;
    } 
  }

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

  public string context {
    set {
      freeswitchPINVOKE.switch_caller_profile_context_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_context_get(swigCPtr);
      return ret;
    } 
  }

  public string profile_index {
    set {
      freeswitchPINVOKE.switch_caller_profile_profile_index_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_caller_profile_profile_index_get(swigCPtr);
      return ret;
    } 
  }

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

  public switch_caller_profile originator_caller_profile {
    set {
      freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile originatee_caller_profile {
    set {
      freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_timetable times {
    set {
      freeswitchPINVOKE.switch_caller_profile_times_set(swigCPtr, switch_channel_timetable.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_times_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_extension caller_extension {
    set {
      freeswitchPINVOKE.switch_caller_profile_caller_extension_set(swigCPtr, switch_caller_extension.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_caller_extension_get(swigCPtr);
      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_caller_profile_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile next {
    set {
      freeswitchPINVOKE.switch_caller_profile_next_set(swigCPtr, switch_caller_profile.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_next_get(swigCPtr);
      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
      return ret;
    } 
  }

  public switch_caller_profile() : this(freeswitchPINVOKE.new_switch_caller_profile(), true) {
  }

}

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

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_caller_profile_flag_enum_t {
  SWITCH_CPF_NONE = 0,
  SWITCH_CPF_SCREEN = (1 << 0),
  SWITCH_CPF_HIDE_NAME = (1 << 1),
  SWITCH_CPF_HIDE_NUMBER = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_ORIGINATOR,
  CF_TRANSFER,
  CF_ACCEPT_CNG,
  CF_REDIRECT,
  CF_BRIDGED,
  CF_HOLD,
  CF_SERVICE,
  CF_TAGGED,
  CF_WINNER,
  CF_CONTROLLED,
  CF_PROXY_MODE,
  CF_SUSPEND,
  CF_EVENT_PARSE,
  CF_GEN_RINGBACK,
  CF_RING_READY,
  CF_BREAK,
  CF_BROADCAST,
  CF_UNICAST,
  CF_VIDEO,
  CF_EVENT_LOCK,
  CF_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_FLAG_MAX
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_DONE,
  CS_NONE
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_channel_timetable() {
    Dispose();
  }

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

  public SWIGTYPE_p_switch_time_t profile_created {
    set {
      freeswitchPINVOKE.switch_channel_timetable_profile_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_profile_created_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t created {
    set {
      freeswitchPINVOKE.switch_channel_timetable_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_created_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t answered {
    set {
      freeswitchPINVOKE.switch_channel_timetable_answered_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_answered_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t progress {
    set {
      freeswitchPINVOKE.switch_channel_timetable_progress_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t progress_media {
    set {
      freeswitchPINVOKE.switch_channel_timetable_progress_media_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_media_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t hungup {
    set {
      freeswitchPINVOKE.switch_channel_timetable_hungup_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_hungup_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t transferred {
    set {
      freeswitchPINVOKE.switch_channel_timetable_transferred_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_transferred_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_channel_timetable next {
    set {
      freeswitchPINVOKE.switch_channel_timetable_next_set(swigCPtr, switch_channel_timetable.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_channel_timetable_next_get(swigCPtr);
      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
      return ret;
    } 
  }

  public switch_channel_timetable() : this(freeswitchPINVOKE.new_switch_channel_timetable(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_chat_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_chat_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_chat_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t chat_send {
    set {
      freeswitchPINVOKE.switch_chat_interface_chat_send_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_chat_send_get(swigCPtr);
      SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_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_chat_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_chat_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_chat_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_chat_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_chat_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_interface next {
    set {
      freeswitchPINVOKE.switch_chat_interface_next_set(swigCPtr, switch_chat_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_next_get(swigCPtr);
      switch_chat_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_chat_interface() : this(freeswitchPINVOKE.new_switch_chat_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_codec() {
    Dispose();
  }

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

  public switch_codec_interface codec_interface {
    set {
      freeswitchPINVOKE.switch_codec_codec_interface_set(swigCPtr, switch_codec_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_interface_get(swigCPtr);
      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_implementation implementation {
    set {
      freeswitchPINVOKE.switch_codec_implementation_set(swigCPtr, switch_codec_implementation.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
      return ret;
    } 
  }

  public string fmtp_in {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_in_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_fmtp_in_get(swigCPtr);
      return ret;
    } 
  }

  public string fmtp_out {
    set {
      freeswitchPINVOKE.switch_codec_fmtp_out_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_fmtp_out_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_settings codec_settings {
    set {
      freeswitchPINVOKE.switch_codec_codec_settings_set(swigCPtr, switch_codec_settings.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_settings_get(swigCPtr);
      switch_codec_settings ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_settings(cPtr, false);
      return ret;
    } 
  }

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

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_codec_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_codec_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public byte agreed_pt {
    set {
      freeswitchPINVOKE.switch_codec_agreed_pt_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_codec_agreed_pt_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t mutex {
    set {
      freeswitchPINVOKE.switch_codec_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public switch_codec() : this(freeswitchPINVOKE.new_switch_codec(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_codec_implementation() {
    Dispose();
  }

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

  public switch_codec_type_t codec_type {
    set {
      freeswitchPINVOKE.switch_codec_implementation_codec_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_codec_type_t ret = (switch_codec_type_t)freeswitchPINVOKE.switch_codec_implementation_codec_type_get(swigCPtr);
      return ret;
    } 
  }

  public byte ianacode {
    set {
      freeswitchPINVOKE.switch_codec_implementation_ianacode_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_codec_implementation_ianacode_get(swigCPtr);
      return ret;
    } 
  }

  public string iananame {
    set {
      freeswitchPINVOKE.switch_codec_implementation_iananame_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_implementation_iananame_get(swigCPtr);
      return ret;
    } 
  }

  public string fmtp {
    set {
      freeswitchPINVOKE.switch_codec_implementation_fmtp_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_implementation_fmtp_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples_per_second {
    set {
      freeswitchPINVOKE.switch_codec_implementation_samples_per_second_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public uint actual_samples_per_second {
    set {
      freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public int bits_per_second {
    set {
      freeswitchPINVOKE.switch_codec_implementation_bits_per_second_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_implementation_bits_per_second_get(swigCPtr);
      return ret;
    } 
  }

  public int microseconds_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_microseconds_per_packet_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_implementation_microseconds_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_samples_per_packet_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public uint decoded_bytes_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_decoded_bytes_per_packet_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_decoded_bytes_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public uint encoded_bytes_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_packet_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public byte number_of_channels {
    set {
      freeswitchPINVOKE.switch_codec_implementation_number_of_channels_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_codec_implementation_number_of_channels_get(swigCPtr);
      return ret;
    } 
  }

  public int codec_frames_per_packet {
    set {
      freeswitchPINVOKE.switch_codec_implementation_codec_frames_per_packet_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_implementation_codec_frames_per_packet_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t init {
    set {
      freeswitchPINVOKE.switch_codec_implementation_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t encode {
    set {
      freeswitchPINVOKE.switch_codec_implementation_encode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_encode_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t decode {
    set {
      freeswitchPINVOKE.switch_codec_implementation_decode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_decode_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_codec__switch_status_t destroy {
    set {
      freeswitchPINVOKE.switch_codec_implementation_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_codec__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public uint codec_id {
    set {
      freeswitchPINVOKE.switch_codec_implementation_codec_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_implementation_codec_id_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_implementation next {
    set {
      freeswitchPINVOKE.switch_codec_implementation_next_set(swigCPtr, switch_codec_implementation.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_next_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_implementation() : this(freeswitchPINVOKE.new_switch_codec_implementation(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_codec_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_codec_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_codec_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_implementation implementations {
    set {
      freeswitchPINVOKE.switch_codec_interface_implementations_set(swigCPtr, switch_codec_implementation.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_implementations_get(swigCPtr);
      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
      return ret;
    } 
  }

  public uint codec_id {
    set {
      freeswitchPINVOKE.switch_codec_interface_codec_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_codec_interface_codec_id_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_codec_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_codec_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_codec_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_codec_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_interface next {
    set {
      freeswitchPINVOKE.switch_codec_interface_next_set(swigCPtr, switch_codec_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_next_get(swigCPtr);
      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_codec_interface() : this(freeswitchPINVOKE.new_switch_codec_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_codec_settings() {
    Dispose();
  }

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

  public int quality {
    set {
      freeswitchPINVOKE.switch_codec_settings_quality_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_quality_get(swigCPtr);
      return ret;
    } 
  }

  public int complexity {
    set {
      freeswitchPINVOKE.switch_codec_settings_complexity_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_complexity_get(swigCPtr);
      return ret;
    } 
  }

  public int enhancement {
    set {
      freeswitchPINVOKE.switch_codec_settings_enhancement_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_enhancement_get(swigCPtr);
      return ret;
    } 
  }

  public int vad {
    set {
      freeswitchPINVOKE.switch_codec_settings_vad_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_vad_get(swigCPtr);
      return ret;
    } 
  }

  public int vbr {
    set {
      freeswitchPINVOKE.switch_codec_settings_vbr_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_vbr_get(swigCPtr);
      return ret;
    } 
  }

  public float vbr_quality {
    set {
      freeswitchPINVOKE.switch_codec_settings_vbr_quality_set(swigCPtr, value);
    } 
    get {
      float ret = freeswitchPINVOKE.switch_codec_settings_vbr_quality_get(swigCPtr);
      return ret;
    } 
  }

  public int abr {
    set {
      freeswitchPINVOKE.switch_codec_settings_abr_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_abr_get(swigCPtr);
      return ret;
    } 
  }

  public int dtx {
    set {
      freeswitchPINVOKE.switch_codec_settings_dtx_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_dtx_get(swigCPtr);
      return ret;
    } 
  }

  public int preproc {
    set {
      freeswitchPINVOKE.switch_codec_settings_preproc_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_preproc_get(swigCPtr);
      return ret;
    } 
  }

  public int pp_vad {
    set {
      freeswitchPINVOKE.switch_codec_settings_pp_vad_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_pp_vad_get(swigCPtr);
      return ret;
    } 
  }

  public int pp_agc {
    set {
      freeswitchPINVOKE.switch_codec_settings_pp_agc_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_pp_agc_get(swigCPtr);
      return ret;
    } 
  }

  public float pp_agc_level {
    set {
      freeswitchPINVOKE.switch_codec_settings_pp_agc_level_set(swigCPtr, value);
    } 
    get {
      float ret = freeswitchPINVOKE.switch_codec_settings_pp_agc_level_get(swigCPtr);
      return ret;
    } 
  }

  public int pp_denoise {
    set {
      freeswitchPINVOKE.switch_codec_settings_pp_denoise_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_pp_denoise_get(swigCPtr);
      return ret;
    } 
  }

  public int pp_dereverb {
    set {
      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_get(swigCPtr);
      return ret;
    } 
  }

  public float pp_dereverb_decay {
    set {
      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_decay_set(swigCPtr, value);
    } 
    get {
      float ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_decay_get(swigCPtr);
      return ret;
    } 
  }

  public float pp_dereverb_level {
    set {
      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_level_set(swigCPtr, value);
    } 
    get {
      float ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_level_get(swigCPtr);
      return ret;
    } 
  }

  public switch_codec_settings() : this(freeswitchPINVOKE.new_switch_codec_settings(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public enum switch_codec_type_t {
  SWITCH_CODEC_TYPE_AUDIO,
  SWITCH_CODEC_TYPE_VIDEO,
  SWITCH_CODEC_TYPE_T38,
  SWITCH_CODEC_TYPE_APP
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_config() {
    Dispose();
  }

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

  public SWIGTYPE_p_FILE file {
    set {
      freeswitchPINVOKE.switch_config_file_set(swigCPtr, SWIGTYPE_p_FILE.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_config_file_get(swigCPtr);
      SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
      return ret;
    } 
  }

  public string path {
    set {
      freeswitchPINVOKE.switch_config_path_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_path_get(swigCPtr);
      return ret;
    } 
  }

  public string category {
    set {
      freeswitchPINVOKE.switch_config_category_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_category_get(swigCPtr);
      return ret;
    } 
  }

  public string section {
    set {
      freeswitchPINVOKE.switch_config_section_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_section_get(swigCPtr);
      return ret;
    } 
  }

  public string buf {
    set {
      freeswitchPINVOKE.switch_config_buf_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_config_buf_get(swigCPtr);
      return ret;
    } 
  }

  public int lineno {
    set {
      freeswitchPINVOKE.switch_config_lineno_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_lineno_get(swigCPtr);
      return ret;
    } 
  }

  public int catno {
    set {
      freeswitchPINVOKE.switch_config_catno_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_catno_get(swigCPtr);
      return ret;
    } 
  }

  public int sectno {
    set {
      freeswitchPINVOKE.switch_config_sectno_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_sectno_get(swigCPtr);
      return ret;
    } 
  }

  public int lockto {
    set {
      freeswitchPINVOKE.switch_config_lockto_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_config_lockto_get(swigCPtr);
      return ret;
    } 
  }

  public switch_config() : this(freeswitchPINVOKE.new_switch_config(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_SESSIONS = (1 << 1),
  SCF_SHUTTING_DOWN = (1 << 2),
  SCF_CRASH_PROT = (1 << 3),
  SCF_VG = (1 << 4),
  SCF_RESTART = (1 << 5),
  SCF_SHUTDOWN_REQUESTED = (1 << 6)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_core_session_message() {
    Dispose();
  }

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

  public string from {
    set {
      freeswitchPINVOKE.switch_core_session_message_from_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message_from_get(swigCPtr);
      return ret;
    } 
  }

  public switch_core_session_message_types_t message_id {
    set {
      freeswitchPINVOKE.switch_core_session_message_message_id_set(swigCPtr, (int)value);
    } 
    get {
      switch_core_session_message_types_t ret = (switch_core_session_message_types_t)freeswitchPINVOKE.switch_core_session_message_message_id_get(swigCPtr);
      return ret;
    } 
  }

  public int numeric_arg {
    set {
      freeswitchPINVOKE.switch_core_session_message_numeric_arg_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_arg_get(swigCPtr);
      return ret;
    } 
  }

  public string string_arg {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_arg_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message_string_arg_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t string_arg_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_arg_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_void pointer_arg {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_arg_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t pointer_arg_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public int numeric_reply {
    set {
      freeswitchPINVOKE.switch_core_session_message_numeric_reply_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_reply_get(swigCPtr);
      return ret;
    } 
  }

  public string string_reply {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_reply_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message_string_reply_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t string_reply_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_string_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_reply_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_void pointer_reply {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_reply_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_reply_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t pointer_reply_size {
    set {
      freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

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

  public string _file {
    set {
      freeswitchPINVOKE.switch_core_session_message__file_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message__file_get(swigCPtr);
      return ret;
    } 
  }

  public string _func {
    set {
      freeswitchPINVOKE.switch_core_session_message__func_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_core_session_message__func_get(swigCPtr);
      return ret;
    } 
  }

  public int _line {
    set {
      freeswitchPINVOKE.switch_core_session_message__line_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_session_message__line_get(swigCPtr);
      return ret;
    } 
  }

  public switch_core_session_message() : this(freeswitchPINVOKE.new_switch_core_session_message(), true) {
  }

}

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

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_core_session_message_flag_enum_t {
  SCSMF_DYNAMIC = (1 << 0),
  SCSMF_FREE_STRING_REPLY = (1 << 1),
  SCSMF_FREE_POINTER_REPLY = (1 << 2)
}

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

namespace FreeSWITCH.Native {

public enum switch_core_session_message_types_t {
  SWITCH_MESSAGE_REDIRECT_AUDIO,
  SWITCH_MESSAGE_TRANSMIT_TEXT,
  SWITCH_MESSAGE_INDICATE_ANSWER,
  SWITCH_MESSAGE_INDICATE_PROGRESS,
  SWITCH_MESSAGE_INDICATE_BRIDGE,
  SWITCH_MESSAGE_INDICATE_UNBRIDGE,
  SWITCH_MESSAGE_INDICATE_TRANSFER,
  SWITCH_MESSAGE_INDICATE_RINGING,
  SWITCH_MESSAGE_INDICATE_MEDIA,
  SWITCH_MESSAGE_INDICATE_NOMEDIA,
  SWITCH_MESSAGE_INDICATE_HOLD,
  SWITCH_MESSAGE_INDICATE_UNHOLD,
  SWITCH_MESSAGE_INDICATE_REDIRECT,
  SWITCH_MESSAGE_INDICATE_RESPOND,
  SWITCH_MESSAGE_INDICATE_BROADCAST,
  SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT,
  SWITCH_MESSAGE_INDICATE_DEFLECT,
  SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ,
  SWITCH_MESSAGE_INDICATE_DISPLAY,
  SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY,
  SWITCH_MESSAGE_INDICATE_AUDIO_SYNC,
  SWITCH_MESSAGE_INDICATE_REQUEST_IMAGE_MEDIA,
  SWITCH_MESSAGE_INVALID
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_core_thread_session() {
    Dispose();
  }

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

  public int running {
    set {
      freeswitchPINVOKE.switch_core_thread_session_running_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_core_thread_session_running_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t mutex {
    set {
      freeswitchPINVOKE.switch_core_thread_session_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_void objs {
    set {
      freeswitchPINVOKE.switch_core_thread_session_objs_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_objs_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
    set {
      freeswitchPINVOKE.switch_core_thread_session_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_input_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t pool {
    set {
      freeswitchPINVOKE.switch_core_thread_session_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_core_thread_session() : this(freeswitchPINVOKE.new_switch_core_thread_session(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_core_time_duration() {
    Dispose();
  }

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

  public uint mms {
    set {
      freeswitchPINVOKE.switch_core_time_duration_mms_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_mms_get(swigCPtr);
      return ret;
    } 
  }

  public uint ms {
    set {
      freeswitchPINVOKE.switch_core_time_duration_ms_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_ms_get(swigCPtr);
      return ret;
    } 
  }

  public uint sec {
    set {
      freeswitchPINVOKE.switch_core_time_duration_sec_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_sec_get(swigCPtr);
      return ret;
    } 
  }

  public uint min {
    set {
      freeswitchPINVOKE.switch_core_time_duration_min_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_min_get(swigCPtr);
      return ret;
    } 
  }

  public uint hr {
    set {
      freeswitchPINVOKE.switch_core_time_duration_hr_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_hr_get(swigCPtr);
      return ret;
    } 
  }

  public uint day {
    set {
      freeswitchPINVOKE.switch_core_time_duration_day_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_day_get(swigCPtr);
      return ret;
    } 
  }

  public uint yr {
    set {
      freeswitchPINVOKE.switch_core_time_duration_yr_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_core_time_duration_yr_get(swigCPtr);
      return ret;
    } 
  }

  public switch_core_time_duration() : this(freeswitchPINVOKE.new_switch_core_time_duration(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_dialplan_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_dialplan_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension hunt_function {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_hunt_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_hunt_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_dialplan_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_dialplan_interface next {
    set {
      freeswitchPINVOKE.switch_dialplan_interface_next_set(swigCPtr, switch_dialplan_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_next_get(swigCPtr);
      switch_dialplan_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_dialplan_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_dialplan_interface() : this(freeswitchPINVOKE.new_switch_dialplan_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_directories() {
    Dispose();
  }

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

  public string base_dir {
    set {
      freeswitchPINVOKE.switch_directories_base_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_base_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string mod_dir {
    set {
      freeswitchPINVOKE.switch_directories_mod_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_mod_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string conf_dir {
    set {
      freeswitchPINVOKE.switch_directories_conf_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_conf_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string log_dir {
    set {
      freeswitchPINVOKE.switch_directories_log_dir_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directories_log_dir_get(swigCPtr);
      return ret;
    } 
  }

  public string 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 switch_directories() : this(freeswitchPINVOKE.new_switch_directories(), true) {
  }

}

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

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_directory_flag_enum_t {
  SWITCH_DIRECTORY_FLAG_FREE_POOL = (1 << 0)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_directory_handle() {
    Dispose();
  }

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

  public switch_directory_interface directory_interface {
    set {
      freeswitchPINVOKE.switch_directory_handle_directory_interface_set(swigCPtr, switch_directory_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_directory_interface_get(swigCPtr);
      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
      return ret;
    } 
  }

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

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_directory_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_directory_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_handle() : this(freeswitchPINVOKE.new_switch_directory_handle(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_directory_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_directory_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_directory_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t directory_open {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_close {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t directory_query {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_query_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_query_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_next {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t directory_next_pair {
    set {
      freeswitchPINVOKE.switch_directory_interface_directory_next_pair_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_pair_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_directory_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_directory_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_directory_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_directory_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_directory_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_interface next {
    set {
      freeswitchPINVOKE.switch_directory_interface_next_set(swigCPtr, switch_directory_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_next_get(swigCPtr);
      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_directory_interface() : this(freeswitchPINVOKE.new_switch_directory_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

public enum switch_dtmf_direction_t {
  SWITCH_DTMF_RECV = 0,
  SWITCH_DTMF_SEND = 1
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_dtmf_t() {
    Dispose();
  }

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

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

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

  public switch_dtmf_t() : this(freeswitchPINVOKE.new_switch_dtmf_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_MUX_READ = (1 << 0),
  ED_MUX_WRITE = (1 << 1),
  ED_DTMF = (1 << 2)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_endpoint_interface() {
    Dispose();
  }

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

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_endpoint_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_io_routines io_routines {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_io_routines_set(swigCPtr, switch_io_routines.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_io_routines_get(swigCPtr);
      switch_io_routines ret = (cPtr == IntPtr.Zero) ? null : new switch_io_routines(cPtr, false);
      return ret;
    } 
  }

  public switch_state_handler_table state_handler {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_state_handler_set(swigCPtr, switch_state_handler_table.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_state_handler_get(swigCPtr);
      switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_endpoint_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_endpoint_interface next {
    set {
      freeswitchPINVOKE.switch_endpoint_interface_next_set(swigCPtr, switch_endpoint_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_next_get(swigCPtr);
      switch_endpoint_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_endpoint_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_endpoint_interface() : this(freeswitchPINVOKE.new_switch_endpoint_interface(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_event() {
    Dispose();
  }

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

  public switch_event_types_t event_id {
    set {
      freeswitchPINVOKE.switch_event_event_id_set(swigCPtr, (int)value);
    } 
    get {
      switch_event_types_t ret = (switch_event_types_t)freeswitchPINVOKE.switch_event_event_id_get(swigCPtr);
      return ret;
    } 
  }

  public switch_priority_t priority {
    set {
      freeswitchPINVOKE.switch_event_priority_set(swigCPtr, (int)value);
    } 
    get {
      switch_priority_t ret = (switch_priority_t)freeswitchPINVOKE.switch_event_priority_get(swigCPtr);
      return ret;
    } 
  }

  public string owner {
    set {
      freeswitchPINVOKE.switch_event_owner_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_owner_get(swigCPtr);
      return ret;
    } 
  }

  public string subclass_name {
    set {
      freeswitchPINVOKE.switch_event_subclass_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_subclass_name_get(swigCPtr);
      return ret;
    } 
  }

  public switch_event_header headers {
    set {
      freeswitchPINVOKE.switch_event_headers_set(swigCPtr, switch_event_header.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_headers_get(swigCPtr);
      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
      return ret;
    } 
  }

  public switch_event_header last_header {
    set {
      freeswitchPINVOKE.switch_event_last_header_set(swigCPtr, switch_event_header.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_last_header_get(swigCPtr);
      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
      return ret;
    } 
  }

  public string body {
    set {
      freeswitchPINVOKE.switch_event_body_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_body_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void bind_user_data {
    set {
      freeswitchPINVOKE.switch_event_bind_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_bind_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void event_user_data {
    set {
      freeswitchPINVOKE.switch_event_event_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_event_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint key {
    set {
      freeswitchPINVOKE.switch_event_key_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_event_key_get(swigCPtr);
      return ret;
    } 
  }

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

  public switch_event() : this(freeswitchPINVOKE.new_switch_event(), true) {
  }

}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_event_header() {
    Dispose();
  }

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

  public string name {
    set {
      freeswitchPINVOKE.switch_event_header_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_header_name_get(swigCPtr);
      return ret;
    } 
  }

  public string value {
    set {
      freeswitchPINVOKE.switch_event_header_value_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_event_header_value_get(swigCPtr);
      return ret;
    } 
  }

  public uint hash {
    set {
      freeswitchPINVOKE.switch_event_header_hash_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_event_header_hash_get(swigCPtr);
      return ret;
    } 
  }

  public switch_event_header next {
    set {
      freeswitchPINVOKE.switch_event_header_next_set(swigCPtr, switch_event_header.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_event_header_next_get(swigCPtr);
      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
      return ret;
    } 
  }

  public switch_event_header() : this(freeswitchPINVOKE.new_switch_event_header(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_ANSWER,
  SWITCH_EVENT_CHANNEL_HANGUP,
  SWITCH_EVENT_CHANNEL_EXECUTE,
  SWITCH_EVENT_CHANNEL_EXECUTE_COMPLETE,
  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_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_ALL
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

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

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

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

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

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

  ~switch_file_handle() {
    Dispose();
  }

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

  public switch_file_interface file_interface {
    set {
      freeswitchPINVOKE.switch_file_handle_file_interface_set(swigCPtr, switch_file_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_file_interface_get(swigCPtr);
      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_file_handle_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_flags_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_file_t fd {
    set {
      freeswitchPINVOKE.switch_file_handle_fd_set(swigCPtr, SWIGTYPE_p_switch_file_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_fd_get(swigCPtr);
      SWIGTYPE_p_switch_file_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_file_t(cPtr, false);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_file_handle_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_samples_get(swigCPtr);
      return ret;
    } 
  }

  public uint samplerate {
    set {
      freeswitchPINVOKE.switch_file_handle_samplerate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_samplerate_get(swigCPtr);
      return ret;
    } 
  }

  public uint native_rate {
    set {
      freeswitchPINVOKE.switch_file_handle_native_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_native_rate_get(swigCPtr);
      return ret;
    } 
  }

  public byte channels {
    set {
      freeswitchPINVOKE.switch_file_handle_channels_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_file_handle_channels_get(swigCPtr);
      return ret;
    } 
  }

  public uint format {
    set {
      freeswitchPINVOKE.switch_file_handle_format_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_format_get(swigCPtr);
      return ret;
    } 
  }

  public uint sections {
    set {
      freeswitchPINVOKE.switch_file_handle_sections_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_sections_get(swigCPtr);
      return ret;
    } 
  }

  public int seekable {
    set {
      freeswitchPINVOKE.switch_file_handle_seekable_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_seekable_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t sample_count {
    set {
      freeswitchPINVOKE.switch_file_handle_sample_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_sample_count_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public int speed {
    set {
      freeswitchPINVOKE.switch_file_handle_speed_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_speed_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_file_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public uint prebuf {
    set {
      freeswitchPINVOKE.switch_file_handle_prebuf_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_prebuf_get(swigCPtr);
      return ret;
    } 
  }

  public uint interval {
    set {
      freeswitchPINVOKE.switch_file_handle_interval_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_interval_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_file_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public string handler {
    set {
      freeswitchPINVOKE.switch_file_handle_handler_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_handler_get(swigCPtr);
      return ret;
    } 
  }

  public long pos {
    set {
      freeswitchPINVOKE.switch_file_handle_pos_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_file_handle_pos_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer audio_buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_audio_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer sp_audio_buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public uint thresh {
    set {
      freeswitchPINVOKE.switch_file_handle_thresh_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_thresh_get(swigCPtr);
      return ret;
    } 
  }

  public uint silence_hits {
    set {
      freeswitchPINVOKE.switch_file_handle_silence_hits_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_silence_hits_get(swigCPtr);
      return ret;
    } 
  }

  public uint offset_pos {
    set {
      freeswitchPINVOKE.switch_file_handle_offset_pos_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_file_handle_offset_pos_get(swigCPtr);
      return ret;
    } 
  }

  public int vol {
    set {
      freeswitchPINVOKE.switch_file_handle_vol_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_vol_get(swigCPtr);
      return ret;
    } 
  }

  public switch_audio_resampler_t resampler {
    set {
      freeswitchPINVOKE.switch_file_handle_resampler_set(swigCPtr, switch_audio_resampler_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == IntPtr.Zero) ? null : new switch_audio_resampler_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char dbuf {
    set {
      freeswitchPINVOKE.switch_file_handle_dbuf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t dbuflen {
    set {
      freeswitchPINVOKE.switch_file_handle_dbuflen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_dbuflen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer pre_buffer {
    set {
      freeswitchPINVOKE.switch_file_handle_pre_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char pre_buffer_data {
    set {
      freeswitchPINVOKE.switch_file_handle_pre_buffer_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t pre_buffer_datalen {
    set {
      freeswitchPINVOKE.switch_file_handle_pre_buffer_datalen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_pre_buffer_datalen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string file {
    set {
      freeswitchPINVOKE.switch_file_handle_file_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_file_get(swigCPtr);
      return ret;
    } 
  }

  public string func {
    set {
      freeswitchPINVOKE.switch_file_handle_func_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_handle_func_get(swigCPtr);
      return ret;
    } 
  }

  public int line {
    set {
      freeswitchPINVOKE.switch_file_handle_line_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_handle_line_get(swigCPtr);
      return ret;
    } 
  }

  public switch_file_handle() : this(freeswitchPINVOKE.new_switch_file_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_file_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_file_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_file_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_file_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_file_interface(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_file_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_file_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t file_open {
    set {
      freeswitchPINVOKE.switch_file_interface_file_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle__switch_status_t file_close {
    set {
      freeswitchPINVOKE.switch_file_interface_file_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_read {
    set {
      freeswitchPINVOKE.switch_file_interface_file_read_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_read_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_write {
    set {
      freeswitchPINVOKE.switch_file_interface_file_write_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_write_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t file_seek {
    set {
      freeswitchPINVOKE.switch_file_interface_file_seek_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_seek_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t file_set_string {
    set {
      freeswitchPINVOKE.switch_file_interface_file_set_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_set_string_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t file_get_string {
    set {
      freeswitchPINVOKE.switch_file_interface_file_get_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_get_string_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public string extens {
  set { freeswitchPINVOKE.switch_file_interface_extens_set(swigCPtr, ref value); }

  get {
    return freeswitchPINVOKE.switch_file_interface_extens_get(swigCPtr);
  }

  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_file_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_file_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_file_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_file_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_file_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_file_interface next {
    set {
      freeswitchPINVOKE.switch_file_interface_next_set(swigCPtr, switch_file_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_next_get(swigCPtr);
      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_file_interface() : this(freeswitchPINVOKE.new_switch_file_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_frame(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public switch_codec codec {
    set {
      freeswitchPINVOKE.switch_frame_codec_set(swigCPtr, switch_codec.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_codec_get(swigCPtr);
      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
      return ret;
    } 
  }

  public string source {
    set {
      freeswitchPINVOKE.switch_frame_source_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_frame_source_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void packet {
    set {
      freeswitchPINVOKE.switch_frame_packet_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_packet_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint packetlen {
    set {
      freeswitchPINVOKE.switch_frame_packetlen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_packetlen_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void data {
    set {
      freeswitchPINVOKE.switch_frame_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_frame_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint datalen {
    set {
      freeswitchPINVOKE.switch_frame_datalen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_datalen_get(swigCPtr);
      return ret;
    } 
  }

  public uint buflen {
    set {
      freeswitchPINVOKE.switch_frame_buflen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_buflen_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_frame_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_samples_get(swigCPtr);
      return ret;
    } 
  }

  public uint rate {
    set {
      freeswitchPINVOKE.switch_frame_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_rate_get(swigCPtr);
      return ret;
    } 
  }

  public byte payload {
    set {
      freeswitchPINVOKE.switch_frame_payload_set(swigCPtr, value);
    } 
    get {
      byte ret = freeswitchPINVOKE.switch_frame_payload_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t timestamp {
    set {
      freeswitchPINVOKE.switch_frame_timestamp_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_frame_timestamp_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public ushort seq {
    set {
      freeswitchPINVOKE.switch_frame_seq_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_frame_seq_get(swigCPtr);
      return ret;
    } 
  }

  public uint ssrc {
    set {
      freeswitchPINVOKE.switch_frame_ssrc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_ssrc_get(swigCPtr);
      return ret;
    } 
  }

  public switch_bool_t m {
    set {
      freeswitchPINVOKE.switch_frame_m_set(swigCPtr, (int)value);
    } 
    get {
      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_frame_m_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_frame_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_frame_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_frame() : this(freeswitchPINVOKE.new_switch_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_input_args_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_input_args_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_input_args_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_input_args_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_input_args_t(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
    set {
      freeswitchPINVOKE.switch_input_args_t_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_input_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void buf {
    set {
      freeswitchPINVOKE.switch_input_args_t_buf_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_buf_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint buflen {
    set {
      freeswitchPINVOKE.switch_input_args_t_buflen_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_input_args_t_buflen_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t read_frame_callback {
    set {
      freeswitchPINVOKE.switch_input_args_t_read_frame_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_read_frame_callback_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void user_data {
    set {
      freeswitchPINVOKE.switch_input_args_t_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_user_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_input_args_t() : this(freeswitchPINVOKE.new_switch_input_args_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_input_type_t {
  SWITCH_INPUT_TYPE_DTMF,
  SWITCH_INPUT_TYPE_EVENT
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_kill_channel : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_kill_channel(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_kill_channel obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_kill_channel() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_kill_channel(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_kill_channel next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_get(swigCPtr);
      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_kill_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_kill_channel(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_outgoing_channel : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_outgoing_channel(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_outgoing_channel obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_outgoing_channel() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_outgoing_channel(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_outgoing_channel next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_get(swigCPtr);
      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_outgoing_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_outgoing_channel(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_read_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_read_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_read_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_read_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_read_frame(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_read_frame_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_read_frame_read_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_read_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_read_frame_next_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_read_frame_next_get(swigCPtr);
      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_read_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_receive_event : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_receive_event(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_receive_event obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_receive_event() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_receive_event(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_event next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_event_next_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_next_get(swigCPtr);
      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_event() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_event(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_receive_message : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_receive_message(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_receive_message obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_receive_message() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_receive_message(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_message next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_receive_message_next_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_next_get(swigCPtr);
      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_message() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_message(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_recv_dtmf : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_recv_dtmf(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_recv_dtmf obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_recv_dtmf() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_recv_dtmf(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_recv_dtmf next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr);
      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_resurrect_session : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_resurrect_session(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_resurrect_session obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_resurrect_session() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_resurrect_session(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session {
    set {
      freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_get(swigCPtr);
      SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_resurrect_session next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_get(swigCPtr);
      switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_resurrect_session() : this(freeswitchPINVOKE.new_switch_io_event_hook_resurrect_session(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hooks : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hooks obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hooks() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public switch_io_event_hook_outgoing_channel outgoing_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr);
      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_message receive_message {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr);
      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_receive_event receive_event {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr);
      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_read_frame read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr);
      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_read_frame video_read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr);
      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_write_frame write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr);
      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_write_frame video_write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr);
      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_kill_channel kill_channel {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_kill_channel_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr);
      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_send_dtmf send_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr);
      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_recv_dtmf recv_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr);
      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_change state_change {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr);
      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_resurrect_session resurrect_session {
    set {
      freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_get(swigCPtr);
      switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_send_dtmf : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_send_dtmf(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_send_dtmf obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_send_dtmf() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_send_dtmf(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf {
    set {
      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_send_dtmf next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_get(swigCPtr);
      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_send_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_send_dtmf(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_state_change : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_state_change(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_state_change obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_state_change() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_state_change(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
    set {
      freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_change next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_state_change_next_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_next_get(swigCPtr);
      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_state_change() : this(freeswitchPINVOKE.new_switch_io_event_hook_state_change(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_video_read_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_video_read_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_video_read_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_video_read_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_video_read_frame(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t video_read_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_video_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_read_frame_video_read_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_read_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_get(swigCPtr);
      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_read_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_video_write_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_video_write_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_video_write_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_video_write_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_video_write_frame(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_video_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_write_frame_video_write_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_write_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_get(swigCPtr);
      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_video_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_write_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_event_hook_write_frame : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_event_hook_write_frame(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_event_hook_write_frame obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_event_hook_write_frame() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_event_hook_write_frame(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame {
    set {
      freeswitchPINVOKE.switch_io_event_hook_write_frame_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_write_frame_write_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_write_frame next {
    set {
      freeswitchPINVOKE.switch_io_event_hook_write_frame_next_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_write_frame_next_get(swigCPtr);
      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
      return ret;
    } 
  }

  public switch_io_event_hook_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_write_frame(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_RESURRECT_SESSION
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_io_routines : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_io_routines(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_io_routines obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_io_routines() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_io_routines(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t outgoing_channel {
    set {
      freeswitchPINVOKE.switch_io_routines_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_outgoing_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_read_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_write_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
    set {
      freeswitchPINVOKE.switch_io_routines_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_kill_channel_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t send_dtmf {
    set {
      freeswitchPINVOKE.switch_io_routines_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_send_dtmf_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
    set {
      freeswitchPINVOKE.switch_io_routines_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_message_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
    set {
      freeswitchPINVOKE.switch_io_routines_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_event_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
    set {
      freeswitchPINVOKE.switch_io_routines_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_state_change_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_video_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_read_video_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_read_video_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_video_frame {
    set {
      freeswitchPINVOKE.switch_io_routines_write_video_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_write_video_frame_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session {
    set {
      freeswitchPINVOKE.switch_io_routines_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_resurrect_session_get(swigCPtr);
      SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_void padding {
    set {
      freeswitchPINVOKE.switch_io_routines_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_padding_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_io_routines() : this(freeswitchPINVOKE.new_switch_io_routines(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_ivr_action_t {
  SWITCH_IVR_ACTION_DIE,
  SWITCH_IVR_ACTION_EXECMENU,
  SWITCH_IVR_ACTION_EXECAPP,
  SWITCH_IVR_ACTION_PLAYSOUND,
  SWITCH_IVR_ACTION_BACK,
  SWITCH_IVR_ACTION_TOMAIN,
  SWITCH_IVR_ACTION_NOOP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_ivr_menu_flags {
  SWITCH_IVR_MENU_FLAG_FALLTOMAIN = (1 << 0),
  SWITCH_IVR_MENU_FLAG_FREEPOOL = (1 << 1),
  SWITCH_IVR_MENU_FLAG_STACK = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_ivr_option_enum_t {
  SWITCH_IVR_OPTION_NONE = 0,
  SWITCH_IVR_OPTION_ASYNC = (1 << 0),
  SWITCH_IVR_OPTION_FILE = (1 << 1)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_loadable_module_function_table_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_loadable_module_function_table_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_loadable_module_function_table_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_loadable_module_function_table_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_loadable_module_function_table_t(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public int switch_api_version {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t load {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_load_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_load_get(swigCPtr);
      SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_void__switch_status_t shutdown {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_void__switch_status_t runtime {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_get(swigCPtr);
      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_loadable_module_function_table_t_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_loadable_module_function_table_t_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_loadable_module_function_table_t() : this(freeswitchPINVOKE.new_switch_loadable_module_function_table_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_DEBUG = 7,
  SWITCH_LOG_INFO = 6,
  SWITCH_LOG_NOTICE = 5,
  SWITCH_LOG_WARNING = 4,
  SWITCH_LOG_ERROR = 3,
  SWITCH_LOG_CRIT = 2,
  SWITCH_LOG_ALERT = 1,
  SWITCH_LOG_CONSOLE = 0,
  SWITCH_LOG_INVALID = 64
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_log_node_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_log_node_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_log_node_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_log_node_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_log_node_t(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public string data {
    set {
      freeswitchPINVOKE.switch_log_node_t_data_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_data_get(swigCPtr);
      return ret;
    } 
  }

  public string file {
    set {
      freeswitchPINVOKE.switch_log_node_t_file_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_file_get(swigCPtr);
      return ret;
    } 
  }

  public uint line {
    set {
      freeswitchPINVOKE.switch_log_node_t_line_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_log_node_t_line_get(swigCPtr);
      return ret;
    } 
  }

  public string func {
    set {
      freeswitchPINVOKE.switch_log_node_t_func_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_func_get(swigCPtr);
      return ret;
    } 
  }

  public switch_log_level_t level {
    set {
      freeswitchPINVOKE.switch_log_node_t_level_set(swigCPtr, (int)value);
    } 
    get {
      switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_node_t_level_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_time_t timestamp {
    set {
      freeswitchPINVOKE.switch_log_node_t_timestamp_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_log_node_t_timestamp_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public string content {
    set {
      freeswitchPINVOKE.switch_log_node_t_content_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_content_get(swigCPtr);
      return ret;
    } 
  }

  public string userdata {
    set {
      freeswitchPINVOKE.switch_log_node_t_userdata_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_log_node_t_userdata_get(swigCPtr);
      return ret;
    } 
  }

  public switch_text_channel_t channel {
    set {
      freeswitchPINVOKE.switch_log_node_t_channel_set(swigCPtr, (int)value);
    } 
    get {
      switch_text_channel_t ret = (switch_text_channel_t)freeswitchPINVOKE.switch_log_node_t_channel_get(swigCPtr);
      return ret;
    } 
  }

  public switch_log_node_t() : this(freeswitchPINVOKE.new_switch_log_node_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_management_action_t {
  SMA_NONE,
  SMA_GET,
  SMA_SET
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_management_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_management_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_management_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_management_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_management_interface(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public string relative_oid {
    set {
      freeswitchPINVOKE.switch_management_interface_relative_oid_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_management_interface_relative_oid_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t management_function {
    set {
      freeswitchPINVOKE.switch_management_interface_management_function_set(swigCPtr, SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_management_function_get(swigCPtr);
      SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_management_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_management_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_management_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_management_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_management_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_management_interface next {
    set {
      freeswitchPINVOKE.switch_management_interface_next_set(swigCPtr, switch_management_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_next_get(swigCPtr);
      switch_management_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_management_interface() : this(freeswitchPINVOKE.new_switch_management_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_RECORD_ANSWER_REQ = (1 << 6),
  SMBF_THREAD_LOCK = (1 << 7)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_module_flag_enum_t {
  SMODF_NONE = 0,
  SMODF_GLOBAL_SYMBOLS = (1 << 0)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_CID_NUM = (1 << 2),
  SOF_NO_EFFECTIVE_CID_NAME = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_priority_t {
  SWITCH_PRIORITY_NORMAL,
  SWITCH_PRIORITY_LOW,
  SWITCH_PRIORITY_HIGH
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_MAX
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtp_crypto_key : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_crypto_key(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtp_crypto_key obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtp_crypto_key() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_rtp_crypto_key(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public uint index {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_index_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_crypto_key_index_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_crypto_key_type_t type {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_type_set(swigCPtr, (int)value);
    } 
    get {
      switch_rtp_crypto_key_type_t ret = (switch_rtp_crypto_key_type_t)freeswitchPINVOKE.switch_rtp_crypto_key_type_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char key {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_key_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_key_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t keylen {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_keylen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_crypto_key_keylen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_rtp_crypto_key next {
    set {
      freeswitchPINVOKE.switch_rtp_crypto_key_next_set(swigCPtr, switch_rtp_crypto_key.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_next_get(swigCPtr);
      switch_rtp_crypto_key ret = (cPtr == IntPtr.Zero) ? null : new switch_rtp_crypto_key(cPtr, false);
      return ret;
    } 
  }

  public switch_rtp_crypto_key() : this(freeswitchPINVOKE.new_switch_rtp_crypto_key(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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 {
  NO_CRYPTO,
  AES_CM_128_HMAC_SHA1_80,
  AES_CM_128_HMAC_SHA1_32,
  AES_CM_128_NULL_AUTH
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_rtp_flag_enum_t {
  SWITCH_RTP_FLAG_NOBLOCK = (1 << 0),
  SWITCH_RTP_FLAG_IO = (1 << 1),
  SWITCH_RTP_FLAG_USE_TIMER = (1 << 2),
  SWITCH_RTP_FLAG_TIMER_RECLOCK = (1 << 3),
  SWITCH_RTP_FLAG_SECURE_SEND = (1 << 4),
  SWITCH_RTP_FLAG_SECURE_RECV = (1 << 5),
  SWITCH_RTP_FLAG_AUTOADJ = (1 << 6),
  SWITCH_RTP_FLAG_RAW_WRITE = (1 << 7),
  SWITCH_RTP_FLAG_GOOGLEHACK = (1 << 8),
  SWITCH_RTP_FLAG_VAD = (1 << 9),
  SWITCH_RTP_FLAG_BREAK = (1 << 10),
  SWITCH_RTP_FLAG_MINI = (1 << 11),
  SWITCH_RTP_FLAG_DATAWAIT = (1 << 12),
  SWITCH_RTP_FLAG_BUGGY_2833 = (1 << 13),
  SWITCH_RTP_FLAG_PASS_RFC2833 = (1 << 14),
  SWITCH_RTP_FLAG_AUTO_CNG = (1 << 15),
  SWITCH_RTP_FLAG_SECURE_SEND_RESET = (1 << 16),
  SWITCH_RTP_FLAG_SECURE_RECV_RESET = (1 << 17),
  SWITCH_RTP_FLAG_PROXY_MEDIA = (1 << 18),
  SWITCH_RTP_FLAG_SHUTDOWN = (1 << 19),
  SWITCH_RTP_FLAG_FLUSH = (1 << 20)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_rtp_hdr_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_rtp_hdr_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_rtp_hdr_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_rtp_hdr_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_rtp_hdr_t(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public uint version {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_version_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_version_get(swigCPtr);
      return ret;
    } 
  }

  public uint p {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_p_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_p_get(swigCPtr);
      return ret;
    } 
  }

  public uint x {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_x_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_x_get(swigCPtr);
      return ret;
    } 
  }

  public uint cc {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_cc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_cc_get(swigCPtr);
      return ret;
    } 
  }

  public uint m {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_m_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_m_get(swigCPtr);
      return ret;
    } 
  }

  public uint pt {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_pt_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_pt_get(swigCPtr);
      return ret;
    } 
  }

  public uint seq {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_seq_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_seq_get(swigCPtr);
      return ret;
    } 
  }

  public uint ts {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_ts_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ts_get(swigCPtr);
      return ret;
    } 
  }

  public uint ssrc {
    set {
      freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_get(swigCPtr);
      return ret;
    } 
  }

  public switch_rtp_hdr_t() : this(freeswitchPINVOKE.new_switch_rtp_hdr_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_say_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_say_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_say_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_say_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_say_interface(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_say_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_say_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_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_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_say_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_say_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_say_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_say_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_say_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_say_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_say_interface next {
    set {
      freeswitchPINVOKE.switch_say_interface_next_set(swigCPtr, switch_say_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_next_get(swigCPtr);
      switch_say_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_say_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_say_interface() : this(freeswitchPINVOKE.new_switch_say_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_say_type_t {
  SST_NUMBER,
  SST_ITEMS,
  SST_PERSONS,
  SST_MESSAGES,
  SST_CURRENCY,
  SST_TIME_MEASUREMENT,
  SST_CURRENT_DATE,
  SST_CURRENT_TIME,
  SST_CURRENT_DATE_TIME,
  SST_TELEPHONE_NUMBER,
  SST_TELEPHONE_EXTENSION,
  SST_URL,
  SST_IP_ADDRESS,
  SST_EMAIL_ADDRESS,
  SST_POSTAL_ADDRESS,
  SST_ACCOUNT_NUMBER,
  SST_NAME_SPELLED,
  SST_NAME_PHONETIC,
  SST_SHORT_DATE_TIME
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_scheduler_flag_enum_t {
  SSHF_NONE = 0,
  SSHF_OWN_THREAD = (1 << 0),
  SSHF_FREE_ARG = (1 << 1),
  SSHF_NO_DEL = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_scheduler_task : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_scheduler_task(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_scheduler_task obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_scheduler_task() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_scheduler_task(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public long created {
    set {
      freeswitchPINVOKE.switch_scheduler_task_created_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_scheduler_task_created_get(swigCPtr);
      return ret;
    } 
  }

  public long runtime {
    set {
      freeswitchPINVOKE.switch_scheduler_task_runtime_set(swigCPtr, value);
    } 
    get {
      long ret = freeswitchPINVOKE.switch_scheduler_task_runtime_get(swigCPtr);
      return ret;
    } 
  }

  public uint cmd_id {
    set {
      freeswitchPINVOKE.switch_scheduler_task_cmd_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_scheduler_task_cmd_id_get(swigCPtr);
      return ret;
    } 
  }

  public string group {
    set {
      freeswitchPINVOKE.switch_scheduler_task_group_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_scheduler_task_group_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void cmd_arg {
    set {
      freeswitchPINVOKE.switch_scheduler_task_cmd_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_scheduler_task_cmd_arg_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public uint task_id {
    set {
      freeswitchPINVOKE.switch_scheduler_task_task_id_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_scheduler_task_task_id_get(swigCPtr);
      return ret;
    } 
  }

  public switch_scheduler_task() : this(freeswitchPINVOKE.new_switch_scheduler_task(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_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_DEFAULT_DTMF_DURATION,
  SCSC_SHUTDOWN_ELEGANT,
  SCSC_SHUTDOWN_ASAP,
  SCSC_CANCEL_SHUTDOWN,
  SCSC_SEND_SIGHUP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_signal_t {
  SWITCH_SIG_NONE,
  SWITCH_SIG_KILL,
  SWITCH_SIG_XFER,
  SWITCH_SIG_BREAK
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_speech_flag_enum_t {
  SWITCH_SPEECH_FLAG_NONE = 0,
  SWITCH_SPEECH_FLAG_HASTEXT = (1 << 0),
  SWITCH_SPEECH_FLAG_PEEK = (1 << 1),
  SWITCH_SPEECH_FLAG_FREE_POOL = (1 << 2),
  SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3),
  SWITCH_SPEECH_FLAG_PAUSE = (1 << 4),
  SWITCH_SPEECH_FLAG_OPEN = (1 << 5),
  SWITCH_SPEECH_FLAG_DONE = (1 << 6)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_speech_handle : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_speech_handle(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_speech_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_speech_handle() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_speech_handle(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public switch_speech_interface speech_interface {
    set {
      freeswitchPINVOKE.switch_speech_handle_speech_interface_set(swigCPtr, switch_speech_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_speech_interface_get(swigCPtr);
      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_speech_handle_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_flags_get(swigCPtr);
      return ret;
    } 
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_speech_handle_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_name_get(swigCPtr);
      return ret;
    } 
  }

  public uint rate {
    set {
      freeswitchPINVOKE.switch_speech_handle_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_rate_get(swigCPtr);
      return ret;
    } 
  }

  public uint speed {
    set {
      freeswitchPINVOKE.switch_speech_handle_speed_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_speed_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_speech_handle_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_samples_get(swigCPtr);
      return ret;
    } 
  }

  public string voice {
    set {
      freeswitchPINVOKE.switch_speech_handle_voice_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_voice_get(swigCPtr);
      return ret;
    } 
  }

  public string engine {
    set {
      freeswitchPINVOKE.switch_speech_handle_engine_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_engine_get(swigCPtr);
      return ret;
    } 
  }

  public string param {
    set {
      freeswitchPINVOKE.switch_speech_handle_param_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_handle_param_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_speech_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public switch_audio_resampler_t resampler {
    set {
      freeswitchPINVOKE.switch_speech_handle_resampler_set(swigCPtr, switch_audio_resampler_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_resampler_get(swigCPtr);
      switch_audio_resampler_t ret = (cPtr == IntPtr.Zero) ? null : new switch_audio_resampler_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_buffer buffer {
    set {
      freeswitchPINVOKE.switch_speech_handle_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_buffer_get(swigCPtr);
      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char dbuf {
    set {
      freeswitchPINVOKE.switch_speech_handle_dbuf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_dbuf_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t dbuflen {
    set {
      freeswitchPINVOKE.switch_speech_handle_dbuflen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_speech_handle_dbuflen_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public uint samplerate {
    set {
      freeswitchPINVOKE.switch_speech_handle_samplerate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_samplerate_get(swigCPtr);
      return ret;
    } 
  }

  public uint native_rate {
    set {
      freeswitchPINVOKE.switch_speech_handle_native_rate_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_speech_handle_native_rate_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_speech_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_handle() : this(freeswitchPINVOKE.new_switch_speech_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_speech_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_speech_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_speech_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_speech_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_speech_interface(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_speech_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_speech_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_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_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_open_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t speech_close {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_close_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t speech_feed_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t speech_read_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_read_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_read_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle__void speech_flush_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void speech_text_param_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void speech_numeric_param_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void speech_float_param_tts {
    set {
      freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_speech_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_speech_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_speech_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_speech_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_speech_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_interface next {
    set {
      freeswitchPINVOKE.switch_speech_interface_next_set(swigCPtr, switch_speech_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_next_get(swigCPtr);
      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_speech_interface() : this(freeswitchPINVOKE.new_switch_speech_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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,
  SWITCH_STACK_TOP
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_state_handler_table : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_state_handler_table(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_state_handler_table obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_state_handler_table() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_state_handler_table(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_init {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_routing {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_routing_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_routing_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_execute {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_execute_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hangup {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_hangup_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hangup_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_exchange_media {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_soft_execute {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_consume_media {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_consume_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_consume_media_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hibernate {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_hibernate_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hibernate_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_reset {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_reset_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reset_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_park {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_park_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_park_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_reporting {
    set {
      freeswitchPINVOKE.switch_state_handler_table_on_reporting_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reporting_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_p_void padding {
    set {
      freeswitchPINVOKE.switch_state_handler_table_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_padding_get(swigCPtr);
      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
      return ret;
    } 
  }

  public switch_state_handler_table() : this(freeswitchPINVOKE.new_switch_state_handler_table(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_TERM,
  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_NOT_INITALIZED
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_stream_handle : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_stream_handle(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_stream_handle obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_stream_handle() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_stream_handle(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t write_function {
    set {
      freeswitchPINVOKE.switch_stream_handle_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_write_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t raw_write_function {
    set {
      freeswitchPINVOKE.switch_stream_handle_raw_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_raw_write_function_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void data {
    set {
      freeswitchPINVOKE.switch_stream_handle_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_data_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void end {
    set {
      freeswitchPINVOKE.switch_stream_handle_end_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_end_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t data_size {
    set {
      freeswitchPINVOKE.switch_stream_handle_data_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_size_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t data_len {
    set {
      freeswitchPINVOKE.switch_stream_handle_data_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_len_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t alloc_len {
    set {
      freeswitchPINVOKE.switch_stream_handle_alloc_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_len_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t alloc_chunk {
    set {
      freeswitchPINVOKE.switch_stream_handle_alloc_chunk_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_chunk_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_event param_event {
    set {
      freeswitchPINVOKE.switch_stream_handle_param_event_set(swigCPtr, switch_event.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_param_event_get(swigCPtr);
      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
      return ret;
    } 
  }

  public switch_stream_handle() : this(freeswitchPINVOKE.new_switch_stream_handle(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_t38_options_t : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_t38_options_t(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_t38_options_t obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_t38_options_t() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_t38_options_t(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  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 ip {
    set {
      freeswitchPINVOKE.switch_t38_options_t_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_t38_options_t_ip_get(swigCPtr);
      return ret;
    } 
  }

  public uint port {
    set {
      freeswitchPINVOKE.switch_t38_options_t_port_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_t38_options_t_port_get(swigCPtr);
      return ret;
    } 
  }

  public switch_t38_options_t() : this(freeswitchPINVOKE.new_switch_t38_options_t(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_timer : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_timer(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_timer obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_timer() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_timer(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public int interval {
    set {
      freeswitchPINVOKE.switch_timer_interval_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_timer_interval_get(swigCPtr);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_timer_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_timer_flags_get(swigCPtr);
      return ret;
    } 
  }

  public uint samples {
    set {
      freeswitchPINVOKE.switch_timer_samples_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_timer_samples_get(swigCPtr);
      return ret;
    } 
  }

  public uint samplecount {
    set {
      freeswitchPINVOKE.switch_timer_samplecount_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_timer_samplecount_get(swigCPtr);
      return ret;
    } 
  }

  public switch_timer_interface timer_interface {
    set {
      freeswitchPINVOKE.switch_timer_timer_interface_set(swigCPtr, switch_timer_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_timer_interface_get(swigCPtr);
      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_apr_pool_t memory_pool {
    set {
      freeswitchPINVOKE.switch_timer_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_memory_pool_get(swigCPtr);
      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_void private_info {
    set {
      freeswitchPINVOKE.switch_timer_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_private_info_get(swigCPtr);
      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t diff {
    set {
      freeswitchPINVOKE.switch_timer_diff_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_diff_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t tick {
    set {
      freeswitchPINVOKE.switch_timer_tick_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_tick_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_timer() : this(freeswitchPINVOKE.new_switch_timer(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_timer_flag_enum_t {
  SWITCH_TIMER_FLAG_FREE_POOL = (1 << 0)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_timer_func_name_t {
  SWITCH_TIMER_FUNC_TIMER_INIT,
  SWITCH_TIMER_FUNC_TIMER_NEXT,
  SWITCH_TIMER_FUNC_TIMER_STEP,
  SWITCH_TIMER_FUNC_TIMER_SYNC,
  SWITCH_TIMER_FUNC_TIMER_CHECK,
  SWITCH_TIMER_FUNC_TIMER_DESTROY
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_timer_interface : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_timer_interface(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_timer_interface obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_timer_interface() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_timer_interface(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public string interface_name {
    set {
      freeswitchPINVOKE.switch_timer_interface_interface_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_timer_interface_interface_name_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_init {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_init_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_next {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_next_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_step {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_step_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_step_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_sync {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_sync_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_sync_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t timer_check {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_check_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_check_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_destroy {
    set {
      freeswitchPINVOKE.switch_timer_interface_timer_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_destroy_get(swigCPtr);
      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
    set {
      freeswitchPINVOKE.switch_timer_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_rwlock_get(swigCPtr);
      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
      return ret;
    } 
  }

  public int refs {
    set {
      freeswitchPINVOKE.switch_timer_interface_refs_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_timer_interface_refs_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t reflock {
    set {
      freeswitchPINVOKE.switch_timer_interface_reflock_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_reflock_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_loadable_module_interface parent {
    set {
      freeswitchPINVOKE.switch_timer_interface_parent_set(swigCPtr, SWIGTYPE_p_switch_loadable_module_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_parent_get(swigCPtr);
      SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_timer_interface next {
    set {
      freeswitchPINVOKE.switch_timer_interface_next_set(swigCPtr, switch_timer_interface.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_next_get(swigCPtr);
      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
      return ret;
    } 
  }

  public switch_timer_interface() : this(freeswitchPINVOKE.new_switch_timer_interface(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_unicast_conninfo : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_unicast_conninfo(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_unicast_conninfo obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_unicast_conninfo() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_unicast_conninfo(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public SWIGTYPE_p_switch_core_session session {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_session_get(swigCPtr);
      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
      return ret;
    } 
  }

  public switch_codec read_codec {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_read_codec_set(swigCPtr, switch_codec.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_read_codec_get(swigCPtr);
      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
      return ret;
    } 
  }

  public switch_frame write_frame {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_set(swigCPtr, switch_frame.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_get(swigCPtr);
      switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_unsigned_char write_frame_data {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_get(swigCPtr);
      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_socket_t socket {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_socket_set(swigCPtr, SWIGTYPE_p_switch_socket_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_socket_get(swigCPtr);
      SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
      return ret;
    } 
  }

  public string local_ip {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_local_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_unicast_conninfo_local_ip_get(swigCPtr);
      return ret;
    } 
  }

  public ushort local_port {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_local_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_local_port_get(swigCPtr);
      return ret;
    } 
  }

  public string remote_ip {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_get(swigCPtr);
      return ret;
    } 
  }

  public ushort remote_port {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_remote_port_set(swigCPtr, value);
    } 
    get {
      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_port_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_sockaddr_t local_addr {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_local_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_local_addr_get(swigCPtr);
      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_sockaddr_t remote_addr {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_get(swigCPtr);
      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_mutex_t flag_mutex {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_get(swigCPtr);
      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
      return ret;
    } 
  }

  public int flags {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_flags_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_flags_get(swigCPtr);
      return ret;
    } 
  }

  public int type {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_type_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_type_get(swigCPtr);
      return ret;
    } 
  }

  public int transport {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_transport_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_transport_get(swigCPtr);
      return ret;
    } 
  }

  public int stream_id {
    set {
      freeswitchPINVOKE.switch_unicast_conninfo_stream_id_set(swigCPtr, value);
    } 
    get {
      int ret = freeswitchPINVOKE.switch_unicast_conninfo_stream_id_get(swigCPtr);
      return ret;
    } 
  }

  public switch_unicast_conninfo() : this(freeswitchPINVOKE.new_switch_unicast_conninfo(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_unicast_flag_enum_t {
  SUF_NONE = 0,
  SUF_THREAD_RUNNING = (1 << 0),
  SUF_READY = (1 << 1),
  SUF_NATIVE = (1 << 2)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

public enum switch_uri_flags {
  SWITCH_URI_NUMERIC_HOST = 1,
  SWITCH_URI_NUMERIC_PORT = 2,
  SWITCH_URI_NO_SCOPE = 4
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_vad_flag_enum_t {
  SWITCH_VAD_FLAG_TALKING = (1 << 0),
  SWITCH_VAD_FLAG_EVENTS_TALK = (1 << 1),
  SWITCH_VAD_FLAG_EVENTS_NOTALK = (1 << 2),
  SWITCH_VAD_FLAG_CNG = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

using System;
using System.Runtime.InteropServices;

public class switch_xml : IDisposable {
  private HandleRef swigCPtr;
  protected bool swigCMemOwn;

  internal switch_xml(IntPtr cPtr, bool cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = new HandleRef(this, cPtr);
  }

  internal static HandleRef getCPtr(switch_xml obj) {
    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  }

  ~switch_xml() {
    Dispose();
  }

  public virtual void Dispose() {
    lock(this) {
      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
        swigCMemOwn = false;
        freeswitchPINVOKE.delete_switch_xml(swigCPtr);
      }
      swigCPtr = new HandleRef(null, IntPtr.Zero);
      GC.SuppressFinalize(this);
    }
  }

  public string name {
    set {
      freeswitchPINVOKE.switch_xml_name_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_name_get(swigCPtr);
      return ret;
    } 
  }

  public string attr {
  set { freeswitchPINVOKE.switch_xml_attr_set(swigCPtr, ref value); }

  get {
    return freeswitchPINVOKE.switch_xml_attr_get(swigCPtr);
  }

  }

  public string txt {
    set {
      freeswitchPINVOKE.switch_xml_txt_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_txt_get(swigCPtr);
      return ret;
    } 
  }

  public string free_path {
    set {
      freeswitchPINVOKE.switch_xml_free_path_set(swigCPtr, value);
    } 
    get {
      string ret = freeswitchPINVOKE.switch_xml_free_path_get(swigCPtr);
      return ret;
    } 
  }

  public SWIGTYPE_p_switch_size_t off {
    set {
      freeswitchPINVOKE.switch_xml_off_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
    } 
    get {
      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_xml_off_get(swigCPtr), true);
      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
      return ret;
    } 
  }

  public switch_xml next {
    set {
      freeswitchPINVOKE.switch_xml_next_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_next_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml sibling {
    set {
      freeswitchPINVOKE.switch_xml_sibling_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_sibling_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml ordered {
    set {
      freeswitchPINVOKE.switch_xml_ordered_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_ordered_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml child {
    set {
      freeswitchPINVOKE.switch_xml_child_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_child_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public switch_xml parent {
    set {
      freeswitchPINVOKE.switch_xml_parent_set(swigCPtr, switch_xml.getCPtr(value));
    } 
    get {
      IntPtr cPtr = freeswitchPINVOKE.switch_xml_parent_get(swigCPtr);
      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
      return ret;
    } 
  }

  public uint flags {
    set {
      freeswitchPINVOKE.switch_xml_flags_set(swigCPtr, value);
    } 
    get {
      uint ret = freeswitchPINVOKE.switch_xml_flags_get(swigCPtr);
      return ret;
    } 
  }

  public switch_xml() : this(freeswitchPINVOKE.new_switch_xml(), true) {
  }

}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

namespace FreeSWITCH.Native {

[System.Flags] public enum switch_xml_flag_t {
  SWITCH_XML_ROOT = (1 << 0),
  SWITCH_XML_NAMEM = (1 << 1),
  SWITCH_XML_TXTM = (1 << 2),
  SWITCH_XML_DUP = (1 << 3)
}

}
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.35
 *
 * 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_PHRASES = (1 << 3)
}

}
