]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
swigall swig41_test 2834/head
authorAndrey Volk <andywolk@gmail.com>
Wed, 9 Jul 2025 12:03:12 +0000 (12:03 +0000)
committerAndrey Volk <andywolk@gmail.com>
Wed, 9 Jul 2025 12:03:12 +0000 (12:03 +0000)
38 files changed:
src/mod/languages/mod_java/src/org/freeswitch/swig/API.java
src/mod/languages/mod_java/src/org/freeswitch/swig/CoreSession.java
src/mod/languages/mod_java/src/org/freeswitch/swig/DTMF.java
src/mod/languages/mod_java/src/org/freeswitch/swig/Event.java
src/mod/languages/mod_java/src/org/freeswitch/swig/EventConsumer.java
src/mod/languages/mod_java/src/org/freeswitch/swig/IVRMenu.java
src/mod/languages/mod_java/src/org/freeswitch/swig/JavaSession.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_JavaVM.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_int.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_p_switch_event_node_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_call_cause_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_state_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_core_session_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_types_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_args_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_type_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_priority_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_queue_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_state_handler_table_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_status_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_stream_handle_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_uint32_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_void.java
src/mod/languages/mod_java/src/org/freeswitch/swig/Stream.java
src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java
src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java
src/mod/languages/mod_java/src/org/freeswitch/swig/input_callback_state_t.java
src/mod/languages/mod_java/src/org/freeswitch/swig/session_flag_t.java
src/mod/languages/mod_java/switch_swig_wrap.cpp
src/mod/languages/mod_lua/mod_lua_wrap.cpp
src/mod/languages/mod_managed/freeswitch_wrap.cxx
src/mod/languages/mod_managed/managed/swig.cs
src/mod/languages/mod_perl/freeswitch.pm
src/mod/languages/mod_perl/mod_perl_wrap.cpp
src/mod/languages/mod_python3/freeswitch.py
src/mod/languages/mod_python3/mod_python_wrap.cpp

index d9686f9620c51a03281108db5f8eb0986f430188..73c0ac82a1b68ac279117687b20d89e6621cea7d 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class API {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(API obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index 07571c683ad0f8c1c8a33dc55173951f06a1059d..28036acb5f230a230a3dcd930001ad7d110174cb 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class CoreSession {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(CoreSession obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index bf189103c9f57905fe24e56677e1ae8b71ce2825..834c7024ac81e32decdec11c75c5f14886c7a04a 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class DTMF {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(DTMF obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index 5c3961dc8c6782a79909dde7133c1311b68b52a8..2e70ff9386ef825c1c7a081a833f27c3603ab8c1 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class Event {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(Event obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index 18af38ff9d3f0f503d1c110e5be03ba22410f7e0..86d8cdad0600ef7ed7a346a56d2849abbeaeb100 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class EventConsumer {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(EventConsumer obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index c61ce9e4e1fd2b7cfea4ebfe50f0ae0b2ef94e81..adada8f333ec436bad17ab9303d2b55cc568ac85 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class IVRMenu {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(IVRMenu obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index 4c71702a15cee0c7d5f7df3e684eb089112b6f89..69c08461af42edcdeae0039bb1a13994495be302 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -20,6 +20,19 @@ public class JavaSession extends CoreSession {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(JavaSession obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index 9947a8d93587fcd8e5f671fdc657e97f8de9ceb6..0685ac07c18881ab29a08277d6bebecc96d0cb90 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_JavaVM {
   protected static long getCPtr(SWIGTYPE_p_JavaVM obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_JavaVM obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index ca2ece7145cc4cb7b87a522b7ad0a8c8e77f45dc..af63701ac21efbc5088b257958244510244a22cf 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_int {
   protected static long getCPtr(SWIGTYPE_p_int obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_int obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index d7b9cf39ad1dd9c70bffea226dc136098d82f3f1..b4789e48a24958d7c1ac788aeb2d0fad5c62d5fc 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_p_switch_event_node_t {
   protected static long getCPtr(SWIGTYPE_p_p_switch_event_node_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_p_switch_event_node_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index e205409f41ec689aa26642ead4b45dbc85d398a2..1e72945fc30ea729c1a3da9abe3ef38e1c9f6bc3 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_call_cause_t {
   protected static long getCPtr(SWIGTYPE_p_switch_call_cause_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_call_cause_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index d562494db96ff9559906f822292523bc501f304c..3d98f6b523ff58f01a3c5c1a77c9543b8e48305a 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_channel_state_t {
   protected static long getCPtr(SWIGTYPE_p_switch_channel_state_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_channel_state_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index e72db712f5ed73a76fa4c12b53554acf067f417e..eb5343c06a56ce2ccd100868906208c510b27d9d 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_channel_t {
   protected static long getCPtr(SWIGTYPE_p_switch_channel_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_channel_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index ac7971800ee1d86bda17489670fee77adddd6a7f..fb12bc323f9bbe907d1a3b60ce689976de2271c2 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_core_session_t {
   protected static long getCPtr(SWIGTYPE_p_switch_core_session_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_core_session_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index ef5d70a2a95a9cece16626027bc1f7db55d7544b..35ab158ff95f9a2deb84c61de95d2714924bc739 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_event_t {
   protected static long getCPtr(SWIGTYPE_p_switch_event_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_event_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index f74001fb26a1c281fee080fe2d09a5cc41a2bcac..21aaa08f41155de583aef1aea208272e3a35cfc4 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_event_types_t {
   protected static long getCPtr(SWIGTYPE_p_switch_event_types_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_event_types_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 92af42a73725f8a554d1cacd6237b0e38b77ad9d..17bca26f2dece19c4175337509536c4e49974657 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_input_args_t {
   protected static long getCPtr(SWIGTYPE_p_switch_input_args_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_input_args_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 6a8d3bc6b603660049076b5080ca3cd5ab33b59d..a7b38ce2908b299f4dd8a06ee1346f6c85ac5bda 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_input_type_t {
   protected static long getCPtr(SWIGTYPE_p_switch_input_type_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_input_type_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 2685896bd68b34f5dccaa8880a3cda494035d6cb..b26b72fa4cae499efde5641d547247ddf40cc254 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_priority_t {
   protected static long getCPtr(SWIGTYPE_p_switch_priority_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_priority_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index b228fc67ae01bd553636920600f3ce12b4d9d7ed..e7f8e45131372f0901af465eaaf5af195ef7e106 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_queue_t {
   protected static long getCPtr(SWIGTYPE_p_switch_queue_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_queue_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 74843c8821bad09d9f57995087a502c4083fe0e7..692acb5011faf7df4eee717fc2a5f82510fea7c9 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_state_handler_table_t {
   protected static long getCPtr(SWIGTYPE_p_switch_state_handler_table_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_state_handler_table_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 59b15e06d41a7fc258e37b73edad826c5762d0cc..fa6f973cac0a7c4140808516ca3b0060453289af 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_status_t {
   protected static long getCPtr(SWIGTYPE_p_switch_status_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_status_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 9d85b66c988d8dc628da4c611242c3e49c354fea..28e9f36a03e07f681d77015aba387d5ace3bd162 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_switch_stream_handle_t {
   protected static long getCPtr(SWIGTYPE_p_switch_stream_handle_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_switch_stream_handle_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 91282b05fc8ca61b1f410cc5b1b7a1bfca12acbd..960e8dec62705bab67e2637a231b3d283e5674c9 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_uint32_t {
   protected static long getCPtr(SWIGTYPE_p_uint32_t obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_uint32_t obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index f6fce4f50dd8ea5b3b300bb8add6a1e4e049da06..9b7d4d5c88f1225c02612baf28e4c52e89e5f3b4 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -22,5 +22,9 @@ public class SWIGTYPE_p_void {
   protected static long getCPtr(SWIGTYPE_p_void obj) {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
+
+  protected static long swigRelease(SWIGTYPE_p_void obj) {
+    return (obj == null) ? 0 : obj.swigCPtr;
+  }
 }
 
index 0fc677caa465493f9573674a18ab90328bcecdfc..92241e24a24d55972c69f4ba8253f60ab911cccb 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class Stream {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(Stream obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index 69ef167199ecb68903e9f057ee659e3c5acf4465..d4482ac3c59f5e465c8c4c5cde176099c69f8727 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
index 37786aff1afad715bf009577bb65fbabef0baab0..301d9498453b9c59118981b4052dcec0f7a33b29 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
index 0ceaddd0254ffa87ae531910a3de1897827cb8e2..34a526dcfc709c44fe9e29969675c221ad649f4f 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
@@ -21,6 +21,19 @@ public class input_callback_state_t {
     return (obj == null) ? 0 : obj.swigCPtr;
   }
 
+  protected static long swigRelease(input_callback_state_t obj) {
+    long ptr = 0;
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new RuntimeException("Cannot release ownership as memory is not owned");
+      ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.delete();
+    }
+    return ptr;
+  }
+
+  @SuppressWarnings("deprecation")
   protected void finalize() {
     delete();
   }
index eb4fe761c24303dbd01bef34d153a3f79121cc7c..b3b3b0e4f36a76005415df66f7fee5968a3afc3a 100644 (file)
@@ -1,8 +1,8 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * Do not make changes to this file unless you know what you are doing--modify
+ * Do not make changes to this file unless you know what you are doing - modify
  * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
index efd021194068144b7cd0d957e1f078a9d9f811b2..8a4bc664bd6381e89cf2f0865faf3f8e5afbcc62 100644 (file)
@@ -1,42 +1,14 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * This file is not intended to be easily readable and contains a number of
- * coding conventions designed to improve portability and efficiency. Do not make
- * changes to this file unless you know what you are doing--modify the SWIG
- * interface file instead.
+ * Do not make changes to this file unless you know what you are doing - modify
+ * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
 
-#ifndef SWIGJAVA
+#define SWIG_VERSION 0x040100
 #define SWIGJAVA
-#endif
-
-
-
-#ifdef __cplusplus
-/* SwigValueWrapper is described in swig.swg */
-template<typename T> class SwigValueWrapper {
-  struct SwigMovePointer {
-    T *ptr;
-    SwigMovePointer(T *p) : ptr(p) { }
-    ~SwigMovePointer() { delete ptr; }
-    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
-  } pointer;
-  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
-public:
-  SwigValueWrapper() : pointer(0) { }
-  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
-  operator T&() const { return *pointer.ptr; }
-  T *operator&() { return pointer.ptr; }
-};
-
-template <typename T> T SwigValueInit() {
-  return T();
-}
-#endif
 
 /* -----------------------------------------------------------------------------
  *  This section contains generic SWIG labels for method/variable
@@ -163,18 +135,6 @@ template <typename T> T SwigValueInit() {
 #endif
 
 
-/* Fix for jlong on some versions of gcc on Windows */
-#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
-  typedef long long __int64;
-#endif
-
-/* Fix for jlong on 64-bit x86 Solaris */
-#if defined(__x86_64)
-# ifdef _LP64
-#   undef _LP64
-# endif
-#endif
-
 #include <jni.h>
 #include <stdlib.h>
 #include <string.h>
@@ -182,15 +142,16 @@ template <typename T> T SwigValueInit() {
 
 /* Support for throwing Java exceptions */
 typedef enum {
-  SWIG_JavaOutOfMemoryError = 1, 
-  SWIG_JavaIOException, 
-  SWIG_JavaRuntimeException, 
+  SWIG_JavaOutOfMemoryError = 1,
+  SWIG_JavaIOException,
+  SWIG_JavaRuntimeException,
   SWIG_JavaIndexOutOfBoundsException,
   SWIG_JavaArithmeticException,
   SWIG_JavaIllegalArgumentException,
   SWIG_JavaNullPointerException,
   SWIG_JavaDirectorPureVirtual,
-  SWIG_JavaUnknownError
+  SWIG_JavaUnknownError,
+  SWIG_JavaIllegalStateException,
 } SWIG_JavaExceptionCodes;
 
 typedef struct {
@@ -211,6 +172,7 @@ static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionC
     { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
     { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
     { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
+    { SWIG_JavaIllegalStateException, "java/lang/IllegalStateException" },
     { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" }
   };
   const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
@@ -227,7 +189,55 @@ static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionC
 
 /* Contract support */
 
-#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else
+#define SWIG_contract_assert(nullreturn, expr, msg) do { if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } } while (0)
+
+
+#ifdef __cplusplus
+#include <utility>
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper {
+  struct SwigSmartPointer {
+    T *ptr;
+    SwigSmartPointer(T *p) : ptr(p) { }
+    ~SwigSmartPointer() { delete ptr; }
+    SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+    void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
+#if __cplusplus >=201103L
+  SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
+  operator T&&() const { return std::move(*pointer.ptr); }
+#else
+  operator T&() const { return *pointer.ptr; }
+#endif
+  T *operator&() const { return pointer.ptr; }
+  static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
+};
+
+/*
+ * SwigValueInit() is a generic initialisation solution as the following approach:
+ * 
+ *       T c_result = T();
+ * 
+ * doesn't compile for all types for example:
+ * 
+ *       unsigned int c_result = unsigned int();
+ */
+template <typename T> T SwigValueInit() {
+  return T();
+}
+
+#if __cplusplus >=201103L
+# define SWIG_STD_MOVE(OBJ) std::move(OBJ)
+#else
+# define SWIG_STD_MOVE(OBJ) OBJ
+#endif
+
+#endif
 
 
 #include "switch.h"
@@ -235,6 +245,9 @@ static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionC
 #include "freeswitch_java.h"
 
 
+#include <string.h>
+
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -922,7 +935,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_DTMF_1duration_1
   (void)jarg1_;
   arg1 = *(DTMF **)&jarg1; 
   result =  ((arg1)->duration);
-  *(uint32_t **)&jresult = new uint32_t((const uint32_t &)result); 
+  *(uint32_t **)&jresult = new uint32_t(result); 
   return jresult;
 }
 
@@ -1525,7 +1538,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_EventConsumer_1e
   (void)jarg1_;
   arg1 = *(EventConsumer **)&jarg1; 
   result =  ((arg1)->e_event_id);
-  *(switch_event_types_t **)&jresult = new switch_event_types_t((const switch_event_types_t &)result); 
+  *(switch_event_types_t **)&jresult = new switch_event_types_t(result); 
   return jresult;
 }
 
@@ -1715,7 +1728,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_EventConsumer_1n
   (void)jarg1_;
   arg1 = *(EventConsumer **)&jarg1; 
   result =  ((arg1)->node_index);
-  *(uint32_t **)&jresult = new uint32_t((const uint32_t &)result); 
+  *(uint32_t **)&jresult = new uint32_t(result); 
   return jresult;
 }
 
@@ -1997,7 +2010,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1hoo
   (void)jarg1_;
   arg1 = *(CoreSession **)&jarg1; 
   result =  ((arg1)->hook_state);
-  *(switch_channel_state_t **)&jresult = new switch_channel_state_t((const switch_channel_state_t &)result); 
+  *(switch_channel_state_t **)&jresult = new switch_channel_state_t(result); 
   return jresult;
 }
 
@@ -2031,7 +2044,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1cau
   (void)jarg1_;
   arg1 = *(CoreSession **)&jarg1; 
   result =  ((arg1)->cause);
-  *(switch_call_cause_t **)&jresult = new switch_call_cause_t((const switch_call_cause_t &)result); 
+  *(switch_call_cause_t **)&jresult = new switch_call_cause_t(result); 
   return jresult;
 }
 
@@ -2376,7 +2389,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1pro
     if (!arg2) return 0;
   }
   result = (arg1)->process_callback_result(arg2);
-  *(switch_status_t **)&jresult = new switch_status_t((const switch_status_t &)result); 
+  *(switch_status_t **)&jresult = new switch_status_t(result); 
   if (arg2) jenv->ReleaseStringUTFChars(jarg2, (const char *)arg2);
   return jresult;
 }
@@ -3322,7 +3335,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_CoreSession_1run
   }
   arg3 = *argp3; 
   result = (arg1)->run_dtmf_callback(arg2,arg3);
-  *(switch_status_t **)&jresult = new switch_status_t((const switch_status_t &)result); 
+  *(switch_status_t **)&jresult = new switch_status_t(result); 
   return jresult;
 }
 
@@ -3488,12 +3501,12 @@ SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_bridge(JNIEnv *je
   (void)jarg2_;
   arg1 = *(CoreSession **)&jarg1;
   if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "CoreSession & reference is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "CoreSession & is null");
     return ;
   } 
   arg2 = *(CoreSession **)&jarg2;
   if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "CoreSession & reference is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "CoreSession & is null");
     return ;
   } 
   bridge(*arg1,*arg2);
@@ -3509,7 +3522,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_hanguphook(JNIEn
   (void)jcls;
   arg1 = *(switch_core_session_t **)&jarg1; 
   result = hanguphook(arg1);
-  *(switch_status_t **)&jresult = new switch_status_t((const switch_status_t &)result); 
+  *(switch_status_t **)&jresult = new switch_status_t(result); 
   return jresult;
 }
 
@@ -3536,8 +3549,8 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_dtmf_1callback(J
   arg3 = *argp3; 
   arg4 = *(void **)&jarg4; 
   arg5 = (unsigned int)jarg5; 
-  result = dtmf_callback(arg1,arg2,arg3,arg4,arg5);
-  *(switch_status_t **)&jresult = new switch_status_t((const switch_status_t &)result); 
+  result = dtmf_callback(arg1,arg2,SWIG_STD_MOVE(arg3),arg4,arg5);
+  *(switch_status_t **)&jresult = new switch_status_t(result); 
   return jresult;
 }
 
@@ -3570,7 +3583,7 @@ SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_setOriginateState
   (void)jenv;
   (void)jcls;
   arg1 = jarg1; 
-  setOriginateStateHandler(arg1);
+  setOriginateStateHandler(SWIG_STD_MOVE(arg1));
 }
 
 
@@ -3723,7 +3736,7 @@ SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_JavaSession_1run
   }
   arg3 = *argp3; 
   result = (arg1)->run_dtmf_callback(arg2,arg3);
-  *(switch_status_t **)&jresult = new switch_status_t((const switch_status_t &)result); 
+  *(switch_status_t **)&jresult = new switch_status_t(result); 
   return jresult;
 }
 
index e40b50a348065362f0eece253d66d25bace0899e..afe5d975cd69055052c1be99f26e0d41812b7100 100644 (file)
@@ -1,45 +1,17 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * This file is not intended to be easily readable and contains a number of
- * coding conventions designed to improve portability and efficiency. Do not make
- * changes to this file unless you know what you are doing--modify the SWIG
- * interface file instead.
+ * Do not make changes to this file unless you know what you are doing - modify
+ * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
 
-#ifndef SWIGLUA
+#define SWIG_VERSION 0x040100
 #define SWIGLUA
-#endif
-
 #define SWIG_LUA_TARGET SWIG_LUA_FLAVOR_LUA
 #define SWIG_LUA_MODULE_GLOBAL
 
-
-#ifdef __cplusplus
-/* SwigValueWrapper is described in swig.swg */
-template<typename T> class SwigValueWrapper {
-  struct SwigMovePointer {
-    T *ptr;
-    SwigMovePointer(T *p) : ptr(p) { }
-    ~SwigMovePointer() { delete ptr; }
-    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
-  } pointer;
-  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
-public:
-  SwigValueWrapper() : pointer(0) { }
-  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
-  operator T&() const { return *pointer.ptr; }
-  T *operator&() { return pointer.ptr; }
-};
-
-template <typename T> T SwigValueInit() {
-  return T();
-}
-#endif
-
 /* -----------------------------------------------------------------------------
  *  This section contains generic SWIG labels for method/variable
  *  declarations/attributes, and other compiler dependent labels.
@@ -209,6 +181,9 @@ template <typename T> T SwigValueInit() {
 /* Flags for pointer conversions */
 #define SWIG_POINTER_DISOWN        0x1
 #define SWIG_CAST_NEW_MEMORY       0x2
+#define SWIG_POINTER_NO_NULL       0x4
+#define SWIG_POINTER_CLEAR         0x8
+#define SWIG_POINTER_RELEASE       (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
 
 /* Flags for new pointer objects */
 #define SWIG_POINTER_OWN           0x1
@@ -280,7 +255,7 @@ template <typename T> T SwigValueInit() {
    SWIG errors code.
 
    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
-   allows to return the 'cast rank', for example, if you have this
+   allows returning the 'cast rank', for example, if you have this
 
        int food(double)
        int fooi(int);
@@ -294,7 +269,13 @@ template <typename T> T SwigValueInit() {
 */
 
 #define SWIG_OK                    (0)
+/* Runtime errors are < 0 */
 #define SWIG_ERROR                 (-1)
+/* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
+/* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
+/* Errors < -200 are generic runtime specific errors */
+#define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
+
 #define SWIG_IsOK(r)               (r >= 0)
 #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
 
@@ -309,7 +290,7 @@ template <typename T> T SwigValueInit() {
 #define SWIG_OLDOBJ                (SWIG_OK)
 #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
 #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
-/* Check, add and del mask methods */
+/* Check, add and del object mask methods */
 #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
 #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
 #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
@@ -455,7 +436,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) {
   Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
 */
 SWIGRUNTIME swig_cast_info *
-SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
+SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
   if (ty) {
     swig_cast_info *iter = ty->cast;
     while (iter) {
@@ -515,9 +496,9 @@ SWIG_TypeName(const swig_type_info *ty) {
 SWIGRUNTIME const char *
 SWIG_TypePrettyName(const swig_type_info *type) {
   /* The "str" field contains the equivalent pretty names of the
-     type, separated by vertical-bar characters.  We choose
-     to print the last name, as it is often (?) the most
-     specific. */
+     type, separated by vertical-bar characters.  Choose the last
+     name. It should be the most specific; a fully resolved name
+     but not necessarily with default template parameters expanded. */
   if (!type) return NULL;
   if (type->str != NULL) {
     const char *last_name = type->str;
@@ -737,6 +718,22 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 }
 #endif
 
+/* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
+#define  SWIG_UnknownError        -1
+#define  SWIG_IOError             -2
+#define  SWIG_RuntimeError        -3
+#define  SWIG_IndexError          -4
+#define  SWIG_TypeError           -5
+#define  SWIG_DivisionByZero      -6
+#define  SWIG_OverflowError       -7
+#define  SWIG_SyntaxError         -8
+#define  SWIG_ValueError          -9
+#define  SWIG_SystemError         -10
+#define  SWIG_AttributeError      -11
+#define  SWIG_MemoryError         -12
+#define  SWIG_NullReferenceError   -13
+
+
 /* -----------------------------------------------------------------------------
  * luarun.swg
  *
@@ -919,8 +916,8 @@ typedef struct swig_elua_entry {
  * -------------------------------------------------------------------------- */
 
 /* Push the string STR on the Lua stack, like lua_pushstring, but
-   prefixed with the the location of the innermost Lua call-point
-   (as formated by luaL_where).  */
+   prefixed with the location of the innermost Lua call-point
+   (as formatted by luaL_where).  */
 SWIGRUNTIME void
 SWIG_Lua_pusherrstring (lua_State *L, const char *str)
 {
@@ -930,8 +927,8 @@ SWIG_Lua_pusherrstring (lua_State *L, const char *str)
 }
 
 /* Push a formatted string generated from FMT and following args on
-   the Lua stack, like lua_pushfstring, but prefixed with the the
-   location of the innermost Lua call-point (as formated by luaL_where).  */
+   the Lua stack, like lua_pushfstring, but prefixed with the
+   location of the innermost Lua call-point (as formatted by luaL_where).  */
 SWIGRUNTIME void
 SWIG_Lua_pushferrstring (lua_State *L, const char *fmt, ...)
 {
@@ -1028,7 +1025,7 @@ to tell the two structures apart within SWIG, other than by looking at the type
 typedef struct {
   swig_type_info   *type;
   int     own;  /* 1 if owned & must be destroyed */
-  char data[1];       /* arbitary amount of data */    
+  char data[1];       /* arbitrary amount of data */
 } swig_lua_rawdata;
 
 /* Common SWIG API */
@@ -1046,7 +1043,7 @@ typedef struct {
 
 /* Contract support */
 #define SWIG_contract_assert(expr, msg)  \
-  if (!(expr)) { SWIG_Lua_pusherrstring(L, (char *) msg); goto fail; } else
+  do { if (!(expr)) { SWIG_Lua_pusherrstring(L, (char *) msg); goto fail; } } while (0)
 
 
 /* helper #defines */
@@ -1080,7 +1077,7 @@ typedef struct {
 #define SWIG_isptrtype(L,I) (lua_isuserdata(L,I) || lua_isnil(L,I))
 
 #ifdef __cplusplus
-/* Special helper for member function pointers 
+/* Special helper for member function pointers
 it gets the address, casts it, then dereferences it */
 /*#define SWIG_mem_fn_as_voidptr(a)  (*((char**)&(a))) */
 #endif
@@ -1183,7 +1180,7 @@ SWIGINTERN void SWIG_Lua_elua_emulate_register(lua_State *L, const swig_elua_ent
           lua_pop(L,1); /*remove nil */
           lua_newtable(L);
           SWIG_Lua_elua_emulate_register(L,entry->value.value.table);
-        } 
+        }
         if(is_metatable) {
           assert(lua_istable(L,-1));
           lua_pushvalue(L,-1);
@@ -1192,11 +1189,11 @@ SWIGINTERN void SWIG_Lua_elua_emulate_register(lua_State *L, const swig_elua_ent
 
         break;
       case LUA_TUSERDATA:
-        if(entry->value.value.userdata.member) 
+        if(entry->value.value.userdata.member)
           SWIG_NewMemberObj(L,entry->value.value.userdata.pvalue,
               entry->value.value.userdata.lvalue,
               *(entry->value.value.userdata.ptype));
-        else 
+        else
           SWIG_NewPointerObj(L,entry->value.value.userdata.pvalue,
               *(entry->value.value.userdata.ptype),0);
         break;
@@ -1241,7 +1238,7 @@ SWIGINTERN int SWIG_Lua_emulate_elua_getmetatable(lua_State *L)
   }
   assert(lua_gettop(L) == 2);
   return 1;
-  
+
 fail:
   lua_error(L);
   return 0;
@@ -1259,7 +1256,7 @@ SWIGINTERN void SWIG_Lua_emulate_elua_swap_getmetatable(lua_State *L)
   lua_pushcfunction(L, SWIG_Lua_emulate_elua_getmetatable);
   lua_rawset(L,-3);
   lua_pop(L,2);
-      
+
 }
 /* END OF REMOVE */
 
@@ -1565,7 +1562,7 @@ SWIGINTERN int  SWIG_Lua_class_do_get_item(lua_State *L, swig_type_info *type, i
   /* NEW: looks for the __getitem() fn
   this is a user provided get fn */
   SWIG_Lua_get_table(L,"__getitem"); /* find the __getitem fn */
-  if (lua_iscfunction(L,-1))  /* if its there */
+  if (lua_iscfunction(L,-1))  /* if it's there */
   {  /* found it so call the fn & return its value */
     lua_pushvalue(L,substack_start+1);  /* the userdata */
     lua_pushvalue(L,substack_start+2);  /* the parameter */
@@ -1622,7 +1619,7 @@ SWIGINTERN int  SWIG_Lua_class_do_get(lua_State *L, swig_type_info *type, int SW
   lua_pushvalue(L,substack_start+2);  /* key */
   lua_rawget(L,-2);  /* look for the fn */
   lua_remove(L,-2); /* stack tidy, remove .fn table */
-  if (lua_isfunction(L,-1)) /* note: if its a C function or lua function */
+  if (lua_isfunction(L,-1)) /* note: if it's a C function or lua function */
   {  /* found it so return the fn & let lua call it */
     lua_remove(L,-2); /* stack tidy, remove metatable */
     if(ret)
@@ -1705,7 +1702,7 @@ SWIGINTERN int  SWIG_Lua_class_do_set(lua_State *L, swig_type_info *type, int fi
   /* NEW: looks for the __setitem() fn
   this is a user provided set fn */
   SWIG_Lua_get_table(L,"__setitem"); /* find the fn */
-  if (lua_iscfunction(L,-1))  /* if its there */
+  if (lua_iscfunction(L,-1))  /* if it's there */
   {  /* found it so call the fn & return its value */
     lua_pushvalue(L,substack_start+1);  /* the userdata */
     lua_pushvalue(L,substack_start+2);  /* the parameter */
@@ -1778,17 +1775,11 @@ SWIGINTERN int  SWIG_Lua_class_tostring(lua_State *L)
 {
 /*  there should be 1 param passed in
   (1) userdata (not the metatable) */
-  const char *className;
-  void* userData;
+  swig_lua_userdata* userData;
   assert(lua_isuserdata(L,1));  /* just in case */
-  userData = lua_touserdata(L,1); /* get the userdata address for later */
-  lua_getmetatable(L,1);    /* get the meta table */
-  assert(lua_istable(L,-1));  /* just in case */
-
-  lua_getfield(L, -1, ".type");
-  className = lua_tostring(L, -1);
+  userData = (swig_lua_userdata*)lua_touserdata(L,1); /* get the userdata address */
 
-  lua_pushfstring(L, "<%s userdata: %p>", className, userData);
+  lua_pushfstring(L, "<userdata of type '%s' at %p>", userData->type->str, userData->ptr);
   return 1;
 }
 
@@ -1800,7 +1791,7 @@ SWIGINTERN int  SWIG_Lua_class_disown(lua_State *L)
   swig_lua_userdata *usr;
   assert(lua_isuserdata(L,-1));  /* just in case */
   usr=(swig_lua_userdata*)lua_touserdata(L,-1);  /* get it */
-  
+
   usr->own = 0; /* clear our ownership */
   return 0;
 }
@@ -1909,7 +1900,7 @@ SWIGINTERN void  SWIG_Lua_get_class_metatable(lua_State *L,const char *cname)
 Each class structure has a list of pointers to the base class structures.
 This function fills them.
 It cannot be done at compile time, as this will not work with hireachies
-spread over more than one swig file. 
+spread over more than one swig file.
 Therefore it must be done at runtime, querying the SWIG type system.
 */
 SWIGINTERN void SWIG_Lua_init_base_class(lua_State *L,swig_lua_class *clss)
@@ -2088,15 +2079,15 @@ SWIGINTERN void  SWIG_Lua_add_class_instance_details(lua_State *L, swig_lua_clas
 SWIGRUNTIME int SWIG_Lua_resolve_metamethod(lua_State *L); /*forward declaration*/
 
 /* The real function that resolves a metamethod.
- * Function searches given class and all it's bases(recursively) for first instance of something that is
- * not equal to SWIG_Lua_resolve_metatmethod. (Almost always this 'something' is actual metamethod implementation
+ * Function searches given class and all its bases (recursively) for first instance of something that is
+ * not equal to SWIG_Lua_resolve_metamethod. (Almost always this 'something' is actual metamethod implementation
  * and it is a SWIG-generated C function.). It returns value on the top of the L and there is no garbage below the
  * answer.
  * Returns 1 if found, 0 otherwise.
  * clss is class which metatable we will search for method
  * metamethod_name_idx is index in L where metamethod name (as string) lies
- * skip_check allows to skip searching metamethod in givel clss and immideatelly go to searching in bases. skip_check
- * is not caried to subsequent recursive calls - false is always passed. It is set to true only at first call from
+ * skip_check allows skipping searching metamethod in the given class and immediately going to searching in bases. skip_check
+ * is not carried to subsequent recursive calls - false is always passed. It is set to true only at first call from
  * SWIG_Lua_resolve_metamethod
  * */
 SWIGINTERN int SWIG_Lua_do_resolve_metamethod(lua_State *L, const swig_lua_class *clss, int metamethod_name_idx,
@@ -2143,11 +2134,11 @@ SWIGRUNTIME int SWIG_Lua_resolve_metamethod(lua_State *L)
 
   lua_checkstack(L,5);
   numargs = lua_gettop(L); /* number of arguments to pass to actual metamethod */
-  
+
   /* Get upvalues from closure */
   lua_pushvalue(L, lua_upvalueindex(1)); /*Get function name*/
   metamethod_name_idx = lua_gettop(L);
-  
+
   lua_pushvalue(L, lua_upvalueindex(2));
   clss = (const swig_lua_class*)(lua_touserdata(L,-1));
   lua_pop(L,1); /* remove lightuserdata with clss from stack */
@@ -2179,7 +2170,7 @@ SWIGINTERN int SWIG_Lua_add_class_user_metamethod(lua_State *L, swig_lua_class *
 
   /* metamethod name - on the top of the stack */
   assert(lua_isstring(L,-1));
-  
+
   key_index = lua_gettop(L);
 
   /* Check whether method is already defined in metatable */
@@ -2189,7 +2180,7 @@ SWIGINTERN int SWIG_Lua_add_class_user_metamethod(lua_State *L, swig_lua_class *
     lua_pop(L,1);
     return -1;
   }
-  lua_pop(L,1); 
+  lua_pop(L,1);
 
   /* Iterating over immediate bases */
   for(i=0;clss->bases[i];i++)
@@ -2199,13 +2190,13 @@ SWIGINTERN int SWIG_Lua_add_class_user_metamethod(lua_State *L, swig_lua_class *
     lua_pushvalue(L, key_index);
     lua_rawget(L, -2);
     if( !lua_isnil(L,-1) ) {
-      lua_pushvalue(L, key_index); 
+      lua_pushvalue(L, key_index);
 
       /* Add proxy function */
       lua_pushvalue(L, key_index); /* first closure value is function name */
       lua_pushlightuserdata(L, clss); /* second closure value is swig_lua_class structure */
       lua_pushcclosure(L, SWIG_Lua_resolve_metamethod, 2);
-      
+
       lua_rawset(L, metatable_index);
       success = 1;
     }
@@ -2216,7 +2207,7 @@ SWIGINTERN int SWIG_Lua_add_class_user_metamethod(lua_State *L, swig_lua_class *
       break;
   }
 
-  return success; 
+  return success;
 }
 
 SWIGINTERN void SWIG_Lua_add_class_user_metamethods(lua_State *L, swig_lua_class *clss)
@@ -2242,7 +2233,7 @@ SWIGINTERN void SWIG_Lua_add_class_user_metamethods(lua_State *L, swig_lua_class
     }
   }
 
-  lua_pop(L,1); /* remove inheritable metatmethods table */
+  lua_pop(L,1); /* remove inheritable metamethods table */
 
   /* Special handling for __tostring method */
   lua_pushstring(L, "__tostring");
@@ -2502,36 +2493,58 @@ SWIGRUNTIME void SWIG_Lua_NewPointerObj(lua_State *L,void *ptr,swig_type_info *t
  (if possible) */
 SWIGRUNTIME int  SWIG_Lua_ConvertPtr(lua_State *L,int index,void **ptr,swig_type_info *type,int flags)
 {
+  int ret = SWIG_ERROR;
   swig_lua_userdata *usr;
   swig_cast_info *cast;
-  if (lua_isnil(L,index)){*ptr=0; return SWIG_OK;}    /* special case: lua nil => NULL pointer */
+  /* special case: lua nil => NULL pointer */
+  if (lua_isnil(L,index))
+  {
+    *ptr=0;
+    return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
+  }
+  if (lua_islightuserdata(L,index))
+  {
+    *ptr=lua_touserdata(L,index);
+    return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
+  }
   usr=(swig_lua_userdata*)lua_touserdata(L,index);  /* get data */
   if (usr)
   {
+    if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE) && !usr->own)
+    {
+      return SWIG_ERROR_RELEASE_NOT_OWNED;
+    }
     if (flags & SWIG_POINTER_DISOWN) /* must disown the object */
     {
-        usr->own=0;
+      usr->own = 0;
     }
     if (!type)            /* special cast void*, no casting fn */
     {
       *ptr=usr->ptr;
-      return SWIG_OK; /* ok */
+      ret = SWIG_OK;
+    }
+    else
+    {
+      cast=SWIG_TypeCheck(usr->type->name,type); /* performs normal type checking */
+      if (cast)
+      {
+        int newmemory = 0;
+        *ptr=SWIG_TypeCast(cast,usr->ptr,&newmemory);
+        assert(!newmemory); /* newmemory handling not yet implemented */
+        ret = SWIG_OK;
+      }
     }
-    cast=SWIG_TypeCheckStruct(usr->type,type); /* performs normal type checking */
-    if (cast)
+    if ((ret == SWIG_OK) && (flags & SWIG_POINTER_CLEAR))
     {
-      int newmemory = 0;
-      *ptr=SWIG_TypeCast(cast,usr->ptr,&newmemory);
-      assert(!newmemory); /* newmemory handling not yet implemented */
-      return SWIG_OK;  /* ok */
+      usr->ptr = 0;
     }
   }
-  return SWIG_ERROR;  /* error */
+  return ret;
 }
 
 SWIGRUNTIME void* SWIG_Lua_MustGetPtr(lua_State *L,int index,swig_type_info *type,int flags,
        int argnum,const char *func_name){
-  void *result;
+  void *result = 0;
   if (!SWIG_IsOK(SWIG_ConvertPtr(L,index,&result,type,flags))){
     luaL_error (L,"Error in %s, expected a %s at argument number %d\n",
                func_name,(type && type->str)?type->str:"void*",argnum);
@@ -2550,7 +2563,7 @@ SWIGRUNTIME void SWIG_Lua_NewPackedObj(lua_State *L,void *ptr,size_t size,swig_t
   memcpy(raw->data,ptr,size); /* copy the data */
   SWIG_Lua_AddMetatable(L,type); /* add metatable */
 }
-    
+
 /* converts a packed userdata. user for member fn pointers only */
 SWIGRUNTIME int  SWIG_Lua_ConvertPacked(lua_State *L,int index,void *ptr,size_t size,swig_type_info *type)
 {
@@ -2599,7 +2612,7 @@ SWIG_Lua_InstallConstants(lua_State *L, swig_lua_const_info constants[]) {
     switch(constants[i].type) {
     case SWIG_LUA_INT:
       lua_pushstring(L,constants[i].name);
-      lua_pushinteger(L,(lua_Number)constants[i].lvalue);
+      lua_pushinteger(L,(lua_Integer)constants[i].lvalue);
       lua_rawset(L,-3);
       break;
     case SWIG_LUA_FLOAT:
@@ -2610,7 +2623,7 @@ SWIG_Lua_InstallConstants(lua_State *L, swig_lua_const_info constants[]) {
     case SWIG_LUA_CHAR:
       lua_pushstring(L,constants[i].name);
       {
-        char c = constants[i].lvalue;
+        char c = (char)constants[i].lvalue;
         lua_pushlstring(L,&c,1);
       }
       lua_rawset(L,-3);
@@ -2649,7 +2662,7 @@ Unfortunately lua keeps changing its APIs, so we need a conditional compile
 In lua 5.0.X it's lua_dostring()
 In lua 5.1.X it's luaL_dostring()
 */
-SWIGINTERN int 
+SWIGINTERN int
 SWIG_Lua_dostring(lua_State *L, const char *str) {
   int ok,top;
   if (str==0 || str[0]==0) return 0; /* nothing to do */
@@ -2664,7 +2677,7 @@ SWIG_Lua_dostring(lua_State *L, const char *str) {
   }
   lua_settop(L,top); /* restore the stack */
   return ok;
-}    
+}
 
 #ifdef __cplusplus
 }
@@ -2720,6 +2733,54 @@ static swig_module_info swig_module = {swig_types, 32, 0, 0, 0, 0};
 
 #define SWIG_LUACODE   luaopen_freeswitch_luacode
 
+#ifdef __cplusplus
+#include <utility>
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper {
+  struct SwigSmartPointer {
+    T *ptr;
+    SwigSmartPointer(T *p) : ptr(p) { }
+    ~SwigSmartPointer() { delete ptr; }
+    SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+    void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
+#if __cplusplus >=201103L
+  SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
+  operator T&&() const { return std::move(*pointer.ptr); }
+#else
+  operator T&() const { return *pointer.ptr; }
+#endif
+  T *operator&() const { return pointer.ptr; }
+  static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
+};
+
+/*
+ * SwigValueInit() is a generic initialisation solution as the following approach:
+ * 
+ *       T c_result = T();
+ * 
+ * doesn't compile for all types for example:
+ * 
+ *       unsigned int c_result = unsigned int();
+ */
+template <typename T> T SwigValueInit() {
+  return T();
+}
+
+#if __cplusplus >=201103L
+# define SWIG_STD_MOVE(OBJ) std::move(OBJ)
+#else
+# define SWIG_STD_MOVE(OBJ) OBJ
+#endif
+
+#endif
+
+
 namespace swig {
 typedef struct{} LANGUAGE_OBJ;
 }
@@ -2897,43 +2958,46 @@ SWIGINTERN void SWIG_write_ptr_array(lua_State* L,void **array,int size,swig_typ
        }
 }
 
+
+#include <string.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 static int _wrap_new_string__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  std::string *result = 0 ;
-  
-  SWIG_check_num_args("std::string::string",0,0)
-  result = (std::string *)new std::string();
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    std::string *result = 0 ;
+    
+    SWIG_check_num_args("std::string::string",0,0)
+    result = (std::string *)new std::string();
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_string__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  std::string *result = 0 ;
-  
-  SWIG_check_num_args("std::string::string",1,1)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("std::string::string",1,"char const *");
-  arg1 = (char *)lua_tostring(L, 1);
-  result = (std::string *)new std::string((char const *)arg1);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    std::string *result = 0 ;
+    
+    SWIG_check_num_args("std::string::string",1,1)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("std::string::string",1,"char const *");
+    arg1 = (char *)lua_tostring(L, 1);
+    result = (std::string *)new std::string((char const *)arg1);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_std__string,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -2948,7 +3012,7 @@ static int _wrap_new_string(lua_State* L) {
     return _wrap_new_string__SWIG_0(L);
   }
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     {
       _v = SWIG_lua_isnilstring(L,argv[0]);
     }
@@ -2966,148 +3030,148 @@ static int _wrap_new_string(lua_State* L) {
 
 
 static int _wrap_string_size(lua_State* L) {
-  int SWIG_arg = 0;
-  std::string *arg1 = (std::string *) 0 ;
-  unsigned int result;
-  
-  SWIG_check_num_args("std::string::size",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::size",1,"std::string const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
-    SWIG_fail_ptr("string_size",1,SWIGTYPE_p_std__string);
+  {
+    int SWIG_arg = 0;
+    std::string *arg1 = (std::string *) 0 ;
+    unsigned int result;
+    
+    SWIG_check_num_args("std::string::size",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::size",1,"std::string const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
+      SWIG_fail_ptr("string_size",1,SWIGTYPE_p_std__string);
+    }
+    
+    result = (unsigned int)((std::string const *)arg1)->size();
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (unsigned int)((std::string const *)arg1)->size();
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_string_length(lua_State* L) {
-  int SWIG_arg = 0;
-  std::string *arg1 = (std::string *) 0 ;
-  unsigned int result;
-  
-  SWIG_check_num_args("std::string::length",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::length",1,"std::string const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
-    SWIG_fail_ptr("string_length",1,SWIGTYPE_p_std__string);
+  {
+    int SWIG_arg = 0;
+    std::string *arg1 = (std::string *) 0 ;
+    unsigned int result;
+    
+    SWIG_check_num_args("std::string::length",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::length",1,"std::string const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
+      SWIG_fail_ptr("string_length",1,SWIGTYPE_p_std__string);
+    }
+    
+    result = (unsigned int)((std::string const *)arg1)->length();
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (unsigned int)((std::string const *)arg1)->length();
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_string_empty(lua_State* L) {
-  int SWIG_arg = 0;
-  std::string *arg1 = (std::string *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("std::string::empty",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::empty",1,"std::string const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
-    SWIG_fail_ptr("string_empty",1,SWIGTYPE_p_std__string);
+  {
+    int SWIG_arg = 0;
+    std::string *arg1 = (std::string *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("std::string::empty",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::empty",1,"std::string const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
+      SWIG_fail_ptr("string_empty",1,SWIGTYPE_p_std__string);
+    }
+    
+    result = (bool)((std::string const *)arg1)->empty();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)((std::string const *)arg1)->empty();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_string_c_str(lua_State* L) {
-  int SWIG_arg = 0;
-  std::string *arg1 = (std::string *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("std::string::c_str",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::c_str",1,"std::string const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
-    SWIG_fail_ptr("string_c_str",1,SWIGTYPE_p_std__string);
+  {
+    int SWIG_arg = 0;
+    std::string *arg1 = (std::string *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("std::string::c_str",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::c_str",1,"std::string const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
+      SWIG_fail_ptr("string_c_str",1,SWIGTYPE_p_std__string);
+    }
+    
+    result = (char *)((std::string const *)arg1)->c_str();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)((std::string const *)arg1)->c_str();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_string_data(lua_State* L) {
-  int SWIG_arg = 0;
-  std::string *arg1 = (std::string *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("std::string::data",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::data",1,"std::string const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
-    SWIG_fail_ptr("string_data",1,SWIGTYPE_p_std__string);
+  {
+    int SWIG_arg = 0;
+    std::string *arg1 = (std::string *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("std::string::data",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::data",1,"std::string const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
+      SWIG_fail_ptr("string_data",1,SWIGTYPE_p_std__string);
+    }
+    
+    result = (char *)((std::string const *)arg1)->data();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)((std::string const *)arg1)->data();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_string_assign(lua_State* L) {
-  int SWIG_arg = 0;
-  std::string *arg1 = (std::string *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("std::string::assign",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::assign",1,"std::string *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("std::string::assign",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
-    SWIG_fail_ptr("string_assign",1,SWIGTYPE_p_std__string);
+  {
+    int SWIG_arg = 0;
+    std::string *arg1 = (std::string *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("std::string::assign",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("std::string::assign",1,"std::string *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("std::string::assign",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_std__string,0))){
+      SWIG_fail_ptr("string_assign",1,SWIGTYPE_p_std__string);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    (arg1)->assign((char const *)arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  (arg1)->assign((char const *)arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -3165,319 +3229,319 @@ static const char *swig_string_base_names[] = {0};
 static swig_lua_class _wrap_class_string = { "string", "string", &SWIGTYPE_p_std__string,_proxy__wrap_new_string, swig_delete_string, swig_string_methods, swig_string_attributes, &swig_string_Sf_SwigStatic, swig_string_meta, swig_string_bases, swig_string_base_names };
 
 static int _wrap_setGlobalVariable(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("setGlobalVariable",2,2)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("setGlobalVariable",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("setGlobalVariable",2,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  setGlobalVariable(arg1,arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("setGlobalVariable",2,2)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("setGlobalVariable",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("setGlobalVariable",2,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    setGlobalVariable(arg1,arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_getGlobalVariable(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("getGlobalVariable",1,1)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("getGlobalVariable",1,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  result = (char *)getGlobalVariable(arg1);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  free(result);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("getGlobalVariable",1,1)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("getGlobalVariable",1,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    result = (char *)getGlobalVariable(arg1);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    free(result);
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_consoleLog(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("consoleLog",2,2)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("consoleLog",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("consoleLog",2,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  consoleLog(arg1,arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("consoleLog",2,2)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("consoleLog",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("consoleLog",2,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    consoleLog(arg1,arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_consoleLog2(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  char *arg5 = (char *) 0 ;
-  
-  SWIG_check_num_args("consoleLog2",5,5)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("consoleLog2",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("consoleLog2",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("consoleLog2",3,"char *");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("consoleLog2",4,"int");
-  if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("consoleLog2",5,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  arg5 = (char *)lua_tostring(L, 5);
-  consoleLog2(arg1,arg2,arg3,arg4,arg5);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 ;
+    char *arg5 = (char *) 0 ;
+    
+    SWIG_check_num_args("consoleLog2",5,5)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("consoleLog2",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("consoleLog2",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("consoleLog2",3,"char *");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("consoleLog2",4,"int");
+    if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("consoleLog2",5,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    arg5 = (char *)lua_tostring(L, 5);
+    consoleLog2(arg1,arg2,arg3,arg4,arg5);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_consoleCleanLog(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  
-  SWIG_check_num_args("consoleCleanLog",1,1)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("consoleCleanLog",1,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  consoleCleanLog(arg1);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    
+    SWIG_check_num_args("consoleCleanLog",1,1)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("consoleCleanLog",1,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    consoleCleanLog(arg1);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_running(lua_State* L) {
-  int SWIG_arg = 0;
-  bool result;
-  
-  SWIG_check_num_args("running",0,0)
-  result = (bool)running();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
-  lua_error(L);
-  return SWIG_arg;
-}
-
+  {
+    int SWIG_arg = 0;
+    bool result;
+    
+    SWIG_check_num_args("running",0,0)
+    result = (bool)running();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
+  lua_error(L);
+  return 0;
+}
+
 
 static int _wrap_email(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  char *arg4 = (char *) NULL ;
-  char *arg5 = (char *) NULL ;
-  char *arg6 = (char *) NULL ;
-  char *arg7 = (char *) NULL ;
-  bool result;
-  
-  SWIG_check_num_args("email",2,7)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("email",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("email",2,"char *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("email",3,"char *");
-  if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("email",4,"char *");
-  if(lua_gettop(L)>=5 && !SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("email",5,"char *");
-  if(lua_gettop(L)>=6 && !SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("email",6,"char *");
-  if(lua_gettop(L)>=7 && !SWIG_lua_isnilstring(L,7)) SWIG_fail_arg("email",7,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
-  }
-  if(lua_gettop(L)>=4){
-    arg4 = (char *)lua_tostring(L, 4);
-  }
-  if(lua_gettop(L)>=5){
-    arg5 = (char *)lua_tostring(L, 5);
-  }
-  if(lua_gettop(L)>=6){
-    arg6 = (char *)lua_tostring(L, 6);
-  }
-  if(lua_gettop(L)>=7){
-    arg7 = (char *)lua_tostring(L, 7);
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) NULL ;
+    char *arg4 = (char *) NULL ;
+    char *arg5 = (char *) NULL ;
+    char *arg6 = (char *) NULL ;
+    char *arg7 = (char *) NULL ;
+    bool result;
+    
+    SWIG_check_num_args("email",2,7)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("email",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("email",2,"char *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("email",3,"char *");
+    if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("email",4,"char *");
+    if(lua_gettop(L)>=5 && !SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("email",5,"char *");
+    if(lua_gettop(L)>=6 && !SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("email",6,"char *");
+    if(lua_gettop(L)>=7 && !SWIG_lua_isnilstring(L,7)) SWIG_fail_arg("email",7,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    if(lua_gettop(L)>=4){
+      arg4 = (char *)lua_tostring(L, 4);
+    }
+    if(lua_gettop(L)>=5){
+      arg5 = (char *)lua_tostring(L, 5);
+    }
+    if(lua_gettop(L)>=6){
+      arg6 = (char *)lua_tostring(L, 6);
+    }
+    if(lua_gettop(L)>=7){
+      arg7 = (char *)lua_tostring(L, 7);
+    }
+    result = (bool)email(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (bool)email(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_IVRMenu(lua_State* L) {
-  int SWIG_arg = 0;
-  IVRMenu *arg1 = (IVRMenu *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  char *arg9 = (char *) 0 ;
-  char *arg10 = (char *) 0 ;
-  char *arg11 = (char *) 0 ;
-  int arg12 ;
-  int arg13 ;
-  int arg14 ;
-  int arg15 ;
-  int arg16 ;
-  int arg17 ;
-  IVRMenu *result = 0 ;
-  
-  SWIG_check_num_args("IVRMenu::IVRMenu",17,17)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("IVRMenu::IVRMenu",1,"IVRMenu *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("IVRMenu::IVRMenu",2,"char const *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("IVRMenu::IVRMenu",3,"char const *");
-  if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("IVRMenu::IVRMenu",4,"char const *");
-  if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("IVRMenu::IVRMenu",5,"char const *");
-  if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("IVRMenu::IVRMenu",6,"char const *");
-  if(!SWIG_lua_isnilstring(L,7)) SWIG_fail_arg("IVRMenu::IVRMenu",7,"char const *");
-  if(!SWIG_lua_isnilstring(L,8)) SWIG_fail_arg("IVRMenu::IVRMenu",8,"char const *");
-  if(!SWIG_lua_isnilstring(L,9)) SWIG_fail_arg("IVRMenu::IVRMenu",9,"char const *");
-  if(!SWIG_lua_isnilstring(L,10)) SWIG_fail_arg("IVRMenu::IVRMenu",10,"char const *");
-  if(!SWIG_lua_isnilstring(L,11)) SWIG_fail_arg("IVRMenu::IVRMenu",11,"char const *");
-  if(!lua_isnumber(L,12)) SWIG_fail_arg("IVRMenu::IVRMenu",12,"int");
-  if(!lua_isnumber(L,13)) SWIG_fail_arg("IVRMenu::IVRMenu",13,"int");
-  if(!lua_isnumber(L,14)) SWIG_fail_arg("IVRMenu::IVRMenu",14,"int");
-  if(!lua_isnumber(L,15)) SWIG_fail_arg("IVRMenu::IVRMenu",15,"int");
-  if(!lua_isnumber(L,16)) SWIG_fail_arg("IVRMenu::IVRMenu",16,"int");
-  if(!lua_isnumber(L,17)) SWIG_fail_arg("IVRMenu::IVRMenu",17,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_IVRMenu,0))){
-    SWIG_fail_ptr("new_IVRMenu",1,SWIGTYPE_p_IVRMenu);
+  {
+    int SWIG_arg = 0;
+    IVRMenu *arg1 = (IVRMenu *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    char *arg4 = (char *) 0 ;
+    char *arg5 = (char *) 0 ;
+    char *arg6 = (char *) 0 ;
+    char *arg7 = (char *) 0 ;
+    char *arg8 = (char *) 0 ;
+    char *arg9 = (char *) 0 ;
+    char *arg10 = (char *) 0 ;
+    char *arg11 = (char *) 0 ;
+    int arg12 ;
+    int arg13 ;
+    int arg14 ;
+    int arg15 ;
+    int arg16 ;
+    int arg17 ;
+    IVRMenu *result = 0 ;
+    
+    SWIG_check_num_args("IVRMenu::IVRMenu",17,17)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("IVRMenu::IVRMenu",1,"IVRMenu *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("IVRMenu::IVRMenu",2,"char const *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("IVRMenu::IVRMenu",3,"char const *");
+    if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("IVRMenu::IVRMenu",4,"char const *");
+    if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("IVRMenu::IVRMenu",5,"char const *");
+    if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("IVRMenu::IVRMenu",6,"char const *");
+    if(!SWIG_lua_isnilstring(L,7)) SWIG_fail_arg("IVRMenu::IVRMenu",7,"char const *");
+    if(!SWIG_lua_isnilstring(L,8)) SWIG_fail_arg("IVRMenu::IVRMenu",8,"char const *");
+    if(!SWIG_lua_isnilstring(L,9)) SWIG_fail_arg("IVRMenu::IVRMenu",9,"char const *");
+    if(!SWIG_lua_isnilstring(L,10)) SWIG_fail_arg("IVRMenu::IVRMenu",10,"char const *");
+    if(!SWIG_lua_isnilstring(L,11)) SWIG_fail_arg("IVRMenu::IVRMenu",11,"char const *");
+    if(!lua_isnumber(L,12)) SWIG_fail_arg("IVRMenu::IVRMenu",12,"int");
+    if(!lua_isnumber(L,13)) SWIG_fail_arg("IVRMenu::IVRMenu",13,"int");
+    if(!lua_isnumber(L,14)) SWIG_fail_arg("IVRMenu::IVRMenu",14,"int");
+    if(!lua_isnumber(L,15)) SWIG_fail_arg("IVRMenu::IVRMenu",15,"int");
+    if(!lua_isnumber(L,16)) SWIG_fail_arg("IVRMenu::IVRMenu",16,"int");
+    if(!lua_isnumber(L,17)) SWIG_fail_arg("IVRMenu::IVRMenu",17,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_IVRMenu,0))){
+      SWIG_fail_ptr("new_IVRMenu",1,SWIGTYPE_p_IVRMenu);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (char *)lua_tostring(L, 4);
+    arg5 = (char *)lua_tostring(L, 5);
+    arg6 = (char *)lua_tostring(L, 6);
+    arg7 = (char *)lua_tostring(L, 7);
+    arg8 = (char *)lua_tostring(L, 8);
+    arg9 = (char *)lua_tostring(L, 9);
+    arg10 = (char *)lua_tostring(L, 10);
+    arg11 = (char *)lua_tostring(L, 11);
+    arg12 = (int)lua_tonumber(L, 12);
+    arg13 = (int)lua_tonumber(L, 13);
+    arg14 = (int)lua_tonumber(L, 14);
+    arg15 = (int)lua_tonumber(L, 15);
+    arg16 = (int)lua_tonumber(L, 16);
+    arg17 = (int)lua_tonumber(L, 17);
+    result = (IVRMenu *)new IVRMenu(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,(char const *)arg11,arg12,arg13,arg14,arg15,arg16,arg17);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_IVRMenu,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (char *)lua_tostring(L, 4);
-  arg5 = (char *)lua_tostring(L, 5);
-  arg6 = (char *)lua_tostring(L, 6);
-  arg7 = (char *)lua_tostring(L, 7);
-  arg8 = (char *)lua_tostring(L, 8);
-  arg9 = (char *)lua_tostring(L, 9);
-  arg10 = (char *)lua_tostring(L, 10);
-  arg11 = (char *)lua_tostring(L, 11);
-  arg12 = (int)lua_tonumber(L, 12);
-  arg13 = (int)lua_tonumber(L, 13);
-  arg14 = (int)lua_tonumber(L, 14);
-  arg15 = (int)lua_tonumber(L, 15);
-  arg16 = (int)lua_tonumber(L, 16);
-  arg17 = (int)lua_tonumber(L, 17);
-  result = (IVRMenu *)new IVRMenu(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,(char const *)arg11,arg12,arg13,arg14,arg15,arg16,arg17);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_IVRMenu,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_IVRMenu_bindAction(lua_State* L) {
-  int SWIG_arg = 0;
-  IVRMenu *arg1 = (IVRMenu *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  
-  SWIG_check_num_args("IVRMenu::bindAction",4,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("IVRMenu::bindAction",1,"IVRMenu *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("IVRMenu::bindAction",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("IVRMenu::bindAction",3,"char const *");
-  if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("IVRMenu::bindAction",4,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_IVRMenu,0))){
-    SWIG_fail_ptr("IVRMenu_bindAction",1,SWIGTYPE_p_IVRMenu);
+  {
+    int SWIG_arg = 0;
+    IVRMenu *arg1 = (IVRMenu *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    char *arg4 = (char *) 0 ;
+    
+    SWIG_check_num_args("IVRMenu::bindAction",4,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("IVRMenu::bindAction",1,"IVRMenu *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("IVRMenu::bindAction",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("IVRMenu::bindAction",3,"char const *");
+    if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("IVRMenu::bindAction",4,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_IVRMenu,0))){
+      SWIG_fail_ptr("IVRMenu_bindAction",1,SWIGTYPE_p_IVRMenu);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (char *)lua_tostring(L, 4);
+    (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (char *)lua_tostring(L, 4);
-  (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_IVRMenu_execute(lua_State* L) {
-  int SWIG_arg = 0;
-  IVRMenu *arg1 = (IVRMenu *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("IVRMenu::execute",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("IVRMenu::execute",1,"IVRMenu *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("IVRMenu::execute",2,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("IVRMenu::execute",3,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_IVRMenu,0))){
-    SWIG_fail_ptr("IVRMenu_execute",1,SWIGTYPE_p_IVRMenu);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("IVRMenu_execute",2,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    IVRMenu *arg1 = (IVRMenu *) 0 ;
+    CoreSession *arg2 = (CoreSession *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("IVRMenu::execute",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("IVRMenu::execute",1,"IVRMenu *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("IVRMenu::execute",2,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("IVRMenu::execute",3,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_IVRMenu,0))){
+      SWIG_fail_ptr("IVRMenu_execute",1,SWIGTYPE_p_IVRMenu);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("IVRMenu_execute",2,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->execute(arg2,(char const *)arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->execute(arg2,(char const *)arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -3531,111 +3595,111 @@ static const char *swig_IVRMenu_base_names[] = {0};
 static swig_lua_class _wrap_class_IVRMenu = { "IVRMenu", "IVRMenu", &SWIGTYPE_p_IVRMenu,_proxy__wrap_new_IVRMenu, swig_delete_IVRMenu, swig_IVRMenu_methods, swig_IVRMenu_attributes, &swig_IVRMenu_Sf_SwigStatic, swig_IVRMenu_meta, swig_IVRMenu_bases, swig_IVRMenu_base_names };
 
 static int _wrap_new_API(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) NULL ;
-  API *result = 0 ;
-  
-  SWIG_check_num_args("API::API",0,1)
-  if(lua_gettop(L)>=1 && !SWIG_isptrtype(L,1)) SWIG_fail_arg("API::API",1,"CoreSession *");
-  if(lua_gettop(L)>=1){
-    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-      SWIG_fail_ptr("new_API",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) NULL ;
+    API *result = 0 ;
+    
+    SWIG_check_num_args("API::API",0,1)
+    if(lua_gettop(L)>=1 && !SWIG_isptrtype(L,1)) SWIG_fail_arg("API::API",1,"CoreSession *");
+    if(lua_gettop(L)>=1){
+      if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+        SWIG_fail_ptr("new_API",1,SWIGTYPE_p_CoreSession);
+      }
     }
+    result = (API *)new API(arg1);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_API,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (API *)new API(arg1);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_API,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_API_execute(lua_State* L) {
-  int SWIG_arg = 0;
-  API *arg1 = (API *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("API::execute",2,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("API::execute",1,"API *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("API::execute",2,"char const *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("API::execute",3,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_API,0))){
-    SWIG_fail_ptr("API_execute",1,SWIGTYPE_p_API);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
+  {
+    int SWIG_arg = 0;
+    API *arg1 = (API *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) NULL ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("API::execute",2,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("API::execute",1,"API *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("API::execute",2,"char const *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("API::execute",3,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_API,0))){
+      SWIG_fail_ptr("API_execute",1,SWIGTYPE_p_API);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    result = (char *)(arg1)->execute((char const *)arg2,(char const *)arg3);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    free(result);
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (char *)(arg1)->execute((char const *)arg2,(char const *)arg3);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  free(result);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_API_executeString(lua_State* L) {
-  int SWIG_arg = 0;
-  API *arg1 = (API *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("API::executeString",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("API::executeString",1,"API *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("API::executeString",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_API,0))){
-    SWIG_fail_ptr("API_executeString",1,SWIGTYPE_p_API);
+  {
+    int SWIG_arg = 0;
+    API *arg1 = (API *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("API::executeString",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("API::executeString",1,"API *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("API::executeString",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_API,0))){
+      SWIG_fail_ptr("API_executeString",1,SWIGTYPE_p_API);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (char *)(arg1)->executeString((char const *)arg2);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    free(result);
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (char *)(arg1)->executeString((char const *)arg2);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  free(result);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_API_getTime(lua_State* L) {
-  int SWIG_arg = 0;
-  API *arg1 = (API *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("API::getTime",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("API::getTime",1,"API *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_API,0))){
-    SWIG_fail_ptr("API_getTime",1,SWIGTYPE_p_API);
+  {
+    int SWIG_arg = 0;
+    API *arg1 = (API *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("API::getTime",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("API::getTime",1,"API *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_API,0))){
+      SWIG_fail_ptr("API_getTime",1,SWIGTYPE_p_API);
+    }
+    
+    result = (char *)(arg1)->getTime();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->getTime();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -3690,227 +3754,227 @@ static const char *swig_API_base_names[] = {0};
 static swig_lua_class _wrap_class_API = { "API", "API", &SWIGTYPE_p_API,_proxy__wrap_new_API, swig_delete_API, swig_API_methods, swig_API_attributes, &swig_API_Sf_SwigStatic, swig_API_meta, swig_API_bases, swig_API_base_names };
 
 static int _wrap_input_callback_state_t_c_function_set(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  SWIG_check_num_args("input_callback_state::function",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::function",1,"input_callback_state *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("input_callback_state::function",2,"void *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_c_function_set",1,SWIGTYPE_p_input_callback_state);
+  {
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    void *arg2 = (void *) 0 ;
+    
+    SWIG_check_num_args("input_callback_state::function",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::function",1,"input_callback_state *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("input_callback_state::function",2,"void *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_c_function_set",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"input_callback_state_t_c_function_set");
+    if (arg1) (arg1)->function = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"input_callback_state_t_c_function_set");
-  if (arg1) (arg1)->function = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_input_callback_state_t_c_function_get(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  void *result = 0 ;
-  
-  SWIG_check_num_args("input_callback_state::function",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::function",1,"input_callback_state *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_c_function_get",1,SWIGTYPE_p_input_callback_state);
+  {
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    void *result = 0 ;
+    
+    SWIG_check_num_args("input_callback_state::function",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::function",1,"input_callback_state *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_c_function_get",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    result = (void *) ((arg1)->function);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (void *) ((arg1)->function);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_input_callback_state_t_threadState_set(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  SWIG_check_num_args("input_callback_state::threadState",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::threadState",1,"input_callback_state *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("input_callback_state::threadState",2,"void *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_threadState_set",1,SWIGTYPE_p_input_callback_state);
+  {
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    void *arg2 = (void *) 0 ;
+    
+    SWIG_check_num_args("input_callback_state::threadState",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::threadState",1,"input_callback_state *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("input_callback_state::threadState",2,"void *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_threadState_set",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"input_callback_state_t_threadState_set");
+    if (arg1) (arg1)->threadState = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"input_callback_state_t_threadState_set");
-  if (arg1) (arg1)->threadState = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_input_callback_state_t_threadState_get(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  void *result = 0 ;
-  
-  SWIG_check_num_args("input_callback_state::threadState",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::threadState",1,"input_callback_state *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_threadState_get",1,SWIGTYPE_p_input_callback_state);
+  {
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    void *result = 0 ;
+    
+    SWIG_check_num_args("input_callback_state::threadState",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::threadState",1,"input_callback_state *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_threadState_get",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    result = (void *) ((arg1)->threadState);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (void *) ((arg1)->threadState);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_input_callback_state_t_extra_set(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  SWIG_check_num_args("input_callback_state::extra",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::extra",1,"input_callback_state *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("input_callback_state::extra",2,"void *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_extra_set",1,SWIGTYPE_p_input_callback_state);
+  {
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    void *arg2 = (void *) 0 ;
+    
+    SWIG_check_num_args("input_callback_state::extra",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::extra",1,"input_callback_state *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("input_callback_state::extra",2,"void *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_extra_set",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"input_callback_state_t_extra_set");
+    if (arg1) (arg1)->extra = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"input_callback_state_t_extra_set");
-  if (arg1) (arg1)->extra = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_input_callback_state_t_extra_get(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  void *result = 0 ;
-  
-  SWIG_check_num_args("input_callback_state::extra",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::extra",1,"input_callback_state *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_extra_get",1,SWIGTYPE_p_input_callback_state);
+  {
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    void *result = 0 ;
+    
+    SWIG_check_num_args("input_callback_state::extra",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::extra",1,"input_callback_state *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_extra_get",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    result = (void *) ((arg1)->extra);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (void *) ((arg1)->extra);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_input_callback_state_t_funcargs_set(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("input_callback_state::funcargs",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::funcargs",1,"input_callback_state *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("input_callback_state::funcargs",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_funcargs_set",1,SWIGTYPE_p_input_callback_state);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->funcargs;
-    if (arg2) {
-      arg1->funcargs = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->funcargs, (const char *)arg2);
-    } else {
-      arg1->funcargs = 0;
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("input_callback_state::funcargs",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::funcargs",1,"input_callback_state *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("input_callback_state::funcargs",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_funcargs_set",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->funcargs;
+      if (arg2) {
+        arg1->funcargs = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->funcargs, (const char *)arg2);
+      } else {
+        arg1->funcargs = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_input_callback_state_t_funcargs_get(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *arg1 = (input_callback_state *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("input_callback_state::funcargs",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::funcargs",1,"input_callback_state *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("input_callback_state_t_funcargs_get",1,SWIGTYPE_p_input_callback_state);
-  }
-  
-  result = (char *) ((arg1)->funcargs);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    input_callback_state *arg1 = (input_callback_state *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("input_callback_state::funcargs",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("input_callback_state::funcargs",1,"input_callback_state *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("input_callback_state_t_funcargs_get",1,SWIGTYPE_p_input_callback_state);
+    }
+    
+    result = (char *) ((arg1)->funcargs);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_input_callback_state_t(lua_State* L) {
-  int SWIG_arg = 0;
-  input_callback_state *result = 0 ;
-  
-  SWIG_check_num_args("input_callback_state::input_callback_state",0,0)
-  result = (input_callback_state *)new input_callback_state();
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_input_callback_state,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    input_callback_state *result = 0 ;
+    
+    SWIG_check_num_args("input_callback_state::input_callback_state",0,0)
+    result = (input_callback_state *)new input_callback_state();
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_input_callback_state,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -3966,140 +4030,140 @@ static const char *swig_input_callback_state_t_base_names[] = {0};
 static swig_lua_class _wrap_class_input_callback_state_t = { "input_callback_state_t", "input_callback_state_t", &SWIGTYPE_p_input_callback_state,_proxy__wrap_new_input_callback_state_t, swig_delete_input_callback_state_t, swig_input_callback_state_t_methods, swig_input_callback_state_t_attributes, &swig_input_callback_state_t_Sf_SwigStatic, swig_input_callback_state_t_meta, swig_input_callback_state_t_bases, swig_input_callback_state_t_base_names };
 
 static int _wrap_DTMF_digit_set(lua_State* L) {
-  int SWIG_arg = 0;
-  DTMF *arg1 = (DTMF *) 0 ;
-  char arg2 ;
-  
-  SWIG_check_num_args("DTMF::digit",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::digit",1,"DTMF *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("DTMF::digit",2,"char");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
-    SWIG_fail_ptr("DTMF_digit_set",1,SWIGTYPE_p_DTMF);
+  {
+    int SWIG_arg = 0;
+    DTMF *arg1 = (DTMF *) 0 ;
+    char arg2 ;
+    
+    SWIG_check_num_args("DTMF::digit",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::digit",1,"DTMF *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("DTMF::digit",2,"char");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
+      SWIG_fail_ptr("DTMF_digit_set",1,SWIGTYPE_p_DTMF);
+    }
+    
+    arg2 = (lua_tostring(L, 2))[0];
+    if (arg1) (arg1)->digit = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (lua_tostring(L, 2))[0];
-  if (arg1) (arg1)->digit = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_DTMF_digit_get(lua_State* L) {
-  int SWIG_arg = 0;
-  DTMF *arg1 = (DTMF *) 0 ;
-  char result;
-  
-  SWIG_check_num_args("DTMF::digit",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::digit",1,"DTMF *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
-    SWIG_fail_ptr("DTMF_digit_get",1,SWIGTYPE_p_DTMF);
+  {
+    int SWIG_arg = 0;
+    DTMF *arg1 = (DTMF *) 0 ;
+    char result;
+    
+    SWIG_check_num_args("DTMF::digit",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::digit",1,"DTMF *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
+      SWIG_fail_ptr("DTMF_digit_get",1,SWIGTYPE_p_DTMF);
+    }
+    
+    result = (char) ((arg1)->digit);
+    lua_pushlstring(L, &result, 1); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char) ((arg1)->digit);
-  lua_pushlstring(L, &result, 1); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_DTMF_duration_set(lua_State* L) {
-  int SWIG_arg = 0;
-  DTMF *arg1 = (DTMF *) 0 ;
-  uint32_t arg2 ;
-  uint32_t *argp2 ;
-  
-  SWIG_check_num_args("DTMF::duration",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::duration",1,"DTMF *");
-  if(!lua_isuserdata(L,2)) SWIG_fail_arg("DTMF::duration",2,"uint32_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
-    SWIG_fail_ptr("DTMF_duration_set",1,SWIGTYPE_p_DTMF);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_uint32_t,0))){
-    SWIG_fail_ptr("DTMF_duration_set",2,SWIGTYPE_p_uint32_t);
+  {
+    int SWIG_arg = 0;
+    DTMF *arg1 = (DTMF *) 0 ;
+    uint32_t arg2 ;
+    uint32_t *argp2 ;
+    
+    SWIG_check_num_args("DTMF::duration",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::duration",1,"DTMF *");
+    if(!lua_isuserdata(L,2)) SWIG_fail_arg("DTMF::duration",2,"uint32_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
+      SWIG_fail_ptr("DTMF_duration_set",1,SWIGTYPE_p_DTMF);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_uint32_t,0))){
+      SWIG_fail_ptr("DTMF_duration_set",2,SWIGTYPE_p_uint32_t);
+    }
+    arg2 = *argp2;
+    
+    if (arg1) (arg1)->duration = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  arg2 = *argp2;
-  
-  if (arg1) (arg1)->duration = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_DTMF_duration_get(lua_State* L) {
-  int SWIG_arg = 0;
-  DTMF *arg1 = (DTMF *) 0 ;
-  uint32_t result;
-  
-  SWIG_check_num_args("DTMF::duration",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::duration",1,"DTMF *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
-    SWIG_fail_ptr("DTMF_duration_get",1,SWIGTYPE_p_DTMF);
-  }
-  
-  result =  ((arg1)->duration);
   {
-    uint32_t * resultptr = new uint32_t((const uint32_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_uint32_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    DTMF *arg1 = (DTMF *) 0 ;
+    uint32_t result;
+    
+    SWIG_check_num_args("DTMF::duration",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("DTMF::duration",1,"DTMF *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_DTMF,0))){
+      SWIG_fail_ptr("DTMF_duration_get",1,SWIGTYPE_p_DTMF);
+    }
+    
+    result =  ((arg1)->duration);
+    {
+      uint32_t * resultptr = new uint32_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_uint32_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_DTMF(lua_State* L) {
-  int SWIG_arg = 0;
-  char arg1 ;
-  uint32_t arg2 = (uint32_t) SWITCH_DEFAULT_DTMF_DURATION ;
-  uint32_t *argp2 ;
-  DTMF *result = 0 ;
-  
-  SWIG_check_num_args("DTMF::DTMF",1,2)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("DTMF::DTMF",1,"char");
-  if(lua_gettop(L)>=2 && !lua_isuserdata(L,2)) SWIG_fail_arg("DTMF::DTMF",2,"uint32_t");
-  arg1 = (lua_tostring(L, 1))[0];
-  if(lua_gettop(L)>=2){
-    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_uint32_t,0))){
-      SWIG_fail_ptr("new_DTMF",2,SWIGTYPE_p_uint32_t);
+  {
+    int SWIG_arg = 0;
+    char arg1 ;
+    uint32_t arg2 = (uint32_t) SWITCH_DEFAULT_DTMF_DURATION ;
+    uint32_t *argp2 ;
+    DTMF *result = 0 ;
+    
+    SWIG_check_num_args("DTMF::DTMF",1,2)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("DTMF::DTMF",1,"char");
+    if(lua_gettop(L)>=2 && !lua_isuserdata(L,2)) SWIG_fail_arg("DTMF::DTMF",2,"uint32_t");
+    arg1 = (lua_tostring(L, 1))[0];
+    if(lua_gettop(L)>=2){
+      if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_uint32_t,0))){
+        SWIG_fail_ptr("new_DTMF",2,SWIGTYPE_p_uint32_t);
+      }
+      arg2 = *argp2;
     }
-    arg2 = *argp2;
+    result = (DTMF *)new DTMF(arg1,arg2);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_DTMF,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (DTMF *)new DTMF(arg1,arg2);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_DTMF,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -4153,43 +4217,43 @@ static const char *swig_DTMF_base_names[] = {0};
 static swig_lua_class _wrap_class_DTMF = { "DTMF", "DTMF", &SWIGTYPE_p_DTMF,_proxy__wrap_new_DTMF, swig_delete_DTMF, swig_DTMF_methods, swig_DTMF_attributes, &swig_DTMF_Sf_SwigStatic, swig_DTMF_meta, swig_DTMF_bases, swig_DTMF_base_names };
 
 static int _wrap_new_Stream__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  Stream *result = 0 ;
-  
-  SWIG_check_num_args("Stream::Stream",0,0)
-  result = (Stream *)new Stream();
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_Stream,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    Stream *result = 0 ;
+    
+    SWIG_check_num_args("Stream::Stream",0,0)
+    result = (Stream *)new Stream();
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_Stream,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Stream__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
-  Stream *result = 0 ;
-  
-  SWIG_check_num_args("Stream::Stream",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::Stream",1,"switch_stream_handle_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_stream_handle_t,0))){
-    SWIG_fail_ptr("new_Stream",1,SWIGTYPE_p_switch_stream_handle_t);
+  {
+    int SWIG_arg = 0;
+    switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
+    Stream *result = 0 ;
+    
+    SWIG_check_num_args("Stream::Stream",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::Stream",1,"switch_stream_handle_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_stream_handle_t,0))){
+      SWIG_fail_ptr("new_Stream",1,SWIGTYPE_p_switch_stream_handle_t);
+    }
+    
+    result = (Stream *)new Stream(arg1);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_Stream,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (Stream *)new Stream(arg1);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_Stream,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -4204,7 +4268,7 @@ static int _wrap_new_Stream(lua_State* L) {
     return _wrap_new_Stream__SWIG_0(L);
   }
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_switch_stream_handle_t, 0)) {
@@ -4227,109 +4291,109 @@ static int _wrap_new_Stream(lua_State* L) {
 
 
 static int _wrap_Stream_read(lua_State* L) {
-  int SWIG_arg = 0;
-  Stream *arg1 = (Stream *) 0 ;
-  int *arg2 = (int *) 0 ;
-  int temp2 ;
-  char *result = 0 ;
-  
-  arg2 = &temp2; 
-  SWIG_check_num_args("Stream::read",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::read",1,"Stream *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
-    SWIG_fail_ptr("Stream_read",1,SWIGTYPE_p_Stream);
+  {
+    int SWIG_arg = 0;
+    Stream *arg1 = (Stream *) 0 ;
+    int *arg2 = (int *) 0 ;
+    int temp2 ;
+    char *result = 0 ;
+    
+    arg2 = &temp2; 
+    SWIG_check_num_args("Stream::read",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::read",1,"Stream *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
+      SWIG_fail_ptr("Stream_read",1,SWIGTYPE_p_Stream);
+    }
+    
+    result = (char *)(arg1)->read(arg2);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    lua_pushnumber(L, (lua_Number) *arg2); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->read(arg2);
-  lua_pushlstring(L,(const char*)result, (*arg2)); SWIG_arg++;
-  lua_pushnumber(L, (lua_Number) *arg2); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Stream_write(lua_State* L) {
-  int SWIG_arg = 0;
-  Stream *arg1 = (Stream *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("Stream::write",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::write",1,"Stream *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Stream::write",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
-    SWIG_fail_ptr("Stream_write",1,SWIGTYPE_p_Stream);
+  {
+    int SWIG_arg = 0;
+    Stream *arg1 = (Stream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("Stream::write",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::write",1,"Stream *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Stream::write",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
+      SWIG_fail_ptr("Stream_write",1,SWIGTYPE_p_Stream);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    (arg1)->write((char const *)arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  (arg1)->write((char const *)arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Stream_raw_write(lua_State* L) {
-  int SWIG_arg = 0;
-  Stream *arg1 = (Stream *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  
-  SWIG_check_num_args("Stream::raw_write",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::raw_write",1,"Stream *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Stream::raw_write",2,"char const *");
-  if(!lua_isnumber(L,3)) SWIG_fail_arg("Stream::raw_write",3,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
-    SWIG_fail_ptr("Stream_raw_write",1,SWIGTYPE_p_Stream);
+  {
+    int SWIG_arg = 0;
+    Stream *arg1 = (Stream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    int arg3 ;
+    
+    SWIG_check_num_args("Stream::raw_write",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::raw_write",1,"Stream *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Stream::raw_write",2,"char const *");
+    if(!lua_isnumber(L,3)) SWIG_fail_arg("Stream::raw_write",3,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
+      SWIG_fail_ptr("Stream_raw_write",1,SWIGTYPE_p_Stream);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (int)lua_tonumber(L, 3);
+    (arg1)->raw_write((char const *)arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (int)lua_tonumber(L, 3);
-  (arg1)->raw_write((char const *)arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Stream_get_data(lua_State* L) {
-  int SWIG_arg = 0;
-  Stream *arg1 = (Stream *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("Stream::get_data",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::get_data",1,"Stream *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
-    SWIG_fail_ptr("Stream_get_data",1,SWIGTYPE_p_Stream);
+  {
+    int SWIG_arg = 0;
+    Stream *arg1 = (Stream *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("Stream::get_data",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Stream::get_data",1,"Stream *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Stream,0))){
+      SWIG_fail_ptr("Stream_get_data",1,SWIGTYPE_p_Stream);
+    }
+    
+    result = (char *)(arg1)->get_data();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->get_data();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -4385,218 +4449,218 @@ static const char *swig_Stream_base_names[] = {0};
 static swig_lua_class _wrap_class_Stream = { "Stream", "Stream", &SWIGTYPE_p_Stream,_proxy__wrap_new_Stream, swig_delete_Stream, swig_Stream_methods, swig_Stream_attributes, &swig_Stream_Sf_SwigStatic, swig_Stream_meta, swig_Stream_bases, swig_Stream_base_names };
 
 static int _wrap_Event_event_set(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  
-  SWIG_check_num_args("Event::event",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::event",1,"Event *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("Event::event",2,"switch_event_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_event_set",1,SWIGTYPE_p_Event);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_event_t,SWIG_POINTER_DISOWN))){
-    SWIG_fail_ptr("Event_event_set",2,SWIGTYPE_p_switch_event_t);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    switch_event_t *arg2 = (switch_event_t *) 0 ;
+    
+    SWIG_check_num_args("Event::event",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::event",1,"Event *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("Event::event",2,"switch_event_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_event_set",1,SWIGTYPE_p_Event);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_event_t,SWIG_POINTER_DISOWN))){
+      SWIG_fail_ptr("Event_event_set",2,SWIGTYPE_p_switch_event_t);
+    }
+    
+    if (arg1) (arg1)->event = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  if (arg1) (arg1)->event = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_event_get(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  switch_event_t *result = 0 ;
-  
-  SWIG_check_num_args("Event::event",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::event",1,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_event_get",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    switch_event_t *result = 0 ;
+    
+    SWIG_check_num_args("Event::event",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::event",1,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_event_get",1,SWIGTYPE_p_Event);
+    }
+    
+    result = (switch_event_t *) ((arg1)->event);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_event_t,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (switch_event_t *) ((arg1)->event);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_event_t,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_serialized_string_set(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("Event::serialized_string",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::serialized_string",1,"Event *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::serialized_string",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_serialized_string_set",1,SWIGTYPE_p_Event);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->serialized_string;
-    if (arg2) {
-      arg1->serialized_string = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->serialized_string, (const char *)arg2);
-    } else {
-      arg1->serialized_string = 0;
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("Event::serialized_string",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::serialized_string",1,"Event *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::serialized_string",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_serialized_string_set",1,SWIGTYPE_p_Event);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->serialized_string;
+      if (arg2) {
+        arg1->serialized_string = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->serialized_string, (const char *)arg2);
+      } else {
+        arg1->serialized_string = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_serialized_string_get(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("Event::serialized_string",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::serialized_string",1,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_serialized_string_get",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("Event::serialized_string",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::serialized_string",1,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_serialized_string_get",1,SWIGTYPE_p_Event);
+    }
+    
+    result = (char *) ((arg1)->serialized_string);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->serialized_string);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_mine_set(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  int arg2 ;
-  
-  SWIG_check_num_args("Event::mine",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::mine",1,"Event *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("Event::mine",2,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_mine_set",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    int arg2 ;
+    
+    SWIG_check_num_args("Event::mine",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::mine",1,"Event *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("Event::mine",2,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_mine_set",1,SWIGTYPE_p_Event);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    if (arg1) (arg1)->mine = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  if (arg1) (arg1)->mine = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_mine_get(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("Event::mine",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::mine",1,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_mine_get",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("Event::mine",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::mine",1,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_mine_get",1,SWIGTYPE_p_Event);
+    }
+    
+    result = (int) ((arg1)->mine);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (int) ((arg1)->mine);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Event__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) NULL ;
-  Event *result = 0 ;
-  
-  SWIG_check_num_args("Event::Event",1,2)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("Event::Event",1,"char const *");
-  if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::Event",2,"char const *");
-  arg1 = (char *)lua_tostring(L, 1);
-  if(lua_gettop(L)>=2){
-    arg2 = (char *)lua_tostring(L, 2);
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) NULL ;
+    Event *result = 0 ;
+    
+    SWIG_check_num_args("Event::Event",1,2)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("Event::Event",1,"char const *");
+    if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::Event",2,"char const *");
+    arg1 = (char *)lua_tostring(L, 1);
+    if(lua_gettop(L)>=2){
+      arg2 = (char *)lua_tostring(L, 2);
+    }
+    result = (Event *)new Event((char const *)arg1,(char const *)arg2);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_Event,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (Event *)new Event((char const *)arg1,(char const *)arg2);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_Event,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Event__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  int arg2 = (int) 0 ;
-  Event *result = 0 ;
-  
-  SWIG_check_num_args("Event::Event",1,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::Event",1,"switch_event_t *");
-  if(lua_gettop(L)>=2 && !lua_isnumber(L,2)) SWIG_fail_arg("Event::Event",2,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_event_t,0))){
-    SWIG_fail_ptr("new_Event",1,SWIGTYPE_p_switch_event_t);
-  }
-  
-  if(lua_gettop(L)>=2){
-    arg2 = (int)lua_tonumber(L, 2);
+  {
+    int SWIG_arg = 0;
+    switch_event_t *arg1 = (switch_event_t *) 0 ;
+    int arg2 = (int) 0 ;
+    Event *result = 0 ;
+    
+    SWIG_check_num_args("Event::Event",1,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::Event",1,"switch_event_t *");
+    if(lua_gettop(L)>=2 && !lua_isnumber(L,2)) SWIG_fail_arg("Event::Event",2,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_event_t,0))){
+      SWIG_fail_ptr("new_Event",1,SWIGTYPE_p_switch_event_t);
+    }
+    
+    if(lua_gettop(L)>=2){
+      arg2 = (int)lua_tonumber(L, 2);
+    }
+    result = (Event *)new Event(arg1,arg2);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_Event,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (Event *)new Event(arg1,arg2);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_Event,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -4608,7 +4672,7 @@ static int _wrap_new_Event(lua_State* L) {
   
   argc = lua_gettop(L);
   if ((argc >= 1) && (argc <= 2)) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_switch_event_t, 0)) {
@@ -4630,7 +4694,7 @@ static int _wrap_new_Event(lua_State* L) {
     }
   }
   if ((argc >= 1) && (argc <= 2)) {
-    int _v;
+    int _v = 0;
     {
       _v = SWIG_lua_isnilstring(L,argv[0]);
     }
@@ -4656,339 +4720,339 @@ static int _wrap_new_Event(lua_State* L) {
 
 
 static int _wrap_Event_chat_execute(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  int result;
-  
-  SWIG_check_num_args("Event::chat_execute",2,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::chat_execute",1,"Event *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::chat_execute",2,"char const *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("Event::chat_execute",3,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_chat_execute",1,SWIGTYPE_p_Event);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) NULL ;
+    int result;
+    
+    SWIG_check_num_args("Event::chat_execute",2,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::chat_execute",1,"Event *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::chat_execute",2,"char const *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("Event::chat_execute",3,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_chat_execute",1,SWIGTYPE_p_Event);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    result = (int)(arg1)->chat_execute((char const *)arg2,(char const *)arg3);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->chat_execute((char const *)arg2,(char const *)arg3);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_chat_send(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) NULL ;
-  int result;
-  
-  SWIG_check_num_args("Event::chat_send",1,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::chat_send",1,"Event *");
-  if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::chat_send",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_chat_send",1,SWIGTYPE_p_Event);
-  }
-  
-  if(lua_gettop(L)>=2){
-    arg2 = (char *)lua_tostring(L, 2);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) NULL ;
+    int result;
+    
+    SWIG_check_num_args("Event::chat_send",1,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::chat_send",1,"Event *");
+    if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::chat_send",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_chat_send",1,SWIGTYPE_p_Event);
+    }
+    
+    if(lua_gettop(L)>=2){
+      arg2 = (char *)lua_tostring(L, 2);
+    }
+    result = (int)(arg1)->chat_send((char const *)arg2);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->chat_send((char const *)arg2);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_serialize(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) NULL ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("Event::serialize",1,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::serialize",1,"Event *");
-  if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::serialize",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_serialize",1,SWIGTYPE_p_Event);
-  }
-  
-  if(lua_gettop(L)>=2){
-    arg2 = (char *)lua_tostring(L, 2);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) NULL ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("Event::serialize",1,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::serialize",1,"Event *");
+    if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::serialize",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_serialize",1,SWIGTYPE_p_Event);
+    }
+    
+    if(lua_gettop(L)>=2){
+      arg2 = (char *)lua_tostring(L, 2);
+    }
+    result = (char *)(arg1)->serialize((char const *)arg2);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (char *)(arg1)->serialize((char const *)arg2);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_setPriority(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  switch_priority_t arg2 = (switch_priority_t) SWITCH_PRIORITY_NORMAL ;
-  switch_priority_t *argp2 ;
-  bool result;
-  
-  SWIG_check_num_args("Event::setPriority",1,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::setPriority",1,"Event *");
-  if(lua_gettop(L)>=2 && !lua_isuserdata(L,2)) SWIG_fail_arg("Event::setPriority",2,"switch_priority_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_setPriority",1,SWIGTYPE_p_Event);
-  }
-  
-  if(lua_gettop(L)>=2){
-    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_priority_t,0))){
-      SWIG_fail_ptr("Event_setPriority",2,SWIGTYPE_p_switch_priority_t);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    switch_priority_t arg2 = (switch_priority_t) SWITCH_PRIORITY_NORMAL ;
+    switch_priority_t *argp2 ;
+    bool result;
+    
+    SWIG_check_num_args("Event::setPriority",1,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::setPriority",1,"Event *");
+    if(lua_gettop(L)>=2 && !lua_isuserdata(L,2)) SWIG_fail_arg("Event::setPriority",2,"switch_priority_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_setPriority",1,SWIGTYPE_p_Event);
     }
-    arg2 = *argp2;
+    
+    if(lua_gettop(L)>=2){
+      if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_priority_t,0))){
+        SWIG_fail_ptr("Event_setPriority",2,SWIGTYPE_p_switch_priority_t);
+      }
+      arg2 = *argp2;
+    }
+    result = (bool)(arg1)->setPriority(arg2);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (bool)(arg1)->setPriority(arg2);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_getHeader(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("Event::getHeader",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::getHeader",1,"Event *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::getHeader",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_getHeader",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("Event::getHeader",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::getHeader",1,"Event *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::getHeader",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_getHeader",1,SWIGTYPE_p_Event);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (char *)(arg1)->getHeader((char const *)arg2);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (char *)(arg1)->getHeader((char const *)arg2);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_getBody(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("Event::getBody",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::getBody",1,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_getBody",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("Event::getBody",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::getBody",1,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_getBody",1,SWIGTYPE_p_Event);
+    }
+    
+    result = (char *)(arg1)->getBody();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->getBody();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_getType(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("Event::getType",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::getType",1,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_getType",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("Event::getType",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::getType",1,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_getType",1,SWIGTYPE_p_Event);
+    }
+    
+    result = (char *)(arg1)->getType();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->getType();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_addBody(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("Event::addBody",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::addBody",1,"Event *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::addBody",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_addBody",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("Event::addBody",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::addBody",1,"Event *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::addBody",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_addBody",1,SWIGTYPE_p_Event);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (bool)(arg1)->addBody((char const *)arg2);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (bool)(arg1)->addBody((char const *)arg2);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_addHeader(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("Event::addHeader",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::addHeader",1,"Event *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::addHeader",2,"char const *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("Event::addHeader",3,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_addHeader",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("Event::addHeader",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::addHeader",1,"Event *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::addHeader",2,"char const *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("Event::addHeader",3,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_addHeader",1,SWIGTYPE_p_Event);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_delHeader(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("Event::delHeader",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::delHeader",1,"Event *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::delHeader",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_delHeader",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    char *arg2 = (char *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("Event::delHeader",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::delHeader",1,"Event *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("Event::delHeader",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_delHeader",1,SWIGTYPE_p_Event);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (bool)(arg1)->delHeader((char const *)arg2);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (bool)(arg1)->delHeader((char const *)arg2);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_fire(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("Event::fire",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::fire",1,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_fire",1,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("Event::fire",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::fire",1,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_fire",1,SWIGTYPE_p_Event);
+    }
+    
+    result = (bool)(arg1)->fire();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->fire();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Event_merge(lua_State* L) {
-  int SWIG_arg = 0;
-  Event *arg1 = (Event *) 0 ;
-  Event *arg2 = (Event *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("Event::merge",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::merge",1,"Event *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("Event::merge",2,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_merge",1,SWIGTYPE_p_Event);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("Event_merge",2,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    Event *arg1 = (Event *) 0 ;
+    Event *arg2 = (Event *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("Event::merge",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("Event::merge",1,"Event *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("Event::merge",2,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_merge",1,SWIGTYPE_p_Event);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("Event_merge",2,SWIGTYPE_p_Event);
+    }
+    
+    result = (bool)(arg1)->merge(arg2);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->merge(arg2);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -5055,527 +5119,527 @@ static const char *swig_Event_base_names[] = {0};
 static swig_lua_class _wrap_class_Event = { "Event", "Event", &SWIGTYPE_p_Event,_proxy__wrap_new_Event, swig_delete_Event, swig_Event_methods, swig_Event_attributes, &swig_Event_Sf_SwigStatic, swig_Event_meta, swig_Event_bases, swig_Event_base_names };
 
 static int _wrap_EventConsumer_events_set(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_queue_t *arg2 = (switch_queue_t *) 0 ;
-  
-  SWIG_check_num_args("EventConsumer::events",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::events",1,"EventConsumer *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("EventConsumer::events",2,"switch_queue_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_events_set",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_queue_t,SWIG_POINTER_DISOWN))){
-    SWIG_fail_ptr("EventConsumer_events_set",2,SWIGTYPE_p_switch_queue_t);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    switch_queue_t *arg2 = (switch_queue_t *) 0 ;
+    
+    SWIG_check_num_args("EventConsumer::events",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::events",1,"EventConsumer *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("EventConsumer::events",2,"switch_queue_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_events_set",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_queue_t,SWIG_POINTER_DISOWN))){
+      SWIG_fail_ptr("EventConsumer_events_set",2,SWIGTYPE_p_switch_queue_t);
+    }
+    
+    if (arg1) (arg1)->events = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  if (arg1) (arg1)->events = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_events_get(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_queue_t *result = 0 ;
-  
-  SWIG_check_num_args("EventConsumer::events",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::events",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_events_get",1,SWIGTYPE_p_EventConsumer);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    switch_queue_t *result = 0 ;
+    
+    SWIG_check_num_args("EventConsumer::events",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::events",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_events_get",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    result = (switch_queue_t *) ((arg1)->events);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_queue_t,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (switch_queue_t *) ((arg1)->events);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_queue_t,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_event_id_set(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_types_t arg2 ;
-  switch_event_types_t *argp2 ;
-  
-  SWIG_check_num_args("EventConsumer::e_event_id",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_event_id",1,"EventConsumer *");
-  if(!lua_isuserdata(L,2)) SWIG_fail_arg("EventConsumer::e_event_id",2,"switch_event_types_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_event_id_set",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_event_types_t,0))){
-    SWIG_fail_ptr("EventConsumer_e_event_id_set",2,SWIGTYPE_p_switch_event_types_t);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    switch_event_types_t arg2 ;
+    switch_event_types_t *argp2 ;
+    
+    SWIG_check_num_args("EventConsumer::e_event_id",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_event_id",1,"EventConsumer *");
+    if(!lua_isuserdata(L,2)) SWIG_fail_arg("EventConsumer::e_event_id",2,"switch_event_types_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_event_id_set",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_event_types_t,0))){
+      SWIG_fail_ptr("EventConsumer_e_event_id_set",2,SWIGTYPE_p_switch_event_types_t);
+    }
+    arg2 = *argp2;
+    
+    if (arg1) (arg1)->e_event_id = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  arg2 = *argp2;
-  
-  if (arg1) (arg1)->e_event_id = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_event_id_get(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_types_t result;
-  
-  SWIG_check_num_args("EventConsumer::e_event_id",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_event_id",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_event_id_get",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  result =  ((arg1)->e_event_id);
   {
-    switch_event_types_t * resultptr = new switch_event_types_t((const switch_event_types_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_event_types_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    switch_event_types_t result;
+    
+    SWIG_check_num_args("EventConsumer::e_event_id",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_event_id",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_event_id_get",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    result =  ((arg1)->e_event_id);
+    {
+      switch_event_types_t * resultptr = new switch_event_types_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_event_types_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_callback_set(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("EventConsumer::e_callback",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_callback",1,"EventConsumer *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::e_callback",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_callback_set",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->e_callback;
-    if (arg2) {
-      arg1->e_callback = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->e_callback, (const char *)arg2);
-    } else {
-      arg1->e_callback = 0;
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("EventConsumer::e_callback",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_callback",1,"EventConsumer *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::e_callback",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_callback_set",1,SWIGTYPE_p_EventConsumer);
     }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->e_callback;
+      if (arg2) {
+        arg1->e_callback = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->e_callback, (const char *)arg2);
+      } else {
+        arg1->e_callback = 0;
+      }
+    }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_callback_get(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("EventConsumer::e_callback",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_callback",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_callback_get",1,SWIGTYPE_p_EventConsumer);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("EventConsumer::e_callback",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_callback",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_callback_get",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    result = (char *) ((arg1)->e_callback);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->e_callback);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_subclass_name_set(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("EventConsumer::e_subclass_name",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_subclass_name",1,"EventConsumer *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::e_subclass_name",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_subclass_name_set",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->e_subclass_name;
-    if (arg2) {
-      arg1->e_subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->e_subclass_name, (const char *)arg2);
-    } else {
-      arg1->e_subclass_name = 0;
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("EventConsumer::e_subclass_name",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_subclass_name",1,"EventConsumer *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::e_subclass_name",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_subclass_name_set",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->e_subclass_name;
+      if (arg2) {
+        arg1->e_subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->e_subclass_name, (const char *)arg2);
+      } else {
+        arg1->e_subclass_name = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_subclass_name_get(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("EventConsumer::e_subclass_name",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_subclass_name",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_subclass_name_get",1,SWIGTYPE_p_EventConsumer);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("EventConsumer::e_subclass_name",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_subclass_name",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_subclass_name_get",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    result = (char *) ((arg1)->e_subclass_name);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->e_subclass_name);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_cb_arg_set(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("EventConsumer::e_cb_arg",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_cb_arg",1,"EventConsumer *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::e_cb_arg",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_cb_arg_set",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->e_cb_arg;
-    if (arg2) {
-      arg1->e_cb_arg = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->e_cb_arg, (const char *)arg2);
-    } else {
-      arg1->e_cb_arg = 0;
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("EventConsumer::e_cb_arg",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_cb_arg",1,"EventConsumer *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::e_cb_arg",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_cb_arg_set",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->e_cb_arg;
+      if (arg2) {
+        arg1->e_cb_arg = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->e_cb_arg, (const char *)arg2);
+      } else {
+        arg1->e_cb_arg = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_e_cb_arg_get(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("EventConsumer::e_cb_arg",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_cb_arg",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_e_cb_arg_get",1,SWIGTYPE_p_EventConsumer);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("EventConsumer::e_cb_arg",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::e_cb_arg",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_e_cb_arg_get",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    result = (char *) ((arg1)->e_cb_arg);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->e_cb_arg);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_enodes_set(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_node_t **arg2 ;
-  
-  SWIG_check_num_args("EventConsumer::enodes",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::enodes",1,"EventConsumer *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("EventConsumer::enodes",2,"switch_event_node_t *[SWITCH_EVENT_ALL+1]");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_enodes_set",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_p_switch_event_node_t,0))){
-    SWIG_fail_ptr("EventConsumer_enodes_set",2,SWIGTYPE_p_p_switch_event_node_t);
-  }
-  
   {
-    size_t ii;
-    switch_event_node_t * *b = (switch_event_node_t * *) arg1->enodes;
-    for (ii = 0; ii < (size_t)SWITCH_EVENT_ALL+1; ii++) b[ii] = *((switch_event_node_t * *) arg2 + ii);
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    switch_event_node_t **arg2 ;
+    
+    SWIG_check_num_args("EventConsumer::enodes",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::enodes",1,"EventConsumer *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("EventConsumer::enodes",2,"switch_event_node_t *[SWITCH_EVENT_ALL+1]");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_enodes_set",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_p_switch_event_node_t,0))){
+      SWIG_fail_ptr("EventConsumer_enodes_set",2,SWIGTYPE_p_p_switch_event_node_t);
+    }
+    
+    {
+      size_t ii;
+      switch_event_node_t * *b = (switch_event_node_t * *) arg1->enodes;
+      for (ii = 0; ii < (size_t)SWITCH_EVENT_ALL+1; ii++) b[ii] = *((switch_event_node_t * *) arg2 + ii);
+    }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_enodes_get(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_node_t **result = 0 ;
-  
-  SWIG_check_num_args("EventConsumer::enodes",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::enodes",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_enodes_get",1,SWIGTYPE_p_EventConsumer);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    switch_event_node_t **result = 0 ;
+    
+    SWIG_check_num_args("EventConsumer::enodes",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::enodes",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_enodes_get",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    result = (switch_event_node_t **)(switch_event_node_t **) ((arg1)->enodes);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_p_switch_event_node_t,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (switch_event_node_t **)(switch_event_node_t **) ((arg1)->enodes);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_p_switch_event_node_t,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_node_index_set(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  uint32_t arg2 ;
-  uint32_t *argp2 ;
-  
-  SWIG_check_num_args("EventConsumer::node_index",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::node_index",1,"EventConsumer *");
-  if(!lua_isuserdata(L,2)) SWIG_fail_arg("EventConsumer::node_index",2,"uint32_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_node_index_set",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_uint32_t,0))){
-    SWIG_fail_ptr("EventConsumer_node_index_set",2,SWIGTYPE_p_uint32_t);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    uint32_t arg2 ;
+    uint32_t *argp2 ;
+    
+    SWIG_check_num_args("EventConsumer::node_index",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::node_index",1,"EventConsumer *");
+    if(!lua_isuserdata(L,2)) SWIG_fail_arg("EventConsumer::node_index",2,"uint32_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_node_index_set",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_uint32_t,0))){
+      SWIG_fail_ptr("EventConsumer_node_index_set",2,SWIGTYPE_p_uint32_t);
+    }
+    arg2 = *argp2;
+    
+    if (arg1) (arg1)->node_index = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  arg2 = *argp2;
-  
-  if (arg1) (arg1)->node_index = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_node_index_get(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  uint32_t result;
-  
-  SWIG_check_num_args("EventConsumer::node_index",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::node_index",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_node_index_get",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  result =  ((arg1)->node_index);
   {
-    uint32_t * resultptr = new uint32_t((const uint32_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_uint32_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    uint32_t result;
+    
+    SWIG_check_num_args("EventConsumer::node_index",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::node_index",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_node_index_get",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    result =  ((arg1)->node_index);
+    {
+      uint32_t * resultptr = new uint32_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_uint32_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_EventConsumer(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) NULL ;
-  char *arg2 = (char *) "" ;
-  int arg3 = (int) 5000 ;
-  EventConsumer *result = 0 ;
-  
-  SWIG_check_num_args("EventConsumer::EventConsumer",0,3)
-  if(lua_gettop(L)>=1 && !SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("EventConsumer::EventConsumer",1,"char const *");
-  if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::EventConsumer",2,"char const *");
-  if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("EventConsumer::EventConsumer",3,"int");
-  if(lua_gettop(L)>=1){
-    arg1 = (char *)lua_tostring(L, 1);
-  }
-  if(lua_gettop(L)>=2){
-    arg2 = (char *)lua_tostring(L, 2);
-  }
-  if(lua_gettop(L)>=3){
-    arg3 = (int)lua_tonumber(L, 3);
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) NULL ;
+    char *arg2 = (char *) "" ;
+    int arg3 = (int) 5000 ;
+    EventConsumer *result = 0 ;
+    
+    SWIG_check_num_args("EventConsumer::EventConsumer",0,3)
+    if(lua_gettop(L)>=1 && !SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("EventConsumer::EventConsumer",1,"char const *");
+    if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::EventConsumer",2,"char const *");
+    if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("EventConsumer::EventConsumer",3,"int");
+    if(lua_gettop(L)>=1){
+      arg1 = (char *)lua_tostring(L, 1);
+    }
+    if(lua_gettop(L)>=2){
+      arg2 = (char *)lua_tostring(L, 2);
+    }
+    if(lua_gettop(L)>=3){
+      arg3 = (int)lua_tonumber(L, 3);
+    }
+    result = (EventConsumer *)new EventConsumer((char const *)arg1,(char const *)arg2,arg3);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_EventConsumer,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (EventConsumer *)new EventConsumer((char const *)arg1,(char const *)arg2,arg3);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_EventConsumer,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_bind(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) "" ;
-  int result;
-  
-  SWIG_check_num_args("EventConsumer::bind",2,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::bind",1,"EventConsumer *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::bind",2,"char const *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("EventConsumer::bind",3,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_bind",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) "" ;
+    int result;
+    
+    SWIG_check_num_args("EventConsumer::bind",2,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::bind",1,"EventConsumer *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("EventConsumer::bind",2,"char const *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("EventConsumer::bind",3,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_bind",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    result = (int)(arg1)->bind((char const *)arg2,(char const *)arg3);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->bind((char const *)arg2,(char const *)arg3);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_pop(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  int arg2 = (int) 0 ;
-  int arg3 = (int) 0 ;
-  Event *result = 0 ;
-  
-  SWIG_check_num_args("EventConsumer::pop",1,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::pop",1,"EventConsumer *");
-  if(lua_gettop(L)>=2 && !lua_isnumber(L,2)) SWIG_fail_arg("EventConsumer::pop",2,"int");
-  if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("EventConsumer::pop",3,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_pop",1,SWIGTYPE_p_EventConsumer);
-  }
-  
-  if(lua_gettop(L)>=2){
-    arg2 = (int)lua_tonumber(L, 2);
-  }
-  if(lua_gettop(L)>=3){
-    arg3 = (int)lua_tonumber(L, 3);
-  }
-  result = (Event *)(arg1)->pop(arg2,arg3);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_Event,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    int arg2 = (int) 0 ;
+    int arg3 = (int) 0 ;
+    Event *result = 0 ;
+    
+    SWIG_check_num_args("EventConsumer::pop",1,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::pop",1,"EventConsumer *");
+    if(lua_gettop(L)>=2 && !lua_isnumber(L,2)) SWIG_fail_arg("EventConsumer::pop",2,"int");
+    if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("EventConsumer::pop",3,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_pop",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    if(lua_gettop(L)>=2){
+      arg2 = (int)lua_tonumber(L, 2);
+    }
+    if(lua_gettop(L)>=3){
+      arg3 = (int)lua_tonumber(L, 3);
+    }
+    result = (Event *)(arg1)->pop(arg2,arg3);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_Event,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_EventConsumer_cleanup(lua_State* L) {
-  int SWIG_arg = 0;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  
-  SWIG_check_num_args("EventConsumer::cleanup",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::cleanup",1,"EventConsumer *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
-    SWIG_fail_ptr("EventConsumer_cleanup",1,SWIGTYPE_p_EventConsumer);
+  {
+    int SWIG_arg = 0;
+    EventConsumer *arg1 = (EventConsumer *) 0 ;
+    
+    SWIG_check_num_args("EventConsumer::cleanup",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("EventConsumer::cleanup",1,"EventConsumer *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_EventConsumer,0))){
+      SWIG_fail_ptr("EventConsumer_cleanup",1,SWIGTYPE_p_EventConsumer);
+    }
+    
+    (arg1)->cleanup();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->cleanup();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -5637,1264 +5701,1264 @@ static const char *swig_EventConsumer_base_names[] = {0};
 static swig_lua_class _wrap_class_EventConsumer = { "EventConsumer", "EventConsumer", &SWIGTYPE_p_EventConsumer,_proxy__wrap_new_EventConsumer, swig_delete_EventConsumer, swig_EventConsumer_methods, swig_EventConsumer_attributes, &swig_EventConsumer_Sf_SwigStatic, swig_EventConsumer_meta, swig_EventConsumer_bases, swig_EventConsumer_base_names };
 
 static int _wrap_CoreSession_session_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::session",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::session",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::session",2,"switch_core_session_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_session_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_DISOWN))){
-    SWIG_fail_ptr("CoreSession_session_set",2,SWIGTYPE_p_switch_core_session_t);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::session",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::session",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::session",2,"switch_core_session_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_session_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_core_session_t,SWIG_POINTER_DISOWN))){
+      SWIG_fail_ptr("CoreSession_session_set",2,SWIGTYPE_p_switch_core_session_t);
+    }
+    
+    if (arg1) (arg1)->session = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  if (arg1) (arg1)->session = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_session_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_core_session_t *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::session",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::session",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_session_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_core_session_t *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::session",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::session",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_session_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (switch_core_session_t *) ((arg1)->session);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_core_session_t,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (switch_core_session_t *) ((arg1)->session);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_core_session_t,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_channel_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::channel",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::channel",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::channel",2,"switch_channel_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_channel_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_channel_t,SWIG_POINTER_DISOWN))){
-    SWIG_fail_ptr("CoreSession_channel_set",2,SWIGTYPE_p_switch_channel_t);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_channel_t *arg2 = (switch_channel_t *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::channel",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::channel",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::channel",2,"switch_channel_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_channel_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_switch_channel_t,SWIG_POINTER_DISOWN))){
+      SWIG_fail_ptr("CoreSession_channel_set",2,SWIGTYPE_p_switch_channel_t);
+    }
+    
+    if (arg1) (arg1)->channel = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  if (arg1) (arg1)->channel = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_channel_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_t *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::channel",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::channel",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_channel_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_channel_t *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::channel",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::channel",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_channel_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (switch_channel_t *) ((arg1)->channel);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_channel_t,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (switch_channel_t *) ((arg1)->channel);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_channel_t,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_flags_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  unsigned int arg2 ;
-  
-  SWIG_check_num_args("CoreSession::flags",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flags",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::flags",2,"unsigned int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_flags_set",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    unsigned int arg2 ;
+    
+    SWIG_check_num_args("CoreSession::flags",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flags",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::flags",2,"unsigned int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_flags_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    SWIG_contract_assert((lua_tonumber(L,2)>=0),"number must not be negative");
+    arg2 = (unsigned int)lua_tonumber(L, 2);
+    if (arg1) (arg1)->flags = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  SWIG_contract_assert((lua_tonumber(L,2)>=0),"number must not be negative")
-  arg2 = (unsigned int)lua_tonumber(L, 2);
-  if (arg1) (arg1)->flags = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_flags_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  unsigned int result;
-  
-  SWIG_check_num_args("CoreSession::flags",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flags",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_flags_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    unsigned int result;
+    
+    SWIG_check_num_args("CoreSession::flags",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flags",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_flags_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (unsigned int) ((arg1)->flags);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (unsigned int) ((arg1)->flags);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_allocated_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  
-  SWIG_check_num_args("CoreSession::allocated",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::allocated",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::allocated",2,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_allocated_set",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    
+    SWIG_check_num_args("CoreSession::allocated",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::allocated",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::allocated",2,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_allocated_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    if (arg1) (arg1)->allocated = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  if (arg1) (arg1)->allocated = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_allocated_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::allocated",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::allocated",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_allocated_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::allocated",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::allocated",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_allocated_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (int) ((arg1)->allocated);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (int) ((arg1)->allocated);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_cb_state_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  input_callback_state *arg2 = (input_callback_state *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::cb_state",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cb_state",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::cb_state",2,"input_callback_state *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_cb_state_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_input_callback_state,0))){
-    SWIG_fail_ptr("CoreSession_cb_state_set",2,SWIGTYPE_p_input_callback_state);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    input_callback_state *arg2 = (input_callback_state *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::cb_state",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cb_state",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::cb_state",2,"input_callback_state *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_cb_state_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_input_callback_state,0))){
+      SWIG_fail_ptr("CoreSession_cb_state_set",2,SWIGTYPE_p_input_callback_state);
+    }
+    
+    if (arg1) (arg1)->cb_state = *arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  if (arg1) (arg1)->cb_state = *arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_cb_state_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  input_callback_state *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::cb_state",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cb_state",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_cb_state_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    input_callback_state *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::cb_state",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cb_state",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_cb_state_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (input_callback_state *)& ((arg1)->cb_state);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_input_callback_state,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (input_callback_state *)& ((arg1)->cb_state);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_input_callback_state,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_hook_state_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_state_t arg2 ;
-  switch_channel_state_t *argp2 ;
-  
-  SWIG_check_num_args("CoreSession::hook_state",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hook_state",1,"CoreSession *");
-  if(!lua_isuserdata(L,2)) SWIG_fail_arg("CoreSession::hook_state",2,"switch_channel_state_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_hook_state_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_channel_state_t,0))){
-    SWIG_fail_ptr("CoreSession_hook_state_set",2,SWIGTYPE_p_switch_channel_state_t);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_channel_state_t arg2 ;
+    switch_channel_state_t *argp2 ;
+    
+    SWIG_check_num_args("CoreSession::hook_state",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hook_state",1,"CoreSession *");
+    if(!lua_isuserdata(L,2)) SWIG_fail_arg("CoreSession::hook_state",2,"switch_channel_state_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_hook_state_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_channel_state_t,0))){
+      SWIG_fail_ptr("CoreSession_hook_state_set",2,SWIGTYPE_p_switch_channel_state_t);
+    }
+    arg2 = *argp2;
+    
+    if (arg1) (arg1)->hook_state = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  arg2 = *argp2;
-  
-  if (arg1) (arg1)->hook_state = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_hook_state_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_state_t result;
-  
-  SWIG_check_num_args("CoreSession::hook_state",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hook_state",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_hook_state_get",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  result =  ((arg1)->hook_state);
   {
-    switch_channel_state_t * resultptr = new switch_channel_state_t((const switch_channel_state_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_channel_state_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_channel_state_t result;
+    
+    SWIG_check_num_args("CoreSession::hook_state",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hook_state",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_hook_state_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result =  ((arg1)->hook_state);
+    {
+      switch_channel_state_t * resultptr = new switch_channel_state_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_channel_state_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_cause_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_call_cause_t arg2 ;
-  switch_call_cause_t *argp2 ;
-  
-  SWIG_check_num_args("CoreSession::cause",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cause",1,"CoreSession *");
-  if(!lua_isuserdata(L,2)) SWIG_fail_arg("CoreSession::cause",2,"switch_call_cause_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_cause_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_call_cause_t,0))){
-    SWIG_fail_ptr("CoreSession_cause_set",2,SWIGTYPE_p_switch_call_cause_t);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_call_cause_t arg2 ;
+    switch_call_cause_t *argp2 ;
+    
+    SWIG_check_num_args("CoreSession::cause",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cause",1,"CoreSession *");
+    if(!lua_isuserdata(L,2)) SWIG_fail_arg("CoreSession::cause",2,"switch_call_cause_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_cause_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&argp2,SWIGTYPE_p_switch_call_cause_t,0))){
+      SWIG_fail_ptr("CoreSession_cause_set",2,SWIGTYPE_p_switch_call_cause_t);
+    }
+    arg2 = *argp2;
+    
+    if (arg1) (arg1)->cause = arg2;
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  arg2 = *argp2;
-  
-  if (arg1) (arg1)->cause = arg2;
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_cause_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_call_cause_t result;
-  
-  SWIG_check_num_args("CoreSession::cause",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cause",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_cause_get",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  result =  ((arg1)->cause);
   {
-    switch_call_cause_t * resultptr = new switch_call_cause_t((const switch_call_cause_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_call_cause_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_call_cause_t result;
+    
+    SWIG_check_num_args("CoreSession::cause",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::cause",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_cause_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result =  ((arg1)->cause);
+    {
+      switch_call_cause_t * resultptr = new switch_call_cause_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_call_cause_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_uuid_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::uuid",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::uuid",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::uuid",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_uuid_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->uuid;
-    if (arg2) {
-      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->uuid, (const char *)arg2);
-    } else {
-      arg1->uuid = 0;
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::uuid",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::uuid",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::uuid",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_uuid_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->uuid;
+      if (arg2) {
+        arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->uuid, (const char *)arg2);
+      } else {
+        arg1->uuid = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_uuid_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::uuid",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::uuid",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_uuid_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::uuid",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::uuid",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_uuid_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (char *) ((arg1)->uuid);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->uuid);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_tts_name_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::tts_name",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::tts_name",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::tts_name",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_tts_name_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->tts_name;
-    if (arg2) {
-      arg1->tts_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->tts_name, (const char *)arg2);
-    } else {
-      arg1->tts_name = 0;
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::tts_name",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::tts_name",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::tts_name",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_tts_name_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->tts_name;
+      if (arg2) {
+        arg1->tts_name = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->tts_name, (const char *)arg2);
+      } else {
+        arg1->tts_name = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_tts_name_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::tts_name",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::tts_name",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_tts_name_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::tts_name",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::tts_name",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_tts_name_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (char *) ((arg1)->tts_name);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->tts_name);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_voice_name_set(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::voice_name",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::voice_name",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::voice_name",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_voice_name_set",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->voice_name;
-    if (arg2) {
-      arg1->voice_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->voice_name, (const char *)arg2);
-    } else {
-      arg1->voice_name = 0;
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::voice_name",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::voice_name",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::voice_name",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_voice_name_set",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->voice_name;
+      if (arg2) {
+        arg1->voice_name = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->voice_name, (const char *)arg2);
+      } else {
+        arg1->voice_name = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_voice_name_get(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::voice_name",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::voice_name",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_voice_name_get",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::voice_name",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::voice_name",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_voice_name_get",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (char *) ((arg1)->voice_name);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->voice_name);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_insertFile(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::insertFile",4,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::insertFile",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::insertFile",2,"char const *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::insertFile",3,"char const *");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::insertFile",4,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_insertFile",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::insertFile",4,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::insertFile",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::insertFile",2,"char const *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::insertFile",3,"char const *");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::insertFile",4,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_insertFile",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    result = (int)(arg1)->insertFile((char const *)arg2,(char const *)arg3,arg4);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  result = (int)(arg1)->insertFile((char const *)arg2,(char const *)arg3,arg4);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_answer(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::answer",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::answer",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_answer",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::answer",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::answer",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_answer",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (int)(arg1)->answer();
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (int)(arg1)->answer();
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_print(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::print",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::print",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::print",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_print",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::print",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::print",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::print",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_print",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (int)(arg1)->print(arg2);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (int)(arg1)->print(arg2);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_preAnswer(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::preAnswer",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::preAnswer",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_preAnswer",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::preAnswer",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::preAnswer",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_preAnswer",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (int)(arg1)->preAnswer();
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (int)(arg1)->preAnswer();
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_hangup(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) "normal_clearing" ;
-  
-  SWIG_check_num_args("CoreSession::hangup",1,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hangup",1,"CoreSession *");
-  if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::hangup",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_hangup",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  if(lua_gettop(L)>=2){
-    arg2 = (char *)lua_tostring(L, 2);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) "normal_clearing" ;
+    
+    SWIG_check_num_args("CoreSession::hangup",1,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hangup",1,"CoreSession *");
+    if(lua_gettop(L)>=2 && !SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::hangup",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_hangup",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    if(lua_gettop(L)>=2){
+      arg2 = (char *)lua_tostring(L, 2);
+    }
+    (arg1)->hangup((char const *)arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  (arg1)->hangup((char const *)arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_hangupState(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::hangupState",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hangupState",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_hangupState",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::hangupState",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hangupState",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_hangupState",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    (arg1)->hangupState();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->hangupState();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_setVariable(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::setVariable",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setVariable",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::setVariable",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::setVariable",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_setVariable",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::setVariable",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setVariable",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::setVariable",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::setVariable",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_setVariable",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->setVariable(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->setVariable(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_setPrivate(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = (void *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::setPrivate",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setPrivate",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::setPrivate",2,"char *");
-  if(!SWIG_isptrtype(L,3)) SWIG_fail_arg("CoreSession::setPrivate",3,"void *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_setPrivate",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    void *arg3 = (void *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::setPrivate",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setPrivate",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::setPrivate",2,"char *");
+    if(!SWIG_isptrtype(L,3)) SWIG_fail_arg("CoreSession::setPrivate",3,"void *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_setPrivate",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3=(void *)SWIG_MustGetPtr(L,3,0,0,3,"CoreSession_setPrivate");
+    (arg1)->setPrivate(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3=(void *)SWIG_MustGetPtr(L,3,0,0,3,"CoreSession_setPrivate");
-  (arg1)->setPrivate(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_getPrivate(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::getPrivate",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getPrivate",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::getPrivate",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_getPrivate",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    void *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::getPrivate",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getPrivate",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::getPrivate",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_getPrivate",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (void *)(arg1)->getPrivate(arg2);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (void *)(arg1)->getPrivate(arg2);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_void,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_getVariable(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::getVariable",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getVariable",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::getVariable",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_getVariable",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::getVariable",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getVariable",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::getVariable",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_getVariable",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (char *)(arg1)->getVariable(arg2);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (char *)(arg1)->getVariable(arg2);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_process_callback_result(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  SWIG_check_num_args("CoreSession::process_callback_result",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::process_callback_result",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::process_callback_result",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_process_callback_result",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (arg1)->process_callback_result(arg2);
   {
-    switch_status_t * resultptr = new switch_status_t((const switch_status_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    switch_status_t result;
+    
+    SWIG_check_num_args("CoreSession::process_callback_result",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::process_callback_result",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::process_callback_result",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_process_callback_result",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (arg1)->process_callback_result(arg2);
+    {
+      switch_status_t * resultptr = new switch_status_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_say(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) NULL ;
-  
-  SWIG_check_num_args("CoreSession::say",5,6)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::say",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::say",2,"char const *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::say",3,"char const *");
-  if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::say",4,"char const *");
-  if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("CoreSession::say",5,"char const *");
-  if(lua_gettop(L)>=6 && !SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::say",6,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_say",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (char *)lua_tostring(L, 4);
-  arg5 = (char *)lua_tostring(L, 5);
-  if(lua_gettop(L)>=6){
-    arg6 = (char *)lua_tostring(L, 6);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    char *arg4 = (char *) 0 ;
+    char *arg5 = (char *) 0 ;
+    char *arg6 = (char *) NULL ;
+    
+    SWIG_check_num_args("CoreSession::say",5,6)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::say",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::say",2,"char const *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::say",3,"char const *");
+    if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::say",4,"char const *");
+    if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("CoreSession::say",5,"char const *");
+    if(lua_gettop(L)>=6 && !SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::say",6,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_say",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (char *)lua_tostring(L, 4);
+    arg5 = (char *)lua_tostring(L, 5);
+    if(lua_gettop(L)>=6){
+      arg6 = (char *)lua_tostring(L, 6);
+    }
+    (arg1)->say((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  (arg1)->say((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_sayPhrase(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) "" ;
-  char *arg4 = (char *) NULL ;
-  
-  SWIG_check_num_args("CoreSession::sayPhrase",2,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::sayPhrase",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::sayPhrase",2,"char const *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::sayPhrase",3,"char const *");
-  if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::sayPhrase",4,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_sayPhrase",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
-  }
-  if(lua_gettop(L)>=4){
-    arg4 = (char *)lua_tostring(L, 4);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) "" ;
+    char *arg4 = (char *) NULL ;
+    
+    SWIG_check_num_args("CoreSession::sayPhrase",2,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::sayPhrase",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::sayPhrase",2,"char const *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::sayPhrase",3,"char const *");
+    if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::sayPhrase",4,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_sayPhrase",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    if(lua_gettop(L)>=4){
+      arg4 = (char *)lua_tostring(L, 4);
+    }
+    (arg1)->sayPhrase((char const *)arg2,(char const *)arg3,(char const *)arg4);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  (arg1)->sayPhrase((char const *)arg2,(char const *)arg3,(char const *)arg4);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_hangupCause(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::hangupCause",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hangupCause",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_hangupCause",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::hangupCause",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::hangupCause",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_hangupCause",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (char *)(arg1)->hangupCause();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->hangupCause();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_getState(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::getState",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getState",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_getState",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::getState",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getState",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_getState",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (char *)(arg1)->getState();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->getState();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_recordFile(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 = (int) 0 ;
-  int arg4 = (int) 0 ;
-  int arg5 = (int) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::recordFile",2,5)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::recordFile",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::recordFile",2,"char *");
-  if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::recordFile",3,"int");
-  if(lua_gettop(L)>=4 && !lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::recordFile",4,"int");
-  if(lua_gettop(L)>=5 && !lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::recordFile",5,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_recordFile",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (int)lua_tonumber(L, 3);
-  }
-  if(lua_gettop(L)>=4){
-    arg4 = (int)lua_tonumber(L, 4);
-  }
-  if(lua_gettop(L)>=5){
-    arg5 = (int)lua_tonumber(L, 5);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    int arg3 = (int) 0 ;
+    int arg4 = (int) 0 ;
+    int arg5 = (int) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::recordFile",2,5)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::recordFile",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::recordFile",2,"char *");
+    if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::recordFile",3,"int");
+    if(lua_gettop(L)>=4 && !lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::recordFile",4,"int");
+    if(lua_gettop(L)>=5 && !lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::recordFile",5,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_recordFile",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (int)lua_tonumber(L, 3);
+    }
+    if(lua_gettop(L)>=4){
+      arg4 = (int)lua_tonumber(L, 4);
+    }
+    if(lua_gettop(L)>=5){
+      arg5 = (int)lua_tonumber(L, 5);
+    }
+    result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_originate(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 = (int) 60 ;
-  switch_state_handler_table_t *arg5 = (switch_state_handler_table_t *) NULL ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::originate",3,5)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::originate",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::originate",2,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::originate",3,"char *");
-  if(lua_gettop(L)>=4 && !lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::originate",4,"int");
-  if(lua_gettop(L)>=5 && !SWIG_isptrtype(L,5)) SWIG_fail_arg("CoreSession::originate",5,"switch_state_handler_table_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_originate",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_originate",2,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg3 = (char *)lua_tostring(L, 3);
-  if(lua_gettop(L)>=4){
-    arg4 = (int)lua_tonumber(L, 4);
-  }
-  if(lua_gettop(L)>=5){
-    if (!SWIG_IsOK(SWIG_ConvertPtr(L,5,(void**)&arg5,SWIGTYPE_p_switch_state_handler_table_t,0))){
-      SWIG_fail_ptr("CoreSession_originate",5,SWIGTYPE_p_switch_state_handler_table_t);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    CoreSession *arg2 = (CoreSession *) 0 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 = (int) 60 ;
+    switch_state_handler_table_t *arg5 = (switch_state_handler_table_t *) NULL ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::originate",3,5)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::originate",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::originate",2,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::originate",3,"char *");
+    if(lua_gettop(L)>=4 && !lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::originate",4,"int");
+    if(lua_gettop(L)>=5 && !SWIG_isptrtype(L,5)) SWIG_fail_arg("CoreSession::originate",5,"switch_state_handler_table_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_originate",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_originate",2,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg3 = (char *)lua_tostring(L, 3);
+    if(lua_gettop(L)>=4){
+      arg4 = (int)lua_tonumber(L, 4);
+    }
+    if(lua_gettop(L)>=5){
+      if (!SWIG_IsOK(SWIG_ConvertPtr(L,5,(void**)&arg5,SWIGTYPE_p_switch_state_handler_table_t,0))){
+        SWIG_fail_ptr("CoreSession_originate",5,SWIGTYPE_p_switch_state_handler_table_t);
+      }
     }
+    result = (int)(arg1)->originate(arg2,arg3,arg4,arg5);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->originate(arg2,arg3,arg4,arg5);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_destroy(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::destroy",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::destroy",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_destroy",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::destroy",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::destroy",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_destroy",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    (arg1)->destroy();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->destroy();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_setDTMFCallback(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  void *arg2 = (void *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::setDTMFCallback",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setDTMFCallback",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::setDTMFCallback",2,"void *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::setDTMFCallback",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_setDTMFCallback",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    void *arg2 = (void *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::setDTMFCallback",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setDTMFCallback",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::setDTMFCallback",2,"void *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::setDTMFCallback",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_setDTMFCallback",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"CoreSession_setDTMFCallback");
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->setDTMFCallback(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"CoreSession_setDTMFCallback");
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->setDTMFCallback(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_speak(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::speak",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::speak",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::speak",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_speak",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::speak",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::speak",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::speak",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_speak",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (int)(arg1)->speak(arg2);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (int)(arg1)->speak(arg2);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_set_tts_parms(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::set_tts_parms",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::set_tts_parms",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::set_tts_parms",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::set_tts_parms",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_set_tts_parms",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::set_tts_parms",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::set_tts_parms",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::set_tts_parms",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::set_tts_parms",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_set_tts_parms",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->set_tts_parms(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->set_tts_parms(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_set_tts_params(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::set_tts_params",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::set_tts_params",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::set_tts_params",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::set_tts_params",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_set_tts_params",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::set_tts_params",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::set_tts_params",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::set_tts_params",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::set_tts_params",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_set_tts_params",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->set_tts_params(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->set_tts_params(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_collectDigits__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::collectDigits",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::collectDigits",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::collectDigits",2,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_collectDigits",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::collectDigits",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::collectDigits",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::collectDigits",2,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_collectDigits",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    result = (int)(arg1)->collectDigits(arg2);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  result = (int)(arg1)->collectDigits(arg2);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_collectDigits__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int arg3 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::collectDigits",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::collectDigits",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::collectDigits",2,"int");
-  if(!lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::collectDigits",3,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_collectDigits",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::collectDigits",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::collectDigits",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::collectDigits",2,"int");
+    if(!lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::collectDigits",3,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_collectDigits",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    arg3 = (int)lua_tonumber(L, 3);
+    result = (int)(arg1)->collectDigits(arg2,arg3);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  arg3 = (int)lua_tonumber(L, 3);
-  result = (int)(arg1)->collectDigits(arg2,arg3);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -6906,7 +6970,7 @@ static int _wrap_CoreSession_collectDigits(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_CoreSession, 0)) {
@@ -6925,7 +6989,7 @@ static int _wrap_CoreSession_collectDigits(lua_State* L) {
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_CoreSession, 0)) {
@@ -6958,110 +7022,110 @@ static int _wrap_CoreSession_collectDigits(lua_State* L) {
 
 
 static int _wrap_CoreSession_getDigits__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::getDigits",4,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getDigits",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::getDigits",2,"int");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::getDigits",3,"char *");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::getDigits",4,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_getDigits",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::getDigits",4,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getDigits",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::getDigits",2,"int");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::getDigits",3,"char *");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::getDigits",4,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_getDigits",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    result = (char *)(arg1)->getDigits(arg2,arg3,arg4);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  result = (char *)(arg1)->getDigits(arg2,arg3,arg4);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_getDigits__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  int arg5 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::getDigits",5,5)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getDigits",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::getDigits",2,"int");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::getDigits",3,"char *");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::getDigits",4,"int");
-  if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::getDigits",5,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_getDigits",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 ;
+    int arg5 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::getDigits",5,5)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getDigits",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::getDigits",2,"int");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::getDigits",3,"char *");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::getDigits",4,"int");
+    if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::getDigits",5,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_getDigits",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    arg5 = (int)lua_tonumber(L, 5);
+    result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  arg5 = (int)lua_tonumber(L, 5);
-  result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_getDigits__SWIG_2(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  int arg5 ;
-  int arg6 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::getDigits",6,6)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getDigits",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::getDigits",2,"int");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::getDigits",3,"char *");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::getDigits",4,"int");
-  if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::getDigits",5,"int");
-  if(!lua_isnumber(L,6)) SWIG_fail_arg("CoreSession::getDigits",6,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_getDigits",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 ;
+    int arg5 ;
+    int arg6 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::getDigits",6,6)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getDigits",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::getDigits",2,"int");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::getDigits",3,"char *");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::getDigits",4,"int");
+    if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::getDigits",5,"int");
+    if(!lua_isnumber(L,6)) SWIG_fail_arg("CoreSession::getDigits",6,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_getDigits",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    arg5 = (int)lua_tonumber(L, 5);
+    arg6 = (int)lua_tonumber(L, 6);
+    result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5,arg6);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  arg5 = (int)lua_tonumber(L, 5);
-  arg6 = (int)lua_tonumber(L, 6);
-  result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5,arg6);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -7073,7 +7137,7 @@ static int _wrap_CoreSession_getDigits(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 4) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_CoreSession, 0)) {
@@ -7102,7 +7166,7 @@ static int _wrap_CoreSession_getDigits(lua_State* L) {
     }
   }
   if (argc == 5) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_CoreSession, 0)) {
@@ -7136,7 +7200,7 @@ static int _wrap_CoreSession_getDigits(lua_State* L) {
     }
   }
   if (argc == 6) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_CoreSession, 0)) {
@@ -7185,852 +7249,852 @@ static int _wrap_CoreSession_getDigits(lua_State* L) {
 
 
 static int _wrap_CoreSession_transfer(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  char *arg4 = (char *) NULL ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::transfer",2,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::transfer",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::transfer",2,"char *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::transfer",3,"char *");
-  if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::transfer",4,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_transfer",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
-  }
-  if(lua_gettop(L)>=4){
-    arg4 = (char *)lua_tostring(L, 4);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) NULL ;
+    char *arg4 = (char *) NULL ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::transfer",2,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::transfer",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::transfer",2,"char *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::transfer",3,"char *");
+    if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::transfer",4,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_transfer",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    if(lua_gettop(L)>=4){
+      arg4 = (char *)lua_tostring(L, 4);
+    }
+    result = (int)(arg1)->transfer(arg2,arg3,arg4);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->transfer(arg2,arg3,arg4);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_read(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int arg3 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  char *arg6 = (char *) 0 ;
-  int arg7 = (int) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::read",6,7)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::read",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::read",2,"int");
-  if(!lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::read",3,"int");
-  if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::read",4,"char const *");
-  if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::read",5,"int");
-  if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::read",6,"char const *");
-  if(lua_gettop(L)>=7 && !lua_isnumber(L,7)) SWIG_fail_arg("CoreSession::read",7,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_read",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    char *arg4 = (char *) 0 ;
+    int arg5 ;
+    char *arg6 = (char *) 0 ;
+    int arg7 = (int) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::read",6,7)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::read",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::read",2,"int");
+    if(!lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::read",3,"int");
+    if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::read",4,"char const *");
+    if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::read",5,"int");
+    if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::read",6,"char const *");
+    if(lua_gettop(L)>=7 && !lua_isnumber(L,7)) SWIG_fail_arg("CoreSession::read",7,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_read",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    arg3 = (int)lua_tonumber(L, 3);
+    arg4 = (char *)lua_tostring(L, 4);
+    arg5 = (int)lua_tonumber(L, 5);
+    arg6 = (char *)lua_tostring(L, 6);
+    if(lua_gettop(L)>=7){
+      arg7 = (int)lua_tonumber(L, 7);
+    }
+    result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6,arg7);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  arg3 = (int)lua_tonumber(L, 3);
-  arg4 = (char *)lua_tostring(L, 4);
-  arg5 = (int)lua_tonumber(L, 5);
-  arg6 = (char *)lua_tostring(L, 6);
-  if(lua_gettop(L)>=7){
-    arg7 = (int)lua_tonumber(L, 7);
-  }
-  result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6,arg7);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_detectSpeech(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  char *arg4 = (char *) NULL ;
-  char *arg5 = (char *) NULL ;
-  
-  SWIG_check_num_args("CoreSession::detectSpeech",2,5)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::detectSpeech",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::detectSpeech",2,"char *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::detectSpeech",3,"char *");
-  if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::detectSpeech",4,"char *");
-  if(lua_gettop(L)>=5 && !SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("CoreSession::detectSpeech",5,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_detectSpeech",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
-  }
-  if(lua_gettop(L)>=4){
-    arg4 = (char *)lua_tostring(L, 4);
-  }
-  if(lua_gettop(L)>=5){
-    arg5 = (char *)lua_tostring(L, 5);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) NULL ;
+    char *arg4 = (char *) NULL ;
+    char *arg5 = (char *) NULL ;
+    
+    SWIG_check_num_args("CoreSession::detectSpeech",2,5)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::detectSpeech",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::detectSpeech",2,"char *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::detectSpeech",3,"char *");
+    if(lua_gettop(L)>=4 && !SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::detectSpeech",4,"char *");
+    if(lua_gettop(L)>=5 && !SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("CoreSession::detectSpeech",5,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_detectSpeech",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    if(lua_gettop(L)>=4){
+      arg4 = (char *)lua_tostring(L, 4);
+    }
+    if(lua_gettop(L)>=5){
+      arg5 = (char *)lua_tostring(L, 5);
+    }
+    (arg1)->detectSpeech(arg2,arg3,arg4,arg5);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  (arg1)->detectSpeech(arg2,arg3,arg4,arg5);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_playAndGetDigits(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int arg3 ;
-  int arg4 ;
-  int arg5 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  char *arg9 = (char *) 0 ;
-  char *arg10 = (char *) NULL ;
-  int arg11 = (int) 0 ;
-  char *arg12 = (char *) NULL ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::playAndGetDigits",9,12)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::playAndGetDigits",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::playAndGetDigits",2,"int");
-  if(!lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::playAndGetDigits",3,"int");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::playAndGetDigits",4,"int");
-  if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::playAndGetDigits",5,"int");
-  if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::playAndGetDigits",6,"char *");
-  if(!SWIG_lua_isnilstring(L,7)) SWIG_fail_arg("CoreSession::playAndGetDigits",7,"char *");
-  if(!SWIG_lua_isnilstring(L,8)) SWIG_fail_arg("CoreSession::playAndGetDigits",8,"char *");
-  if(!SWIG_lua_isnilstring(L,9)) SWIG_fail_arg("CoreSession::playAndGetDigits",9,"char *");
-  if(lua_gettop(L)>=10 && !SWIG_lua_isnilstring(L,10)) SWIG_fail_arg("CoreSession::playAndGetDigits",10,"char const *");
-  if(lua_gettop(L)>=11 && !lua_isnumber(L,11)) SWIG_fail_arg("CoreSession::playAndGetDigits",11,"int");
-  if(lua_gettop(L)>=12 && !SWIG_lua_isnilstring(L,12)) SWIG_fail_arg("CoreSession::playAndGetDigits",12,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_playAndGetDigits",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  arg3 = (int)lua_tonumber(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  arg5 = (int)lua_tonumber(L, 5);
-  arg6 = (char *)lua_tostring(L, 6);
-  arg7 = (char *)lua_tostring(L, 7);
-  arg8 = (char *)lua_tostring(L, 8);
-  arg9 = (char *)lua_tostring(L, 9);
-  if(lua_gettop(L)>=10){
-    arg10 = (char *)lua_tostring(L, 10);
-  }
-  if(lua_gettop(L)>=11){
-    arg11 = (int)lua_tonumber(L, 11);
-  }
-  if(lua_gettop(L)>=12){
-    arg12 = (char *)lua_tostring(L, 12);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    int arg5 ;
+    char *arg6 = (char *) 0 ;
+    char *arg7 = (char *) 0 ;
+    char *arg8 = (char *) 0 ;
+    char *arg9 = (char *) 0 ;
+    char *arg10 = (char *) NULL ;
+    int arg11 = (int) 0 ;
+    char *arg12 = (char *) NULL ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::playAndGetDigits",9,12)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::playAndGetDigits",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::playAndGetDigits",2,"int");
+    if(!lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::playAndGetDigits",3,"int");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("CoreSession::playAndGetDigits",4,"int");
+    if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::playAndGetDigits",5,"int");
+    if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::playAndGetDigits",6,"char *");
+    if(!SWIG_lua_isnilstring(L,7)) SWIG_fail_arg("CoreSession::playAndGetDigits",7,"char *");
+    if(!SWIG_lua_isnilstring(L,8)) SWIG_fail_arg("CoreSession::playAndGetDigits",8,"char *");
+    if(!SWIG_lua_isnilstring(L,9)) SWIG_fail_arg("CoreSession::playAndGetDigits",9,"char *");
+    if(lua_gettop(L)>=10 && !SWIG_lua_isnilstring(L,10)) SWIG_fail_arg("CoreSession::playAndGetDigits",10,"char const *");
+    if(lua_gettop(L)>=11 && !lua_isnumber(L,11)) SWIG_fail_arg("CoreSession::playAndGetDigits",11,"int");
+    if(lua_gettop(L)>=12 && !SWIG_lua_isnilstring(L,12)) SWIG_fail_arg("CoreSession::playAndGetDigits",12,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_playAndGetDigits",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    arg3 = (int)lua_tonumber(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    arg5 = (int)lua_tonumber(L, 5);
+    arg6 = (char *)lua_tostring(L, 6);
+    arg7 = (char *)lua_tostring(L, 7);
+    arg8 = (char *)lua_tostring(L, 8);
+    arg9 = (char *)lua_tostring(L, 9);
+    if(lua_gettop(L)>=10){
+      arg10 = (char *)lua_tostring(L, 10);
+    }
+    if(lua_gettop(L)>=11){
+      arg11 = (int)lua_tonumber(L, 11);
+    }
+    if(lua_gettop(L)>=12){
+      arg12 = (char *)lua_tostring(L, 12);
+    }
+    result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,(char const *)arg10,arg11,(char const *)arg12);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,(char const *)arg10,arg11,(char const *)arg12);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_playAndDetectSpeech(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::playAndDetectSpeech",4,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",3,"char *");
-  if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",4,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_playAndDetectSpeech",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    char *arg4 = (char *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::playAndDetectSpeech",4,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",3,"char *");
+    if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::playAndDetectSpeech",4,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_playAndDetectSpeech",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (char *)lua_tostring(L, 4);
+    result = (char *)(arg1)->playAndDetectSpeech(arg2,arg3,arg4);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    free(result);
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (char *)lua_tostring(L, 4);
-  result = (char *)(arg1)->playAndDetectSpeech(arg2,arg3,arg4);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  free(result);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_streamFile(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 = (int) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::streamFile",2,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::streamFile",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::streamFile",2,"char *");
-  if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::streamFile",3,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_streamFile",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (int)lua_tonumber(L, 3);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    int arg3 = (int) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::streamFile",2,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::streamFile",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::streamFile",2,"char *");
+    if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::streamFile",3,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_streamFile",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (int)lua_tonumber(L, 3);
+    }
+    result = (int)(arg1)->streamFile(arg2,arg3);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->streamFile(arg2,arg3);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_sleep(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int arg3 = (int) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::sleep",2,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::sleep",1,"CoreSession *");
-  if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::sleep",2,"int");
-  if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::sleep",3,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_sleep",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (int)lua_tonumber(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (int)lua_tonumber(L, 3);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int arg2 ;
+    int arg3 = (int) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::sleep",2,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::sleep",1,"CoreSession *");
+    if(!lua_isnumber(L,2)) SWIG_fail_arg("CoreSession::sleep",2,"int");
+    if(lua_gettop(L)>=3 && !lua_isnumber(L,3)) SWIG_fail_arg("CoreSession::sleep",3,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_sleep",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (int)lua_tonumber(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (int)lua_tonumber(L, 3);
+    }
+    result = (int)(arg1)->sleep(arg2,arg3);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  result = (int)(arg1)->sleep(arg2,arg3);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_flushEvents(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::flushEvents",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flushEvents",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_flushEvents",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::flushEvents",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flushEvents",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_flushEvents",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (int)(arg1)->flushEvents();
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (int)(arg1)->flushEvents();
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_flushDigits(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::flushDigits",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flushDigits",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_flushDigits",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::flushDigits",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::flushDigits",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_flushDigits",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (int)(arg1)->flushDigits();
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (int)(arg1)->flushDigits();
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_setAutoHangup(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool arg2 ;
-  int result;
-  
-  SWIG_check_num_args("CoreSession::setAutoHangup",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setAutoHangup",1,"CoreSession *");
-  if(!lua_isboolean(L,2)) SWIG_fail_arg("CoreSession::setAutoHangup",2,"bool");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_setAutoHangup",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    bool arg2 ;
+    int result;
+    
+    SWIG_check_num_args("CoreSession::setAutoHangup",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setAutoHangup",1,"CoreSession *");
+    if(!lua_isboolean(L,2)) SWIG_fail_arg("CoreSession::setAutoHangup",2,"bool");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_setAutoHangup",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (lua_toboolean(L, 2)!=0);
+    result = (int)(arg1)->setAutoHangup(arg2);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (lua_toboolean(L, 2)!=0);
-  result = (int)(arg1)->setAutoHangup(arg2);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_setHangupHook(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::setHangupHook",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setHangupHook",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::setHangupHook",2,"void *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_setHangupHook",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    void *arg2 = (void *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::setHangupHook",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setHangupHook",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::setHangupHook",2,"void *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_setHangupHook",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"CoreSession_setHangupHook");
+    (arg1)->setHangupHook(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"CoreSession_setHangupHook");
-  (arg1)->setHangupHook(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_ready(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("CoreSession::ready",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::ready",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_ready",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("CoreSession::ready",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::ready",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_ready",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (bool)(arg1)->ready();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->ready();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_bridged(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("CoreSession::bridged",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::bridged",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_bridged",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("CoreSession::bridged",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::bridged",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_bridged",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (bool)(arg1)->bridged();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->bridged();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_answered(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("CoreSession::answered",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::answered",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_answered",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("CoreSession::answered",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::answered",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_answered",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (bool)(arg1)->answered();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->answered();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_mediaReady(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("CoreSession::mediaReady",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::mediaReady",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_mediaReady",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("CoreSession::mediaReady",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::mediaReady",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_mediaReady",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (bool)(arg1)->mediaReady();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->mediaReady();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_waitForAnswer(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::waitForAnswer",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::waitForAnswer",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::waitForAnswer",2,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_waitForAnswer",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_waitForAnswer",2,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    CoreSession *arg2 = (CoreSession *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::waitForAnswer",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::waitForAnswer",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::waitForAnswer",2,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_waitForAnswer",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_waitForAnswer",2,SWIGTYPE_p_CoreSession);
+    }
+    
+    (arg1)->waitForAnswer(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->waitForAnswer(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_execute(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  
-  SWIG_check_num_args("CoreSession::execute",2,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::execute",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::execute",2,"char const *");
-  if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::execute",3,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_execute",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
-    arg3 = (char *)lua_tostring(L, 3);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) NULL ;
+    
+    SWIG_check_num_args("CoreSession::execute",2,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::execute",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::execute",2,"char const *");
+    if(lua_gettop(L)>=3 && !SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::execute",3,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_execute",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      arg3 = (char *)lua_tostring(L, 3);
+    }
+    (arg1)->execute((char const *)arg2,(char const *)arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  (arg1)->execute((char const *)arg2,(char const *)arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_sendEvent(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  Event *arg2 = (Event *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::sendEvent",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::sendEvent",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::sendEvent",2,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_sendEvent",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("CoreSession_sendEvent",2,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    Event *arg2 = (Event *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::sendEvent",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::sendEvent",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::sendEvent",2,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_sendEvent",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("CoreSession_sendEvent",2,SWIGTYPE_p_Event);
+    }
+    
+    (arg1)->sendEvent(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->sendEvent(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_setEventData(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  Event *arg2 = (Event *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::setEventData",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setEventData",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::setEventData",2,"Event *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_setEventData",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_Event,0))){
-    SWIG_fail_ptr("CoreSession_setEventData",2,SWIGTYPE_p_Event);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    Event *arg2 = (Event *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::setEventData",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::setEventData",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::setEventData",2,"Event *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_setEventData",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_Event,0))){
+      SWIG_fail_ptr("CoreSession_setEventData",2,SWIGTYPE_p_Event);
+    }
+    
+    (arg1)->setEventData(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->setEventData(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_getXMLCDR(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::getXMLCDR",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getXMLCDR",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_getXMLCDR",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::getXMLCDR",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::getXMLCDR",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_getXMLCDR",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (char *)(arg1)->getXMLCDR();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)(arg1)->getXMLCDR();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_begin_allow_threads(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("CoreSession::begin_allow_threads",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::begin_allow_threads",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_begin_allow_threads",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("CoreSession::begin_allow_threads",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::begin_allow_threads",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_begin_allow_threads",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (bool)(arg1)->begin_allow_threads();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->begin_allow_threads();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_end_allow_threads(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("CoreSession::end_allow_threads",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::end_allow_threads",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_end_allow_threads",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("CoreSession::end_allow_threads",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::end_allow_threads",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_end_allow_threads",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (bool)(arg1)->end_allow_threads();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->end_allow_threads();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_get_uuid(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::get_uuid",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::get_uuid",1,"CoreSession const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_get_uuid",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::get_uuid",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::get_uuid",1,"CoreSession const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_get_uuid",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (char *)((CoreSession const *)arg1)->get_uuid();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *)((CoreSession const *)arg1)->get_uuid();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_get_cb_args(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_input_args_t *result = 0 ;
-  
-  SWIG_check_num_args("CoreSession::get_cb_args",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::get_cb_args",1,"CoreSession const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_get_cb_args",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    switch_input_args_t *result = 0 ;
+    
+    SWIG_check_num_args("CoreSession::get_cb_args",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::get_cb_args",1,"CoreSession const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_get_cb_args",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (switch_input_args_t *) &((CoreSession const *)arg1)->get_cb_args();
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_input_args_t,0); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (switch_input_args_t *) &((CoreSession const *)arg1)->get_cb_args();
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_switch_input_args_t,0); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_check_hangup_hook(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::check_hangup_hook",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::check_hangup_hook",1,"CoreSession *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_check_hangup_hook",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::check_hangup_hook",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::check_hangup_hook",1,"CoreSession *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_check_hangup_hook",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    (arg1)->check_hangup_hook();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->check_hangup_hook();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_run_dtmf_callback(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_input_type_t arg3 ;
-  switch_input_type_t *argp3 ;
-  switch_status_t result;
-  
-  SWIG_check_num_args("CoreSession::run_dtmf_callback",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::run_dtmf_callback",1,"CoreSession *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::run_dtmf_callback",2,"void *");
-  if(!lua_isuserdata(L,3)) SWIG_fail_arg("CoreSession::run_dtmf_callback",3,"switch_input_type_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_run_dtmf_callback",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"CoreSession_run_dtmf_callback");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,3,(void**)&argp3,SWIGTYPE_p_switch_input_type_t,0))){
-    SWIG_fail_ptr("CoreSession_run_dtmf_callback",3,SWIGTYPE_p_switch_input_type_t);
-  }
-  arg3 = *argp3;
-  
-  result = (arg1)->run_dtmf_callback(arg2,arg3);
   {
-    switch_status_t * resultptr = new switch_status_t((const switch_status_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    void *arg2 = (void *) 0 ;
+    switch_input_type_t arg3 ;
+    switch_input_type_t *argp3 ;
+    switch_status_t result;
+    
+    SWIG_check_num_args("CoreSession::run_dtmf_callback",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::run_dtmf_callback",1,"CoreSession *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("CoreSession::run_dtmf_callback",2,"void *");
+    if(!lua_isuserdata(L,3)) SWIG_fail_arg("CoreSession::run_dtmf_callback",3,"switch_input_type_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_run_dtmf_callback",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"CoreSession_run_dtmf_callback");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,3,(void**)&argp3,SWIGTYPE_p_switch_input_type_t,0))){
+      SWIG_fail_ptr("CoreSession_run_dtmf_callback",3,SWIGTYPE_p_switch_input_type_t);
+    }
+    arg3 = *argp3;
+    
+    result = (arg1)->run_dtmf_callback(arg2,arg3);
+    {
+      switch_status_t * resultptr = new switch_status_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_consoleLog(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::consoleLog",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::consoleLog",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::consoleLog",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::consoleLog",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_consoleLog",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::consoleLog",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::consoleLog",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::consoleLog",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::consoleLog",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_consoleLog",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->consoleLog(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->consoleLog(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_CoreSession_consoleLog2(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  char *arg6 = (char *) 0 ;
-  
-  SWIG_check_num_args("CoreSession::consoleLog2",6,6)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::consoleLog2",1,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::consoleLog2",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::consoleLog2",3,"char *");
-  if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::consoleLog2",4,"char *");
-  if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::consoleLog2",5,"int");
-  if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::consoleLog2",6,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("CoreSession_consoleLog2",1,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = (CoreSession *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    char *arg4 = (char *) 0 ;
+    int arg5 ;
+    char *arg6 = (char *) 0 ;
+    
+    SWIG_check_num_args("CoreSession::consoleLog2",6,6)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("CoreSession::consoleLog2",1,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("CoreSession::consoleLog2",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("CoreSession::consoleLog2",3,"char *");
+    if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("CoreSession::consoleLog2",4,"char *");
+    if(!lua_isnumber(L,5)) SWIG_fail_arg("CoreSession::consoleLog2",5,"int");
+    if(!SWIG_lua_isnilstring(L,6)) SWIG_fail_arg("CoreSession::consoleLog2",6,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("CoreSession_consoleLog2",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (char *)lua_tostring(L, 4);
+    arg5 = (int)lua_tonumber(L, 5);
+    arg6 = (char *)lua_tostring(L, 6);
+    (arg1)->consoleLog2(arg2,arg3,arg4,arg5,arg6);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (char *)lua_tostring(L, 4);
-  arg5 = (int)lua_tonumber(L, 5);
-  arg6 = (char *)lua_tostring(L, 6);
-  (arg1)->consoleLog2(arg2,arg3,arg4,arg5,arg6);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -8136,285 +8200,285 @@ static const char *swig_CoreSession_base_names[] = {0};
 static swig_lua_class _wrap_class_CoreSession = { "CoreSession", "CoreSession", &SWIGTYPE_p_CoreSession,0, swig_delete_CoreSession, swig_CoreSession_methods, swig_CoreSession_attributes, &swig_CoreSession_Sf_SwigStatic, swig_CoreSession_meta, swig_CoreSession_bases, swig_CoreSession_base_names };
 
 static int _wrap_console_log(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("console_log",2,2)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("console_log",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("console_log",2,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  console_log(arg1,arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("console_log",2,2)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("console_log",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("console_log",2,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    console_log(arg1,arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_console_log2(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  char *arg5 = (char *) 0 ;
-  
-  SWIG_check_num_args("console_log2",5,5)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("console_log2",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("console_log2",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("console_log2",3,"char *");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("console_log2",4,"int");
-  if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("console_log2",5,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  arg5 = (char *)lua_tostring(L, 5);
-  console_log2(arg1,arg2,arg3,arg4,arg5);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 ;
+    char *arg5 = (char *) 0 ;
+    
+    SWIG_check_num_args("console_log2",5,5)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("console_log2",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("console_log2",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("console_log2",3,"char *");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("console_log2",4,"int");
+    if(!SWIG_lua_isnilstring(L,5)) SWIG_fail_arg("console_log2",5,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    arg5 = (char *)lua_tostring(L, 5);
+    console_log2(arg1,arg2,arg3,arg4,arg5);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_console_clean_log(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  
-  SWIG_check_num_args("console_clean_log",1,1)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("console_clean_log",1,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  console_clean_log(arg1);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    
+    SWIG_check_num_args("console_clean_log",1,1)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("console_clean_log",1,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    console_clean_log(arg1);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_msleep(lua_State* L) {
-  int SWIG_arg = 0;
-  unsigned int arg1 ;
-  
-  SWIG_check_num_args("switch_msleep",1,1)
-  if(!lua_isnumber(L,1)) SWIG_fail_arg("switch_msleep",1,"unsigned int");
-  SWIG_contract_assert((lua_tonumber(L,1)>=0),"number must not be negative")
-  arg1 = (unsigned int)lua_tonumber(L, 1);
-  switch_msleep(arg1);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    unsigned int arg1 ;
+    
+    SWIG_check_num_args("switch_msleep",1,1)
+    if(!lua_isnumber(L,1)) SWIG_fail_arg("switch_msleep",1,"unsigned int");
+    SWIG_contract_assert((lua_tonumber(L,1)>=0),"number must not be negative");
+    arg1 = (unsigned int)lua_tonumber(L, 1);
+    switch_msleep(arg1);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_bridge(lua_State* L) {
-  int SWIG_arg = 0;
-  CoreSession *arg1 = 0 ;
-  CoreSession *arg2 = 0 ;
-  
-  SWIG_check_num_args("bridge",2,2)
-  if(!lua_isuserdata(L,1)) SWIG_fail_arg("bridge",1,"CoreSession &");
-  if(!lua_isuserdata(L,2)) SWIG_fail_arg("bridge",2,"CoreSession &");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("bridge",1,SWIGTYPE_p_CoreSession);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("bridge",2,SWIGTYPE_p_CoreSession);
-  }
-  
-  bridge(*arg1,*arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    CoreSession *arg1 = 0 ;
+    CoreSession *arg2 = 0 ;
+    
+    SWIG_check_num_args("bridge",2,2)
+    if(!lua_isuserdata(L,1)) SWIG_fail_arg("bridge",1,"CoreSession &");
+    if(!lua_isuserdata(L,2)) SWIG_fail_arg("bridge",2,"CoreSession &");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("bridge",1,SWIGTYPE_p_CoreSession);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("bridge",2,SWIGTYPE_p_CoreSession);
+    }
+    
+    bridge(*arg1,*arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_hanguphook(lua_State* L) {
-  int SWIG_arg = 0;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_status_t result;
-  
-  SWIG_check_num_args("hanguphook",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("hanguphook",1,"switch_core_session_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_core_session_t,0))){
-    SWIG_fail_ptr("hanguphook",1,SWIGTYPE_p_switch_core_session_t);
-  }
-  
-  result = hanguphook(arg1);
   {
-    switch_status_t * resultptr = new switch_status_t((const switch_status_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+    switch_status_t result;
+    
+    SWIG_check_num_args("hanguphook",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("hanguphook",1,"switch_core_session_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_core_session_t,0))){
+      SWIG_fail_ptr("hanguphook",1,SWIGTYPE_p_switch_core_session_t);
+    }
+    
+    result = hanguphook(arg1);
+    {
+      switch_status_t * resultptr = new switch_status_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_dtmf_callback(lua_State* L) {
-  int SWIG_arg = 0;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_input_type_t arg3 ;
-  void *arg4 = (void *) 0 ;
-  unsigned int arg5 ;
-  switch_input_type_t *argp3 ;
-  switch_status_t result;
-  
-  SWIG_check_num_args("dtmf_callback",5,5)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("dtmf_callback",1,"switch_core_session_t *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("dtmf_callback",2,"void *");
-  if(!lua_isuserdata(L,3)) SWIG_fail_arg("dtmf_callback",3,"switch_input_type_t");
-  if(!SWIG_isptrtype(L,4)) SWIG_fail_arg("dtmf_callback",4,"void *");
-  if(!lua_isnumber(L,5)) SWIG_fail_arg("dtmf_callback",5,"unsigned int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_core_session_t,0))){
-    SWIG_fail_ptr("dtmf_callback",1,SWIGTYPE_p_switch_core_session_t);
-  }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"dtmf_callback");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,3,(void**)&argp3,SWIGTYPE_p_switch_input_type_t,0))){
-    SWIG_fail_ptr("dtmf_callback",3,SWIGTYPE_p_switch_input_type_t);
-  }
-  arg3 = *argp3;
-  
-  arg4=(void *)SWIG_MustGetPtr(L,4,0,0,4,"dtmf_callback");
-  SWIG_contract_assert((lua_tonumber(L,5)>=0),"number must not be negative")
-  arg5 = (unsigned int)lua_tonumber(L, 5);
-  result = dtmf_callback(arg1,arg2,arg3,arg4,arg5);
   {
-    switch_status_t * resultptr = new switch_status_t((const switch_status_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+    void *arg2 = (void *) 0 ;
+    switch_input_type_t arg3 ;
+    void *arg4 = (void *) 0 ;
+    unsigned int arg5 ;
+    switch_input_type_t *argp3 ;
+    switch_status_t result;
+    
+    SWIG_check_num_args("dtmf_callback",5,5)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("dtmf_callback",1,"switch_core_session_t *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("dtmf_callback",2,"void *");
+    if(!lua_isuserdata(L,3)) SWIG_fail_arg("dtmf_callback",3,"switch_input_type_t");
+    if(!SWIG_isptrtype(L,4)) SWIG_fail_arg("dtmf_callback",4,"void *");
+    if(!lua_isnumber(L,5)) SWIG_fail_arg("dtmf_callback",5,"unsigned int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_core_session_t,0))){
+      SWIG_fail_ptr("dtmf_callback",1,SWIGTYPE_p_switch_core_session_t);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"dtmf_callback");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,3,(void**)&argp3,SWIGTYPE_p_switch_input_type_t,0))){
+      SWIG_fail_ptr("dtmf_callback",3,SWIGTYPE_p_switch_input_type_t);
+    }
+    arg3 = *argp3;
+    
+    arg4=(void *)SWIG_MustGetPtr(L,4,0,0,4,"dtmf_callback");
+    SWIG_contract_assert((lua_tonumber(L,5)>=0),"number must not be negative");
+    arg5 = (unsigned int)lua_tonumber(L, 5);
+    result = dtmf_callback(arg1,arg2,SWIG_STD_MOVE(arg3),arg4,arg5);
+    {
+      switch_status_t * resultptr = new switch_status_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Session__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::Session",0,0)
-  result = (LUA::Session *)new LUA::Session();
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++; result->setLUA(L);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    LUA::Session *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::Session",0,0)
+    result = (LUA::Session *)new LUA::Session();
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Session__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  LUA::Session *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::Session",2,2)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Session::Session",1,"char *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("LUA::Session::Session",2,"CoreSession *");
-  arg1 = (char *)lua_tostring(L, 1);
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("new_Session",2,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    CoreSession *arg2 = (CoreSession *) 0 ;
+    LUA::Session *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::Session",2,2)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Session::Session",1,"char *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("LUA::Session::Session",2,"CoreSession *");
+    arg1 = (char *)lua_tostring(L, 1);
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("new_Session",2,SWIGTYPE_p_CoreSession);
+    }
+    
+    result = (LUA::Session *)new LUA::Session(arg1,arg2);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (LUA::Session *)new LUA::Session(arg1,arg2);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++;  result->setLUA(L);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Session__SWIG_2(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  LUA::Session *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::Session",1,1)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Session::Session",1,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  result = (LUA::Session *)new LUA::Session(arg1);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++;  result->setLUA(L);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    LUA::Session *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::Session",1,1)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Session::Session",1,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    result = (LUA::Session *)new LUA::Session(arg1);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Session__SWIG_3(lua_State* L) {
-  int SWIG_arg = 0;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  LUA::Session *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::Session",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::Session",1,"switch_core_session_t *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_core_session_t,0))){
-    SWIG_fail_ptr("new_Session",1,SWIGTYPE_p_switch_core_session_t);
+  {
+    int SWIG_arg = 0;
+    switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+    LUA::Session *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::Session",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::Session",1,"switch_core_session_t *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_switch_core_session_t,0))){
+      SWIG_fail_ptr("new_Session",1,SWIGTYPE_p_switch_core_session_t);
+    }
+    
+    result = (LUA::Session *)new LUA::Session(arg1);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (LUA::Session *)new LUA::Session(arg1);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Session,1); SWIG_arg++;  result->setLUA(L);
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -8429,7 +8493,7 @@ static int _wrap_new_Session(lua_State* L) {
     return _wrap_new_Session__SWIG_0(L);
   }
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_switch_core_session_t, 0)) {
@@ -8443,7 +8507,7 @@ static int _wrap_new_Session(lua_State* L) {
     }
   }
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     {
       _v = SWIG_lua_isnilstring(L,argv[0]);
     }
@@ -8452,7 +8516,7 @@ static int _wrap_new_Session(lua_State* L) {
     }
   }
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       _v = SWIG_lua_isnilstring(L,argv[0]);
     }
@@ -8482,51 +8546,51 @@ static int _wrap_new_Session(lua_State* L) {
 
 
 static int _wrap_Session_destroy__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::destroy",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::destroy",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::destroy",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_destroy",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::destroy",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::destroy",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::destroy",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_destroy",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    (arg1)->destroy((char const *)arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  (arg1)->destroy((char const *)arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_destroy__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::destroy",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::destroy",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_destroy",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::destroy",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::destroy",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_destroy",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    (arg1)->destroy();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->destroy();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -8538,7 +8602,7 @@ static int _wrap_Session_destroy(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Session, 0)) {
@@ -8552,7 +8616,7 @@ static int _wrap_Session_destroy(lua_State* L) {
     }
   }
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Session, 0)) {
@@ -8580,190 +8644,190 @@ static int _wrap_Session_destroy(lua_State* L) {
 
 
 static int _wrap_Session_begin_allow_threads(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Session::begin_allow_threads",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::begin_allow_threads",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_begin_allow_threads",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Session::begin_allow_threads",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::begin_allow_threads",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_begin_allow_threads",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    result = (bool)(arg1)->begin_allow_threads();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->begin_allow_threads();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_end_allow_threads(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Session::end_allow_threads",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::end_allow_threads",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_end_allow_threads",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Session::end_allow_threads",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::end_allow_threads",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_end_allow_threads",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    result = (bool)(arg1)->end_allow_threads();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->end_allow_threads();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_check_hangup_hook(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::check_hangup_hook",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::check_hangup_hook",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_check_hangup_hook",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::check_hangup_hook",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::check_hangup_hook",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_check_hangup_hook",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    (arg1)->check_hangup_hook();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->check_hangup_hook();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_run_dtmf_callback(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_input_type_t arg3 ;
-  switch_input_type_t *argp3 ;
-  switch_status_t result;
-  
-  SWIG_check_num_args("LUA::Session::run_dtmf_callback",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::run_dtmf_callback",1,"LUA::Session *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("LUA::Session::run_dtmf_callback",2,"void *");
-  if(!lua_isuserdata(L,3)) SWIG_fail_arg("LUA::Session::run_dtmf_callback",3,"switch_input_type_t");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_run_dtmf_callback",1,SWIGTYPE_p_LUA__Session);
-  }
-  
-  arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"Session_run_dtmf_callback");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,3,(void**)&argp3,SWIGTYPE_p_switch_input_type_t,0))){
-    SWIG_fail_ptr("Session_run_dtmf_callback",3,SWIGTYPE_p_switch_input_type_t);
-  }
-  arg3 = *argp3;
-  
-  result = (arg1)->run_dtmf_callback(arg2,arg3);
   {
-    switch_status_t * resultptr = new switch_status_t((const switch_status_t &) result);
-    SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    void *arg2 = (void *) 0 ;
+    switch_input_type_t arg3 ;
+    switch_input_type_t *argp3 ;
+    switch_status_t result;
+    
+    SWIG_check_num_args("LUA::Session::run_dtmf_callback",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::run_dtmf_callback",1,"LUA::Session *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("LUA::Session::run_dtmf_callback",2,"void *");
+    if(!lua_isuserdata(L,3)) SWIG_fail_arg("LUA::Session::run_dtmf_callback",3,"switch_input_type_t");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_run_dtmf_callback",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2=(void *)SWIG_MustGetPtr(L,2,0,0,2,"Session_run_dtmf_callback");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,3,(void**)&argp3,SWIGTYPE_p_switch_input_type_t,0))){
+      SWIG_fail_ptr("Session_run_dtmf_callback",3,SWIGTYPE_p_switch_input_type_t);
+    }
+    arg3 = *argp3;
+    
+    result = (arg1)->run_dtmf_callback(arg2,arg3);
+    {
+      switch_status_t * resultptr = new switch_status_t(result);
+      SWIG_NewPointerObj(L,(void *) resultptr,SWIGTYPE_p_switch_status_t,1); SWIG_arg++;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_unsetInputCallback(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::unsetInputCallback",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::unsetInputCallback",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_unsetInputCallback",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::unsetInputCallback",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::unsetInputCallback",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_unsetInputCallback",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    (arg1)->unsetInputCallback();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->unsetInputCallback();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_setInputCallback__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::setInputCallback",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setInputCallback",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setInputCallback",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Session::setInputCallback",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_setInputCallback",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::setInputCallback",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setInputCallback",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setInputCallback",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Session::setInputCallback",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_setInputCallback",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->setInputCallback(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->setInputCallback(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_setInputCallback__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::setInputCallback",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setInputCallback",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setInputCallback",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_setInputCallback",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::setInputCallback",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setInputCallback",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setInputCallback",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_setInputCallback",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    (arg1)->setInputCallback(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  (arg1)->setInputCallback(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -8775,7 +8839,7 @@ static int _wrap_Session_setInputCallback(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Session, 0)) {
@@ -8794,7 +8858,7 @@ static int _wrap_Session_setInputCallback(lua_State* L) {
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Session, 0)) {
@@ -8827,57 +8891,57 @@ static int _wrap_Session_setInputCallback(lua_State* L) {
 
 
 static int _wrap_Session_setHangupHook__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::setHangupHook",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setHangupHook",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setHangupHook",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Session::setHangupHook",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_setHangupHook",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::setHangupHook",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setHangupHook",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setHangupHook",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Session::setHangupHook",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_setHangupHook",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    (arg1)->setHangupHook(arg2,arg3);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  (arg1)->setHangupHook(arg2,arg3);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_setHangupHook__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::setHangupHook",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setHangupHook",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setHangupHook",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_setHangupHook",1,SWIGTYPE_p_LUA__Session);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  (arg1)->setHangupHook(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::setHangupHook",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setHangupHook",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::setHangupHook",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_setHangupHook",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    (arg1)->setHangupHook(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -8889,7 +8953,7 @@ static int _wrap_Session_setHangupHook(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Session, 0)) {
@@ -8908,7 +8972,7 @@ static int _wrap_Session_setHangupHook(lua_State* L) {
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Session, 0)) {
@@ -8941,320 +9005,320 @@ static int _wrap_Session_setHangupHook(lua_State* L) {
 
 
 static int _wrap_Session_ready(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Session::ready",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::ready",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_ready",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Session::ready",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::ready",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_ready",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    result = (bool)(arg1)->ready();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->ready();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_originate(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  int result;
-  
-  SWIG_check_num_args("LUA::Session::originate",4,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::originate",1,"LUA::Session *");
-  if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("LUA::Session::originate",2,"CoreSession *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Session::originate",3,"char *");
-  if(!lua_isnumber(L,4)) SWIG_fail_arg("LUA::Session::originate",4,"int");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_originate",1,SWIGTYPE_p_LUA__Session);
-  }
-  
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
-    SWIG_fail_ptr("Session_originate",2,SWIGTYPE_p_CoreSession);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    CoreSession *arg2 = (CoreSession *) 0 ;
+    char *arg3 = (char *) 0 ;
+    int arg4 ;
+    int result;
+    
+    SWIG_check_num_args("LUA::Session::originate",4,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::originate",1,"LUA::Session *");
+    if(!SWIG_isptrtype(L,2)) SWIG_fail_arg("LUA::Session::originate",2,"CoreSession *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Session::originate",3,"char *");
+    if(!lua_isnumber(L,4)) SWIG_fail_arg("LUA::Session::originate",4,"int");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_originate",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,2,(void**)&arg2,SWIGTYPE_p_CoreSession,0))){
+      SWIG_fail_ptr("Session_originate",2,SWIGTYPE_p_CoreSession);
+    }
+    
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (int)lua_tonumber(L, 4);
+    result = (int)(arg1)->originate(arg2,arg3,arg4);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (int)lua_tonumber(L, 4);
-  result = (int)(arg1)->originate(arg2,arg3,arg4);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_cb_function_set(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::cb_function",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_function",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::cb_function",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_cb_function_set",1,SWIGTYPE_p_LUA__Session);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->cb_function;
-    if (arg2) {
-      arg1->cb_function = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->cb_function, (const char *)arg2);
-    } else {
-      arg1->cb_function = 0;
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::cb_function",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_function",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::cb_function",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_cb_function_set",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->cb_function;
+      if (arg2) {
+        arg1->cb_function = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->cb_function, (const char *)arg2);
+      } else {
+        arg1->cb_function = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_cb_function_get(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::cb_function",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_function",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_cb_function_get",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::cb_function",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_function",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_cb_function_get",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    result = (char *) ((arg1)->cb_function);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->cb_function);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_cb_arg_set(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::cb_arg",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_arg",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::cb_arg",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_cb_arg_set",1,SWIGTYPE_p_LUA__Session);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->cb_arg;
-    if (arg2) {
-      arg1->cb_arg = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->cb_arg, (const char *)arg2);
-    } else {
-      arg1->cb_arg = 0;
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::cb_arg",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_arg",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::cb_arg",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_cb_arg_set",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->cb_arg;
+      if (arg2) {
+        arg1->cb_arg = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->cb_arg, (const char *)arg2);
+      } else {
+        arg1->cb_arg = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_cb_arg_get(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::cb_arg",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_arg",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_cb_arg_get",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::cb_arg",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::cb_arg",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_cb_arg_get",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    result = (char *) ((arg1)->cb_arg);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->cb_arg);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_hangup_func_str_set(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::hangup_func_str",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_str",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::hangup_func_str",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_hangup_func_str_set",1,SWIGTYPE_p_LUA__Session);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->hangup_func_str;
-    if (arg2) {
-      arg1->hangup_func_str = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->hangup_func_str, (const char *)arg2);
-    } else {
-      arg1->hangup_func_str = 0;
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::hangup_func_str",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_str",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::hangup_func_str",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_hangup_func_str_set",1,SWIGTYPE_p_LUA__Session);
     }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->hangup_func_str;
+      if (arg2) {
+        arg1->hangup_func_str = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->hangup_func_str, (const char *)arg2);
+      } else {
+        arg1->hangup_func_str = 0;
+      }
+    }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_hangup_func_str_get(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::hangup_func_str",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_str",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_hangup_func_str_get",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::hangup_func_str",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_str",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_hangup_func_str_get",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    result = (char *) ((arg1)->hangup_func_str);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->hangup_func_str);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_hangup_func_arg_set(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  SWIG_check_num_args("LUA::Session::hangup_func_arg",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_arg",1,"LUA::Session *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::hangup_func_arg",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_hangup_func_arg_set",1,SWIGTYPE_p_LUA__Session);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
   {
-    delete [] arg1->hangup_func_arg;
-    if (arg2) {
-      arg1->hangup_func_arg = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->hangup_func_arg, (const char *)arg2);
-    } else {
-      arg1->hangup_func_arg = 0;
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *arg2 = (char *) 0 ;
+    
+    SWIG_check_num_args("LUA::Session::hangup_func_arg",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_arg",1,"LUA::Session *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Session::hangup_func_arg",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_hangup_func_arg_set",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    {
+      delete [] arg1->hangup_func_arg;
+      if (arg2) {
+        arg1->hangup_func_arg = (char *) (new char[strlen((const char *)arg2)+1]);
+        strcpy((char *)arg1->hangup_func_arg, (const char *)arg2);
+      } else {
+        arg1->hangup_func_arg = 0;
+      }
     }
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_hangup_func_arg_get(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Session::hangup_func_arg",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_arg",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_hangup_func_arg_get",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Session::hangup_func_arg",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::hangup_func_arg",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_hangup_func_arg_get",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    result = (char *) ((arg1)->hangup_func_arg);
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (char *) ((arg1)->hangup_func_arg);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Session_setLUA(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Session *arg1 = (LUA::Session *) 0 ;
-  lua_State *arg2 = (lua_State *) 0 ;
-  
-  arg2 = L;
-  SWIG_check_num_args("LUA::Session::setLUA",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setLUA",1,"LUA::Session *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
-    SWIG_fail_ptr("Session_setLUA",1,SWIGTYPE_p_LUA__Session);
+  {
+    int SWIG_arg = 0;
+    LUA::Session *arg1 = (LUA::Session *) 0 ;
+    lua_State *arg2 = (lua_State *) 0 ;
+    
+    arg2 = L;
+    SWIG_check_num_args("LUA::Session::setLUA",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Session::setLUA",1,"LUA::Session *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Session,0))){
+      SWIG_fail_ptr("Session_setLUA",1,SWIGTYPE_p_LUA__Session);
+    }
+    
+    (arg1)->setLUA(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  (arg1)->setLUA(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -9321,71 +9385,71 @@ static const char *swig_Session_base_names[] = {"CoreSession *",0};
 static swig_lua_class _wrap_class_Session = { "Session", "Session", &SWIGTYPE_p_LUA__Session,_proxy__wrap_new_Session, swig_delete_Session, swig_Session_methods, swig_Session_attributes, &swig_Session_Sf_SwigStatic, swig_Session_meta, swig_Session_bases, swig_Session_base_names };
 
 static int _wrap_new_Dbh__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  LUA::Dbh *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Dbh::Dbh",3,3)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Dbh::Dbh",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::Dbh",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Dbh::Dbh",3,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  result = (LUA::Dbh *)new LUA::Dbh(arg1,arg2,arg3);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Dbh,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    LUA::Dbh *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Dbh::Dbh",3,3)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Dbh::Dbh",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::Dbh",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Dbh::Dbh",3,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    result = (LUA::Dbh *)new LUA::Dbh(arg1,arg2,arg3);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Dbh,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Dbh__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  LUA::Dbh *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Dbh::Dbh",2,2)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Dbh::Dbh",1,"char *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::Dbh",2,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  arg2 = (char *)lua_tostring(L, 2);
-  result = (LUA::Dbh *)new LUA::Dbh(arg1,arg2);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Dbh,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    char *arg2 = (char *) 0 ;
+    LUA::Dbh *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Dbh::Dbh",2,2)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Dbh::Dbh",1,"char *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::Dbh",2,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    arg2 = (char *)lua_tostring(L, 2);
+    result = (LUA::Dbh *)new LUA::Dbh(arg1,arg2);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Dbh,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_new_Dbh__SWIG_2(lua_State* L) {
-  int SWIG_arg = 0;
-  char *arg1 = (char *) 0 ;
-  LUA::Dbh *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Dbh::Dbh",1,1)
-  if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Dbh::Dbh",1,"char *");
-  arg1 = (char *)lua_tostring(L, 1);
-  result = (LUA::Dbh *)new LUA::Dbh(arg1);
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Dbh,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    char *arg1 = (char *) 0 ;
+    LUA::Dbh *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Dbh::Dbh",1,1)
+    if(!SWIG_lua_isnilstring(L,1)) SWIG_fail_arg("LUA::Dbh::Dbh",1,"char *");
+    arg1 = (char *)lua_tostring(L, 1);
+    result = (LUA::Dbh *)new LUA::Dbh(arg1);
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__Dbh,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -9397,7 +9461,7 @@ static int _wrap_new_Dbh(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     {
       _v = SWIG_lua_isnilstring(L,argv[0]);
     }
@@ -9406,7 +9470,7 @@ static int _wrap_new_Dbh(lua_State* L) {
     }
   }
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       _v = SWIG_lua_isnilstring(L,argv[0]);
     }
@@ -9420,7 +9484,7 @@ static int _wrap_new_Dbh(lua_State* L) {
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     {
       _v = SWIG_lua_isnilstring(L,argv[0]);
     }
@@ -9449,143 +9513,141 @@ static int _wrap_new_Dbh(lua_State* L) {
 
 
 static int _wrap_Dbh_release(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Dbh::release",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::release",1,"LUA::Dbh *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_release",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Dbh::release",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::release",1,"LUA::Dbh *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_release",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    result = (bool)(arg1)->release();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->release();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_connected(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Dbh::connected",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::connected",1,"LUA::Dbh *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_connected",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Dbh::connected",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::connected",1,"LUA::Dbh *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_connected",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    result = (bool)(arg1)->connected();
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  result = (bool)(arg1)->connected();
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_test_reactive__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Dbh::test_reactive",4,4)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::test_reactive",1,"LUA::Dbh *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::test_reactive",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Dbh::test_reactive",3,"char *");
-  if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("LUA::Dbh::test_reactive",4,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_test_reactive",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    char *arg4 = (char *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Dbh::test_reactive",4,4)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::test_reactive",1,"LUA::Dbh *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::test_reactive",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Dbh::test_reactive",3,"char *");
+    if(!SWIG_lua_isnilstring(L,4)) SWIG_fail_arg("LUA::Dbh::test_reactive",4,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_test_reactive",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    arg4 = (char *)lua_tostring(L, 4);
+    result = (bool)(arg1)->test_reactive(arg2,arg3,arg4);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  arg4 = (char *)lua_tostring(L, 4);
-  switch_assert(arg1);
-  result = (bool)(arg1)->test_reactive(arg2,arg3,arg4);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_test_reactive__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Dbh::test_reactive",3,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::test_reactive",1,"LUA::Dbh *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::test_reactive",2,"char *");
-  if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Dbh::test_reactive",3,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_test_reactive",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    char *arg2 = (char *) 0 ;
+    char *arg3 = (char *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Dbh::test_reactive",3,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::test_reactive",1,"LUA::Dbh *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::test_reactive",2,"char *");
+    if(!SWIG_lua_isnilstring(L,3)) SWIG_fail_arg("LUA::Dbh::test_reactive",3,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_test_reactive",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    arg3 = (char *)lua_tostring(L, 3);
+    result = (bool)(arg1)->test_reactive(arg2,arg3);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  arg3 = (char *)lua_tostring(L, 3);
-  switch_assert(arg1);
-  result = (bool)(arg1)->test_reactive(arg2,arg3);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_test_reactive__SWIG_2(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  char *arg2 = (char *) 0 ;
-  bool result;
-  
-  SWIG_check_num_args("LUA::Dbh::test_reactive",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::test_reactive",1,"LUA::Dbh *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::test_reactive",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_test_reactive",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    char *arg2 = (char *) 0 ;
+    bool result;
+    
+    SWIG_check_num_args("LUA::Dbh::test_reactive",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::test_reactive",1,"LUA::Dbh *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::test_reactive",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_test_reactive",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    switch_assert(arg1);
+    result = (bool)(arg1)->test_reactive(arg2);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  switch_assert(arg1);
-  result = (bool)(arg1)->test_reactive(arg2);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -9597,7 +9659,7 @@ static int _wrap_Dbh_test_reactive(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Dbh, 0)) {
@@ -9616,7 +9678,7 @@ static int _wrap_Dbh_test_reactive(lua_State* L) {
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Dbh, 0)) {
@@ -9640,7 +9702,7 @@ static int _wrap_Dbh_test_reactive(lua_State* L) {
     }
   }
   if (argc == 4) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__Dbh, 0)) {
@@ -9679,175 +9741,178 @@ static int _wrap_Dbh_test_reactive(lua_State* L) {
 
 
 static int _wrap_Dbh_query(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  char *arg2 = (char *) 0 ;
-  SWIGLUA_FN arg3 ;
-  bool result;
-  
   {
-    SWIGLUA_FN default_swiglua_fn = {
-      0 
-    };
-    arg3 = default_swiglua_fn;
-  }
-  SWIG_check_num_args("LUA::Dbh::query",2,3)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::query",1,"LUA::Dbh *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::query",2,"char *");
-  if(lua_gettop(L)>=3 && !lua_isfunction(L,3)) SWIG_fail_arg("LUA::Dbh::query",3,"SWIGLUA_FN");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_query",1,SWIGTYPE_p_LUA__Dbh);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  if(lua_gettop(L)>=3){
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    char *arg2 = (char *) 0 ;
+    SWIGLUA_FN arg3 ;
+    bool result;
+    
     {
-      (&arg3)->L = L;
-      (&arg3)->idx = 3;
+      SWIGLUA_FN default_swiglua_fn = {
+        0 
+      };
+      arg3 = default_swiglua_fn;
     }
+    SWIG_check_num_args("LUA::Dbh::query",2,3)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::query",1,"LUA::Dbh *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::query",2,"char *");
+    if(lua_gettop(L)>=3 && !lua_isfunction(L,3)) SWIG_fail_arg("LUA::Dbh::query",3,"SWIGLUA_FN");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_query",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    if(lua_gettop(L)>=3){
+      {
+        (&arg3)->L = L;
+        (&arg3)->idx = 3;
+      }
+    }
+    switch_assert(arg1);
+    result = (bool)(arg1)->query(arg2,arg3);
+    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  switch_assert(arg1);
-  result = (bool)(arg1)->query(arg2,arg3);
-  lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_query_rows(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  lua_State *arg2 = (lua_State *) 0 ;
-  char *arg3 = (char *) 0 ;
-  DbhQueryRowsReturn result;
-  
-  arg2 = L;
-  SWIG_check_num_args("LUA::Dbh::query_rows",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::query_rows",1,"LUA::Dbh *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::query_rows",2,"char *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_query_rows",1,SWIGTYPE_p_LUA__Dbh);
-  }
-  
-  arg3 = (char *)lua_tostring(L, 2);
-  switch_assert(arg1);
-  result = (arg1)->query_rows(arg2,arg3);
   {
-    SWIG_arg += result;
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    lua_State *arg2 = (lua_State *) 0 ;
+    char *arg3 = (char *) 0 ;
+    DbhQueryRowsReturn result;
+    
+    arg2 = L;
+    SWIG_check_num_args("LUA::Dbh::query_rows",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::query_rows",1,"LUA::Dbh *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::query_rows",2,"char *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_query_rows",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    arg3 = (char *)lua_tostring(L, 2);
+    switch_assert(arg1);
+    result = (arg1)->query_rows(arg2,arg3);
+    {
+      SWIG_arg += result;
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_affected_rows(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("LUA::Dbh::affected_rows",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::affected_rows",1,"LUA::Dbh *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_affected_rows",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("LUA::Dbh::affected_rows",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::affected_rows",1,"LUA::Dbh *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_affected_rows",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    switch_assert(arg1);
+    result = (int)(arg1)->affected_rows();
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  switch_assert(arg1);
-  result = (int)(arg1)->affected_rows();
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_last_error(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  char *result = 0 ;
-  
-  SWIG_check_num_args("LUA::Dbh::last_error",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::last_error",1,"LUA::Dbh *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_last_error",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    char *result = 0 ;
+    
+    SWIG_check_num_args("LUA::Dbh::last_error",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::last_error",1,"LUA::Dbh *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_last_error",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    switch_assert(arg1);
+    result = (char *)(arg1)->last_error();
+    lua_pushstring(L,(const char *)result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  switch_assert(arg1);
-  result = (char *)(arg1)->last_error();
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_clear_error(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  
-  SWIG_check_num_args("LUA::Dbh::clear_error",1,1)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::clear_error",1,"LUA::Dbh *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_clear_error",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    
+    SWIG_check_num_args("LUA::Dbh::clear_error",1,1)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::clear_error",1,"LUA::Dbh *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_clear_error",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    switch_assert(arg1);
+    (arg1)->clear_error();
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  switch_assert(arg1);
-  (arg1)->clear_error();
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_Dbh_load_extension(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int result;
-  
-  SWIG_check_num_args("LUA::Dbh::load_extension",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::load_extension",1,"LUA::Dbh *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::load_extension",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
-    SWIG_fail_ptr("Dbh_load_extension",1,SWIGTYPE_p_LUA__Dbh);
+  {
+    int SWIG_arg = 0;
+    LUA::Dbh *arg1 = (LUA::Dbh *) 0 ;
+    char *arg2 = (char *) 0 ;
+    int result;
+    
+    SWIG_check_num_args("LUA::Dbh::load_extension",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::Dbh::load_extension",1,"LUA::Dbh *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::Dbh::load_extension",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__Dbh,0))){
+      SWIG_fail_ptr("Dbh_load_extension",1,SWIGTYPE_p_LUA__Dbh);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    switch_assert(arg1);
+    result = (int)(arg1)->load_extension((char const *)arg2);
+    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  switch_assert(arg1);
-  result = (int)(arg1)->load_extension((char const *)arg2);
-  lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -9908,146 +9973,146 @@ static const char *swig_Dbh_base_names[] = {0};
 static swig_lua_class _wrap_class_Dbh = { "Dbh", "Dbh", &SWIGTYPE_p_LUA__Dbh,_proxy__wrap_new_Dbh, swig_delete_Dbh, swig_Dbh_methods, swig_Dbh_attributes, &swig_Dbh_Sf_SwigStatic, swig_Dbh_meta, swig_Dbh_bases, swig_Dbh_base_names };
 
 static int _wrap_new_JSON(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *result = 0 ;
-  
-  SWIG_check_num_args("LUA::JSON::JSON",0,0)
-  result = (LUA::JSON *)new LUA::JSON();
-  SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__JSON,1); SWIG_arg++; 
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
+  {
+    int SWIG_arg = 0;
+    LUA::JSON *result = 0 ;
+    
+    SWIG_check_num_args("LUA::JSON::JSON",0,0)
+    result = (LUA::JSON *)new LUA::JSON();
+    SWIG_NewPointerObj(L,result,SWIGTYPE_p_LUA__JSON,1); SWIG_arg++; 
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
+  }
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_JSON_decode(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  char *arg2 = (char *) 0 ;
-  cJSON *result = 0 ;
-  
-  SWIG_check_num_args("LUA::JSON::decode",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::decode",1,"LUA::JSON *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::JSON::decode",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_decode",1,SWIGTYPE_p_LUA__JSON);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  switch_assert(arg1);
-  result = (cJSON *)(arg1)->decode((char const *)arg2);
   {
-    SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
-    cJSON_Delete(result);
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    char *arg2 = (char *) 0 ;
+    cJSON *result = 0 ;
+    
+    SWIG_check_num_args("LUA::JSON::decode",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::decode",1,"LUA::JSON *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::JSON::decode",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_decode",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    switch_assert(arg1);
+    result = (cJSON *)(arg1)->decode((char const *)arg2);
+    {
+      SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
+      cJSON_Delete(result);
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_JSON_encode(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  SWIGLUA_TABLE arg2 ;
-  std::string result;
-  
-  SWIG_check_num_args("LUA::JSON::encode",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::encode",1,"LUA::JSON *");
-  if(!lua_istable(L,2)) SWIG_fail_arg("LUA::JSON::encode",2,"SWIGLUA_TABLE");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_encode",1,SWIGTYPE_p_LUA__JSON);
-  }
-  
   {
-    (&arg2)->L = L;
-    (&arg2)->idx = 2;
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    SWIGLUA_TABLE arg2 ;
+    std::string result;
+    
+    SWIG_check_num_args("LUA::JSON::encode",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::encode",1,"LUA::JSON *");
+    if(!lua_istable(L,2)) SWIG_fail_arg("LUA::JSON::encode",2,"SWIGLUA_TABLE");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_encode",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    {
+      (&arg2)->L = L;
+      (&arg2)->idx = 2;
+    }
+    switch_assert(arg1);
+    result = (arg1)->encode(arg2);
+    lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  switch_assert(arg1);
-  result = (arg1)->encode(arg2);
-  lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_JSON_execute__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  char *arg2 = (char *) 0 ;
-  cJSON *result = 0 ;
-  
-  SWIG_check_num_args("LUA::JSON::execute",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute",1,"LUA::JSON *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::JSON::execute",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_execute",1,SWIGTYPE_p_LUA__JSON);
-  }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  switch_assert(arg1);
-  result = (cJSON *)(arg1)->execute((char const *)arg2);
   {
-    SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
-    cJSON_Delete(result);
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    char *arg2 = (char *) 0 ;
+    cJSON *result = 0 ;
+    
+    SWIG_check_num_args("LUA::JSON::execute",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute",1,"LUA::JSON *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::JSON::execute",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_execute",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    switch_assert(arg1);
+    result = (cJSON *)(arg1)->execute((char const *)arg2);
+    {
+      SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
+      cJSON_Delete(result);
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_JSON_execute__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  SWIGLUA_TABLE arg2 ;
-  cJSON *result = 0 ;
-  
-  SWIG_check_num_args("LUA::JSON::execute",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute",1,"LUA::JSON *");
-  if(!lua_istable(L,2)) SWIG_fail_arg("LUA::JSON::execute",2,"SWIGLUA_TABLE");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_execute",1,SWIGTYPE_p_LUA__JSON);
-  }
-  
-  {
-    (&arg2)->L = L;
-    (&arg2)->idx = 2;
-  }
-  switch_assert(arg1);
-  result = (cJSON *)(arg1)->execute(arg2);
   {
-    SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
-    cJSON_Delete(result);
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    SWIGLUA_TABLE arg2 ;
+    cJSON *result = 0 ;
+    
+    SWIG_check_num_args("LUA::JSON::execute",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute",1,"LUA::JSON *");
+    if(!lua_istable(L,2)) SWIG_fail_arg("LUA::JSON::execute",2,"SWIGLUA_TABLE");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_execute",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    {
+      (&arg2)->L = L;
+      (&arg2)->idx = 2;
+    }
+    switch_assert(arg1);
+    result = (cJSON *)(arg1)->execute(arg2);
+    {
+      SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
+      cJSON_Delete(result);
+    }
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -10059,7 +10124,7 @@ static int _wrap_JSON_execute(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__JSON, 0)) {
@@ -10078,7 +10143,7 @@ static int _wrap_JSON_execute(lua_State* L) {
     }
   }
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__JSON, 0)) {
@@ -10106,61 +10171,61 @@ static int _wrap_JSON_execute(lua_State* L) {
 
 
 static int _wrap_JSON_execute2__SWIG_0(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  char *arg2 = (char *) 0 ;
-  std::string result;
-  
-  SWIG_check_num_args("LUA::JSON::execute2",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute2",1,"LUA::JSON *");
-  if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::JSON::execute2",2,"char const *");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_execute2",1,SWIGTYPE_p_LUA__JSON);
+  {
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::string result;
+    
+    SWIG_check_num_args("LUA::JSON::execute2",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute2",1,"LUA::JSON *");
+    if(!SWIG_lua_isnilstring(L,2)) SWIG_fail_arg("LUA::JSON::execute2",2,"char const *");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_execute2",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    arg2 = (char *)lua_tostring(L, 2);
+    switch_assert(arg1);
+    result = (arg1)->execute2((char const *)arg2);
+    lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (char *)lua_tostring(L, 2);
-  switch_assert(arg1);
-  result = (arg1)->execute2((char const *)arg2);
-  lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_JSON_execute2__SWIG_1(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  SWIGLUA_TABLE arg2 ;
-  std::string result;
-  
-  SWIG_check_num_args("LUA::JSON::execute2",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute2",1,"LUA::JSON *");
-  if(!lua_istable(L,2)) SWIG_fail_arg("LUA::JSON::execute2",2,"SWIGLUA_TABLE");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_execute2",1,SWIGTYPE_p_LUA__JSON);
-  }
-  
   {
-    (&arg2)->L = L;
-    (&arg2)->idx = 2;
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    SWIGLUA_TABLE arg2 ;
+    std::string result;
+    
+    SWIG_check_num_args("LUA::JSON::execute2",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::execute2",1,"LUA::JSON *");
+    if(!lua_istable(L,2)) SWIG_fail_arg("LUA::JSON::execute2",2,"SWIGLUA_TABLE");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_execute2",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    {
+      (&arg2)->L = L;
+      (&arg2)->idx = 2;
+    }
+    switch_assert(arg1);
+    result = (arg1)->execute2(arg2);
+    lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  switch_assert(arg1);
-  result = (arg1)->execute2(arg2);
-  lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -10172,7 +10237,7 @@ static int _wrap_JSON_execute2(lua_State* L) {
   
   argc = lua_gettop(L);
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__JSON, 0)) {
@@ -10191,7 +10256,7 @@ static int _wrap_JSON_execute2(lua_State* L) {
     }
   }
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     {
       void *ptr;
       if (SWIG_isptrtype(L,argv[0])==0 || SWIG_ConvertPtr(L,argv[0], (void **) &ptr, SWIGTYPE_p_LUA__JSON, 0)) {
@@ -10219,56 +10284,56 @@ static int _wrap_JSON_execute2(lua_State* L) {
 
 
 static int _wrap_JSON_encode_empty_table_as_object(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  bool arg2 ;
-  
-  SWIG_check_num_args("LUA::JSON::encode_empty_table_as_object",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::encode_empty_table_as_object",1,"LUA::JSON *");
-  if(!lua_isboolean(L,2)) SWIG_fail_arg("LUA::JSON::encode_empty_table_as_object",2,"bool");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_encode_empty_table_as_object",1,SWIGTYPE_p_LUA__JSON);
+  {
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    bool arg2 ;
+    
+    SWIG_check_num_args("LUA::JSON::encode_empty_table_as_object",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::encode_empty_table_as_object",1,"LUA::JSON *");
+    if(!lua_isboolean(L,2)) SWIG_fail_arg("LUA::JSON::encode_empty_table_as_object",2,"bool");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_encode_empty_table_as_object",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    arg2 = (lua_toboolean(L, 2)!=0);
+    switch_assert(arg1);
+    (arg1)->encode_empty_table_as_object(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (lua_toboolean(L, 2)!=0);
-  switch_assert(arg1);
-  (arg1)->encode_empty_table_as_object(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
 static int _wrap_JSON_return_unformatted_json(lua_State* L) {
-  int SWIG_arg = 0;
-  LUA::JSON *arg1 = (LUA::JSON *) 0 ;
-  bool arg2 ;
-  
-  SWIG_check_num_args("LUA::JSON::return_unformatted_json",2,2)
-  if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::return_unformatted_json",1,"LUA::JSON *");
-  if(!lua_isboolean(L,2)) SWIG_fail_arg("LUA::JSON::return_unformatted_json",2,"bool");
-  
-  if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
-    SWIG_fail_ptr("JSON_return_unformatted_json",1,SWIGTYPE_p_LUA__JSON);
+  {
+    int SWIG_arg = 0;
+    LUA::JSON *arg1 = (LUA::JSON *) 0 ;
+    bool arg2 ;
+    
+    SWIG_check_num_args("LUA::JSON::return_unformatted_json",2,2)
+    if(!SWIG_isptrtype(L,1)) SWIG_fail_arg("LUA::JSON::return_unformatted_json",1,"LUA::JSON *");
+    if(!lua_isboolean(L,2)) SWIG_fail_arg("LUA::JSON::return_unformatted_json",2,"bool");
+    
+    if (!SWIG_IsOK(SWIG_ConvertPtr(L,1,(void**)&arg1,SWIGTYPE_p_LUA__JSON,0))){
+      SWIG_fail_ptr("JSON_return_unformatted_json",1,SWIGTYPE_p_LUA__JSON);
+    }
+    
+    arg2 = (lua_toboolean(L, 2)!=0);
+    switch_assert(arg1);
+    (arg1)->return_unformatted_json(arg2);
+    
+    return SWIG_arg;
+    
+    fail: SWIGUNUSED;
   }
-  
-  arg2 = (lua_toboolean(L, 2)!=0);
-  switch_assert(arg1);
-  (arg1)->return_unformatted_json(arg2);
-  
-  return SWIG_arg;
-  
-  if(0) SWIG_fail;
-  
-fail:
   lua_error(L);
-  return SWIG_arg;
+  return 0;
 }
 
 
@@ -10402,7 +10467,7 @@ static swig_type_info _swigt__p_input_callback_state = {"_p_input_callback_state
 static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_lua_State = {"_p_lua_State", "lua_State *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_p_switch_event_node_t = {"_p_p_switch_event_node_t", "switch_event_node_t **", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_session_flag_t = {"_p_session_flag_t", "enum session_flag_t *|session_flag_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_session_flag_t = {"_p_session_flag_t", "session_flag_t *|enum session_flag_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_std__string = {"_p_std__string", "std::string *", 0, 0, (void*)&_wrap_class_string, 0};
 static swig_type_info _swigt__p_switch_call_cause_t = {"_p_switch_call_cause_t", "switch_call_cause_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_switch_channel_state_t = {"_p_switch_channel_state_t", "switch_channel_state_t *", 0, 0, (void*)0, 0};
@@ -10578,9 +10643,12 @@ extern "C" {
 #define SWIGRUNTIME_DEBUG
 #endif
 
+#ifndef SWIG_INIT_CLIENT_DATA_TYPE
+#define SWIG_INIT_CLIENT_DATA_TYPE void *
+#endif
 
 SWIGRUNTIME void
-SWIG_InitializeModule(void *clientdata) {
+SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
   size_t i;
   swig_module_info *module_head, *iter;
   int init;
@@ -10626,7 +10694,7 @@ SWIG_InitializeModule(void *clientdata) {
 
   /* Now work on filling in swig_module.types */
 #ifdef SWIGRUNTIME_DEBUG
-  printf("SWIG_InitializeModule: size %d\n", swig_module.size);
+  printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
 #endif
   for (i = 0; i < swig_module.size; ++i) {
     swig_type_info *type = 0;
@@ -10634,7 +10702,7 @@ SWIG_InitializeModule(void *clientdata) {
     swig_cast_info *cast;
 
 #ifdef SWIGRUNTIME_DEBUG
-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+    printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
 #endif
 
     /* if there is another module already loaded */
@@ -10710,7 +10778,7 @@ SWIG_InitializeModule(void *clientdata) {
   for (i = 0; i < swig_module.size; ++i) {
     int j = 0;
     swig_cast_info *cast = swig_module.cast_initial[i];
-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+    printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
     while (cast->type) {
       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
       cast++;
index 51de531a35b9307e5f588faf087dc7eff1725d9f..780bed4c62044213155255f83bfd780405362ccc 100644 (file)
@@ -1,42 +1,14 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * This file is not intended to be easily readable and contains a number of
- * coding conventions designed to improve portability and efficiency. Do not make
- * changes to this file unless you know what you are doing--modify the SWIG
- * interface file instead.
+ * Do not make changes to this file unless you know what you are doing - modify
+ * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
 
-#ifndef SWIGCSHARP
+#define SWIG_VERSION 0x040100
 #define SWIGCSHARP
-#endif
-
-
-
-#ifdef __cplusplus
-/* SwigValueWrapper is described in swig.swg */
-template<typename T> class SwigValueWrapper {
-  struct SwigMovePointer {
-    T *ptr;
-    SwigMovePointer(T *p) : ptr(p) { }
-    ~SwigMovePointer() { delete ptr; }
-    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
-  } pointer;
-  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
-public:
-  SwigValueWrapper() : pointer(0) { }
-  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
-  operator T&() const { return *pointer.ptr; }
-  T *operator&() { return pointer.ptr; }
-};
-
-template <typename T> T SwigValueInit() {
-  return T();
-}
-#endif
 
 /* -----------------------------------------------------------------------------
  *  This section contains generic SWIG labels for method/variable
@@ -283,7 +255,7 @@ SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_freeswitch(
 
 /* Contract support */
 
-#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } else
+#define SWIG_contract_assert(nullreturn, expr, msg) do { if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } } while (0)
 
 
 
@@ -320,11 +292,62 @@ char * SWIG_csharp_string_callback(const char * str) {
 }
 
 
+#ifdef __cplusplus
+#include <utility>
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper {
+  struct SwigSmartPointer {
+    T *ptr;
+    SwigSmartPointer(T *p) : ptr(p) { }
+    ~SwigSmartPointer() { delete ptr; }
+    SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+    void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
+#if __cplusplus >=201103L
+  SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
+  operator T&&() const { return std::move(*pointer.ptr); }
+#else
+  operator T&() const { return *pointer.ptr; }
+#endif
+  T *operator&() const { return pointer.ptr; }
+  static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
+};
+
+/*
+ * SwigValueInit() is a generic initialisation solution as the following approach:
+ * 
+ *       T c_result = T();
+ * 
+ * doesn't compile for all types for example:
+ * 
+ *       unsigned int c_result = unsigned int();
+ */
+template <typename T> T SwigValueInit() {
+  return T();
+}
+
+#if __cplusplus >=201103L
+# define SWIG_STD_MOVE(OBJ) std::move(OBJ)
+#else
+# define SWIG_STD_MOVE(OBJ) OBJ
+#endif
+
+#endif
+
+
 #include "switch.h"
 #include "switch_cpp.h"
 #include "freeswitch_managed.h"
 
 
+#include <string.h>
+
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -3562,7 +3585,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_raw_
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->raw_bytes);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3590,7 +3613,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_medi
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->media_bytes);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3618,7 +3641,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_pack
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3646,7 +3669,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_peri
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->period_packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3674,7 +3697,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_medi
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->media_packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3702,7 +3725,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_skip
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->skip_packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3730,7 +3753,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_jb_p
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->jb_packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3758,7 +3781,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_dtmf
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->dtmf_packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3786,7 +3809,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_cng_
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->cng_packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3814,7 +3837,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flus
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->flush_packet_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -3842,7 +3865,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_larg
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->largest_jb_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -4204,7 +4227,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_flaw
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->flaws);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -4232,7 +4255,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_numbers_t_last
   
   arg1 = (switch_rtp_numbers_t *)jarg1; 
   result =  ((arg1)->last_flaw);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -8072,7 +8095,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mm_t_fmt_get___(vo
   
   arg1 = (switch_mm_s *)jarg1; 
   result =  ((arg1)->fmt);
-  jresult = new switch_img_fmt_t((const switch_img_fmt_t &)result); 
+  jresult = new switch_img_fmt_t(result); 
   return jresult;
 }
 
@@ -9397,7 +9420,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_perform_substitution
   }
   arg6 = *argp6; 
   arg7 = (int *)jarg7; 
-  switch_perform_substitution(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
+  switch_perform_substitution(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,SWIG_STD_MOVE(arg6),arg7);
 }
 
 
@@ -9750,7 +9773,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_app_log_stamp_get_
   
   arg1 = (switch_app_log *)jarg1; 
   result =  ((arg1)->stamp);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -9818,7 +9841,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_thread_data_t_func
   
   arg1 = (switch_thread_data_s *)jarg1; 
   result =  ((arg1)->func);
-  jresult = new switch_thread_start_t((const switch_thread_start_t &)result); 
+  jresult = new switch_thread_start_t(result); 
   return jresult;
 }
 
@@ -9952,7 +9975,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_on_g
   
   arg1 = (switch_hold_record_s *)jarg1; 
   result =  ((arg1)->on);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -9980,7 +10003,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_hold_record_t_off_
   
   arg1 = (switch_hold_record_s *)jarg1; 
   result =  ((arg1)->off);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11040,7 +11063,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ac
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->active_start);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11068,7 +11091,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ac
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->active_stop);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11096,7 +11119,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_la
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->last_call_time);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11124,7 +11147,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ri
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->ring_start);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11152,7 +11175,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ri
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->ring_stop);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11180,7 +11203,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ho
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->hold_start);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11208,7 +11231,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ho
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->hold_stop);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11236,7 +11259,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_device_record_t_ca
   
   arg1 = (switch_device_record_s *)jarg1; 
   result =  ((arg1)->call_start);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -11660,7 +11683,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_messa
   
   arg1 = (switch_core_session_message *)jarg1; 
   result =  ((arg1)->string_arg_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -11710,7 +11733,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_messa
   
   arg1 = (switch_core_session_message *)jarg1; 
   result =  ((arg1)->pointer_arg_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -11790,7 +11813,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_messa
   
   arg1 = (switch_core_session_message *)jarg1; 
   result =  ((arg1)->string_reply_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -11840,7 +11863,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_messa
   
   arg1 = (switch_core_session_message *)jarg1; 
   result =  ((arg1)->pointer_reply_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -11996,7 +12019,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_messa
   
   arg1 = (switch_core_session_message *)jarg1; 
   result =  ((arg1)->delivery_time);
-  jresult = new time_t((const time_t &)result); 
+  jresult = new time_t(result); 
   return jresult;
 }
 
@@ -12157,7 +12180,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_must_malloc___(uns
   void *result = 0 ;
   
   arg1 = (size_t)jarg1; 
-  result = (void *)switch_must_malloc(arg1);
+  result = (void *)switch_must_malloc(SWIG_STD_MOVE(arg1));
   jresult = (void *)result; 
   return jresult;
 }
@@ -12171,7 +12194,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_must_realloc___(vo
   
   arg1 = (void *)jarg1; 
   arg2 = (size_t)jarg2; 
-  result = (void *)switch_must_realloc(arg1,arg2);
+  result = (void *)switch_must_realloc(arg1,SWIG_STD_MOVE(arg2));
   jresult = (void *)result; 
   return jresult;
 }
@@ -12365,7 +12388,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_media_bug_add___
   arg6 = *argp6; 
   arg7 = (switch_media_bug_flag_t)jarg7; 
   arg8 = (switch_media_bug_t **)jarg8; 
-  result = (switch_status_t)switch_core_media_bug_add(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
+  result = (switch_status_t)switch_core_media_bug_add(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,SWIG_STD_MOVE(arg6),arg7,arg8);
   jresult = (int)result; 
   return jresult;
 }
@@ -13129,7 +13152,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_perma
   arg2 = (char *)jarg2; 
   arg3 = (char *)jarg3; 
   arg4 = (int)jarg4; 
-  result = (void *)switch_core_perform_permanent_alloc(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  result = (void *)switch_core_perform_permanent_alloc(SWIG_STD_MOVE(arg1),(char const *)arg2,(char const *)arg3,arg4);
   jresult = (void *)result; 
   return jresult;
 }
@@ -13155,7 +13178,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_alloc
   arg3 = (char *)jarg3; 
   arg4 = (char *)jarg4; 
   arg5 = (int)jarg5; 
-  result = (void *)switch_core_perform_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
+  result = (void *)switch_core_perform_alloc(arg1,SWIG_STD_MOVE(arg2),(char const *)arg3,(char const *)arg4,arg5);
   jresult = (void *)result; 
   return jresult;
 }
@@ -13181,7 +13204,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_sessi
   arg3 = (char *)jarg3; 
   arg4 = (char *)jarg4; 
   arg5 = (int)jarg5; 
-  result = (void *)switch_core_perform_session_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
+  result = (void *)switch_core_perform_session_alloc(arg1,SWIG_STD_MOVE(arg2),(char const *)arg3,(char const *)arg4,arg5);
   jresult = (void *)result; 
   return jresult;
 }
@@ -13261,7 +13284,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_perform_strnd
   arg4 = (char *)jarg4; 
   arg5 = (char *)jarg5; 
   arg6 = (int)jarg6; 
-  result = (char *)switch_core_perform_strndup(arg1,(char const *)arg2,arg3,(char const *)arg4,(char const *)arg5,arg6);
+  result = (char *)switch_core_perform_strndup(arg1,(char const *)arg2,SWIG_STD_MOVE(arg3),(char const *)arg4,(char const *)arg5,arg6);
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -13430,7 +13453,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_get_i
   
   arg1 = (switch_core_session_t *)jarg1; 
   result = switch_core_session_get_id(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -13440,7 +13463,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_id___
   switch_size_t result;
   
   result = switch_core_session_id();
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -13450,7 +13473,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_session_id_de
   switch_size_t result;
   
   result = switch_core_session_id_dec();
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -14885,7 +14908,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_hash_insert_a
   arg2 = (char *)jarg2; 
   arg3 = (size_t)jarg3; 
   arg4 = (hashtable_destructor_t)jarg4; 
-  result = (void *)switch_core_hash_insert_alloc_destructor(arg1,(char const *)arg2,arg3,arg4);
+  result = (void *)switch_core_hash_insert_alloc_destructor(arg1,(char const *)arg2,SWIG_STD_MOVE(arg3),arg4);
   jresult = (void *)result; 
   return jresult;
 }
@@ -16576,7 +16599,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_management_exec_
     return 0;
   }
   arg4 = *argp4; 
-  result = (switch_status_t)switch_core_management_exec(arg1,arg2,arg3,arg4);
+  result = (switch_status_t)switch_core_management_exec(arg1,arg2,arg3,SWIG_STD_MOVE(arg4));
   jresult = (int)result; 
   return jresult;
 }
@@ -16678,7 +16701,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_measure_time___
   }
   arg1 = *argp1; 
   arg2 = (switch_core_time_duration_t *)jarg2; 
-  switch_core_measure_time(arg1,arg2);
+  switch_core_measure_time(SWIG_STD_MOVE(arg1),arg2);
 }
 
 
@@ -16687,7 +16710,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_uptime___() {
   switch_time_t result;
   
   result = switch_core_uptime();
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -16860,7 +16883,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_micro_time_now___(
   switch_time_t result;
   
   result = switch_micro_time_now();
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -16870,7 +16893,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mono_micro_time_no
   switch_time_t result;
   
   result = switch_mono_micro_time_now();
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -16905,7 +16928,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_ref___() {
   switch_time_t result;
   
   result = switch_time_ref();
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -16922,7 +16945,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_epoch_time_now___(
   
   arg1 = (time_t *)jarg1; 
   result = switch_epoch_time_now(arg1);
-  jresult = new time_t((const time_t &)result); 
+  jresult = new time_t(result); 
   return jresult;
 }
 
@@ -16959,7 +16982,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strftime_tz___(char *
     return 0;
   }
   arg5 = *argp5; 
-  result = (switch_status_t)switch_strftime_tz((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
+  result = (switch_status_t)switch_strftime_tz((char const *)arg1,(char const *)arg2,arg3,SWIG_STD_MOVE(arg4),SWIG_STD_MOVE(arg5));
   jresult = (int)result; 
   return jresult;
 }
@@ -16981,7 +17004,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_time_exp_tz_name___(c
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_status_t)switch_time_exp_tz_name((char const *)arg1,arg2,arg3);
+  result = (switch_status_t)switch_time_exp_tz_name((char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -17197,7 +17220,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cond_yield___(void *
     return ;
   }
   arg1 = *argp1; 
-  switch_cond_yield(arg1);
+  switch_cond_yield(SWIG_STD_MOVE(arg1));
 }
 
 
@@ -17926,7 +17949,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_cache_db_execute_s
   arg3 = (char *)jarg3; 
   arg4 = (size_t)jarg4; 
   arg5 = (char **)jarg5; 
-  result = (char *)switch_cache_db_execute_sql2str(arg1,arg2,arg3,arg4,arg5);
+  result = (char *)switch_cache_db_execute_sql2str(arg1,arg2,arg3,SWIG_STD_MOVE(arg4),arg5);
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -18506,7 +18529,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_core_gen_encoded_sil
     return ;
   }
   arg3 = *argp3; 
-  switch_core_gen_encoded_silence(arg1,(switch_codec_implementation const *)arg2,arg3);
+  switch_core_gen_encoded_silence(arg1,(switch_codec_implementation const *)arg2,SWIG_STD_MOVE(arg3));
 }
 
 
@@ -18787,7 +18810,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fork___() {
   pid_t result;
   
   result = switch_fork();
-  jresult = new pid_t((const pid_t &)result); 
+  jresult = new pid_t(result); 
   return jresult;
 }
 
@@ -20156,7 +20179,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_console_stream_raw_wr
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_status_t)switch_console_stream_raw_write(arg1,arg2,arg3);
+  result = (switch_status_t)switch_console_stream_raw_write(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -20487,7 +20510,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_get_hex_bytes___(v
     return 0;
   }
   arg4 = *argp4; 
-  result = (char *)switch_get_hex_bytes(arg1,arg2,arg3,arg4);
+  result = (char *)switch_get_hex_bytes(arg1,SWIG_STD_MOVE(arg2),arg3,SWIG_STD_MOVE(arg4));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -20748,7 +20771,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_ip_t_v6_get___(void * jar
   
   arg1 = (ip_t *)jarg1; 
   result =  ((arg1)->v6);
-  jresult = new in6_addr((const in6_addr &)result); 
+  jresult = new in6_addr(result); 
   return jresult;
 }
 
@@ -20799,7 +20822,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_testv6_subnet___(void
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_bool_t)switch_testv6_subnet(arg1,arg2,arg3);
+  result = (switch_bool_t)switch_testv6_subnet(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -20821,7 +20844,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_print_host___(void
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_print_host(arg1,arg2,arg3);
+  result = (char *)switch_print_host(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -20923,7 +20946,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_b64_encode___(void *
     return 0;
   }
   arg4 = *argp4; 
-  result = (switch_status_t)switch_b64_encode(arg1,arg2,arg3,arg4);
+  result = (switch_status_t)switch_b64_encode(arg1,SWIG_STD_MOVE(arg2),arg3,SWIG_STD_MOVE(arg4));
   jresult = (int)result; 
   return jresult;
 }
@@ -20945,8 +20968,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_b64_decode___(char
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_b64_decode((char const *)arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_b64_decode((char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -20967,7 +20990,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_amp_encode___(char
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_amp_encode(arg1,arg2,arg3);
+  result = (char *)switch_amp_encode(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -20989,7 +21012,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_print_bits___(void
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_print_bits((unsigned char const *)arg1,arg2,arg3);
+  result = (char *)switch_print_bits((unsigned char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -21059,8 +21082,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fd_read_line___(in
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_fd_read_line(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_fd_read_line(arg1,arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -21076,7 +21099,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fd_read_dline___(i
   arg2 = (char **)jarg2; 
   arg3 = (switch_size_t *)jarg3; 
   result = switch_fd_read_dline(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -21092,7 +21115,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_fp_read_dline___(v
   arg2 = (char **)jarg2; 
   arg3 = (switch_size_t *)jarg3; 
   result = switch_fp_read_dline(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -21111,7 +21134,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_alloc___(void *
     return 0;
   }
   arg2 = *argp2; 
-  result = (switch_status_t)switch_frame_alloc(arg1,arg2);
+  result = (switch_status_t)switch_frame_alloc(arg1,SWIG_STD_MOVE(arg2));
   jresult = (int)result; 
   return jresult;
 }
@@ -21245,7 +21268,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_resolve_host___(char
   arg1 = (char *)jarg1; 
   arg2 = (char *)jarg2; 
   arg3 = (size_t)jarg3; 
-  result = (switch_status_t)switch_resolve_host((char const *)arg1,arg2,arg3);
+  result = (switch_status_t)switch_resolve_host((char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -21313,7 +21336,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_get_addr___(char * jarg1,
     return 0;
   }
   arg4 = *argp4; 
-  result = (char *)get_addr(arg1,arg2,arg3,arg4);
+  result = (char *)get_addr(arg1,SWIG_STD_MOVE(arg2),arg3,SWIG_STD_MOVE(arg4));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -21343,7 +21366,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_get_addr6___(char * jarg1
     return 0;
   }
   arg4 = *argp4; 
-  result = (char *)get_addr6(arg1,arg2,arg3,arg4);
+  result = (char *)get_addr6(arg1,SWIG_STD_MOVE(arg2),arg3,SWIG_STD_MOVE(arg4));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -21425,7 +21448,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_build_uri___(char * j
   arg4 = (char *)jarg4; 
   arg5 = (switch_sockaddr_t *)jarg5; 
   arg6 = (int)jarg6; 
-  result = (int)switch_build_uri(arg1,arg2,(char const *)arg3,(char const *)arg4,(switch_sockaddr_t const *)arg5,arg6);
+  result = (int)switch_build_uri(arg1,SWIG_STD_MOVE(arg2),(char const *)arg3,(char const *)arg4,(switch_sockaddr_t const *)arg5,arg6);
   jresult = result; 
   return jresult;
 }
@@ -21652,7 +21675,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_str_time___(char *
   
   arg1 = (char *)jarg1; 
   result = switch_str_time((char const *)arg1);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -21735,7 +21758,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strip_commas___(ch
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_strip_commas(arg1,arg2,arg3);
+  result = (char *)switch_strip_commas(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -21757,7 +21780,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strip_nonnumerics_
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_strip_nonnumerics(arg1,arg2,arg3);
+  result = (char *)switch_strip_nonnumerics(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -21829,7 +21852,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ast2regex___(char * j
   arg1 = (char *)jarg1; 
   arg2 = (char *)jarg2; 
   arg3 = (size_t)jarg3; 
-  result = (switch_bool_t)switch_ast2regex((char const *)arg1,arg2,arg3);
+  result = (switch_bool_t)switch_ast2regex((char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -21883,7 +21906,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_escape_string___(c
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_escape_string((char const *)arg1,arg2,arg3);
+  result = (char *)switch_escape_string((char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -21957,7 +21980,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_string_match___(char
   arg2 = (size_t)jarg2; 
   arg3 = (char *)jarg3; 
   arg4 = (size_t)jarg4; 
-  result = (switch_status_t)switch_string_match((char const *)arg1,arg2,(char const *)arg3,arg4);
+  result = (switch_status_t)switch_string_match((char const *)arg1,SWIG_STD_MOVE(arg2),(char const *)arg3,SWIG_STD_MOVE(arg4));
   jresult = (int)result; 
   return jresult;
 }
@@ -22080,7 +22103,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_url_encode_opt___(
   arg2 = (char *)jarg2; 
   arg3 = (size_t)jarg3; 
   arg4 = (switch_bool_t)jarg4; 
-  result = (char *)switch_url_encode_opt((char const *)arg1,arg2,arg3,arg4);
+  result = (char *)switch_url_encode_opt((char const *)arg1,arg2,SWIG_STD_MOVE(arg3),arg4);
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -22096,7 +22119,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_url_encode___(char
   arg1 = (char *)jarg1; 
   arg2 = (char *)jarg2; 
   arg3 = (size_t)jarg3; 
-  result = (char *)switch_url_encode((char const *)arg1,arg2,arg3);
+  result = (char *)switch_url_encode((char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -22424,7 +22447,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_validate
   arg2 = *argp2; 
   arg3 = (int)jarg3; 
   arg4 = (char **)jarg4; 
-  result = (switch_bool_t)switch_network_list_validate_ip6_port_token(arg1,arg2,arg3,(char const **)arg4);
+  result = (switch_bool_t)switch_network_list_validate_ip6_port_token(arg1,SWIG_STD_MOVE(arg2),arg3,(char const **)arg4);
   jresult = (int)result; 
   return jresult;
 }
@@ -22462,7 +22485,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_network_list_validate
   }
   arg2 = *argp2; 
   arg3 = (char **)jarg3; 
-  result = (switch_bool_t)switch_network_list_validate_ip6_token(arg1,arg2,(char const **)arg3);
+  result = (switch_bool_t)switch_network_list_validate_ip6_token(arg1,SWIG_STD_MOVE(arg2),(char const **)arg3);
   jresult = (int)result; 
   return jresult;
 }
@@ -22600,7 +22623,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_calloc___(unsigned
   
   arg1 = (size_t)jarg1; 
   arg2 = (size_t)jarg2; 
-  result = (void *)switch_calloc(arg1,arg2);
+  result = (void *)switch_calloc(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2));
   jresult = (void *)result; 
   return jresult;
 }
@@ -22620,7 +22643,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_uuid_str___(char *
     return 0;
   }
   arg2 = *argp2; 
-  result = (char *)switch_uuid_str(arg1,arg2);
+  result = (char *)switch_uuid_str(arg1,SWIG_STD_MOVE(arg2));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -22678,7 +22701,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_strerror_r___(int
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_strerror_r(arg1,arg2,arg3);
+  result = (char *)switch_strerror_r(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -23044,7 +23067,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_con
   
   arg1 = (switch_http_request_s *)jarg1; 
   result =  ((arg1)->content_length);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -23072,7 +23095,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_byt
   
   arg1 = (switch_http_request_s *)jarg1; 
   result =  ((arg1)->bytes_header);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -23100,7 +23123,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_byt
   
   arg1 = (switch_http_request_s *)jarg1; 
   result =  ((arg1)->bytes_read);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -23128,7 +23151,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_http_request_t_byt
   
   arg1 = (switch_http_request_s *)jarg1; 
   result =  ((arg1)->bytes_buffered);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -23345,7 +23368,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_frame_buffer_create__
     return 0;
   }
   arg2 = *argp2; 
-  result = (switch_status_t)switch_frame_buffer_create(arg1,arg2);
+  result = (switch_status_t)switch_frame_buffer_create(arg1,SWIG_STD_MOVE(arg2));
   jresult = (int)result; 
   return jresult;
 }
@@ -23531,7 +23554,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_digest___(char * jarg
   }
   arg4 = *argp4; 
   arg5 = (unsigned int *)jarg5; 
-  result = (switch_status_t)switch_digest((char const *)arg1,arg2,(void const *)arg3,arg4,arg5);
+  result = (switch_status_t)switch_digest((char const *)arg1,arg2,(void const *)arg3,SWIG_STD_MOVE(arg4),arg5);
   jresult = (int)result; 
   return jresult;
 }
@@ -23557,7 +23580,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_digest_string___(char
   }
   arg4 = *argp4; 
   arg5 = (unsigned int *)jarg5; 
-  result = (switch_status_t)switch_digest_string((char const *)arg1,arg2,(void const *)arg3,arg4,arg5);
+  result = (switch_status_t)switch_digest_string((char const *)arg1,arg2,(void const *)arg3,SWIG_STD_MOVE(arg4),arg5);
   jresult = (int)result; 
   return jresult;
 }
@@ -26373,7 +26396,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data
   
   arg1 = (switch_stream_handle *)jarg1; 
   result =  ((arg1)->data_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -26401,7 +26424,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_data
   
   arg1 = (switch_stream_handle *)jarg1; 
   result =  ((arg1)->data_len);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -26429,7 +26452,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_allo
   
   arg1 = (switch_stream_handle *)jarg1; 
   result =  ((arg1)->alloc_len);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -26457,7 +26480,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_stream_handle_allo
   
   arg1 = (switch_stream_handle *)jarg1; 
   result =  ((arg1)->alloc_chunk);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -27298,7 +27321,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_diff_get___(
   
   arg1 = (switch_timer *)jarg1; 
   result =  ((arg1)->diff);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -27326,7 +27349,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_timer_start_get___
   
   arg1 = (switch_timer *)jarg1; 
   result =  ((arg1)->start);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -28547,7 +28570,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sample
   
   arg1 = (switch_file_handle *)jarg1; 
   result =  ((arg1)->sample_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -28847,7 +28870,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sample
   
   arg1 = (switch_file_handle *)jarg1; 
   result =  ((arg1)->samples_in);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -28875,7 +28898,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_sample
   
   arg1 = (switch_file_handle *)jarg1; 
   result =  ((arg1)->samples_out);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -29013,7 +29036,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_dbufle
   
   arg1 = (switch_file_handle *)jarg1; 
   result =  ((arg1)->dbuflen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -29085,7 +29108,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_pre_bu
   
   arg1 = (switch_file_handle *)jarg1; 
   result =  ((arg1)->pre_buffer_datalen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -29540,7 +29563,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_file_handle_muxlen
   
   arg1 = (switch_file_handle *)jarg1; 
   result =  ((arg1)->muxlen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -30391,7 +30414,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_asr_handle_dbuflen
   
   arg1 = (switch_asr_handle *)jarg1; 
   result =  ((arg1)->dbuflen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -31219,7 +31242,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_speech_handle_dbuf
   
   arg1 = (switch_speech_handle *)jarg1; 
   result =  ((arg1)->dbuflen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -35886,7 +35909,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->profile_created);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -35914,7 +35937,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->created);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -35942,7 +35965,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->answered);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -35970,7 +35993,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->progress);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -35998,7 +36021,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->progress_media);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -36026,7 +36049,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->hungup);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -36054,7 +36077,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->transferred);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -36082,7 +36105,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->resurrected);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -36110,7 +36133,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->bridged);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -36138,7 +36161,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->last_hold);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -36166,7 +36189,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_timetable_
   
   arg1 = (switch_channel_timetable *)jarg1; 
   result =  ((arg1)->hold_accum);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -36992,7 +37015,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_variable_
     return 0;
   }
   arg4 = *argp4; 
-  result = (switch_status_t)switch_channel_get_variable_buf(arg1,(char const *)arg2,arg3,arg4);
+  result = (switch_status_t)switch_channel_get_variable_buf(arg1,(char const *)arg2,arg3,SWIG_STD_MOVE(arg4));
   jresult = (int)result; 
   return jresult;
 }
@@ -37593,7 +37616,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_has_dtmf__
   
   arg1 = (switch_channel_t *)jarg1; 
   result = switch_channel_has_dtmf(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -37700,8 +37723,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_dequeue_dt
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_channel_dequeue_dtmf_string(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_channel_dequeue_dtmf_string(arg1,arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38170,7 +38193,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_channel_get_partne
     return 0;
   }
   arg3 = *argp3; 
-  result = (char *)switch_channel_get_partner_uuid_copy(arg1,arg2,arg3);
+  result = (char *)switch_channel_get_partner_uuid_copy(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -38353,7 +38376,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_create_partiti
     return 0;
   }
   arg4 = *argp4; 
-  result = (switch_status_t)switch_buffer_create_partition(arg1,arg2,arg3,arg4);
+  result = (switch_status_t)switch_buffer_create_partition(arg1,arg2,arg3,SWIG_STD_MOVE(arg4));
   jresult = (int)result; 
   return jresult;
 }
@@ -38375,7 +38398,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_set_partition_
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_status_t)switch_buffer_set_partition_data(arg1,arg2,arg3);
+  result = (switch_status_t)switch_buffer_set_partition_data(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -38409,7 +38432,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_create___(void
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_status_t)switch_buffer_create(arg1,arg2,arg3);
+  result = (switch_status_t)switch_buffer_create(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -38445,7 +38468,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_create_dynamic
     return 0;
   }
   arg4 = *argp4; 
-  result = (switch_status_t)switch_buffer_create_dynamic(arg1,arg2,arg3,arg4);
+  result = (switch_status_t)switch_buffer_create_dynamic(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3),SWIG_STD_MOVE(arg4));
   jresult = (int)result; 
   return jresult;
 }
@@ -38496,7 +38519,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_len___(void
   
   arg1 = (switch_buffer_t *)jarg1; 
   result = switch_buffer_len(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38508,7 +38531,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_freespace__
   
   arg1 = (switch_buffer_t *)jarg1; 
   result = switch_buffer_freespace(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38520,7 +38543,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_inuse___(vo
   
   arg1 = (switch_buffer_t *)jarg1; 
   result = switch_buffer_inuse(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38541,8 +38564,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_read___(voi
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_buffer_read(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_buffer_read(arg1,arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38563,8 +38586,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_peek___(voi
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_buffer_peek(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_buffer_peek(arg1,arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38578,7 +38601,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_peek_zeroco
   arg1 = (switch_buffer_t *)jarg1; 
   arg2 = (void **)jarg2; 
   result = switch_buffer_peek_zerocopy(arg1,(void const **)arg2);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38599,8 +38622,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_read_loop__
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_buffer_read_loop(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_buffer_read_loop(arg1,arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38631,8 +38654,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_write___(vo
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_buffer_write(arg1,(void const *)arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_buffer_write(arg1,(void const *)arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38651,8 +38674,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_toss___(voi
     return 0;
   }
   arg2 = *argp2; 
-  result = switch_buffer_toss(arg1,arg2);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_buffer_toss(arg1,SWIG_STD_MOVE(arg2));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38681,8 +38704,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_slide_write
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_buffer_slide_write(arg1,(void const *)arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_buffer_slide_write(arg1,(void const *)arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -38711,8 +38734,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_buffer_zwrite___(v
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_buffer_zwrite(arg1,(void const *)arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_buffer_zwrite(arg1,(void const *)arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -39881,7 +39904,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_event_binary_deserial
   }
   arg3 = *argp3; 
   arg4 = (switch_bool_t)jarg4; 
-  result = (switch_status_t)switch_event_binary_deserialize(arg1,arg2,arg3,arg4);
+  result = (switch_status_t)switch_event_binary_deserialize(arg1,arg2,SWIG_STD_MOVE(arg3),arg4);
   jresult = (int)result; 
   return jresult;
 }
@@ -40825,8 +40848,8 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_float_to_short___(
     return 0;
   }
   arg3 = *argp3; 
-  result = switch_float_to_short(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  result = switch_float_to_short(arg1,arg2,SWIG_STD_MOVE(arg3));
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -40983,7 +41006,7 @@ SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_mux_channels___(void
   arg2 = *argp2; 
   arg3 = (uint32_t)jarg3; 
   arg4 = (uint32_t)jarg4; 
-  switch_mux_channels(arg1,arg2,arg3,arg4);
+  switch_mux_channels(arg1,SWIG_STD_MOVE(arg2),arg3,arg4);
 }
 
 
@@ -41781,7 +41804,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_collect_digits_co
   arg7 = (uint32_t)jarg7; 
   arg8 = (uint32_t)jarg8; 
   arg9 = (uint32_t)jarg9; 
-  result = (switch_status_t)switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9);
+  result = (switch_status_t)switch_ivr_collect_digits_count(arg1,arg2,SWIG_STD_MOVE(arg3),SWIG_STD_MOVE(arg4),(char const *)arg5,arg6,arg7,arg8,arg9);
   jresult = (int)result; 
   return jresult;
 }
@@ -42281,7 +42304,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_tone_detect_sessi
   arg7 = (char *)jarg7; 
   arg8 = (char *)jarg8; 
   arg9 = (switch_tone_detect_callback_t)jarg9; 
-  result = (switch_status_t)switch_ivr_tone_detect_session(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,(char const *)arg7,(char const *)arg8,arg9);
+  result = (switch_status_t)switch_ivr_tone_detect_session(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,SWIG_STD_MOVE(arg5),arg6,(char const *)arg7,(char const *)arg8,arg9);
   jresult = (int)result; 
   return jresult;
 }
@@ -42693,7 +42716,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_schedul
   arg3 = (char *)jarg3; 
   arg4 = (char *)jarg4; 
   arg5 = (char *)jarg5; 
-  result = (uint32_t)switch_ivr_schedule_transfer(arg1,(char const *)arg2,arg3,arg4,arg5);
+  result = (uint32_t)switch_ivr_schedule_transfer(SWIG_STD_MOVE(arg1),(char const *)arg2,arg3,arg4,arg5);
   jresult = (unsigned long)result; 
   return jresult;
 }
@@ -42717,7 +42740,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_schedul
   arg2 = (char *)jarg2; 
   arg3 = (switch_call_cause_t)jarg3; 
   arg4 = (switch_bool_t)jarg4; 
-  result = (uint32_t)switch_ivr_schedule_hangup(arg1,(char const *)arg2,arg3,arg4);
+  result = (uint32_t)switch_ivr_schedule_hangup(SWIG_STD_MOVE(arg1),(char const *)arg2,arg3,arg4);
   jresult = (unsigned long)result; 
   return jresult;
 }
@@ -42899,7 +42922,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_schedul
   arg2 = (char *)jarg2; 
   arg3 = (char *)jarg3; 
   arg4 = (switch_media_flag_t)jarg4; 
-  result = (uint32_t)switch_ivr_schedule_broadcast(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  result = (uint32_t)switch_ivr_schedule_broadcast(SWIG_STD_MOVE(arg1),(char const *)arg2,(char const *)arg3,arg4);
   jresult = (unsigned long)result; 
   return jresult;
 }
@@ -43297,7 +43320,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_find_bridged_uuid
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_status_t)switch_ivr_find_bridged_uuid((char const *)arg1,arg2,arg3);
+  result = (switch_status_t)switch_ivr_find_bridged_uuid((char const *)arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (int)result; 
   return jresult;
 }
@@ -43371,7 +43394,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_read___(void * ja
   arg8 = (uint32_t)jarg8; 
   arg9 = (char *)jarg9; 
   arg10 = (uint32_t)jarg10; 
-  result = (switch_status_t)switch_ivr_read(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6,arg7,arg8,(char const *)arg9,arg10);
+  result = (switch_status_t)switch_ivr_read(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6,SWIG_STD_MOVE(arg7),arg8,(char const *)arg9,arg10);
   jresult = (int)result; 
   return jresult;
 }
@@ -43967,7 +43990,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_insert_file___(vo
     return 0;
   }
   arg4 = *argp4; 
-  result = (switch_status_t)switch_ivr_insert_file(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  result = (switch_status_t)switch_ivr_insert_file(arg1,(char const *)arg2,(char const *)arg3,SWIG_STD_MOVE(arg4));
   jresult = (int)result; 
   return jresult;
 }
@@ -44093,7 +44116,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_ivr_video_write_overl
   }
   arg3 = *argp3; 
   arg4 = (uint8_t)jarg4; 
-  result = (switch_status_t)switch_ivr_video_write_overlay_session(arg1,(char const *)arg2,arg3,arg4);
+  result = (switch_status_t)switch_ivr_video_write_overlay_session(arg1,(char const *)arg2,SWIG_STD_MOVE(arg3),arg4);
   jresult = (int)result; 
   return jresult;
 }
@@ -44978,7 +45001,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_crypto_key_key
   
   arg1 = (switch_rtp_crypto_key *)jarg1; 
   result =  ((arg1)->keylen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -46337,7 +46360,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_has_dtmf___(vo
   
   arg1 = (switch_rtp_t *)jarg1; 
   result = switch_rtp_has_dtmf(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -46351,7 +46374,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_dequeue_dtmf__
   arg1 = (switch_rtp_t *)jarg1; 
   arg2 = (switch_dtmf_t *)jarg2; 
   result = switch_rtp_dequeue_dtmf(arg1,arg2);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -46897,7 +46920,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_timesta
   
   arg1 = (switch_log_node_t *)jarg1; 
   result =  ((arg1)->timestamp);
-  jresult = new switch_time_t((const switch_time_t &)result); 
+  jresult = new switch_time_t(result); 
   return jresult;
 }
 
@@ -47792,7 +47815,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_off_get___(voi
   
   arg1 = (switch_xml *)jarg1; 
   result =  ((arg1)->off);
-  jresult = new switch_size_t((const switch_size_t &)result); 
+  jresult = new switch_size_t(result); 
   return jresult;
 }
 
@@ -48077,7 +48100,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_parse_str___(c
     return 0;
   }
   arg2 = *argp2; 
-  result = (switch_xml_t)switch_xml_parse_str(arg1,arg2);
+  result = (switch_xml_t)switch_xml_parse_str(arg1,SWIG_STD_MOVE(arg2));
   jresult = (void *)result; 
   return jresult;
 }
@@ -48295,7 +48318,7 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_toxml_buf_ex__
   arg4 = *argp4; 
   arg5 = (switch_bool_t)jarg5; 
   arg6 = (switch_bool_t)jarg6; 
-  result = (char *)switch_xml_toxml_buf_ex(arg1,arg2,arg3,arg4,arg5,arg6);
+  result = (char *)switch_xml_toxml_buf_ex(arg1,arg2,SWIG_STD_MOVE(arg3),SWIG_STD_MOVE(arg4),arg5,arg6);
   jresult = SWIG_csharp_string_callback((const char *)result); 
   return jresult;
 }
@@ -48359,7 +48382,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_add_child___(v
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_xml_t)switch_xml_add_child(arg1,(char const *)arg2,arg3);
+  result = (switch_xml_t)switch_xml_add_child(arg1,(char const *)arg2,SWIG_STD_MOVE(arg3));
   jresult = (void *)result; 
   return jresult;
 }
@@ -48381,7 +48404,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_add_child_d___
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_xml_t)switch_xml_add_child_d(arg1,(char const *)arg2,arg3);
+  result = (switch_xml_t)switch_xml_add_child_d(arg1,(char const *)arg2,SWIG_STD_MOVE(arg3));
   jresult = (void *)result; 
   return jresult;
 }
@@ -48505,7 +48528,7 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_xml_insert___(void
     return 0;
   }
   arg3 = *argp3; 
-  result = (switch_xml_t)switch_xml_insert(arg1,arg2,arg3);
+  result = (switch_xml_t)switch_xml_insert(arg1,arg2,SWIG_STD_MOVE(arg3));
   jresult = (void *)result; 
   return jresult;
 }
@@ -50737,7 +50760,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_a
   arg5 = (uint32_t)jarg5; 
   arg6 = (void *)jarg6; 
   arg7 = (switch_scheduler_flag_t)jarg7; 
-  result = (uint32_t)switch_scheduler_add_task(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
+  result = (uint32_t)switch_scheduler_add_task(SWIG_STD_MOVE(arg1),arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
   jresult = (unsigned long)result; 
   return jresult;
 }
@@ -50769,7 +50792,7 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_scheduler_a
   arg6 = (void *)jarg6; 
   arg7 = (switch_scheduler_flag_t)jarg7; 
   arg8 = (uint32_t *)jarg8; 
-  result = (uint32_t)switch_scheduler_add_task_ex(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8);
+  result = (uint32_t)switch_scheduler_add_task_ex(SWIG_STD_MOVE(arg1),arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8);
   jresult = (unsigned long)result; 
   return jresult;
 }
@@ -53131,12 +53154,12 @@ SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_bridge___(void * jarg1, voi
   
   arg1 = (CoreSession *)jarg1;
   if (!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & is null", 0);
     return ;
   } 
   arg2 = (CoreSession *)jarg2;
   if (!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & is null", 0);
     return ;
   } 
   bridge(*arg1,*arg2);
index bfcee9310eafcf3f2e7354a7b1c39c537939cd82..f714881a48de8db3b74a7309cc5074661d736491 100644 (file)
@@ -1,10 +1,10 @@
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -23,11 +23,29 @@ public class Api : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Api obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~Api() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36,7 +54,6 @@ public class Api : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -64,10 +81,10 @@ public class Api : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -86,11 +103,29 @@ public class CoreSession : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(CoreSession obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~CoreSession() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -99,7 +134,6 @@ public class CoreSession : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -451,10 +485,10 @@ public class CoreSession : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -473,11 +507,29 @@ public class DTMF : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(DTMF obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~DTMF() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -486,7 +538,6 @@ public class DTMF : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -519,10 +570,10 @@ public class DTMF : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -541,11 +592,29 @@ public partial class Event : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Event obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~Event() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -554,7 +623,6 @@ public partial class Event : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -661,10 +729,10 @@ public partial class Event : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -683,11 +751,29 @@ public class EventConsumer : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(EventConsumer obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~EventConsumer() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -696,7 +782,6 @@ public class EventConsumer : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -796,10 +881,10 @@ public class EventConsumer : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -818,11 +903,29 @@ public class IvrMenu : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(IvrMenu obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~IvrMenu() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -831,7 +934,6 @@ public class IvrMenu : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -852,10 +954,10 @@ public class IvrMenu : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -872,11 +974,20 @@ public partial class ManagedSession : CoreSession {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
-  ~ManagedSession() {
-    Dispose();
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(ManagedSession obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
   }
 
-  public override void Dispose() {
+  protected override void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -885,8 +996,7 @@ public partial class ManagedSession : CoreSession {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
-      base.Dispose();
+      base.Dispose(disposing);
     }
   }
 
@@ -905,10 +1015,10 @@ public partial class ManagedSession : CoreSession {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -928,16 +1038,20 @@ public class SWIGTYPE_p_FILE {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_FILE obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_FILE obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -957,16 +1071,20 @@ public class SWIGTYPE_p_a_256__char {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_a_256__char obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_a_256__char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -986,16 +1104,20 @@ public class SWIGTYPE_p_a_2__icand_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_a_2__icand_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_a_2__icand_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1015,16 +1137,20 @@ public class SWIGTYPE_p_cJSON {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_cJSON obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_cJSON obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1044,16 +1170,20 @@ public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_s
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1073,16 +1203,20 @@ public class SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_p_switch_database_interface_handle__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1102,16 +1236,20 @@ public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__sw
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_fspr_pool_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1131,16 +1269,20 @@ public class SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__swit
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__cJSON_p_switch_core_session_p_p_cJSON__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1160,16 +1302,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_cJSON_p_q_const__char_unsigned_long_p_void__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1189,16 +1335,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1218,16 +1368,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_f_p_void_int_p_p_char_p_p_char__int_p_void_p_p_char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1247,16 +1401,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_int_p_switch_database_interface_handle_p_q_const__char_p_p_char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1276,16 +1434,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_cal
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_p_switch_console_callback_match__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1305,16 +1467,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_co
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1334,16 +1500,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_unsigned_long__int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1363,16 +1533,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_void__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1392,16 +1566,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_switch_codec_fmtp__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1421,16 +1599,20 @@ public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1450,16 +1632,20 @@ public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1479,16 +1665,20 @@ public class SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_q_const__void_p_q_const__void_p_void__switch_bool_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1508,16 +1698,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1537,16 +1731,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_char_double__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1566,16 +1764,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_char_int__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1595,16 +1797,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_char_p_q_const__char__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1624,16 +1830,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_s
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1653,16 +1863,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_p_switch_event_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1682,16 +1896,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1711,16 +1929,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__cha
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1740,16 +1962,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__s
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1769,16 +1995,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigne
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__switch_dtmf_t_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1798,16 +2028,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1827,16 +2061,20 @@ public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_lon
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1856,16 +2094,20 @@ public class SWIGTYPE_p_f_p_switch_codec__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1885,16 +2127,20 @@ public class SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enu
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec_enum_switch_codec_control_command_t_enum_switch_codec_control_type_t_p_void_enum_switch_codec_control_type_t_p_void_p_enum_switch_codec_control_type_t_p_p_void__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1914,16 +2160,20 @@ public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_uns
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1943,16 +2193,20 @@ public class SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec_p_switch_frame__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -1972,16 +2226,20 @@ public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_s
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2001,16 +2259,20 @@ public class SWIGTYPE_p_f_p_switch_core_session__int {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__int obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session__int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2030,16 +2292,20 @@ public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2059,16 +2325,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_enum_switch_channel_callstate_t_p_switch_device_record_s__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2088,16 +2358,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2117,16 +2391,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_c
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_p_char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2146,16 +2424,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_swi
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_char_p_switch_say_args_t_p_switch_input_args_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2175,16 +2457,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_i
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2204,16 +2490,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2233,16 +2523,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_bool_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2262,16 +2556,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2291,16 +2589,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char_p_q_const__char_q_const__int_q_const__int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2320,16 +2622,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2349,16 +2655,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_sw
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2378,16 +2688,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__s
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2407,16 +2721,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2436,16 +2754,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_p
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_fspr_pool_t_unsigned_long_p_enum_switch_call_cause_t__switch_call_cause_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2465,16 +2787,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_p
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2494,16 +2820,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_st
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2523,16 +2853,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2552,16 +2886,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_void__p_void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void__p_void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_void__p_void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2581,16 +2919,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2610,16 +2952,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2639,16 +2985,20 @@ public class SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_core_session_t_switch_media_type_t__p_switch_jb_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2668,16 +3018,20 @@ public class SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2697,16 +3051,20 @@ public class SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle_enum_switch_bool_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2726,16 +3084,20 @@ public class SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_statu
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle_p_int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2755,16 +3117,20 @@ public class SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_c
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_database_interface_handle_p_q_const__char_p_char_size_t_p_p_char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2784,16 +3150,20 @@ public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2813,16 +3183,20 @@ public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2842,16 +3216,20 @@ public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2871,16 +3249,20 @@ public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_st
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2900,16 +3282,20 @@ public class SWIGTYPE_p_f_p_switch_event__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_event__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2929,16 +3315,20 @@ public class SWIGTYPE_p_f_p_switch_event__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_event__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2958,16 +3348,20 @@ public class SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_event_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -2987,16 +3381,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3016,16 +3414,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_con
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3045,16 +3447,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3074,16 +3480,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switc
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_file_command_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3103,16 +3513,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_long_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3132,16 +3546,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3161,16 +3579,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3190,16 +3612,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_switch_frame_enum_switch_video_read_flag_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3219,16 +3645,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__swi
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3248,16 +3678,20 @@ public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_st
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3277,16 +3711,20 @@ public class SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_ivr_dmachine_match__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3306,16 +3744,20 @@ public class SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_ivr_menu_p_char_p_char_size_t_p_void__switch_ivr_action_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3335,16 +3777,20 @@ public class SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_live_array_s_p_q_const__char_p_q_const__char_p_cJSON_p_void__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3364,16 +3810,20 @@ public class SWIGTYPE_p_f_p_switch_media_bug_p_void__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_media_bug_p_void__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3393,16 +3843,20 @@ public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__swit
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3422,16 +3876,20 @@ public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3451,16 +3909,20 @@ public class SWIGTYPE_p_f_p_switch_scheduler_task__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3480,16 +3942,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3509,16 +3975,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3538,16 +4008,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3567,16 +4041,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3596,16 +4074,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3625,16 +4107,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsig
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3654,16 +4140,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3683,16 +4173,20 @@ public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsign
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3712,16 +4206,20 @@ public class SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_stream_handle_p_int__p_unsigned_char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3741,16 +4239,20 @@ public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3770,16 +4272,20 @@ public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3799,16 +4305,20 @@ public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3828,16 +4338,20 @@ public class SWIGTYPE_p_f_p_switch_timer__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3857,16 +4371,20 @@ public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3886,16 +4404,20 @@ public class SWIGTYPE_p_f_p_void__void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3915,16 +4437,20 @@ public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3944,16 +4470,20 @@ public class SWIGTYPE_p_f_p_void_p_q_const__char__int {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void_p_q_const__char__int obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void_p_q_const__char__int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -3973,16 +4503,20 @@ public class SWIGTYPE_p_f_p_void_p_switch_event__int {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_void_p_switch_event__int obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_p_void_p_switch_event__int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4002,16 +4536,20 @@ public class SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switc
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_switch_cache_db_database_interface_options_t_p_p_switch_database_interface_handle__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4031,16 +4569,20 @@ public class SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_uint8_t_p_p_q_const__char_p_void__p_switch_xml obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4060,16 +4602,20 @@ public class SWIGTYPE_p_f_void__p_char {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_void__p_char obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_void__p_char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4089,16 +4635,20 @@ public class SWIGTYPE_p_f_void__switch_status_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_f_void__switch_status_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4118,16 +4668,20 @@ public class SWIGTYPE_p_float {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_float obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_float obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4147,16 +4701,20 @@ public class SWIGTYPE_p_fspr_pool_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_fspr_pool_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_fspr_pool_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4176,16 +4734,20 @@ public class SWIGTYPE_p_in6_addr {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_in6_addr obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_in6_addr obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4205,16 +4767,20 @@ public class SWIGTYPE_p_int {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_int obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4234,16 +4800,20 @@ public class SWIGTYPE_p_p_cJSON {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_cJSON obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_cJSON obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4263,16 +4833,20 @@ public class SWIGTYPE_p_p_char {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_char obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4292,16 +4866,20 @@ public class SWIGTYPE_p_p_fspr_pool_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_fspr_pool_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_fspr_pool_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4321,16 +4899,20 @@ public class SWIGTYPE_p_p_p_char {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_p_char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4350,16 +4932,20 @@ public class SWIGTYPE_p_p_payload_map_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_payload_map_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_payload_map_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4379,16 +4965,20 @@ public class SWIGTYPE_p_p_real_pcre {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_real_pcre obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4408,16 +4998,20 @@ public class SWIGTYPE_p_p_sqlite3 {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_sqlite3 obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4437,16 +5031,20 @@ public class SWIGTYPE_p_p_sqlite3_stmt {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_sqlite3_stmt obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4466,16 +5064,20 @@ public class SWIGTYPE_p_p_switch_agc_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_agc_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_agc_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4495,16 +5097,20 @@ public class SWIGTYPE_p_p_switch_audio_resampler_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_audio_resampler_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4524,16 +5130,20 @@ public class SWIGTYPE_p_p_switch_buffer {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_buffer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4553,16 +5163,20 @@ public class SWIGTYPE_p_p_switch_cache_db_handle {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_cache_db_handle obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_cache_db_handle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4582,16 +5196,20 @@ public class SWIGTYPE_p_p_switch_caller_extension {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_caller_extension obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4611,16 +5229,20 @@ public class SWIGTYPE_p_p_switch_channel {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_channel obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4640,16 +5262,20 @@ public class SWIGTYPE_p_p_switch_codec_implementation {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_codec_implementation obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_codec_implementation obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4669,16 +5295,20 @@ public class SWIGTYPE_p_p_switch_console_callback_match {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_console_callback_match obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_console_callback_match obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4698,16 +5328,20 @@ public class SWIGTYPE_p_p_switch_core_port_allocator {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_core_port_allocator obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4727,16 +5361,20 @@ public class SWIGTYPE_p_p_switch_core_session {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_core_session obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4756,16 +5394,20 @@ public class SWIGTYPE_p_p_switch_core_session_message {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_core_session_message obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4785,16 +5427,20 @@ public class SWIGTYPE_p_p_switch_device_record_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_device_record_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_device_record_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4814,16 +5460,20 @@ public class SWIGTYPE_p_p_switch_dial_handle_list_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_handle_list_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_handle_list_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4843,16 +5493,20 @@ public class SWIGTYPE_p_p_switch_dial_handle_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_handle_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_handle_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4872,16 +5526,20 @@ public class SWIGTYPE_p_p_switch_dial_leg_list_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_leg_list_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_leg_list_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4901,16 +5559,20 @@ public class SWIGTYPE_p_p_switch_dial_leg_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_dial_leg_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_dial_leg_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4930,16 +5592,20 @@ public class SWIGTYPE_p_p_switch_event {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_event obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4959,16 +5625,20 @@ public class SWIGTYPE_p_p_switch_event_node {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_event_node obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -4988,16 +5658,20 @@ public class SWIGTYPE_p_p_switch_file_handle {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_file_handle obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_file_handle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5017,16 +5691,20 @@ public class SWIGTYPE_p_p_switch_frame {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_frame obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5046,16 +5724,20 @@ public class SWIGTYPE_p_p_switch_frame_buffer_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_frame_buffer_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_frame_buffer_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5075,16 +5757,20 @@ public class SWIGTYPE_p_p_switch_hashtable {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_hashtable obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_hashtable obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5104,16 +5790,20 @@ public class SWIGTYPE_p_p_switch_hashtable_iterator {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_hashtable_iterator obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_hashtable_iterator obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5133,16 +5823,20 @@ public class SWIGTYPE_p_p_switch_ivr_digit_stream {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_digit_stream obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5162,16 +5856,20 @@ public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5191,16 +5889,20 @@ public class SWIGTYPE_p_p_switch_ivr_dmachine {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_dmachine obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_dmachine obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5220,16 +5922,20 @@ public class SWIGTYPE_p_p_switch_ivr_dmachine_match {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_dmachine_match obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_dmachine_match obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5249,16 +5955,20 @@ public class SWIGTYPE_p_p_switch_ivr_menu {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_menu obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5278,16 +5988,20 @@ public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5307,16 +6021,20 @@ public class SWIGTYPE_p_p_switch_live_array_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_live_array_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_live_array_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5336,16 +6054,20 @@ public class SWIGTYPE_p_p_switch_log_node_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_log_node_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_log_node_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5365,16 +6087,20 @@ public class SWIGTYPE_p_p_switch_media_bug {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_media_bug obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5394,16 +6120,20 @@ public class SWIGTYPE_p_p_switch_network_list {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_network_list obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5423,16 +6153,20 @@ public class SWIGTYPE_p_p_switch_rtp {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_rtp obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5452,16 +6186,20 @@ public class SWIGTYPE_p_p_switch_say_file_handle {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_say_file_handle obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_say_file_handle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5481,16 +6219,20 @@ public class SWIGTYPE_p_p_switch_sql_queue_manager {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_sql_queue_manager obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_sql_queue_manager obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5510,16 +6252,20 @@ public class SWIGTYPE_p_p_switch_thread_data_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_thread_data_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_thread_data_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5539,16 +6285,20 @@ public class SWIGTYPE_p_p_switch_xml {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_xml obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5568,16 +6318,20 @@ public class SWIGTYPE_p_p_switch_xml_binding {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_switch_xml_binding obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5597,16 +6351,20 @@ public class SWIGTYPE_p_p_unsigned_char {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_unsigned_char obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_unsigned_char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5626,16 +6384,20 @@ public class SWIGTYPE_p_p_void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_p_void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_p_void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5655,16 +6417,20 @@ public class SWIGTYPE_p_pid_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_pid_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_pid_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5684,16 +6450,20 @@ public class SWIGTYPE_p_real_pcre {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_real_pcre obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5713,16 +6483,20 @@ public class SWIGTYPE_p_short {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_short obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_short obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5742,16 +6516,20 @@ public class SWIGTYPE_p_sockaddr {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sockaddr obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5771,16 +6549,20 @@ public class SWIGTYPE_p_sockaddr_in6 {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sockaddr_in6 obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sockaddr_in6 obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5800,16 +6582,20 @@ public class SWIGTYPE_p_socklen_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_socklen_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5829,16 +6615,20 @@ public class SWIGTYPE_p_sqlite3 {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sqlite3 obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5858,16 +6648,20 @@ public class SWIGTYPE_p_sqlite3_stmt {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_sqlite3_stmt obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5887,16 +6681,20 @@ public class SWIGTYPE_p_switch_agc_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_agc_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_agc_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5916,16 +6714,20 @@ public class SWIGTYPE_p_switch_buffer {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_buffer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5945,16 +6747,20 @@ public class SWIGTYPE_p_switch_cache_db_handle {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_cache_db_handle obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_cache_db_handle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -5974,16 +6780,20 @@ public class SWIGTYPE_p_switch_call_cause_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_call_cause_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6003,16 +6813,20 @@ public class SWIGTYPE_p_switch_channel {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_channel obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6032,16 +6846,20 @@ public class SWIGTYPE_p_switch_codec_control_type_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_codec_control_type_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_codec_control_type_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6061,16 +6879,20 @@ public class SWIGTYPE_p_switch_core_port_allocator {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_core_port_allocator obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6090,16 +6912,20 @@ public class SWIGTYPE_p_switch_core_session {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_core_session obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6119,16 +6945,20 @@ public class SWIGTYPE_p_switch_dial_handle_list_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_handle_list_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_handle_list_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6148,16 +6978,20 @@ public class SWIGTYPE_p_switch_dial_handle_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_handle_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_handle_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6177,16 +7011,20 @@ public class SWIGTYPE_p_switch_dial_leg_list_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_leg_list_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_leg_list_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6206,16 +7044,20 @@ public class SWIGTYPE_p_switch_dial_leg_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_dial_leg_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_dial_leg_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6235,16 +7077,20 @@ public class SWIGTYPE_p_switch_event_types_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_event_types_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6264,16 +7110,20 @@ public class SWIGTYPE_p_switch_file_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_file_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6293,16 +7143,20 @@ public class SWIGTYPE_p_switch_frame_buffer_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_frame_buffer_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_frame_buffer_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6322,16 +7176,20 @@ public class SWIGTYPE_p_switch_hashtable {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_hashtable obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_hashtable obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6351,16 +7209,20 @@ public class SWIGTYPE_p_switch_hashtable_iterator {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_hashtable_iterator obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_hashtable_iterator obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6380,16 +7242,20 @@ public class SWIGTYPE_p_switch_image_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_image_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_image_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6409,16 +7275,20 @@ public class SWIGTYPE_p_switch_img_fmt_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_img_fmt_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_img_fmt_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6438,16 +7308,20 @@ public class SWIGTYPE_p_switch_img_position_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_img_position_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_img_position_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6467,16 +7341,20 @@ public class SWIGTYPE_p_switch_interval_time_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_interval_time_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_interval_time_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6496,16 +7374,20 @@ public class SWIGTYPE_p_switch_ivr_action_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_action_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6525,16 +7407,20 @@ public class SWIGTYPE_p_switch_ivr_digit_stream {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_digit_stream obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6554,16 +7440,20 @@ public class SWIGTYPE_p_switch_ivr_digit_stream_parser {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6583,16 +7473,20 @@ public class SWIGTYPE_p_switch_ivr_dmachine {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_dmachine obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_dmachine obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6612,16 +7506,20 @@ public class SWIGTYPE_p_switch_ivr_menu {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_menu obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6641,16 +7539,20 @@ public class SWIGTYPE_p_switch_ivr_menu_xml_ctx {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6670,16 +7572,20 @@ public class SWIGTYPE_p_switch_jb_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_jb_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_jb_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6699,16 +7605,20 @@ public class SWIGTYPE_p_switch_live_array_s {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_live_array_s obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_live_array_s obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6728,16 +7638,20 @@ public class SWIGTYPE_p_switch_media_bug {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_media_bug obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6757,16 +7671,20 @@ public class SWIGTYPE_p_switch_mutex_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_mutex_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6786,16 +7704,20 @@ public class SWIGTYPE_p_switch_network_list {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_network_list obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6815,16 +7737,20 @@ public class SWIGTYPE_p_switch_odbc_handle {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_odbc_handle obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_odbc_handle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6844,16 +7770,20 @@ public class SWIGTYPE_p_switch_pollfd_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_pollfd_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6873,16 +7803,20 @@ public class SWIGTYPE_p_switch_queue_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_queue_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6902,16 +7836,20 @@ public class SWIGTYPE_p_switch_rtcp_frame {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_rtcp_frame obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_rtcp_frame obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6931,16 +7869,20 @@ public class SWIGTYPE_p_switch_rtp {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_rtp obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6960,16 +7902,20 @@ public class SWIGTYPE_p_switch_rtp_flag_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_rtp_flag_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_rtp_flag_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -6989,16 +7935,20 @@ public class SWIGTYPE_p_switch_say_file_handle {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_say_file_handle obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_say_file_handle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7018,16 +7968,20 @@ public class SWIGTYPE_p_switch_size_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_size_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7047,16 +8001,20 @@ public class SWIGTYPE_p_switch_sockaddr_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_sockaddr_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7076,16 +8034,20 @@ public class SWIGTYPE_p_switch_socket_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_socket_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7105,16 +8067,20 @@ public class SWIGTYPE_p_switch_sql_queue_manager {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_sql_queue_manager obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_sql_queue_manager obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7134,16 +8100,20 @@ public class SWIGTYPE_p_switch_ssize_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_ssize_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7163,16 +8133,20 @@ public class SWIGTYPE_p_switch_thread_rwlock_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_thread_rwlock_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7192,16 +8166,20 @@ public class SWIGTYPE_p_switch_thread_start_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_thread_start_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_thread_start_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7221,16 +8199,20 @@ public class SWIGTYPE_p_switch_thread_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_thread_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_thread_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7250,16 +8232,20 @@ public class SWIGTYPE_p_switch_time_exp_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_time_exp_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_time_exp_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7279,16 +8265,20 @@ public class SWIGTYPE_p_switch_time_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_time_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7308,16 +8298,20 @@ public class SWIGTYPE_p_switch_xml_binding {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_switch_xml_binding obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_switch_xml_binding obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7337,16 +8331,20 @@ public class SWIGTYPE_p_time_t {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_time_t obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_time_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7366,16 +8364,20 @@ public class SWIGTYPE_p_unsigned_char {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7395,16 +8397,20 @@ public class SWIGTYPE_p_unsigned_int {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7424,16 +8430,20 @@ public class SWIGTYPE_p_unsigned_long {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_long obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7453,16 +8463,20 @@ public class SWIGTYPE_p_unsigned_short {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_unsigned_short obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7482,16 +8496,20 @@ public class SWIGTYPE_p_void {
   internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_void obj) {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
+
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(SWIGTYPE_p_void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7510,11 +8528,29 @@ public partial class Stream : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(Stream obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~Stream() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -7523,7 +8559,6 @@ public partial class Stream : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -7557,10 +8592,10 @@ public partial class Stream : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7579,11 +8614,29 @@ public class audio_buffer_header_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(audio_buffer_header_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~audio_buffer_header_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -7592,7 +8645,6 @@ public class audio_buffer_header_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -7625,10 +8677,10 @@ public class audio_buffer_header_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7644,10 +8696,10 @@ public enum cache_db_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7662,10 +8714,10 @@ public enum dm_match_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7684,11 +8736,29 @@ public class dtls_fingerprint_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(dtls_fingerprint_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~dtls_fingerprint_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -7697,7 +8767,6 @@ public class dtls_fingerprint_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -7751,10 +8820,10 @@ public class dtls_fingerprint_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7773,10 +8842,10 @@ public enum dtls_state_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7793,10 +8862,10 @@ public enum dtls_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -7811,10 +8880,10 @@ public enum dtmf_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -8701,8 +9770,8 @@ else
     freeswitchPINVOKE.switch_core_set_variable(varname, value);
   }
 
-  public static switch_status_t switch_core_get_variables(SWIGTYPE_p_p_switch_event arg0) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_get_variables(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
+  public static switch_status_t switch_core_get_variables(SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_get_variables(SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -8794,8 +9863,8 @@ else
     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));
+  public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -8839,8 +9908,8 @@ else
     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));
+  public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -8898,8 +9967,8 @@ else
     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));
+  public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -8913,13 +9982,13 @@ else
     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);
+  public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event event_, switch_bool_t force) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(event_), (int)force);
     return ret;
   }
 
-  public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1, switch_bool_t priority) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1), (int)priority);
+  public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event event_, switch_bool_t priority) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(event_), (int)priority);
     return ret;
   }
 
@@ -8928,8 +9997,8 @@ else
     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));
+  public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -9423,21 +10492,21 @@ else
     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);
+  public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string string_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, string_);
     return ret;
   }
 
-  public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, out string arg2) {
-var arg2_ptr = global::System.IntPtr.Zero;
+  public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, out string string_) {
+var string__ptr = global::System.IntPtr.Zero;
     try {
-      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2_ptr);
+      switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref string__ptr);
       return ret;
     } finally {
-if(arg2_ptr != global::System.IntPtr.Zero)
-       arg2 = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(arg2_ptr);
+if(string__ptr != global::System.IntPtr.Zero)
+       string_ = global::System.Runtime.InteropServices.Marshal.PtrToStringAnsi(string__ptr);
 else
-       arg2 = null;
+       string_ = null;
     }
   }
 
@@ -9599,8 +10668,8 @@ else
     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);
+  public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string base_, string query) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), base_, query);
     return ret;
   }
 
@@ -9913,13 +10982,13 @@ else
     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);
+  public static switch_status_t switch_console_set_complete(string string_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(string_);
     return ret;
   }
 
-  public static switch_status_t switch_console_set_alias(string arg0) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0);
+  public static switch_status_t switch_console_set_alias(string string_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(string_);
     return ret;
   }
 
@@ -10854,24 +11923,24 @@ else
     return ret;
   }
 
-  public static string switch_strchr_strict(string arg0, char find, string allowed) {
-    string ret = freeswitchPINVOKE.switch_strchr_strict(arg0, find, allowed);
+  public static string switch_strchr_strict(string in_, char find, string allowed) {
+    string ret = freeswitchPINVOKE.switch_strchr_strict(in_, find, allowed);
     return ret;
   }
 
-  public static int switch_string_has_escaped_data(string arg0) {
-    int ret = freeswitchPINVOKE.switch_string_has_escaped_data(arg0);
+  public static int switch_string_has_escaped_data(string in_) {
+    int ret = freeswitchPINVOKE.switch_string_has_escaped_data(in_);
     return ret;
   }
 
-  public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char 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));
+  public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char in_, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char out_, SWIGTYPE_p_switch_size_t olen) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(in_), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(out_), SWIGTYPE_p_switch_size_t.getCPtr(olen));
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
 
-  public static SWIGTYPE_p_switch_size_t switch_b64_decode(string 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);
+  public static SWIGTYPE_p_switch_size_t switch_b64_decode(string in_, string out_, SWIGTYPE_p_switch_size_t olen) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(in_, out_, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true);
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
@@ -10882,8 +11951,8 @@ else
     return ret;
   }
 
-  public static string switch_print_bits(SWIGTYPE_p_unsigned_char arg0, string buf, SWIGTYPE_p_switch_size_t buflen) {
-    string ret = freeswitchPINVOKE.switch_print_bits(SWIGTYPE_p_unsigned_char.getCPtr(arg0), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen));
+  public static string switch_print_bits(SWIGTYPE_p_unsigned_char byte_, string buf, SWIGTYPE_p_switch_size_t buflen) {
+    string ret = freeswitchPINVOKE.switch_print_bits(SWIGTYPE_p_unsigned_char.getCPtr(byte_), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen));
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
@@ -11038,8 +12107,8 @@ else
     return ret;
   }
 
-  public static char switch_rfc2833_to_char(int arg0) {
-    char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0);
+  public static char switch_rfc2833_to_char(int event_) {
+    char ret = freeswitchPINVOKE.switch_rfc2833_to_char(event_);
     return ret;
   }
 
@@ -11113,8 +12182,8 @@ else
     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);
+  public static SWIGTYPE_p_switch_time_t switch_str_time(string in_) {
+    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(in_), true);
     return ret;
   }
 
@@ -11138,14 +12207,14 @@ else
     return ret;
   }
 
-  public static string switch_strip_commas(string arg0, string arg1, SWIGTYPE_p_switch_size_t len) {
-    string ret = freeswitchPINVOKE.switch_strip_commas(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(len));
+  public static string switch_strip_commas(string in_, string out_, SWIGTYPE_p_switch_size_t len) {
+    string ret = freeswitchPINVOKE.switch_strip_commas(in_, out_, SWIGTYPE_p_switch_size_t.getCPtr(len));
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
 
-  public static string switch_strip_nonnumerics(string arg0, string arg1, SWIGTYPE_p_switch_size_t len) {
-    string ret = freeswitchPINVOKE.switch_strip_nonnumerics(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(len));
+  public static string switch_strip_nonnumerics(string in_, string out_, SWIGTYPE_p_switch_size_t len) {
+    string ret = freeswitchPINVOKE.switch_strip_nonnumerics(in_, out_, SWIGTYPE_p_switch_size_t.getCPtr(len));
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
@@ -11180,19 +12249,19 @@ else
     return ret;
   }
 
-  public static string switch_escape_char(SWIGTYPE_p_fspr_pool_t pool, string arg1, string delim, char esc) {
-    string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), arg1, delim, esc);
+  public static string switch_escape_char(SWIGTYPE_p_fspr_pool_t pool, string in_, string delim, char esc) {
+    string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_fspr_pool_t.getCPtr(pool), in_, delim, esc);
     return ret;
   }
 
-  public static string switch_escape_string(string arg0, string arg1, SWIGTYPE_p_switch_size_t outlen) {
-    string ret = freeswitchPINVOKE.switch_escape_string(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(outlen));
+  public static string switch_escape_string(string in_, string out_, SWIGTYPE_p_switch_size_t outlen) {
+    string ret = freeswitchPINVOKE.switch_escape_string(in_, out_, SWIGTYPE_p_switch_size_t.getCPtr(outlen));
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
 
-  public static string switch_escape_string_pool(string arg0, SWIGTYPE_p_fspr_pool_t pool) {
-    string ret = freeswitchPINVOKE.switch_escape_string_pool(arg0, SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
+  public static string switch_escape_string_pool(string in_, SWIGTYPE_p_fspr_pool_t pool) {
+    string ret = freeswitchPINVOKE.switch_escape_string_pool(in_, SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
     return ret;
   }
 
@@ -11201,18 +12270,18 @@ else
     return ret;
   }
 
-  public static string switch_cut_path(string arg0) {
-    string ret = freeswitchPINVOKE.switch_cut_path(arg0);
+  public static string switch_cut_path(string in_) {
+    string ret = freeswitchPINVOKE.switch_cut_path(in_);
     return ret;
   }
 
-  public static string switch_string_replace(string arg0, string search, string replace) {
-    string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace);
+  public static string switch_string_replace(string string_, string search, string replace) {
+    string ret = freeswitchPINVOKE.switch_string_replace(string_, search, replace);
     return ret;
   }
 
-  public static switch_status_t switch_string_match(string 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);
+  public static switch_status_t switch_string_match(string string_, uint string_len, string search, uint search_len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(string_, string_len, search, search_len);
     return ret;
   }
 
@@ -11221,13 +12290,13 @@ else
     return ret;
   }
 
-  public static string switch_util_quote_shell_arg(string arg0) {
-    string ret = freeswitchPINVOKE.switch_util_quote_shell_arg(arg0);
+  public static string switch_util_quote_shell_arg(string string_) {
+    string ret = freeswitchPINVOKE.switch_util_quote_shell_arg(string_);
     return ret;
   }
 
-  public static string switch_util_quote_shell_arg_pool(string arg0, SWIGTYPE_p_fspr_pool_t pool) {
-    string ret = freeswitchPINVOKE.switch_util_quote_shell_arg_pool(arg0, SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
+  public static string switch_util_quote_shell_arg_pool(string string_, SWIGTYPE_p_fspr_pool_t pool) {
+    string ret = freeswitchPINVOKE.switch_util_quote_shell_arg_pool(string_, SWIGTYPE_p_fspr_pool_t.getCPtr(pool));
     return ret;
   }
 
@@ -11319,8 +12388,8 @@ else
     return ret;
   }
 
-  public static int switch_parse_cidr(string arg0, ip_t ip, ip_t mask, SWIGTYPE_p_unsigned_long bitp) {
-    int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, ip_t.getCPtr(ip), ip_t.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp));
+  public static int switch_parse_cidr(string string_, ip_t ip, ip_t mask, SWIGTYPE_p_unsigned_long bitp) {
+    int ret = freeswitchPINVOKE.switch_parse_cidr(string_, ip_t.getCPtr(ip), ip_t.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp));
     return ret;
   }
 
@@ -11446,8 +12515,8 @@ else
     freeswitchPINVOKE.switch_split_time(exp, SWIGTYPE_p_int.getCPtr(hour), SWIGTYPE_p_int.getCPtr(min), SWIGTYPE_p_int.getCPtr(sec));
   }
 
-  public static int switch_split_user_domain(string arg0, ref string user, ref string domain) {
-    int ret = freeswitchPINVOKE.switch_split_user_domain(arg0, ref user, ref domain);
+  public static int switch_split_user_domain(string in_, ref string user, ref string domain) {
+    int ret = freeswitchPINVOKE.switch_split_user_domain(in_, ref user, ref domain);
     return ret;
   }
 
@@ -11640,8 +12709,8 @@ else
     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 void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event event_) {
+    freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(event_));
   }
 
   public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) {
@@ -11888,12 +12957,12 @@ else
     return ret;
   }
 
-  public static void switch_channel_set_scope_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
-    freeswitchPINVOKE.switch_channel_set_scope_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+  public static void switch_channel_set_scope_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event event_) {
+    freeswitchPINVOKE.switch_channel_set_scope_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(event_));
   }
 
-  public static switch_status_t switch_channel_get_scope_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_scope_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+  public static switch_status_t switch_channel_get_scope_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_scope_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -11913,13 +12982,13 @@ else
     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));
+  public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
-  public static switch_status_t switch_channel_get_variables_prefix(SWIGTYPE_p_switch_channel channel, string prefix, SWIGTYPE_p_p_switch_event arg2) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables_prefix(SWIGTYPE_p_switch_channel.getCPtr(channel), prefix, SWIGTYPE_p_p_switch_event.getCPtr(arg2));
+  public static switch_status_t switch_channel_get_variables_prefix(SWIGTYPE_p_switch_channel channel, string prefix, SWIGTYPE_p_p_switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables_prefix(SWIGTYPE_p_switch_channel.getCPtr(channel), prefix, SWIGTYPE_p_p_switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -12178,20 +13247,20 @@ else
     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_data(SWIGTYPE_p_switch_channel channel, switch_event event_) {
+    freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_));
   }
 
-  public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event 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_basic_data(SWIGTYPE_p_switch_channel channel, switch_event event_) {
+    freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_));
   }
 
-  public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
-    freeswitchPINVOKE.switch_channel_event_set_extended_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 event_) {
+    freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_));
   }
 
-  public static string switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel channel, string arg1, switch_event var_list, switch_event api_list, uint recur) {
-    string ret = freeswitchPINVOKE.switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1, switch_event.getCPtr(var_list), switch_event.getCPtr(api_list), recur);
+  public static string switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel channel, string in_, switch_event var_list, switch_event api_list, uint recur) {
+    string ret = freeswitchPINVOKE.switch_channel_expand_variables_check(SWIGTYPE_p_switch_channel.getCPtr(channel), in_, switch_event.getCPtr(var_list), switch_event.getCPtr(api_list), recur);
     return ret;
   }
 
@@ -12551,91 +13620,91 @@ else
     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);
+  public static switch_status_t switch_event_create_subclass_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event event_, switch_event_types_t event_id, string subclass_name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(event_), (int)event_id, subclass_name);
     return ret;
   }
 
-  public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority);
+  public static switch_status_t switch_event_set_priority(switch_event event_, switch_priority_t priority) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(event_), (int)priority);
     return ret;
   }
 
-  public static switch_event_header switch_event_get_header_ptr(switch_event arg0, string header_name) {
-    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_get_header_ptr(switch_event.getCPtr(arg0), header_name);
+  public static switch_event_header switch_event_get_header_ptr(switch_event event_, string header_name) {
+    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_event_get_header_ptr(switch_event.getCPtr(event_), header_name);
     switch_event_header ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
     return ret;
   }
 
-  public static string switch_event_get_header_idx(switch_event arg0, string header_name, int idx) {
-    string ret = freeswitchPINVOKE.switch_event_get_header_idx(switch_event.getCPtr(arg0), header_name, idx);
+  public static string switch_event_get_header_idx(switch_event event_, string header_name, int idx) {
+    string ret = freeswitchPINVOKE.switch_event_get_header_idx(switch_event.getCPtr(event_), header_name, idx);
     return ret;
   }
 
-  public static switch_status_t switch_event_rename_header(switch_event arg0, string header_name, string new_header_name) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_rename_header(switch_event.getCPtr(arg0), header_name, new_header_name);
+  public static switch_status_t switch_event_rename_header(switch_event event_, string header_name, string new_header_name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_rename_header(switch_event.getCPtr(event_), header_name, new_header_name);
     return ret;
   }
 
-  public static string switch_event_get_body(switch_event arg0) {
-    string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0));
+  public static string switch_event_get_body(switch_event event_) {
+    string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(event_));
     return ret;
   }
 
-  public static switch_status_t switch_event_set_subclass_name(switch_event arg0, string subclass_name) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_subclass_name(switch_event.getCPtr(arg0), subclass_name);
+  public static switch_status_t switch_event_set_subclass_name(switch_event event_, string subclass_name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_subclass_name(switch_event.getCPtr(event_), subclass_name);
     return ret;
   }
 
-  public static switch_status_t switch_event_add_header_string(switch_event 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);
+  public static switch_status_t switch_event_add_header_string(switch_event event_, switch_stack_t stack, string header_name, string data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(event_), (int)stack, header_name, data);
     return ret;
   }
 
-  public static switch_status_t switch_event_add_header_string_nodup(switch_event arg0, switch_stack_t stack, string header_name, string data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string_nodup(switch_event.getCPtr(arg0), (int)stack, header_name, data);
+  public static switch_status_t switch_event_add_header_string_nodup(switch_event event_, switch_stack_t stack, string header_name, string data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string_nodup(switch_event.getCPtr(event_), (int)stack, header_name, data);
     return ret;
   }
 
-  public static switch_status_t switch_event_del_header_val(switch_event arg0, string header_name, string val) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header_val(switch_event.getCPtr(arg0), header_name, val);
+  public static switch_status_t switch_event_del_header_val(switch_event event_, string header_name, string val) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header_val(switch_event.getCPtr(event_), header_name, val);
     return ret;
   }
 
-  public static int switch_event_add_array(switch_event arg0, string var, string val) {
-    int ret = freeswitchPINVOKE.switch_event_add_array(switch_event.getCPtr(arg0), var, val);
+  public static int switch_event_add_array(switch_event event_, string var, string val) {
+    int ret = freeswitchPINVOKE.switch_event_add_array(switch_event.getCPtr(event_), var, val);
     return ret;
   }
 
-  public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) {
-    freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
+  public static void switch_event_destroy(SWIGTYPE_p_p_switch_event event_) {
+    freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(event_));
   }
 
-  public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event 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));
+  public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event event_, switch_event todup) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(event_), switch_event.getCPtr(todup));
     return ret;
   }
 
-  public static void switch_event_merge(switch_event arg0, switch_event tomerge) {
-    freeswitchPINVOKE.switch_event_merge(switch_event.getCPtr(arg0), switch_event.getCPtr(tomerge));
+  public static void switch_event_merge(switch_event event_, switch_event tomerge) {
+    freeswitchPINVOKE.switch_event_merge(switch_event.getCPtr(event_), switch_event.getCPtr(tomerge));
   }
 
-  public static switch_status_t switch_event_dup_reply(SWIGTYPE_p_p_switch_event arg0, switch_event todup) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup_reply(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup));
+  public static switch_status_t switch_event_dup_reply(SWIGTYPE_p_p_switch_event event_, switch_event todup) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup_reply(SWIGTYPE_p_p_switch_event.getCPtr(event_), switch_event.getCPtr(todup));
     return ret;
   }
 
-  public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event 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));
+  public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event event_, SWIGTYPE_p_void user_data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(event_), SWIGTYPE_p_void.getCPtr(user_data));
     return ret;
   }
 
-  public static void switch_event_prep_for_delivery_detailed(string file, string func, int line, switch_event arg3) {
-    freeswitchPINVOKE.switch_event_prep_for_delivery_detailed(file, func, line, switch_event.getCPtr(arg3));
+  public static void switch_event_prep_for_delivery_detailed(string file, string func, int line, switch_event event_) {
+    freeswitchPINVOKE.switch_event_prep_for_delivery_detailed(file, func, line, switch_event.getCPtr(event_));
   }
 
-  public static switch_status_t switch_event_bind(string id, switch_event_types_t 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));
+  public static switch_status_t switch_event_bind(string id, switch_event_types_t event_, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)event_, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
     return ret;
   }
 
@@ -12644,8 +13713,8 @@ else
     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));
+  public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t event_, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)event_, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node));
     return ret;
   }
 
@@ -12659,8 +13728,8 @@ else
     return ret;
   }
 
-  public static string switch_event_name(switch_event_types_t arg0) {
-    string ret = freeswitchPINVOKE.switch_event_name((int)arg0);
+  public static string switch_event_name(switch_event_types_t event_) {
+    string ret = freeswitchPINVOKE.switch_event_name((int)event_);
     return ret;
   }
 
@@ -12685,38 +13754,38 @@ else
     return ret;
   }
 
-  public static switch_status_t switch_event_binary_serialize(switch_event arg0, SWIGTYPE_p_p_void data, SWIGTYPE_p_switch_size_t len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_binary_serialize(switch_event.getCPtr(arg0), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
+  public static switch_status_t switch_event_binary_serialize(switch_event event_, SWIGTYPE_p_p_void data, SWIGTYPE_p_switch_size_t len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_binary_serialize(switch_event.getCPtr(event_), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
     return ret;
   }
 
-  public static switch_status_t switch_event_serialize(switch_event 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);
+  public static switch_status_t switch_event_serialize(switch_event event_, ref string str, switch_bool_t encode) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(event_), ref str, (int)encode);
     return ret;
   }
 
-  public static switch_status_t switch_event_serialize_json(switch_event arg0, ref string str) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json(switch_event.getCPtr(arg0), ref str);
+  public static switch_status_t switch_event_serialize_json(switch_event event_, ref string str) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json(switch_event.getCPtr(event_), ref str);
     return ret;
   }
 
-  public static switch_status_t switch_event_serialize_json_obj(switch_event arg0, SWIGTYPE_p_p_cJSON json) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json_obj(switch_event.getCPtr(arg0), SWIGTYPE_p_p_cJSON.getCPtr(json));
+  public static switch_status_t switch_event_serialize_json_obj(switch_event event_, SWIGTYPE_p_p_cJSON json) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize_json_obj(switch_event.getCPtr(event_), SWIGTYPE_p_p_cJSON.getCPtr(json));
     return ret;
   }
 
-  public static switch_status_t switch_event_create_json(SWIGTYPE_p_p_switch_event arg0, string json) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_json(SWIGTYPE_p_p_switch_event.getCPtr(arg0), json);
+  public static switch_status_t switch_event_create_json(SWIGTYPE_p_p_switch_event event_, string json) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_json(SWIGTYPE_p_p_switch_event.getCPtr(event_), json);
     return ret;
   }
 
-  public static switch_status_t switch_event_create_brackets(string data, char a, char b, char c, SWIGTYPE_p_p_switch_event arg4, ref string new_data, switch_bool_t dup) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_brackets(data, a, b, c, SWIGTYPE_p_p_switch_event.getCPtr(arg4), ref new_data, (int)dup);
+  public static switch_status_t switch_event_create_brackets(string data, char a, char b, char c, SWIGTYPE_p_p_switch_event event_, ref string new_data, switch_bool_t dup) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_brackets(data, a, b, c, SWIGTYPE_p_p_switch_event.getCPtr(event_), ref new_data, (int)dup);
     return ret;
   }
 
-  public static switch_status_t switch_event_create_array_pair(SWIGTYPE_p_p_switch_event arg0, ref string names, ref string vals, int len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_array_pair(SWIGTYPE_p_p_switch_event.getCPtr(arg0), ref names, ref vals, len);
+  public static switch_status_t switch_event_create_array_pair(SWIGTYPE_p_p_switch_event event_, ref string names, ref string vals, int len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_array_pair(SWIGTYPE_p_p_switch_event.getCPtr(event_), ref names, ref vals, len);
     return ret;
   }
 
@@ -12725,13 +13794,13 @@ else
     return ret;
   }
 
-  public static switch_status_t switch_event_set_body(switch_event arg0, string body) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_body(switch_event.getCPtr(arg0), body);
+  public static switch_status_t switch_event_set_body(switch_event event_, string body) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_body(switch_event.getCPtr(event_), body);
     return ret;
   }
 
-  public static string switch_event_expand_headers_check(switch_event arg0, string arg1, switch_event var_list, switch_event api_list, uint recur) {
-    string ret = freeswitchPINVOKE.switch_event_expand_headers_check(switch_event.getCPtr(arg0), arg1, switch_event.getCPtr(var_list), switch_event.getCPtr(api_list), recur);
+  public static string switch_event_expand_headers_check(switch_event event_, string in_, switch_event var_list, switch_event api_list, uint recur) {
+    string ret = freeswitchPINVOKE.switch_event_expand_headers_check(switch_event.getCPtr(event_), in_, switch_event.getCPtr(var_list), switch_event.getCPtr(api_list), recur);
     return ret;
   }
 
@@ -12740,17 +13809,17 @@ else
     return ret;
   }
 
-  public static switch_status_t switch_event_create_plain(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_plain(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id);
+  public static switch_status_t switch_event_create_plain(SWIGTYPE_p_p_switch_event event_, switch_event_types_t event_id) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_plain(SWIGTYPE_p_p_switch_event.getCPtr(event_), (int)event_id);
     return ret;
   }
 
-  public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) {
-    freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
+  public static void switch_event_deliver(SWIGTYPE_p_p_switch_event event_) {
+    freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(event_));
   }
 
-  public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hashtable vars_map) {
-    string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hashtable.getCPtr(vars_map));
+  public static string switch_event_build_param_string(switch_event event_, string prefix, SWIGTYPE_p_switch_hashtable vars_map) {
+    string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(event_), prefix, SWIGTYPE_p_switch_hashtable.getCPtr(vars_map));
     return ret;
   }
 
@@ -12759,12 +13828,12 @@ else
     return ret;
   }
 
-  public static void switch_event_add_presence_data_cols(SWIGTYPE_p_switch_channel channel, switch_event arg1, string prefix) {
-    freeswitchPINVOKE.switch_event_add_presence_data_cols(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1), prefix);
+  public static void switch_event_add_presence_data_cols(SWIGTYPE_p_switch_channel channel, switch_event event_, string prefix) {
+    freeswitchPINVOKE.switch_event_add_presence_data_cols(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(event_), prefix);
   }
 
-  public static void switch_json_add_presence_data_cols(switch_event arg0, SWIGTYPE_p_cJSON json, string prefix) {
-    freeswitchPINVOKE.switch_json_add_presence_data_cols(switch_event.getCPtr(arg0), SWIGTYPE_p_cJSON.getCPtr(json), prefix);
+  public static void switch_json_add_presence_data_cols(switch_event event_, SWIGTYPE_p_cJSON json, string prefix) {
+    freeswitchPINVOKE.switch_json_add_presence_data_cols(switch_event.getCPtr(event_), SWIGTYPE_p_cJSON.getCPtr(json), prefix);
   }
 
   public static void switch_event_launch_dispatch_threads(uint max) {
@@ -13012,8 +14081,8 @@ else
     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));
+  public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event event_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(event_));
     return ret;
   }
 
@@ -13503,8 +14572,8 @@ else
     return ret;
   }
 
-  public static switch_status_t switch_ivr_phrase_macro_event(SWIGTYPE_p_switch_core_session session, string macro_name, string data, switch_event arg3, string lang, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro_event(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, switch_event.getCPtr(arg3), lang, switch_input_args_t.getCPtr(args));
+  public static switch_status_t switch_ivr_phrase_macro_event(SWIGTYPE_p_switch_core_session session, string macro_name, string data, switch_event event_, string lang, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro_event(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, switch_event.getCPtr(event_), lang, switch_input_args_t.getCPtr(args));
     return ret;
   }
 
@@ -13603,8 +14672,8 @@ else
     return ret;
   }
 
-  public static switch_status_t switch_ivr_set_user_extended(SWIGTYPE_p_switch_core_session session, string data, switch_event arg2) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user_extended(SWIGTYPE_p_switch_core_session.getCPtr(session), data, switch_event.getCPtr(arg2));
+  public static switch_status_t switch_ivr_set_user_extended(SWIGTYPE_p_switch_core_session session, string data, switch_event params_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user_extended(SWIGTYPE_p_switch_core_session.getCPtr(session), data, switch_event.getCPtr(params_));
     return ret;
   }
 
@@ -14654,23 +15723,23 @@ else
     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);
+  public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event params_, switch_bool_t clone) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(params_), (int)clone);
     return ret;
   }
 
-  public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event 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));
+  public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event params_, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(params_), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain));
     return ret;
   }
 
-  public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event 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));
+  public static switch_status_t switch_xml_locate_group(string group_name, string domain_name, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml group, switch_event params_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_group(group_name, domain_name, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(group), switch_event.getCPtr(params_));
     return ret;
   }
 
-  public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event 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));
+  public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, SWIGTYPE_p_p_switch_xml ingroup, switch_event params_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), SWIGTYPE_p_p_switch_xml.getCPtr(ingroup), switch_event.getCPtr(params_));
     return ret;
   }
 
@@ -14679,8 +15748,8 @@ else
     return ret;
   }
 
-  public static switch_status_t switch_xml_locate_user_merged(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml user, switch_event arg5) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_merged(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(user), switch_event.getCPtr(arg5));
+  public static switch_status_t switch_xml_locate_user_merged(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml user, switch_event params_) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user_merged(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(user), switch_event.getCPtr(params_));
     return ret;
   }
 
@@ -14699,8 +15768,8 @@ else
     return ret;
   }
 
-  public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) {
-    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2));
+  public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event params_) {
+    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(params_));
     switch_xml ret = (cPtr == global::System.IntPtr.Zero) ? null : new switch_xml(cPtr, false);
     return ret;
   }
@@ -14749,8 +15818,8 @@ else
     return ret;
   }
 
-  public static switch_status_t switch_xml_locate_language(SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg2, SWIGTYPE_p_p_switch_xml language, SWIGTYPE_p_p_switch_xml phrases, SWIGTYPE_p_p_switch_xml macros, string str_language) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_language(SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2), SWIGTYPE_p_p_switch_xml.getCPtr(language), SWIGTYPE_p_p_switch_xml.getCPtr(phrases), SWIGTYPE_p_p_switch_xml.getCPtr(macros), str_language);
+  public static switch_status_t switch_xml_locate_language(SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event params_, SWIGTYPE_p_p_switch_xml language, SWIGTYPE_p_p_switch_xml phrases, SWIGTYPE_p_p_switch_xml macros, string str_language) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_language(SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(params_), SWIGTYPE_p_p_switch_xml.getCPtr(language), SWIGTYPE_p_p_switch_xml.getCPtr(phrases), SWIGTYPE_p_p_switch_xml.getCPtr(macros), str_language);
     return ret;
   }
 
@@ -15261,10 +16330,10 @@ else
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -15388,6 +16457,7 @@ class freeswitchPINVOKE {
     [global::System.ThreadStatic]
     private static global::System.Exception pendingException = null;
     private static int numExceptionsPending = 0;
+    private static global::System.Object exceptionsLock = null;
 
     public static bool Pending {
       get {
@@ -15403,7 +16473,7 @@ class freeswitchPINVOKE {
       if (pendingException != null)
         throw new global::System.ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
       pendingException = e;
-      lock(typeof(freeswitchPINVOKE)) {
+      lock(exceptionsLock) {
         numExceptionsPending++;
       }
     }
@@ -15414,13 +16484,17 @@ class freeswitchPINVOKE {
         if (pendingException != null) {
           e = pendingException;
           pendingException = null;
-          lock(typeof(freeswitchPINVOKE)) {
+          lock(exceptionsLock) {
             numExceptionsPending--;
           }
         }
       }
       return e;
     }
+
+    static SWIGPendingException() {
+      exceptionsLock = new global::System.Object();
+    }
   }
 
 
@@ -28240,10 +29314,10 @@ class freeswitchPINVOKE {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -28262,11 +29336,29 @@ public class icand_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(icand_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~icand_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -28275,7 +29367,6 @@ public class icand_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -28418,10 +29509,10 @@ public class icand_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -28436,10 +29527,10 @@ public enum ice_proto_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -28458,11 +29549,29 @@ public class ice_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(ice_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~ice_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -28471,7 +29580,6 @@ public class ice_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -28558,10 +29666,10 @@ public class ice_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -28580,11 +29688,29 @@ public class input_callback_state_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(input_callback_state_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~input_callback_state_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -28593,7 +29719,6 @@ public class input_callback_state_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -28649,10 +29774,10 @@ public class input_callback_state_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -28671,11 +29796,29 @@ public class ip_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(ip_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~ip_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -28684,7 +29827,6 @@ public class ip_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -28719,10 +29861,10 @@ public class ip_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -28741,11 +29883,29 @@ public class payload_map_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(payload_map_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~payload_map_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -28754,7 +29914,6 @@ public class payload_map_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -29008,10 +30167,10 @@ public class payload_map_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29030,11 +30189,29 @@ public class profile_node_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(profile_node_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~profile_node_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -29043,7 +30220,6 @@ public class profile_node_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -29087,10 +30263,10 @@ public class profile_node_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29112,10 +30288,10 @@ public enum rtcp_psfb_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29143,10 +30319,10 @@ public enum rtcp_pt_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29166,10 +30342,10 @@ public enum rtcp_rtpfb_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29193,10 +30369,10 @@ public enum rtcp_sdes_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29212,10 +30388,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29242,10 +30418,10 @@ public enum switch_abc_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29264,11 +30440,29 @@ public class switch_api_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_api_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_api_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -29277,7 +30471,6 @@ public class switch_api_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -29385,10 +30578,10 @@ public class switch_api_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29407,11 +30600,29 @@ public class switch_app_log : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_app_log obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_app_log() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -29420,7 +30631,6 @@ public class switch_app_log : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -29476,10 +30686,10 @@ public class switch_app_log : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29499,10 +30709,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29521,11 +30731,29 @@ public class switch_application_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_application_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_application_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -29534,7 +30762,6 @@ public class switch_application_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -29662,10 +30889,10 @@ public class switch_application_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29684,10 +30911,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29706,11 +30933,29 @@ public class switch_asr_handle : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_asr_handle obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_asr_handle() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -29719,7 +30964,6 @@ public class switch_asr_handle : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -29890,10 +31134,10 @@ public class switch_asr_handle : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -29912,11 +31156,29 @@ public class switch_asr_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_asr_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_asr_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -29925,7 +31187,6 @@ public class switch_asr_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -30200,10 +31461,10 @@ public class switch_asr_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30222,11 +31483,29 @@ public class switch_audio_codec_settings : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_audio_codec_settings obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_audio_codec_settings() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -30235,7 +31514,6 @@ public class switch_audio_codec_settings : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -30258,10 +31536,10 @@ public class switch_audio_codec_settings : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30287,10 +31565,10 @@ public enum switch_audio_col_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30309,11 +31587,29 @@ public class switch_audio_resampler_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_audio_resampler_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_audio_resampler_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -30322,7 +31618,6 @@ public class switch_audio_resampler_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -30427,10 +31722,10 @@ public class switch_audio_resampler_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30451,10 +31746,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30469,10 +31764,10 @@ public enum switch_bitpack_mode_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30491,11 +31786,29 @@ public class switch_bitpack_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_bitpack_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_bitpack_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -30504,7 +31817,6 @@ public class switch_bitpack_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -30649,10 +31961,10 @@ public class switch_bitpack_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30667,10 +31979,10 @@ public enum switch_bool_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30689,11 +32001,29 @@ public class switch_cache_db_connection_options_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_connection_options_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_cache_db_connection_options_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -30702,7 +32032,6 @@ public class switch_cache_db_connection_options_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -30748,10 +32077,10 @@ public class switch_cache_db_connection_options_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30770,11 +32099,29 @@ public class switch_cache_db_core_db_options_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_core_db_options_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_cache_db_core_db_options_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -30783,7 +32130,6 @@ public class switch_cache_db_core_db_options_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -30816,10 +32162,10 @@ public class switch_cache_db_core_db_options_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30838,11 +32184,29 @@ public class switch_cache_db_database_interface_options_t : global::System.IDisp
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_database_interface_options_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_cache_db_database_interface_options_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -30851,7 +32215,6 @@ public class switch_cache_db_database_interface_options_t : global::System.IDisp
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -30915,10 +32278,10 @@ public class switch_cache_db_database_interface_options_t : global::System.IDisp
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30934,10 +32297,10 @@ public enum switch_cache_db_handle_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -30956,11 +32319,29 @@ public class switch_cache_db_native_handle_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_native_handle_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_cache_db_native_handle_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -30969,7 +32350,6 @@ public class switch_cache_db_native_handle_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -31015,10 +32395,10 @@ public class switch_cache_db_native_handle_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31037,11 +32417,29 @@ public class switch_cache_db_odbc_options_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cache_db_odbc_options_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_cache_db_odbc_options_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -31050,7 +32448,6 @@ public class switch_cache_db_odbc_options_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -31093,10 +32490,10 @@ public class switch_cache_db_odbc_options_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31191,10 +32588,10 @@ public enum switch_call_cause_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31209,10 +32606,10 @@ public enum switch_call_direction_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31231,11 +32628,29 @@ public class switch_caller_application : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_caller_application obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_caller_application() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -31244,7 +32659,6 @@ public class switch_caller_application : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -31299,10 +32713,10 @@ public class switch_caller_application : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31321,11 +32735,29 @@ public class switch_caller_extension : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_caller_extension obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_caller_extension() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -31334,7 +32766,6 @@ public class switch_caller_extension : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -31422,10 +32853,10 @@ public class switch_caller_extension : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31444,11 +32875,29 @@ public class switch_caller_profile : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_caller_profile obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_caller_profile() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -31457,7 +32906,6 @@ public class switch_caller_profile : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -31900,10 +33348,10 @@ public class switch_caller_profile : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31922,10 +33370,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31944,10 +33392,10 @@ public enum switch_channel_app_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31969,10 +33417,10 @@ public enum switch_channel_callstate_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -31996,10 +33444,10 @@ public enum switch_channel_cap_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32184,10 +33632,10 @@ public enum switch_channel_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32214,10 +33662,10 @@ public enum switch_channel_state_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32236,11 +33684,29 @@ public class switch_channel_timetable : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_channel_timetable obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_channel_timetable() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -32249,7 +33715,6 @@ public class switch_channel_timetable : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -32405,10 +33870,10 @@ public class switch_channel_timetable : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32422,10 +33887,10 @@ public enum switch_chat_application_flag_enum_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32444,11 +33909,29 @@ public class switch_chat_application_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_chat_application_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_chat_application_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -32457,7 +33940,6 @@ public class switch_chat_application_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -32585,10 +34067,10 @@ public class switch_chat_application_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32607,11 +34089,29 @@ public class switch_chat_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_chat_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_chat_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -32620,7 +34120,6 @@ public class switch_chat_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -32708,10 +34207,10 @@ public class switch_chat_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32730,11 +34229,29 @@ public class switch_codec : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_codec() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -32743,7 +34260,6 @@ public class switch_codec : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -32884,10 +34400,10 @@ public class switch_codec : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32908,10 +34424,10 @@ public enum switch_codec_control_command_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32927,10 +34443,10 @@ public enum switch_codec_control_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32955,10 +34471,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -32977,11 +34493,29 @@ public class switch_codec_fmtp : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_fmtp obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_codec_fmtp() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -32990,7 +34524,6 @@ public class switch_codec_fmtp : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -33084,10 +34617,10 @@ public class switch_codec_fmtp : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33106,11 +34639,29 @@ public class switch_codec_implementation : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_implementation obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_codec_implementation() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -33119,7 +34670,6 @@ public class switch_codec_implementation : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -33380,10 +34930,10 @@ public class switch_codec_implementation : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33402,11 +34952,29 @@ public class switch_codec_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_codec_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -33415,7 +34983,6 @@ public class switch_codec_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -33534,10 +35101,10 @@ public class switch_codec_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33556,11 +35123,29 @@ public class switch_codec_settings : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_codec_settings obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_codec_settings() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -33569,7 +35154,6 @@ public class switch_codec_settings : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -33604,10 +35188,10 @@ public class switch_codec_settings : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33624,10 +35208,10 @@ public enum switch_codec_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33646,11 +35230,29 @@ public class switch_config : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_config obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_config() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -33659,7 +35261,6 @@ public class switch_config : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -33763,10 +35364,10 @@ public class switch_config : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33785,11 +35386,29 @@ public class switch_console_callback_match : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_console_callback_match obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_console_callback_match() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -33798,7 +35417,6 @@ public class switch_console_callback_match : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -33853,10 +35471,10 @@ public class switch_console_callback_match : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33875,11 +35493,29 @@ public class switch_console_callback_match_node : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_console_callback_match_node obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_console_callback_match_node() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -33888,7 +35524,6 @@ public class switch_console_callback_match_node : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -33922,10 +35557,10 @@ public class switch_console_callback_match_node : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33971,10 +35606,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -33991,10 +35626,10 @@ public enum switch_core_media_ice_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34013,11 +35648,29 @@ public class switch_core_session_message : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_core_session_message obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_core_session_message() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -34026,7 +35679,6 @@ public class switch_core_session_message : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -34232,10 +35884,10 @@ public class switch_core_session_message : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34251,10 +35903,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34329,10 +35981,10 @@ public enum switch_core_session_message_types_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34351,11 +36003,29 @@ public class switch_core_thread_session : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_core_thread_session obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_core_thread_session() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -34364,7 +36034,6 @@ public class switch_core_thread_session : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -34431,10 +36100,10 @@ public class switch_core_thread_session : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34453,11 +36122,29 @@ public class switch_core_time_duration : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_core_time_duration obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_core_time_duration() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -34466,7 +36153,6 @@ public class switch_core_time_duration : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -34549,10 +36235,10 @@ public class switch_core_time_duration : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34571,11 +36257,29 @@ public class switch_coredb_handle : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_coredb_handle obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_coredb_handle() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -34584,7 +36288,6 @@ public class switch_coredb_handle : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -34618,10 +36321,10 @@ public class switch_coredb_handle : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34640,11 +36343,29 @@ public class switch_cputime : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_cputime obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_cputime() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -34653,7 +36374,6 @@ public class switch_cputime : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -34686,10 +36406,10 @@ public class switch_cputime : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34708,11 +36428,29 @@ public class switch_crypto_key_material_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_crypto_key_material_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_crypto_key_material_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -34721,7 +36459,6 @@ public class switch_crypto_key_material_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -34806,10 +36543,10 @@ public class switch_crypto_key_material_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34823,10 +36560,10 @@ public enum switch_database_flag_enum_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -34845,11 +36582,29 @@ public class switch_database_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_database_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_database_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -34858,7 +36613,6 @@ public class switch_database_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -35064,10 +36818,10 @@ public class switch_database_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -35086,11 +36840,29 @@ public class switch_database_interface_handle : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_database_interface_handle obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_database_interface_handle() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -35099,7 +36871,6 @@ public class switch_database_interface_handle : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -35134,10 +36905,10 @@ public class switch_database_interface_handle : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -35156,11 +36927,29 @@ public class switch_device_node_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_device_node_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_device_node_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -35169,7 +36958,6 @@ public class switch_device_node_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -35278,10 +37066,10 @@ public class switch_device_node_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -35300,11 +37088,29 @@ public class switch_device_record_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_device_record_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_device_record_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -35313,7 +37119,6 @@ public class switch_device_record_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -35549,10 +37354,10 @@ public class switch_device_record_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -35572,10 +37377,10 @@ public enum switch_device_state_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -35594,11 +37399,29 @@ public class switch_device_stats_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_device_stats_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_device_stats_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -35607,7 +37430,6 @@ public class switch_device_stats_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -35870,10 +37692,10 @@ public class switch_device_stats_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -35892,11 +37714,29 @@ public class switch_dialplan_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_dialplan_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_dialplan_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -35905,7 +37745,6 @@ public class switch_dialplan_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -35993,10 +37832,10 @@ public class switch_dialplan_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36012,10 +37851,10 @@ public enum switch_digit_action_target_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36034,11 +37873,29 @@ public class switch_directories : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_directories obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_directories() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36047,7 +37904,6 @@ public class switch_directories : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -36260,10 +38116,10 @@ public class switch_directories : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36277,10 +38133,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36299,11 +38155,29 @@ public class switch_directory_handle : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_directory_handle obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_directory_handle() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36312,7 +38186,6 @@ public class switch_directory_handle : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -36368,10 +38241,10 @@ public class switch_directory_handle : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36390,11 +38263,29 @@ public class switch_directory_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_directory_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_directory_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36403,7 +38294,6 @@ public class switch_directory_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -36535,10 +38425,10 @@ public class switch_directory_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36553,10 +38443,10 @@ public enum switch_dtmf_direction_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36574,10 +38464,10 @@ public enum switch_dtmf_source_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36596,11 +38486,29 @@ public class switch_dtmf_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_dtmf_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_dtmf_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36609,7 +38517,6 @@ public class switch_dtmf_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -36662,10 +38569,10 @@ public class switch_dtmf_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36688,10 +38595,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36710,11 +38617,29 @@ public class switch_endpoint_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_endpoint_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_endpoint_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36723,7 +38648,6 @@ public class switch_endpoint_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -36844,10 +38768,10 @@ public class switch_endpoint_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36866,11 +38790,29 @@ public class switch_error_period_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_error_period_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_error_period_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36879,7 +38821,6 @@ public class switch_error_period_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -36943,10 +38884,10 @@ public class switch_error_period_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -36965,11 +38906,29 @@ public class switch_event : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_event obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_event() {
-    Dispose();
+    Dispose(false);
   }
 
   public virtual void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -36978,7 +38937,6 @@ public class switch_event : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -37116,10 +39074,10 @@ public class switch_event : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -37135,10 +39093,10 @@ public enum switch_event_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -37157,11 +39115,29 @@ public class switch_event_header : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_event_header obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_event_header() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -37170,7 +39146,6 @@ public class switch_event_header : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -37243,10 +39218,10 @@ public class switch_event_header : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -37352,10 +39327,10 @@ public enum switch_event_types_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -37372,10 +39347,10 @@ public enum switch_file_command_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -37410,10 +39385,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -37432,11 +39407,29 @@ public class switch_file_handle : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_file_handle obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_file_handle() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -37445,7 +39438,6 @@ public class switch_file_handle : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -38015,10 +40007,10 @@ public class switch_file_handle : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38037,11 +40029,29 @@ public class switch_file_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_file_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_file_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -38050,7 +40060,6 @@ public class switch_file_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -38268,10 +40277,10 @@ public class switch_file_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38290,11 +40299,29 @@ public class switch_filenames : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_filenames obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_filenames() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -38303,7 +40330,6 @@ public class switch_filenames : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -38326,10 +40352,10 @@ public class switch_filenames : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38348,11 +40374,29 @@ public class switch_fps_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_fps_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_fps_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -38361,7 +40405,6 @@ public class switch_fps_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -38404,10 +40447,10 @@ public class switch_fps_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38426,11 +40469,29 @@ public class switch_frame : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_frame obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_frame() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -38439,7 +40500,6 @@ public class switch_frame : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -38670,10 +40730,10 @@ public class switch_frame : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38707,10 +40767,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38729,11 +40789,29 @@ public class switch_frame_geometry_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_frame_geometry_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_frame_geometry_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -38742,7 +40820,6 @@ public class switch_frame_geometry_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -38825,10 +40902,10 @@ public class switch_frame_geometry_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38847,11 +40924,29 @@ public class switch_hold_record_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_hold_record_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_hold_record_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -38860,7 +40955,6 @@ public class switch_hold_record_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -38918,10 +41012,10 @@ public class switch_hold_record_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -38940,11 +41034,29 @@ public class switch_http_request_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_http_request_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_http_request_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -38953,7 +41065,6 @@ public class switch_http_request_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39166,10 +41277,10 @@ public class switch_http_request_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39185,10 +41296,10 @@ public enum switch_hup_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39207,11 +41318,29 @@ public class switch_input_args_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_input_args_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_input_args_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39220,7 +41349,6 @@ public class switch_input_args_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39308,10 +41436,10 @@ public class switch_input_args_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39326,10 +41454,10 @@ public enum switch_input_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39348,11 +41476,29 @@ public class switch_io_event_hook_kill_channel : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_kill_channel obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_kill_channel() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39361,7 +41507,6 @@ public class switch_io_event_hook_kill_channel : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39396,10 +41541,10 @@ public class switch_io_event_hook_kill_channel : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39418,11 +41563,29 @@ public class switch_io_event_hook_outgoing_channel : global::System.IDisposable
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_outgoing_channel obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_outgoing_channel() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39431,7 +41594,6 @@ public class switch_io_event_hook_outgoing_channel : global::System.IDisposable
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39466,10 +41628,10 @@ public class switch_io_event_hook_outgoing_channel : global::System.IDisposable
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39488,11 +41650,29 @@ public class switch_io_event_hook_read_frame : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_read_frame obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_read_frame() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39501,7 +41681,6 @@ public class switch_io_event_hook_read_frame : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39536,10 +41715,10 @@ public class switch_io_event_hook_read_frame : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39558,11 +41737,29 @@ public class switch_io_event_hook_receive_event : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_receive_event obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_receive_event() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39571,7 +41768,6 @@ public class switch_io_event_hook_receive_event : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39606,10 +41802,10 @@ public class switch_io_event_hook_receive_event : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39628,11 +41824,29 @@ public class switch_io_event_hook_receive_message : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_receive_message obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_receive_message() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39641,7 +41855,6 @@ public class switch_io_event_hook_receive_message : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39676,10 +41889,10 @@ public class switch_io_event_hook_receive_message : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39698,11 +41911,29 @@ public class switch_io_event_hook_recv_dtmf : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_recv_dtmf obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_recv_dtmf() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39711,7 +41942,6 @@ public class switch_io_event_hook_recv_dtmf : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39746,10 +41976,10 @@ public class switch_io_event_hook_recv_dtmf : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39768,11 +41998,29 @@ public class switch_io_event_hook_send_dtmf : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_send_dtmf obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_send_dtmf() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39781,7 +42029,6 @@ public class switch_io_event_hook_send_dtmf : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39816,10 +42063,10 @@ public class switch_io_event_hook_send_dtmf : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39838,11 +42085,29 @@ public class switch_io_event_hook_state_change : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_state_change obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_state_change() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39851,7 +42116,6 @@ public class switch_io_event_hook_state_change : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39886,10 +42150,10 @@ public class switch_io_event_hook_state_change : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39908,11 +42172,29 @@ public class switch_io_event_hook_state_run : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_state_run obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_state_run() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39921,7 +42203,6 @@ public class switch_io_event_hook_state_run : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -39956,10 +42237,10 @@ public class switch_io_event_hook_state_run : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -39978,11 +42259,29 @@ public class switch_io_event_hook_text_read_frame : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_text_read_frame obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_text_read_frame() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -39991,7 +42290,6 @@ public class switch_io_event_hook_text_read_frame : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40026,10 +42324,10 @@ public class switch_io_event_hook_text_read_frame : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40048,11 +42346,29 @@ public class switch_io_event_hook_text_write_frame : global::System.IDisposable
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_text_write_frame obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_text_write_frame() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40061,7 +42377,6 @@ public class switch_io_event_hook_text_write_frame : global::System.IDisposable
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40096,10 +42411,10 @@ public class switch_io_event_hook_text_write_frame : global::System.IDisposable
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40118,11 +42433,29 @@ public class switch_io_event_hook_video_read_frame : global::System.IDisposable
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_video_read_frame obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_video_read_frame() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40131,7 +42464,6 @@ public class switch_io_event_hook_video_read_frame : global::System.IDisposable
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40166,10 +42498,10 @@ public class switch_io_event_hook_video_read_frame : global::System.IDisposable
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40188,11 +42520,29 @@ public class switch_io_event_hook_video_write_frame : global::System.IDisposable
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_video_write_frame obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_video_write_frame() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40201,7 +42551,6 @@ public class switch_io_event_hook_video_write_frame : global::System.IDisposable
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40236,10 +42585,10 @@ public class switch_io_event_hook_video_write_frame : global::System.IDisposable
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40258,11 +42607,29 @@ public class switch_io_event_hook_write_frame : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hook_write_frame obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hook_write_frame() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40271,7 +42638,6 @@ public class switch_io_event_hook_write_frame : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40306,10 +42672,10 @@ public class switch_io_event_hook_write_frame : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40328,11 +42694,29 @@ public class switch_io_event_hooks : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_event_hooks obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_event_hooks() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40341,7 +42725,6 @@ public class switch_io_event_hooks : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40508,10 +42891,10 @@ public class switch_io_event_hooks : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40529,10 +42912,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40558,10 +42941,10 @@ public enum switch_io_routine_name_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40580,11 +42963,29 @@ public class switch_io_routines : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_io_routines obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_io_routines() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40593,7 +42994,6 @@ public class switch_io_routines : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40771,10 +43171,10 @@ public class switch_io_routines : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40789,10 +43189,10 @@ public enum switch_io_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40812,10 +43212,10 @@ public enum switch_ivr_action_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40834,11 +43234,29 @@ public class switch_ivr_dmachine_match : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_ivr_dmachine_match obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_ivr_dmachine_match() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40847,7 +43265,6 @@ public class switch_ivr_dmachine_match : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -40912,10 +43329,10 @@ public class switch_ivr_dmachine_match : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40931,10 +43348,10 @@ public enum switch_ivr_menu_flags {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40950,10 +43367,10 @@ public enum switch_ivr_option_enum_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -40972,11 +43389,29 @@ public class switch_json_api_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_json_api_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_json_api_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -40985,7 +43420,6 @@ public class switch_json_api_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -41093,10 +43527,10 @@ public class switch_json_api_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -41115,11 +43549,29 @@ public class switch_limit_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_limit_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_limit_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -41128,7 +43580,6 @@ public class switch_limit_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -41271,10 +43722,10 @@ public class switch_limit_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -41293,11 +43744,29 @@ public class switch_loadable_module_function_table_t : global::System.IDisposabl
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_loadable_module_function_table_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_loadable_module_function_table_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -41306,7 +43775,6 @@ public class switch_loadable_module_function_table_t : global::System.IDisposabl
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -41372,10 +43840,10 @@ public class switch_loadable_module_function_table_t : global::System.IDisposabl
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -41394,11 +43862,29 @@ public class switch_loadable_module_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_loadable_module_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_loadable_module_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -41407,7 +43893,6 @@ public class switch_loadable_module_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -41649,10 +44134,10 @@ public class switch_loadable_module_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -41668,10 +44153,10 @@ public enum switch_loadable_module_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -41690,11 +44175,29 @@ public class switch_log_json_format_item_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_log_json_format_item_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_log_json_format_item_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -41703,7 +44206,6 @@ public class switch_log_json_format_item_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -41736,10 +44238,10 @@ public class switch_log_json_format_item_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -41758,11 +44260,29 @@ public class switch_log_json_format_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_log_json_format_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_log_json_format_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -41771,7 +44291,6 @@ public class switch_log_json_format_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -41947,10 +44466,10 @@ public class switch_log_json_format_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -41984,10 +44503,10 @@ public enum switch_log_level_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42006,11 +44525,29 @@ public class switch_log_node_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_log_node_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_log_node_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -42019,7 +44556,6 @@ public class switch_log_node_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -42166,10 +44702,10 @@ public class switch_log_node_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42185,10 +44721,10 @@ public enum switch_management_action_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42207,11 +44743,29 @@ public class switch_management_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_management_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_management_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -42220,7 +44774,6 @@ public class switch_management_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -42308,10 +44861,10 @@ public class switch_management_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42353,10 +44906,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42381,10 +44934,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42402,10 +44955,10 @@ public enum switch_media_flow_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42421,10 +44974,10 @@ public enum switch_media_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42443,11 +44996,29 @@ public class switch_mm_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_mm_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_mm_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -42456,7 +45027,6 @@ public class switch_mm_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -42671,10 +45241,10 @@ public class switch_mm_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42689,10 +45259,10 @@ public enum switch_module_flag_enum_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42722,10 +45292,10 @@ public enum switch_module_interface_name_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42744,11 +45314,29 @@ public class switch_network_port_range : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_network_port_range obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_network_port_range() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -42757,7 +45345,6 @@ public class switch_network_port_range : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -42811,10 +45398,10 @@ public class switch_network_port_range : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42835,10 +45422,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42857,11 +45444,29 @@ public class switch_picture : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_picture obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_picture() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -42870,7 +45475,6 @@ public class switch_picture : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -42925,10 +45529,10 @@ public class switch_picture : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42949,10 +45553,10 @@ public enum switch_poll_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42970,10 +45574,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -42989,10 +45593,10 @@ public enum switch_priority_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43007,10 +45611,10 @@ public enum switch_pvt_class_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43026,10 +45630,10 @@ public enum switch_ring_ready_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43048,11 +45652,29 @@ public class switch_rtcp_hdr_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_hdr_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtcp_hdr_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -43061,7 +45683,6 @@ public class switch_rtcp_hdr_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -43124,10 +45745,10 @@ public class switch_rtcp_hdr_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43146,11 +45767,29 @@ public class switch_rtcp_numbers_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_numbers_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtcp_numbers_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -43159,7 +45798,6 @@ public class switch_rtcp_numbers_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -43392,10 +46030,10 @@ public class switch_rtcp_numbers_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43414,11 +46052,29 @@ public class switch_rtcp_video_counters_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_video_counters_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtcp_video_counters_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -43427,7 +46083,6 @@ public class switch_rtcp_video_counters_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -43490,10 +46145,10 @@ public class switch_rtcp_video_counters_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43512,11 +46167,29 @@ public class switch_rtcp_video_stats_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtcp_video_stats_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtcp_video_stats_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -43525,7 +46198,6 @@ public class switch_rtcp_video_stats_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -43560,10 +46232,10 @@ public class switch_rtcp_video_stats_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43590,10 +46262,10 @@ public enum switch_rtp_bug_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43611,10 +46283,10 @@ public enum switch_rtp_crypto_direction_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43633,11 +46305,29 @@ public class switch_rtp_crypto_key : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_crypto_key obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtp_crypto_key() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -43646,7 +46336,6 @@ public class switch_rtp_crypto_key : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -43713,10 +46402,10 @@ public class switch_rtp_crypto_key : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43731,10 +46420,10 @@ public enum switch_rtp_crypto_key_param_method_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43759,10 +46448,10 @@ public enum switch_rtp_crypto_key_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43826,10 +46515,10 @@ public enum switch_rtp_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43845,10 +46534,10 @@ public enum switch_rtp_flush_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43867,11 +46556,29 @@ public class switch_rtp_hdr_ext_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_hdr_ext_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtp_hdr_ext_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -43880,7 +46587,6 @@ public class switch_rtp_hdr_ext_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -43913,10 +46619,10 @@ public class switch_rtp_hdr_ext_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -43935,11 +46641,29 @@ public class switch_rtp_hdr_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_hdr_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtp_hdr_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -43948,7 +46672,6 @@ public class switch_rtp_hdr_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -44051,10 +46774,10 @@ public class switch_rtp_hdr_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44073,11 +46796,29 @@ public class switch_rtp_numbers_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_numbers_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtp_numbers_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -44086,7 +46827,6 @@ public class switch_rtp_numbers_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -44437,10 +47177,10 @@ public class switch_rtp_numbers_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44459,11 +47199,29 @@ public class switch_rtp_packet_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_packet_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtp_packet_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -44472,7 +47230,6 @@ public class switch_rtp_packet_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -44527,10 +47284,10 @@ public class switch_rtp_packet_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44549,11 +47306,29 @@ public class switch_rtp_stats_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_rtp_stats_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_rtp_stats_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -44562,7 +47337,6 @@ public class switch_rtp_stats_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -44618,10 +47392,10 @@ public class switch_rtp_stats_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44636,10 +47410,10 @@ public enum switch_rw_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44658,11 +47432,29 @@ public class switch_say_args_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_say_args_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_say_args_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -44671,7 +47463,6 @@ public class switch_say_args_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -44724,10 +47515,10 @@ public class switch_say_args_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44744,10 +47535,10 @@ public enum switch_say_gender_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44766,11 +47557,29 @@ public class switch_say_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_say_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_say_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -44779,7 +47588,6 @@ public class switch_say_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -44878,10 +47686,10 @@ public class switch_say_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44899,10 +47707,10 @@ public enum switch_say_method_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44934,10 +47742,10 @@ public enum switch_say_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44954,10 +47762,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -44976,11 +47784,29 @@ public class switch_scheduler_task : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_scheduler_task obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_scheduler_task() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -44989,7 +47815,6 @@ public class switch_scheduler_task : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -45083,10 +47908,10 @@ public class switch_scheduler_task : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45101,10 +47926,10 @@ public enum switch_sdp_type_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45123,11 +47948,29 @@ public class switch_secure_settings_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_secure_settings_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_secure_settings_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -45136,7 +47979,6 @@ public class switch_secure_settings_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -45253,10 +48095,10 @@ public class switch_secure_settings_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45275,11 +48117,29 @@ public class switch_serial_event_header_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_serial_event_header_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_serial_event_header_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -45288,7 +48148,6 @@ public class switch_serial_event_header_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -45321,10 +48180,10 @@ public class switch_serial_event_header_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45343,11 +48202,29 @@ public class switch_serial_event_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_serial_event_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_serial_event_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -45356,7 +48233,6 @@ public class switch_serial_event_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -45429,10 +48305,10 @@ public class switch_serial_event_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45490,10 +48366,10 @@ public enum switch_session_ctl_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45510,10 +48386,10 @@ public enum switch_signal_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45532,11 +48408,29 @@ public class switch_slin_data : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_slin_data obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_slin_data() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -45545,7 +48439,6 @@ public class switch_slin_data : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -45601,10 +48494,10 @@ public class switch_slin_data : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45618,17 +48511,18 @@ namespace FreeSWITCH.Native {
   SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3),
   SWITCH_SPEECH_FLAG_PAUSE = (1 << 4),
   SWITCH_SPEECH_FLAG_OPEN = (1 << 5),
-  SWITCH_SPEECH_FLAG_DONE = (1 << 6)
+  SWITCH_SPEECH_FLAG_DONE = (1 << 6),
+  SWITCH_SPEECH_FLAG_MULTI = (1 << 7)
 }
 
 }
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45647,11 +48541,29 @@ public class switch_speech_handle : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_speech_handle obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_speech_handle() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -45660,7 +48572,6 @@ public class switch_speech_handle : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -45871,10 +48782,10 @@ public class switch_speech_handle : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -45893,11 +48804,29 @@ public class switch_speech_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_speech_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_speech_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -45906,7 +48835,6 @@ public class switch_speech_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -46071,10 +48999,10 @@ public class switch_speech_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46093,11 +49021,29 @@ public class switch_srtp_crypto_suite_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_srtp_crypto_suite_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_srtp_crypto_suite_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -46106,7 +49052,6 @@ public class switch_srtp_crypto_suite_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -46169,10 +49114,10 @@ public class switch_srtp_crypto_suite_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46189,10 +49134,10 @@ public enum switch_stack_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46207,10 +49152,10 @@ public enum switch_state_handler_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46235,10 +49180,10 @@ public enum switch_state_handler_name_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46257,11 +49202,29 @@ public class switch_state_handler_table : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_state_handler_table obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_state_handler_table() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -46270,7 +49233,6 @@ public class switch_state_handler_table : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -46436,10 +49398,10 @@ public class switch_state_handler_table : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46478,10 +49440,10 @@ public enum switch_status_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46500,11 +49462,29 @@ public class switch_stream_handle : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_stream_handle obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_stream_handle() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -46513,7 +49493,6 @@ public class switch_stream_handle : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -46640,10 +49619,10 @@ public class switch_stream_handle : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46662,11 +49641,29 @@ public class switch_t38_options_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_t38_options_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_t38_options_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -46675,7 +49672,6 @@ public class switch_t38_options_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -46838,10 +49834,10 @@ public class switch_t38_options_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46858,10 +49854,10 @@ public enum switch_text_channel_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46880,11 +49876,29 @@ public class switch_thread_data_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_thread_data_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_thread_data_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -46893,7 +49907,6 @@ public class switch_thread_data_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -46960,10 +49973,10 @@ public class switch_thread_data_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -46980,10 +49993,10 @@ public enum switch_thread_priority_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47002,11 +50015,29 @@ public class switch_timer : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_timer obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_timer() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -47015,7 +50046,6 @@ public class switch_timer : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -47145,10 +50175,10 @@ public class switch_timer : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47162,10 +50192,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47184,10 +50214,10 @@ public enum switch_timer_func_name_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47206,11 +50236,29 @@ public class switch_timer_interface : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_timer_interface obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_timer_interface() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -47219,7 +50267,6 @@ public class switch_timer_interface : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -47362,10 +50409,10 @@ public class switch_timer_interface : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47384,11 +50431,29 @@ public class switch_uint31_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_uint31_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_uint31_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -47397,7 +50462,6 @@ public class switch_uint31_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -47420,10 +50484,10 @@ public class switch_uint31_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47442,11 +50506,29 @@ public class switch_unicast_conninfo : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_unicast_conninfo obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_unicast_conninfo() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -47455,7 +50537,6 @@ public class switch_unicast_conninfo : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -47647,10 +50728,10 @@ public class switch_unicast_conninfo : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47667,10 +50748,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47686,10 +50767,10 @@ public enum switch_uri_flags {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47706,10 +50787,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47727,10 +50808,10 @@ public enum switch_vad_state_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47749,11 +50830,29 @@ public class switch_vid_params_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_vid_params_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_vid_params_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -47762,7 +50861,6 @@ public class switch_vid_params_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -47825,10 +50923,10 @@ public class switch_vid_params_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47844,10 +50942,10 @@ public enum switch_vid_spy_fmt_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47866,11 +50964,29 @@ public class switch_video_codec_settings : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_video_codec_settings obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_video_codec_settings() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -47879,7 +50995,6 @@ public class switch_video_codec_settings : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -47952,10 +51067,10 @@ public class switch_video_codec_settings : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47972,10 +51087,10 @@ public enum switch_video_encode_speed_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -47991,10 +51106,10 @@ public enum switch_video_profile_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -48010,10 +51125,10 @@ public enum switch_video_read_flag_t {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -48032,11 +51147,29 @@ public class switch_waitlist_t : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_waitlist_t obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_waitlist_t() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -48045,7 +51178,6 @@ public class switch_waitlist_t : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -48088,10 +51220,10 @@ public class switch_waitlist_t : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -48110,11 +51242,29 @@ public class switch_xml : global::System.IDisposable {
     return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
   }
 
+  internal static global::System.Runtime.InteropServices.HandleRef swigRelease(switch_xml obj) {
+    if (obj != null) {
+      if (!obj.swigCMemOwn)
+        throw new global::System.ApplicationException("Cannot release ownership as memory is not owned");
+      global::System.Runtime.InteropServices.HandleRef ptr = obj.swigCPtr;
+      obj.swigCMemOwn = false;
+      obj.Dispose();
+      return ptr;
+    } else {
+      return new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+    }
+  }
+
   ~switch_xml() {
-    Dispose();
+    Dispose(false);
   }
 
-  public virtual void Dispose() {
+  public void Dispose() {
+    Dispose(true);
+    global::System.GC.SuppressFinalize(this);
+  }
+
+  protected virtual void Dispose(bool disposing) {
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -48123,7 +51273,6 @@ public class switch_xml : global::System.IDisposable {
         }
         swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
       }
-      global::System.GC.SuppressFinalize(this);
     }
   }
 
@@ -48292,10 +51441,10 @@ public class switch_xml : global::System.IDisposable {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
@@ -48313,10 +51462,10 @@ namespace FreeSWITCH.Native {
 //------------------------------------------------------------------------------
 // <auto-generated />
 //
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.12
+// This file was automatically generated by SWIG (https://www.swig.org).
+// Version 4.1.0
 //
-// Do not make changes to this file unless you know what you are doing--modify
+// Do not make changes to this file unless you know what you are doing - modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
index 9717fbb944535c690520aa3875357ea3a4b058d4..46aa0d546fbc0a0512b45cf11a760ea02685b2a8 100644 (file)
@@ -1,7 +1,7 @@
-# This file was automatically generated by SWIG (http://www.swig.org).
-# Version 3.0.12
+# This file was automatically generated by SWIG (https://www.swig.org).
+# Version 4.1.0
 #
-# Do not make changes to this file unless you know what you are doing--modify
+# Do not make changes to this file unless you know what you are doing - modify
 # the SWIG interface file instead.
 
 package freeswitch;
index 27e98ee3e66d18c0f7fe85ea2d99a6fb32b64634..c345b3b267e316183a3dc85ee35ed2b764e2c04e 100644 (file)
@@ -1,44 +1,16 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * This file is not intended to be easily readable and contains a number of
- * coding conventions designed to improve portability and efficiency. Do not make
- * changes to this file unless you know what you are doing--modify the SWIG
- * interface file instead.
+ * Do not make changes to this file unless you know what you are doing - modify
+ * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
 
-#ifndef SWIGPERL
+#define SWIG_VERSION 0x040100
 #define SWIGPERL
-#endif
-
 #define SWIG_CASTRANK_MODE
 
-
-#ifdef __cplusplus
-/* SwigValueWrapper is described in swig.swg */
-template<typename T> class SwigValueWrapper {
-  struct SwigMovePointer {
-    T *ptr;
-    SwigMovePointer(T *p) : ptr(p) { }
-    ~SwigMovePointer() { delete ptr; }
-    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
-  } pointer;
-  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
-public:
-  SwigValueWrapper() : pointer(0) { }
-  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
-  operator T&() const { return *pointer.ptr; }
-  T *operator&() { return pointer.ptr; }
-};
-
-template <typename T> T SwigValueInit() {
-  return T();
-}
-#endif
-
 /* -----------------------------------------------------------------------------
  *  This section contains generic SWIG labels for method/variable
  *  declarations/attributes, and other compiler dependent labels.
@@ -208,6 +180,9 @@ template <typename T> T SwigValueInit() {
 /* Flags for pointer conversions */
 #define SWIG_POINTER_DISOWN        0x1
 #define SWIG_CAST_NEW_MEMORY       0x2
+#define SWIG_POINTER_NO_NULL       0x4
+#define SWIG_POINTER_CLEAR         0x8
+#define SWIG_POINTER_RELEASE       (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
 
 /* Flags for new pointer objects */
 #define SWIG_POINTER_OWN           0x1
@@ -279,7 +254,7 @@ template <typename T> T SwigValueInit() {
    SWIG errors code.
 
    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
-   allows to return the 'cast rank', for example, if you have this
+   allows returning the 'cast rank', for example, if you have this
 
        int food(double)
        int fooi(int);
@@ -293,7 +268,13 @@ template <typename T> T SwigValueInit() {
 */
 
 #define SWIG_OK                    (0)
+/* Runtime errors are < 0 */
 #define SWIG_ERROR                 (-1)
+/* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
+/* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
+/* Errors < -200 are generic runtime specific errors */
+#define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
+
 #define SWIG_IsOK(r)               (r >= 0)
 #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
 
@@ -308,7 +289,7 @@ template <typename T> T SwigValueInit() {
 #define SWIG_OLDOBJ                (SWIG_OK)
 #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
 #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
-/* Check, add and del mask methods */
+/* Check, add and del object mask methods */
 #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
 #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
 #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
@@ -454,7 +435,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) {
   Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
 */
 SWIGRUNTIME swig_cast_info *
-SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
+SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
   if (ty) {
     swig_cast_info *iter = ty->cast;
     while (iter) {
@@ -514,9 +495,9 @@ SWIG_TypeName(const swig_type_info *ty) {
 SWIGRUNTIME const char *
 SWIG_TypePrettyName(const swig_type_info *type) {
   /* The "str" field contains the equivalent pretty names of the
-     type, separated by vertical-bar characters.  We choose
-     to print the last name, as it is often (?) the most
-     specific. */
+     type, separated by vertical-bar characters.  Choose the last
+     name. It should be the most specific; a fully resolved name
+     but not necessarily with default template parameters expanded. */
   if (!type) return NULL;
   if (type->str != NULL) {
     const char *last_name = type->str;
@@ -736,7 +717,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 }
 #endif
 
-/*  Errors in SWIG */
+/* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
 #define  SWIG_UnknownError        -1
 #define  SWIG_IOError             -2
 #define  SWIG_RuntimeError        -3
@@ -752,33 +733,30 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 #define  SWIG_NullReferenceError   -13
 
 
-
 #ifdef __cplusplus
 /* Needed on some windows machines---since MS plays funny games with the header files under C++ */
 #include <math.h>
 #include <stdlib.h>
 extern "C" {
 #endif
+
+#if __GNUC__ >= 10
+#if defined(__cplusplus)
+#pragma GCC diagnostic ignored "-Wvolatile"
+#endif
+#endif
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
 
-/* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */
+#if __GNUC__ >= 10
+#pragma GCC diagnostic pop
+#endif
 
-/* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */
-#ifndef PERL_REVISION
-#  if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
-#    define PERL_PATCHLEVEL_H_IMPLICIT
-#    include <patchlevel.h>
-#  endif
-#  if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
-#    include <could_not_find_Perl_patchlevel.h>
-#  endif
-#  ifndef PERL_REVISION
-#    define PERL_REVISION       (5)
-#    define PERL_VERSION        PATCHLEVEL
-#    define PERL_SUBVERSION     SUBVERSION
-#  endif
+/* PERL_REVISION was added in Perl 5.6. */
+#if !defined PERL_REVISION || (PERL_REVISION-0 == 5 && PERL_VERSION-0 < 8)
+# error SWIG requires Perl >= 5.8.0
 #endif
 
 #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
@@ -793,15 +771,6 @@ extern "C" {
 # define SvUOK(sv)           SvIOK_UV(sv)
 #endif
 
-#if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))
-#  define PL_sv_undef               sv_undef
-#  define PL_na                            na
-#  define PL_errgv                  errgv
-#  define PL_sv_no                  sv_no
-#  define PL_sv_yes                 sv_yes
-#  define PL_markstack_ptr          markstack_ptr
-#endif
-
 #ifndef IVSIZE
 #  ifdef LONGSIZE
 #    define IVSIZE LONGSIZE
@@ -899,13 +868,8 @@ SWIG_Perl_ErrorType(int code) {
  * type checking.
  * ----------------------------------------------------------------------------- */
 
-#ifdef PERL_OBJECT
-#define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),
-#define SWIG_PERL_OBJECT_CALL pPerl,
-#else
 #define SWIG_PERL_OBJECT_DECL
 #define SWIG_PERL_OBJECT_CALL
-#endif
 
 /* Common SWIG API */
 
@@ -913,6 +877,7 @@ SWIG_Perl_ErrorType(int code) {
 #define SWIG_ConvertPtr(obj, pp, type, flags)           SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)
 #define SWIG_ConvertPtrAndOwn(obj, pp, type, flags,own) SWIG_Perl_ConvertPtrAndOwn(SWIG_PERL_OBJECT_CALL obj, pp, type, flags, own)
 #define SWIG_NewPointerObj(p, type, flags)              SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)
+#define SWIG_AcquirePtr(ptr, src)                       SWIG_Perl_AcquirePtr(ptr, src)
 #define swig_owntype                                    int
 
 /* for raw packed data */
@@ -980,32 +945,12 @@ extern "C" {
 #endif
 
 /* Macro to call an XS function */
-#ifdef PERL_OBJECT 
-#  define SWIG_CALLXS(_name) _name(cv,pPerl) 
-#else 
-#  ifndef MULTIPLICITY 
-#    define SWIG_CALLXS(_name) _name(cv) 
-#  else 
-#    define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) 
-#  endif 
-#endif 
-
-#ifdef PERL_OBJECT
-#define MAGIC_PPERL  CPerlObj *pPerl = (CPerlObj *) this;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
-#ifdef __cplusplus
-}
+#ifndef MULTIPLICITY
+#  define SWIG_CALLXS(_name) _name(cv)
+#else
+#  define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
 #endif
 
-#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
-#define SWIGCLASS_STATIC
-
-#else /* PERL_OBJECT */
-
 #define MAGIC_PPERL
 #define SWIGCLASS_STATIC static SWIGUNUSED
 
@@ -1033,24 +978,14 @@ typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
 #endif
 
 #endif /* MULTIPLICITY */
-#endif /* PERL_OBJECT */
 
-#  ifdef PERL_OBJECT
-#    define SWIG_croak_null() SWIG_Perl_croak_null(pPerl)
-static void SWIGUNUSED SWIG_Perl_croak_null(CPerlObj *pPerl)
-#  else
 static void SWIGUNUSED SWIG_croak_null()
-#  endif
 {
   SV *err = get_sv("@", GV_ADD);
-#  if (PERL_VERSION < 6)
-  croak("%_", err);
-#  else
   if (sv_isobject(err))
     croak(0);
   else
     croak("%s", SvPV_nolen(err));
-#  endif
 }
 
 
@@ -1122,6 +1057,14 @@ SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
   return 0;
 }
 
+/* Acquire a pointer value */
+
+SWIGRUNTIME int
+SWIG_Perl_AcquirePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, int own) {
+  /* TODO */
+  return 0;
+}
+
 /* Function for getting a pointer value */
 
 SWIGRUNTIME int
@@ -1129,6 +1072,7 @@ SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_
   swig_cast_info *tc;
   void *voidptr = (void *)0;
   SV *tsv = 0;
+  int check_owned_pointer_release = (flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE;
 
   if (own)
     *own = 0;
@@ -1161,7 +1105,7 @@ SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_
     voidptr = INT2PTR(void *,tmp);
   } else if (! SvOK(sv)) {            /* Check for undef */
     *(ptr) = (void *) 0;
-    return SWIG_OK;
+    return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
   } else if (SvTYPE(sv) == SVt_RV) {  /* Check for NULL pointer */
     if (!SvROK(sv)) {
       /* In Perl 5.12 and later, SVt_RV == SVt_IV, so sv could be a valid integer value.  */
@@ -1205,13 +1149,14 @@ SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_
   /* 
    *  DISOWN implementation: we need a perl guru to check this one.
    */
-  if (tsv && (flags & SWIG_POINTER_DISOWN)) {
+  if (tsv && ((flags & SWIG_POINTER_DISOWN) || check_owned_pointer_release)) {
     /* 
      *  almost copy paste code from below SWIG_POINTER_OWN setting
      */
     SV *obj = sv;
     HV *stash = SvSTASH(SvRV(obj));
     GV *gv = *(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
+    int owned = 0;
     if (isGV(gv)) {
       HV *hv = GvHVn(gv);
       /*
@@ -1219,10 +1164,21 @@ SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_
        * Hence, to remove ownership, we delete the entry.
        */
       if (hv_exists_ent(hv, obj, 0)) {
-       hv_delete_ent(hv, obj, 0, 0);
+        owned = 1;
+        if (flags & SWIG_POINTER_DISOWN) {
+          hv_delete_ent(hv, obj, 0, 0);
+        }
       }
     }
+    if (check_owned_pointer_release && !owned) {
+      return SWIG_ERROR_RELEASE_NOT_OWNED;
+    }
+  }
+
+  if (tsv && (flags & SWIG_POINTER_CLEAR)) {
+    SvIV_set(tsv, 0);
   }
+
   return SWIG_OK;
 }
 
@@ -1285,7 +1241,7 @@ SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info
   return result;
 }
 
-/* Convert a packed value value */
+/* Convert a packed pointer value */
 SWIGRUNTIME int
 SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) {
   swig_cast_info *tc;
@@ -1346,20 +1302,15 @@ typedef struct {
 } swig_variable_info;
 
 /* Magic variable code */
-#ifndef PERL_OBJECT
-# ifdef __cplusplus
+#ifdef __cplusplus
 #  define swig_create_magic(s,a,b,c) _swig_create_magic(s,const_cast<char*>(a),b,c)
-# else
+#else
 #  define swig_create_magic(s,a,b,c) _swig_create_magic(s,(char*)(a),b,c)
-# endif
-# ifndef MULTIPLICITY
-SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) 
-# else
-SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) 
-# endif
+#endif
+#ifndef MULTIPLICITY
+SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *))
 #else
-#  define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
-SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) 
+SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *))
 #endif
 {
   MAGIC *mg;
@@ -1524,7 +1475,7 @@ SWIG_Perl_SetModule(swig_module_info *module) {
 
 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) 
 
-#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else 
+#define SWIG_contract_assert(expr, msg) do { if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } } while (0) 
 
 
 
@@ -1572,8 +1523,52 @@ static swig_module_info swig_module = {swig_types, 30, 0, 0, 0, 0};
 #define SWIG_name   "freeswitchc::boot_freeswitch"
 #define SWIG_prefix "freeswitchc::"
 
-#define SWIGVERSION 0x030012 
-#define SWIG_VERSION SWIGVERSION
+#ifdef __cplusplus
+#include <utility>
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper {
+  struct SwigSmartPointer {
+    T *ptr;
+    SwigSmartPointer(T *p) : ptr(p) { }
+    ~SwigSmartPointer() { delete ptr; }
+    SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+    void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
+#if __cplusplus >=201103L
+  SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
+  operator T&&() const { return std::move(*pointer.ptr); }
+#else
+  operator T&() const { return *pointer.ptr; }
+#endif
+  T *operator&() const { return pointer.ptr; }
+  static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
+};
+
+/*
+ * SwigValueInit() is a generic initialisation solution as the following approach:
+ * 
+ *       T c_result = T();
+ * 
+ * doesn't compile for all types for example:
+ * 
+ *       unsigned int c_result = unsigned int();
+ */
+template <typename T> T SwigValueInit() {
+  return T();
+}
+
+#if __cplusplus >=201103L
+# define SWIG_STD_MOVE(OBJ) std::move(OBJ)
+#else
+# define SWIG_STD_MOVE(OBJ) OBJ
+#endif
+
+#endif
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -1586,15 +1581,11 @@ static swig_module_info swig_module = {swig_types, 30, 0, 0, 0, 0};
 #ifdef __cplusplus
 extern "C"
 #endif
-#ifndef PERL_OBJECT
 #ifndef MULTIPLICITY
 SWIGEXPORT void SWIG_init (CV* cv);
 #else
 SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
 #endif
-#else
-SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
-#endif
 
 
 #include "switch_cpp.h"
@@ -2008,24 +1999,13 @@ SWIG_AsVal_bool SWIG_PERL_DECL_ARGS_2(SV *obj, bool* val)
 extern "C" {
 #endif
 
-#ifdef PERL_OBJECT
-#define MAGIC_CLASS _wrap_freeswitch_var::
-class _wrap_freeswitch_var : public CPerlObj {
-public:
-#else
 #define MAGIC_CLASS
-#endif
 SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
     MAGIC_PPERL
     croak("Value is read-only.");
     return 0;
 }
 
-
-#ifdef PERL_OBJECT
-};
-#endif
-
 #ifdef __cplusplus
 }
 #endif
@@ -2060,7 +2040,7 @@ XS(_wrap_setGlobalVariable) {
     }
     arg2 = reinterpret_cast< char * >(buf2);
     setGlobalVariable(arg1,arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -2129,7 +2109,7 @@ XS(_wrap_consoleLog) {
     }
     arg2 = reinterpret_cast< char * >(buf2);
     consoleLog(arg1,arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -2194,7 +2174,7 @@ XS(_wrap_consoleLog2) {
     }
     arg5 = reinterpret_cast< char * >(buf5);
     consoleLog2(arg1,arg2,arg3,arg4,arg5);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -2230,7 +2210,7 @@ XS(_wrap_consoleCleanLog) {
     }
     arg1 = reinterpret_cast< char * >(buf1);
     consoleCleanLog(arg1);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
     XSRETURN(argvi);
   fail:
@@ -2578,7 +2558,7 @@ XS(_wrap_delete_IVRMenu) {
     }
     arg1 = reinterpret_cast< IVRMenu * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -2632,7 +2612,7 @@ XS(_wrap_IVRMenu_bindAction) {
     }
     arg4 = reinterpret_cast< char * >(buf4);
     (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -2682,7 +2662,7 @@ XS(_wrap_IVRMenu_execute) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->execute(arg2,(char const *)arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -2743,7 +2723,7 @@ XS(_wrap_delete_API) {
     }
     arg1 = reinterpret_cast< API * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -2897,7 +2877,7 @@ XS(_wrap_input_callback_state_t_function_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_function_set" "', argument " "2"" of type '" "void *""'"); 
     }
     if (arg1) (arg1)->function = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -2960,7 +2940,7 @@ XS(_wrap_input_callback_state_t_threadState_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_threadState_set" "', argument " "2"" of type '" "void *""'"); 
     }
     if (arg1) (arg1)->threadState = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -3023,7 +3003,7 @@ XS(_wrap_input_callback_state_t_extra_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_extra_set" "', argument " "2"" of type '" "void *""'"); 
     }
     if (arg1) (arg1)->extra = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -3088,14 +3068,14 @@ XS(_wrap_input_callback_state_t_funcargs_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_funcargs_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->funcargs) delete[] arg1->funcargs;
+    delete[] arg1->funcargs;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->funcargs = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->funcargs = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -3170,7 +3150,7 @@ XS(_wrap_delete_input_callback_state_t) {
     }
     arg1 = reinterpret_cast< input_callback_state * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -3205,7 +3185,7 @@ XS(_wrap_DTMF_digit_set) {
     } 
     arg2 = static_cast< char >(val2);
     if (arg1) (arg1)->digit = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -3276,7 +3256,7 @@ XS(_wrap_DTMF_duration_set) {
       }
     }
     if (arg1) (arg1)->duration = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -3304,7 +3284,7 @@ XS(_wrap_DTMF_duration_get) {
     }
     arg1 = reinterpret_cast< DTMF * >(argp1);
     result =  ((arg1)->duration);
-    ST(argvi) = SWIG_NewPointerObj((new uint32_t(static_cast< const uint32_t& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new uint32_t(result)), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -3375,7 +3355,7 @@ XS(_wrap_delete_DTMF) {
     }
     arg1 = reinterpret_cast< DTMF * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -3497,7 +3477,7 @@ XS(_wrap_delete_Stream) {
     }
     arg1 = reinterpret_cast< Stream * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -3571,7 +3551,7 @@ XS(_wrap_Stream_write) {
     }
     arg2 = reinterpret_cast< char * >(buf2);
     (arg1)->write((char const *)arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -3617,7 +3597,7 @@ XS(_wrap_Stream_raw_write) {
     } 
     arg3 = static_cast< int >(val3);
     (arg1)->raw_write((char const *)arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     
@@ -3684,7 +3664,7 @@ XS(_wrap_Event_event_set) {
     }
     arg2 = reinterpret_cast< switch_event_t * >(argp2);
     if (arg1) (arg1)->event = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -3749,14 +3729,14 @@ XS(_wrap_Event_serialized_string_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_serialized_string_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->serialized_string) delete[] arg1->serialized_string;
+    delete[] arg1->serialized_string;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->serialized_string = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->serialized_string = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -3821,7 +3801,7 @@ XS(_wrap_Event_mine_set) {
     } 
     arg2 = static_cast< int >(val2);
     if (arg1) (arg1)->mine = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -4043,7 +4023,7 @@ XS(_wrap_delete_Event) {
     }
     arg1 = reinterpret_cast< Event * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -4545,7 +4525,7 @@ XS(_wrap_EventConsumer_events_set) {
     }
     arg2 = reinterpret_cast< switch_queue_t * >(argp2);
     if (arg1) (arg1)->events = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -4616,7 +4596,7 @@ XS(_wrap_EventConsumer_e_event_id_set) {
       }
     }
     if (arg1) (arg1)->e_event_id = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -4644,7 +4624,7 @@ XS(_wrap_EventConsumer_e_event_id_get) {
     }
     arg1 = reinterpret_cast< EventConsumer * >(argp1);
     result =  ((arg1)->e_event_id);
-    ST(argvi) = SWIG_NewPointerObj((new switch_event_types_t(static_cast< const switch_event_types_t& >(result))), SWIGTYPE_p_switch_event_types_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new switch_event_types_t(result)), SWIGTYPE_p_switch_event_types_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -4679,14 +4659,14 @@ XS(_wrap_EventConsumer_e_callback_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_e_callback_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->e_callback) delete[] arg1->e_callback;
+    delete[] arg1->e_callback;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->e_callback = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->e_callback = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -4751,14 +4731,14 @@ XS(_wrap_EventConsumer_e_subclass_name_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_e_subclass_name_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->e_subclass_name) delete[] arg1->e_subclass_name;
+    delete[] arg1->e_subclass_name;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->e_subclass_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->e_subclass_name = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -4823,14 +4803,14 @@ XS(_wrap_EventConsumer_e_cb_arg_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_e_cb_arg_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->e_cb_arg) delete[] arg1->e_cb_arg;
+    delete[] arg1->e_cb_arg;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->e_cb_arg = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->e_cb_arg = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -4902,7 +4882,7 @@ XS(_wrap_EventConsumer_enodes_set) {
         SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""enodes""' of type '""switch_event_node_t *[SWITCH_EVENT_ALL+1]""'");
       }
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -4973,7 +4953,7 @@ XS(_wrap_EventConsumer_node_index_set) {
       }
     }
     if (arg1) (arg1)->node_index = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -5001,7 +4981,7 @@ XS(_wrap_EventConsumer_node_index_get) {
     }
     arg1 = reinterpret_cast< EventConsumer * >(argp1);
     result =  ((arg1)->node_index);
-    ST(argvi) = SWIG_NewPointerObj((new uint32_t(static_cast< const uint32_t& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new uint32_t(result)), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -5084,7 +5064,7 @@ XS(_wrap_delete_EventConsumer) {
     }
     arg1 = reinterpret_cast< EventConsumer * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -5215,7 +5195,7 @@ XS(_wrap_EventConsumer_cleanup) {
     }
     arg1 = reinterpret_cast< EventConsumer * >(argp1);
     (arg1)->cleanup();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -5242,7 +5222,7 @@ XS(_wrap_delete_CoreSession) {
     }
     arg1 = reinterpret_cast< CoreSession * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -5277,7 +5257,7 @@ XS(_wrap_CoreSession_session_set) {
     }
     arg2 = reinterpret_cast< switch_core_session_t * >(argp2);
     if (arg1) (arg1)->session = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -5342,7 +5322,7 @@ XS(_wrap_CoreSession_channel_set) {
     }
     arg2 = reinterpret_cast< switch_channel_t * >(argp2);
     if (arg1) (arg1)->channel = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -5407,7 +5387,7 @@ XS(_wrap_CoreSession_flags_set) {
     } 
     arg2 = static_cast< unsigned int >(val2);
     if (arg1) (arg1)->flags = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -5472,7 +5452,7 @@ XS(_wrap_CoreSession_allocated_set) {
     } 
     arg2 = static_cast< int >(val2);
     if (arg1) (arg1)->allocated = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -5537,7 +5517,7 @@ XS(_wrap_CoreSession_cb_state_set) {
     }
     arg2 = reinterpret_cast< input_callback_state * >(argp2);
     if (arg1) (arg1)->cb_state = *arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -5608,7 +5588,7 @@ XS(_wrap_CoreSession_hook_state_set) {
       }
     }
     if (arg1) (arg1)->hook_state = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -5636,7 +5616,7 @@ XS(_wrap_CoreSession_hook_state_get) {
     }
     arg1 = reinterpret_cast< CoreSession * >(argp1);
     result =  ((arg1)->hook_state);
-    ST(argvi) = SWIG_NewPointerObj((new switch_channel_state_t(static_cast< const switch_channel_state_t& >(result))), SWIGTYPE_p_switch_channel_state_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new switch_channel_state_t(result)), SWIGTYPE_p_switch_channel_state_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -5677,7 +5657,7 @@ XS(_wrap_CoreSession_cause_set) {
       }
     }
     if (arg1) (arg1)->cause = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -5705,7 +5685,7 @@ XS(_wrap_CoreSession_cause_get) {
     }
     arg1 = reinterpret_cast< CoreSession * >(argp1);
     result =  ((arg1)->cause);
-    ST(argvi) = SWIG_NewPointerObj((new switch_call_cause_t(static_cast< const switch_call_cause_t& >(result))), SWIGTYPE_p_switch_call_cause_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new switch_call_cause_t(result)), SWIGTYPE_p_switch_call_cause_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -5740,14 +5720,14 @@ XS(_wrap_CoreSession_uuid_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_uuid_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->uuid) delete[] arg1->uuid;
+    delete[] arg1->uuid;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->uuid = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->uuid = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -5812,14 +5792,14 @@ XS(_wrap_CoreSession_tts_name_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_tts_name_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->tts_name) delete[] arg1->tts_name;
+    delete[] arg1->tts_name;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->tts_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->tts_name = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -5884,14 +5864,14 @@ XS(_wrap_CoreSession_voice_name_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_voice_name_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->voice_name) delete[] arg1->voice_name;
+    delete[] arg1->voice_name;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->voice_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->voice_name = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -6114,7 +6094,7 @@ XS(_wrap_CoreSession_hangup) {
       arg2 = reinterpret_cast< char * >(buf2);
     }
     (arg1)->hangup((char const *)arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -6143,7 +6123,7 @@ XS(_wrap_CoreSession_hangupState) {
     }
     arg1 = reinterpret_cast< CoreSession * >(argp1);
     (arg1)->hangupState();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -6188,7 +6168,7 @@ XS(_wrap_CoreSession_setVariable) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->setVariable(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -6234,7 +6214,7 @@ XS(_wrap_CoreSession_setPrivate) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_setPrivate" "', argument " "3"" of type '" "void *""'"); 
     }
     (arg1)->setPrivate(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     
@@ -6353,7 +6333,7 @@ XS(_wrap_CoreSession_process_callback_result) {
     }
     arg2 = reinterpret_cast< char * >(buf2);
     result = (arg1)->process_callback_result(arg2);
-    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -6429,7 +6409,7 @@ XS(_wrap_CoreSession_say) {
       arg6 = reinterpret_cast< char * >(buf6);
     }
     (arg1)->say((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -6497,7 +6477,7 @@ XS(_wrap_CoreSession_sayPhrase) {
       arg4 = reinterpret_cast< char * >(buf4);
     }
     (arg1)->sayPhrase((char const *)arg2,(char const *)arg3,(char const *)arg4);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -6734,7 +6714,7 @@ XS(_wrap_CoreSession_destroy) {
     }
     arg1 = reinterpret_cast< CoreSession * >(argp1);
     (arg1)->destroy();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -6776,7 +6756,7 @@ XS(_wrap_CoreSession_setDTMFCallback) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->setDTMFCallback(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -6864,7 +6844,7 @@ XS(_wrap_CoreSession_set_tts_parms) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->set_tts_parms(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -6913,7 +6893,7 @@ XS(_wrap_CoreSession_set_tts_params) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->set_tts_params(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -7727,7 +7707,7 @@ XS(_wrap_CoreSession_detectSpeech) {
       arg5 = reinterpret_cast< char * >(buf5);
     }
     (arg1)->detectSpeech(arg2,arg3,arg4,arg5);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -8175,7 +8155,7 @@ XS(_wrap_CoreSession_setHangupHook) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setHangupHook" "', argument " "2"" of type '" "void *""'"); 
     }
     (arg1)->setHangupHook(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -8324,7 +8304,7 @@ XS(_wrap_CoreSession_waitForAnswer) {
     }
     arg2 = reinterpret_cast< CoreSession * >(argp2);
     (arg1)->waitForAnswer(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -8373,7 +8353,7 @@ XS(_wrap_CoreSession_execute) {
       arg3 = reinterpret_cast< char * >(buf3);
     }
     (arg1)->execute((char const *)arg2,(char const *)arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -8412,7 +8392,7 @@ XS(_wrap_CoreSession_sendEvent) {
     }
     arg2 = reinterpret_cast< Event * >(argp2);
     (arg1)->sendEvent(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -8449,7 +8429,7 @@ XS(_wrap_CoreSession_setEventData) {
     }
     arg2 = reinterpret_cast< Event * >(argp2);
     (arg1)->setEventData(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -8618,7 +8598,7 @@ XS(_wrap_CoreSession_check_hangup_hook) {
     }
     arg1 = reinterpret_cast< CoreSession * >(argp1);
     (arg1)->check_hangup_hook();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -8666,7 +8646,7 @@ XS(_wrap_CoreSession_run_dtmf_callback) {
       }
     }
     result = (arg1)->run_dtmf_callback(arg2,arg3);
-    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     
     XSRETURN(argvi);
@@ -8713,7 +8693,7 @@ XS(_wrap_CoreSession_consoleLog) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->consoleLog(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -8788,7 +8768,7 @@ XS(_wrap_CoreSession_consoleLog2) {
     }
     arg6 = reinterpret_cast< char * >(buf6);
     (arg1)->consoleLog2(arg2,arg3,arg4,arg5,arg6);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -8835,7 +8815,7 @@ XS(_wrap_console_log) {
     }
     arg2 = reinterpret_cast< char * >(buf2);
     console_log(arg1,arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -8900,7 +8880,7 @@ XS(_wrap_console_log2) {
     }
     arg5 = reinterpret_cast< char * >(buf5);
     console_log2(arg1,arg2,arg3,arg4,arg5);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -8936,7 +8916,7 @@ XS(_wrap_console_clean_log) {
     }
     arg1 = reinterpret_cast< char * >(buf1);
     console_clean_log(arg1);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
     XSRETURN(argvi);
   fail:
@@ -8963,7 +8943,7 @@ XS(_wrap_msleep) {
     } 
     arg1 = static_cast< unsigned int >(val1);
     switch_msleep(arg1);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -9004,7 +8984,7 @@ XS(_wrap_bridge) {
     }
     arg2 = reinterpret_cast< CoreSession * >(argp2);
     bridge(*arg1,*arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -9034,7 +9014,7 @@ XS(_wrap_hanguphook) {
     }
     arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
     result = hanguphook(arg1);
-    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     XSRETURN(argvi);
   fail:
@@ -9095,8 +9075,8 @@ XS(_wrap_dtmf_callback) {
       SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "dtmf_callback" "', argument " "5"" of type '" "unsigned int""'");
     } 
     arg5 = static_cast< unsigned int >(val5);
-    result = dtmf_callback(arg1,arg2,arg3,arg4,arg5);
-    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    result = dtmf_callback(arg1,arg2,SWIG_STD_MOVE(arg3),arg4,arg5);
+    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     
     
@@ -9382,7 +9362,7 @@ XS(_wrap_delete_Session) {
     }
     arg1 = reinterpret_cast< PERL::Session * >(argp1);
     delete arg1;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -9409,7 +9389,7 @@ XS(_wrap_Session_destroy) {
     }
     arg1 = reinterpret_cast< PERL::Session * >(argp1);
     (arg1)->destroy();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -9492,7 +9472,7 @@ XS(_wrap_Session_check_hangup_hook) {
     }
     arg1 = reinterpret_cast< PERL::Session * >(argp1);
     (arg1)->check_hangup_hook();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -9540,7 +9520,7 @@ XS(_wrap_Session_run_dtmf_callback) {
       }
     }
     result = (arg1)->run_dtmf_callback(arg2,arg3);
-    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
+    ST(argvi) = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN | 0); argvi++ ;
     
     
     XSRETURN(argvi);
@@ -9571,7 +9551,7 @@ XS(_wrap_Session_setME) {
     arg1 = reinterpret_cast< PERL::Session * >(argp1);
     arg2 = ST(1);
     (arg1)->setME(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -9618,7 +9598,7 @@ XS(_wrap_Session_setInputCallback__SWIG_0) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->setInputCallback(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -9658,7 +9638,7 @@ XS(_wrap_Session_setInputCallback__SWIG_1) {
     }
     arg2 = reinterpret_cast< char * >(buf2);
     (arg1)->setInputCallback(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -9687,7 +9667,7 @@ XS(_wrap_Session_setInputCallback__SWIG_2) {
     }
     arg1 = reinterpret_cast< PERL::Session * >(argp1);
     (arg1)->setInputCallback();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -9823,7 +9803,7 @@ XS(_wrap_Session_unsetInputCallback) {
     }
     arg1 = reinterpret_cast< PERL::Session * >(argp1);
     (arg1)->unsetInputCallback();
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     XSRETURN(argvi);
   fail:
@@ -9868,7 +9848,7 @@ XS(_wrap_Session_setHangupHook__SWIG_0) {
     }
     arg3 = reinterpret_cast< char * >(buf3);
     (arg1)->setHangupHook(arg2,arg3);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
@@ -9908,7 +9888,7 @@ XS(_wrap_Session_setHangupHook__SWIG_1) {
     }
     arg2 = reinterpret_cast< char * >(buf2);
     (arg1)->setHangupHook(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -10059,7 +10039,7 @@ XS(_wrap_Session_callback_mutex_set) {
     }
     arg2 = reinterpret_cast< switch_mutex_t * >(argp2);
     if (arg1) (arg1)->callback_mutex = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -10124,7 +10104,7 @@ XS(_wrap_Session_destroying_set) {
     } 
     arg2 = static_cast< int >(val2);
     if (arg1) (arg1)->destroying = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -10189,7 +10169,7 @@ XS(_wrap_Session_event_idx_set) {
     } 
     arg2 = static_cast< int >(val2);
     if (arg1) (arg1)->event_idx = arg2;
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -10254,14 +10234,14 @@ XS(_wrap_Session_suuid_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_suuid_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->suuid) delete[] arg1->suuid;
+    delete[] arg1->suuid;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->suuid = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->suuid = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -10326,14 +10306,14 @@ XS(_wrap_Session_cb_function_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_cb_function_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->cb_function) delete[] arg1->cb_function;
+    delete[] arg1->cb_function;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->cb_function = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->cb_function = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -10398,14 +10378,14 @@ XS(_wrap_Session_cb_arg_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_cb_arg_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->cb_arg) delete[] arg1->cb_arg;
+    delete[] arg1->cb_arg;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->cb_arg = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->cb_arg = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -10470,14 +10450,14 @@ XS(_wrap_Session_hangup_func_str_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_hangup_func_str_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->hangup_func_str) delete[] arg1->hangup_func_str;
+    delete[] arg1->hangup_func_str;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->hangup_func_str = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->hangup_func_str = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -10542,14 +10522,14 @@ XS(_wrap_Session_hangup_func_arg_set) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_hangup_func_arg_set" "', argument " "2"" of type '" "char *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
-    if (arg1->hangup_func_arg) delete[] arg1->hangup_func_arg;
+    delete[] arg1->hangup_func_arg;
     if (arg2) {
       size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
       arg1->hangup_func_arg = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->hangup_func_arg = 0;
     }
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
     XSRETURN(argvi);
@@ -10614,7 +10594,7 @@ XS(_wrap_Session_setPERL) {
     }
     arg2 = reinterpret_cast< PerlInterpreter * >(argp2);
     (arg1)->setPERL(arg2);
-    ST(argvi) = sv_newmortal();
+    ST(argvi) = &PL_sv_undef;
     
     
     XSRETURN(argvi);
@@ -10645,7 +10625,7 @@ static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_input_callback_state = {"_p_input_callback_state", "input_callback_state_t *|input_callback_state *", 0, 0, (void*)"freeswitch::input_callback_state_t", 0};
 static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_p_switch_event_node_t = {"_p_p_switch_event_node_t", "switch_event_node_t **", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_session_flag_t = {"_p_session_flag_t", "enum session_flag_t *|session_flag_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_session_flag_t = {"_p_session_flag_t", "session_flag_t *|enum session_flag_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_switch_call_cause_t = {"_p_switch_call_cause_t", "switch_call_cause_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_switch_channel_state_t = {"_p_switch_channel_state_t", "switch_channel_state_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0};
@@ -11013,9 +10993,12 @@ extern "C" {
 #define SWIGRUNTIME_DEBUG
 #endif
 
+#ifndef SWIG_INIT_CLIENT_DATA_TYPE
+#define SWIG_INIT_CLIENT_DATA_TYPE void *
+#endif
 
 SWIGRUNTIME void
-SWIG_InitializeModule(void *clientdata) {
+SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
   size_t i;
   swig_module_info *module_head, *iter;
   int init;
@@ -11061,7 +11044,7 @@ SWIG_InitializeModule(void *clientdata) {
   
   /* Now work on filling in swig_module.types */
 #ifdef SWIGRUNTIME_DEBUG
-  printf("SWIG_InitializeModule: size %d\n", swig_module.size);
+  printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
 #endif
   for (i = 0; i < swig_module.size; ++i) {
     swig_type_info *type = 0;
@@ -11069,7 +11052,7 @@ SWIG_InitializeModule(void *clientdata) {
     swig_cast_info *cast;
     
 #ifdef SWIGRUNTIME_DEBUG
-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+    printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
 #endif
     
     /* if there is another module already loaded */
@@ -11144,7 +11127,7 @@ SWIG_InitializeModule(void *clientdata) {
   for (i = 0; i < swig_module.size; ++i) {
     int j = 0;
     swig_cast_info *cast = swig_module.cast_initial[i];
-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+    printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
     while (cast->type) {
       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
       cast++;
@@ -11256,17 +11239,17 @@ XS(SWIG_init) {
   SWIG_TypeClientData(SWIGTYPE_p_IVRMenu, (void*) "freeswitch::IVRMenu");
   SWIG_TypeClientData(SWIGTYPE_p_API, (void*) "freeswitch::API");
   SWIG_TypeClientData(SWIGTYPE_p_input_callback_state, (void*) "freeswitch::input_callback_state_t");
-  /*@SWIG:/usr/share/swig3.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+  /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,67,%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "S_HUP", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_HUP)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig3.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+  /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,67,%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "S_FREE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_FREE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig3.0/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+  /*@SWIG:/usr/share/swig4.0/perl5/perltypemaps.swg,67,%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "S_RDLOCK", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_RDLOCK)));
     SvREADONLY_on(sv);
index 48ccf472f160208f710e88890b6c7f37d1dcee0f..a23d402146d65328d01684940af90811981f61b7 100644 (file)
-# This file was automatically generated by SWIG (http://www.swig.org).
-# Version 3.0.12
+# This file was automatically generated by SWIG (https://www.swig.org).
+# Version 4.1.0
 #
-# Do not make changes to this file unless you know what you are doing--modify
+# Do not make changes to this file unless you know what you are doing - modify
 # the SWIG interface file instead.
 
 from sys import version_info as _swig_python_version_info
-if _swig_python_version_info >= (2, 7, 0):
-    def swig_import_helper():
-        import importlib
-        pkg = __name__.rpartition('.')[0]
-        mname = '.'.join((pkg, '_freeswitch')).lstrip('.')
-        try:
-            return importlib.import_module(mname)
-        except ImportError:
-            return importlib.import_module('_freeswitch')
-    _freeswitch = swig_import_helper()
-    del swig_import_helper
-elif _swig_python_version_info >= (2, 6, 0):
-    def swig_import_helper():
-        from os.path import dirname
-        import imp
-        fp = None
-        try:
-            fp, pathname, description = imp.find_module('_freeswitch', [dirname(__file__)])
-        except ImportError:
-            import _freeswitch
-            return _freeswitch
-        try:
-            _mod = imp.load_module('_freeswitch', fp, pathname, description)
-        finally:
-            if fp is not None:
-                fp.close()
-        return _mod
-    _freeswitch = swig_import_helper()
-    del swig_import_helper
+# Import the low-level C/C++ module
+if __package__ or "." in __name__:
+    from . import _freeswitch
 else:
     import _freeswitch
-del _swig_python_version_info
-
-try:
-    _swig_property = property
-except NameError:
-    pass  # Python < 2.2 doesn't have 'property'.
 
 try:
     import builtins as __builtin__
 except ImportError:
     import __builtin__
 
-def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
-    if (name == "thisown"):
-        return self.this.own(value)
-    if (name == "this"):
-        if type(value).__name__ == 'SwigPyObject':
-            self.__dict__[name] = value
-            return
-    method = class_type.__swig_setmethods__.get(name, None)
-    if method:
-        return method(self, value)
-    if (not static):
-        if _newclass:
-            object.__setattr__(self, name, value)
+def _swig_repr(self):
+    try:
+        strthis = "proxy of " + self.this.__repr__()
+    except __builtin__.Exception:
+        strthis = ""
+    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+
+
+def _swig_setattr_nondynamic_instance_variable(set):
+    def set_instance_attr(self, name, value):
+        if name == "this":
+            set(self, name, value)
+        elif name == "thisown":
+            self.this.own(value)
+        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
+            set(self, name, value)
         else:
-            self.__dict__[name] = value
-    else:
-        raise AttributeError("You cannot add attributes to %s" % self)
+            raise AttributeError("You cannot add instance attributes to %s" % self)
+    return set_instance_attr
 
 
-def _swig_setattr(self, class_type, name, value):
-    return _swig_setattr_nondynamic(self, class_type, name, value, 0)
+def _swig_setattr_nondynamic_class_variable(set):
+    def set_class_attr(cls, name, value):
+        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
+            set(cls, name, value)
+        else:
+            raise AttributeError("You cannot add class attributes to %s" % cls)
+    return set_class_attr
 
 
-def _swig_getattr(self, class_type, name):
-    if (name == "thisown"):
-        return self.this.own()
-    method = class_type.__swig_getmethods__.get(name, None)
-    if method:
-        return method(self)
-    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
+def _swig_add_metaclass(metaclass):
+    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
+    def wrapper(cls):
+        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
+    return wrapper
 
 
-def _swig_repr(self):
-    try:
-        strthis = "proxy of " + self.this.__repr__()
-    except __builtin__.Exception:
-        strthis = ""
-    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
+class _SwigNonDynamicMeta(type):
+    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
+    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
 
-try:
-    _object = object
-    _newclass = 1
-except __builtin__.Exception:
-    class _object:
-        pass
-    _newclass = 0
 
 
 def setGlobalVariable(var_name, var_val):
     return _freeswitch.setGlobalVariable(var_name, var_val)
-setGlobalVariable = _freeswitch.setGlobalVariable
 
 def getGlobalVariable(var_name):
     return _freeswitch.getGlobalVariable(var_name)
-getGlobalVariable = _freeswitch.getGlobalVariable
 
 def consoleLog(level_str, msg):
     return _freeswitch.consoleLog(level_str, msg)
-consoleLog = _freeswitch.consoleLog
 
 def consoleLog2(level_str, file, func, line, msg):
     return _freeswitch.consoleLog2(level_str, file, func, line, msg)
-consoleLog2 = _freeswitch.consoleLog2
 
 def consoleCleanLog(msg):
     return _freeswitch.consoleCleanLog(msg)
-consoleCleanLog = _freeswitch.consoleCleanLog
 
 def running():
     return _freeswitch.running()
-running = _freeswitch.running
-
-def email(to, arg2, headers=None, body=None, file=None, convert_cmd=None, convert_ext=None):
-    return _freeswitch.email(to, arg2, headers, body, file, convert_cmd, convert_ext)
-email = _freeswitch.email
-class IVRMenu(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, IVRMenu, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, IVRMenu, name)
+
+def email(to, _from, headers=None, body=None, file=None, convert_cmd=None, convert_ext=None):
+    return _freeswitch.email(to, _from, headers, body, file, convert_cmd, convert_ext)
+class IVRMenu(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
 
     def __init__(self, main, name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, transfer_sound, confirm_macro, confirm_key, tts_engine, tts_voice, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts):
-        this = _freeswitch.new_IVRMenu(main, name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, transfer_sound, confirm_macro, confirm_key, tts_engine, tts_voice, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts)
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.IVRMenu_swiginit(self, _freeswitch.new_IVRMenu(main, name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, transfer_sound, confirm_macro, confirm_key, tts_engine, tts_voice, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts))
     __swig_destroy__ = _freeswitch.delete_IVRMenu
-    __del__ = lambda self: None
 
     def bindAction(self, action, arg, bind):
         return _freeswitch.IVRMenu_bindAction(self, action, arg, bind)
 
     def execute(self, session, name):
         return _freeswitch.IVRMenu_execute(self, session, name)
-IVRMenu_swigregister = _freeswitch.IVRMenu_swigregister
-IVRMenu_swigregister(IVRMenu)
-
-class API(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, API, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, API, name)
+
+# Register IVRMenu in _freeswitch:
+_freeswitch.IVRMenu_swigregister(IVRMenu)
+class API(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
 
     def __init__(self, s=None):
-        this = _freeswitch.new_API(s)
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.API_swiginit(self, _freeswitch.new_API(s))
     __swig_destroy__ = _freeswitch.delete_API
-    __del__ = lambda self: None
 
     def execute(self, command, data=None):
         return _freeswitch.API_execute(self, command, data)
@@ -171,87 +111,45 @@ class API(_object):
 
     def getTime(self):
         return _freeswitch.API_getTime(self)
-API_swigregister = _freeswitch.API_swigregister
-API_swigregister(API)
-
-class input_callback_state_t(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, input_callback_state_t, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, input_callback_state_t, name)
+
+# Register API in _freeswitch:
+_freeswitch.API_swigregister(API)
+class input_callback_state_t(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
-    __swig_setmethods__["function"] = _freeswitch.input_callback_state_t_function_set
-    __swig_getmethods__["function"] = _freeswitch.input_callback_state_t_function_get
-    if _newclass:
-        function = _swig_property(_freeswitch.input_callback_state_t_function_get, _freeswitch.input_callback_state_t_function_set)
-    __swig_setmethods__["threadState"] = _freeswitch.input_callback_state_t_threadState_set
-    __swig_getmethods__["threadState"] = _freeswitch.input_callback_state_t_threadState_get
-    if _newclass:
-        threadState = _swig_property(_freeswitch.input_callback_state_t_threadState_get, _freeswitch.input_callback_state_t_threadState_set)
-    __swig_setmethods__["extra"] = _freeswitch.input_callback_state_t_extra_set
-    __swig_getmethods__["extra"] = _freeswitch.input_callback_state_t_extra_get
-    if _newclass:
-        extra = _swig_property(_freeswitch.input_callback_state_t_extra_get, _freeswitch.input_callback_state_t_extra_set)
-    __swig_setmethods__["funcargs"] = _freeswitch.input_callback_state_t_funcargs_set
-    __swig_getmethods__["funcargs"] = _freeswitch.input_callback_state_t_funcargs_get
-    if _newclass:
-        funcargs = _swig_property(_freeswitch.input_callback_state_t_funcargs_get, _freeswitch.input_callback_state_t_funcargs_set)
+    function = property(_freeswitch.input_callback_state_t_function_get, _freeswitch.input_callback_state_t_function_set)
+    threadState = property(_freeswitch.input_callback_state_t_threadState_get, _freeswitch.input_callback_state_t_threadState_set)
+    extra = property(_freeswitch.input_callback_state_t_extra_get, _freeswitch.input_callback_state_t_extra_set)
+    funcargs = property(_freeswitch.input_callback_state_t_funcargs_get, _freeswitch.input_callback_state_t_funcargs_set)
 
     def __init__(self):
-        this = _freeswitch.new_input_callback_state_t()
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.input_callback_state_t_swiginit(self, _freeswitch.new_input_callback_state_t())
     __swig_destroy__ = _freeswitch.delete_input_callback_state_t
-    __del__ = lambda self: None
-input_callback_state_t_swigregister = _freeswitch.input_callback_state_t_swigregister
-input_callback_state_t_swigregister(input_callback_state_t)
 
+# Register input_callback_state_t in _freeswitch:
+_freeswitch.input_callback_state_t_swigregister(input_callback_state_t)
 S_HUP = _freeswitch.S_HUP
 S_FREE = _freeswitch.S_FREE
 S_RDLOCK = _freeswitch.S_RDLOCK
-class DTMF(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, DTMF, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, DTMF, name)
+class DTMF(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
-    __swig_setmethods__["digit"] = _freeswitch.DTMF_digit_set
-    __swig_getmethods__["digit"] = _freeswitch.DTMF_digit_get
-    if _newclass:
-        digit = _swig_property(_freeswitch.DTMF_digit_get, _freeswitch.DTMF_digit_set)
-    __swig_setmethods__["duration"] = _freeswitch.DTMF_duration_set
-    __swig_getmethods__["duration"] = _freeswitch.DTMF_duration_get
-    if _newclass:
-        duration = _swig_property(_freeswitch.DTMF_duration_get, _freeswitch.DTMF_duration_set)
+    digit = property(_freeswitch.DTMF_digit_get, _freeswitch.DTMF_digit_set)
+    duration = property(_freeswitch.DTMF_duration_get, _freeswitch.DTMF_duration_set)
 
     def __init__(self, *args):
-        this = _freeswitch.new_DTMF(*args)
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.DTMF_swiginit(self, _freeswitch.new_DTMF(*args))
     __swig_destroy__ = _freeswitch.delete_DTMF
-    __del__ = lambda self: None
-DTMF_swigregister = _freeswitch.DTMF_swigregister
-DTMF_swigregister(DTMF)
-
-class Stream(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, Stream, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, Stream, name)
+
+# Register DTMF in _freeswitch:
+_freeswitch.DTMF_swigregister(DTMF)
+class Stream(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
 
     def __init__(self, *args):
-        this = _freeswitch.new_Stream(*args)
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.Stream_swiginit(self, _freeswitch.new_Stream(*args))
     __swig_destroy__ = _freeswitch.delete_Stream
-    __del__ = lambda self: None
 
     def read(self, len):
         return _freeswitch.Stream_read(self, len)
@@ -264,36 +162,19 @@ class Stream(_object):
 
     def get_data(self):
         return _freeswitch.Stream_get_data(self)
-Stream_swigregister = _freeswitch.Stream_swigregister
-Stream_swigregister(Stream)
-
-class Event(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, Event, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, Event, name)
+
+# Register Stream in _freeswitch:
+_freeswitch.Stream_swigregister(Stream)
+class Event(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
-    __swig_setmethods__["event"] = _freeswitch.Event_event_set
-    __swig_getmethods__["event"] = _freeswitch.Event_event_get
-    if _newclass:
-        event = _swig_property(_freeswitch.Event_event_get, _freeswitch.Event_event_set)
-    __swig_setmethods__["serialized_string"] = _freeswitch.Event_serialized_string_set
-    __swig_getmethods__["serialized_string"] = _freeswitch.Event_serialized_string_get
-    if _newclass:
-        serialized_string = _swig_property(_freeswitch.Event_serialized_string_get, _freeswitch.Event_serialized_string_set)
-    __swig_setmethods__["mine"] = _freeswitch.Event_mine_set
-    __swig_getmethods__["mine"] = _freeswitch.Event_mine_get
-    if _newclass:
-        mine = _swig_property(_freeswitch.Event_mine_get, _freeswitch.Event_mine_set)
+    event = property(_freeswitch.Event_event_get, _freeswitch.Event_event_set)
+    serialized_string = property(_freeswitch.Event_serialized_string_get, _freeswitch.Event_serialized_string_set)
+    mine = property(_freeswitch.Event_mine_get, _freeswitch.Event_mine_set)
 
     def __init__(self, *args):
-        this = _freeswitch.new_Event(*args)
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.Event_swiginit(self, _freeswitch.new_Event(*args))
     __swig_destroy__ = _freeswitch.delete_Event
-    __del__ = lambda self: None
 
     def chat_execute(self, app, data=None):
         return _freeswitch.Event_chat_execute(self, app, data)
@@ -330,52 +211,23 @@ class Event(_object):
 
     def merge(self, to_merge):
         return _freeswitch.Event_merge(self, to_merge)
-Event_swigregister = _freeswitch.Event_swigregister
-Event_swigregister(Event)
-
-class EventConsumer(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, EventConsumer, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, EventConsumer, name)
+
+# Register Event in _freeswitch:
+_freeswitch.Event_swigregister(Event)
+class EventConsumer(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
-    __swig_setmethods__["events"] = _freeswitch.EventConsumer_events_set
-    __swig_getmethods__["events"] = _freeswitch.EventConsumer_events_get
-    if _newclass:
-        events = _swig_property(_freeswitch.EventConsumer_events_get, _freeswitch.EventConsumer_events_set)
-    __swig_setmethods__["e_event_id"] = _freeswitch.EventConsumer_e_event_id_set
-    __swig_getmethods__["e_event_id"] = _freeswitch.EventConsumer_e_event_id_get
-    if _newclass:
-        e_event_id = _swig_property(_freeswitch.EventConsumer_e_event_id_get, _freeswitch.EventConsumer_e_event_id_set)
-    __swig_setmethods__["e_callback"] = _freeswitch.EventConsumer_e_callback_set
-    __swig_getmethods__["e_callback"] = _freeswitch.EventConsumer_e_callback_get
-    if _newclass:
-        e_callback = _swig_property(_freeswitch.EventConsumer_e_callback_get, _freeswitch.EventConsumer_e_callback_set)
-    __swig_setmethods__["e_subclass_name"] = _freeswitch.EventConsumer_e_subclass_name_set
-    __swig_getmethods__["e_subclass_name"] = _freeswitch.EventConsumer_e_subclass_name_get
-    if _newclass:
-        e_subclass_name = _swig_property(_freeswitch.EventConsumer_e_subclass_name_get, _freeswitch.EventConsumer_e_subclass_name_set)
-    __swig_setmethods__["e_cb_arg"] = _freeswitch.EventConsumer_e_cb_arg_set
-    __swig_getmethods__["e_cb_arg"] = _freeswitch.EventConsumer_e_cb_arg_get
-    if _newclass:
-        e_cb_arg = _swig_property(_freeswitch.EventConsumer_e_cb_arg_get, _freeswitch.EventConsumer_e_cb_arg_set)
-    __swig_setmethods__["enodes"] = _freeswitch.EventConsumer_enodes_set
-    __swig_getmethods__["enodes"] = _freeswitch.EventConsumer_enodes_get
-    if _newclass:
-        enodes = _swig_property(_freeswitch.EventConsumer_enodes_get, _freeswitch.EventConsumer_enodes_set)
-    __swig_setmethods__["node_index"] = _freeswitch.EventConsumer_node_index_set
-    __swig_getmethods__["node_index"] = _freeswitch.EventConsumer_node_index_get
-    if _newclass:
-        node_index = _swig_property(_freeswitch.EventConsumer_node_index_get, _freeswitch.EventConsumer_node_index_set)
+    events = property(_freeswitch.EventConsumer_events_get, _freeswitch.EventConsumer_events_set)
+    e_event_id = property(_freeswitch.EventConsumer_e_event_id_get, _freeswitch.EventConsumer_e_event_id_set)
+    e_callback = property(_freeswitch.EventConsumer_e_callback_get, _freeswitch.EventConsumer_e_callback_set)
+    e_subclass_name = property(_freeswitch.EventConsumer_e_subclass_name_get, _freeswitch.EventConsumer_e_subclass_name_set)
+    e_cb_arg = property(_freeswitch.EventConsumer_e_cb_arg_get, _freeswitch.EventConsumer_e_cb_arg_set)
+    enodes = property(_freeswitch.EventConsumer_enodes_get, _freeswitch.EventConsumer_enodes_set)
+    node_index = property(_freeswitch.EventConsumer_node_index_get, _freeswitch.EventConsumer_node_index_set)
 
     def __init__(self, *args):
-        this = _freeswitch.new_EventConsumer(*args)
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.EventConsumer_swiginit(self, _freeswitch.new_EventConsumer(*args))
     __swig_destroy__ = _freeswitch.delete_EventConsumer
-    __del__ = lambda self: None
 
     def bind(self, *args):
         return _freeswitch.EventConsumer_bind(self, *args)
@@ -385,60 +237,26 @@ class EventConsumer(_object):
 
     def cleanup(self):
         return _freeswitch.EventConsumer_cleanup(self)
-EventConsumer_swigregister = _freeswitch.EventConsumer_swigregister
-EventConsumer_swigregister(EventConsumer)
 
-class CoreSession(_object):
-    __swig_setmethods__ = {}
-    __setattr__ = lambda self, name, value: _swig_setattr(self, CoreSession, name, value)
-    __swig_getmethods__ = {}
-    __getattr__ = lambda self, name: _swig_getattr(self, CoreSession, name)
+# Register EventConsumer in _freeswitch:
+_freeswitch.EventConsumer_swigregister(EventConsumer)
+class CoreSession(object):
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 
     def __init__(self, *args, **kwargs):
         raise AttributeError("No constructor defined - class is abstract")
     __repr__ = _swig_repr
     __swig_destroy__ = _freeswitch.delete_CoreSession
-    __del__ = lambda self: None
-    __swig_setmethods__["session"] = _freeswitch.CoreSession_session_set
-    __swig_getmethods__["session"] = _freeswitch.CoreSession_session_get
-    if _newclass:
-        session = _swig_property(_freeswitch.CoreSession_session_get, _freeswitch.CoreSession_session_set)
-    __swig_setmethods__["channel"] = _freeswitch.CoreSession_channel_set
-    __swig_getmethods__["channel"] = _freeswitch.CoreSession_channel_get
-    if _newclass:
-        channel = _swig_property(_freeswitch.CoreSession_channel_get, _freeswitch.CoreSession_channel_set)
-    __swig_setmethods__["flags"] = _freeswitch.CoreSession_flags_set
-    __swig_getmethods__["flags"] = _freeswitch.CoreSession_flags_get
-    if _newclass:
-        flags = _swig_property(_freeswitch.CoreSession_flags_get, _freeswitch.CoreSession_flags_set)
-    __swig_setmethods__["allocated"] = _freeswitch.CoreSession_allocated_set
-    __swig_getmethods__["allocated"] = _freeswitch.CoreSession_allocated_get
-    if _newclass:
-        allocated = _swig_property(_freeswitch.CoreSession_allocated_get, _freeswitch.CoreSession_allocated_set)
-    __swig_setmethods__["cb_state"] = _freeswitch.CoreSession_cb_state_set
-    __swig_getmethods__["cb_state"] = _freeswitch.CoreSession_cb_state_get
-    if _newclass:
-        cb_state = _swig_property(_freeswitch.CoreSession_cb_state_get, _freeswitch.CoreSession_cb_state_set)
-    __swig_setmethods__["hook_state"] = _freeswitch.CoreSession_hook_state_set
-    __swig_getmethods__["hook_state"] = _freeswitch.CoreSession_hook_state_get
-    if _newclass:
-        hook_state = _swig_property(_freeswitch.CoreSession_hook_state_get, _freeswitch.CoreSession_hook_state_set)
-    __swig_setmethods__["cause"] = _freeswitch.CoreSession_cause_set
-    __swig_getmethods__["cause"] = _freeswitch.CoreSession_cause_get
-    if _newclass:
-        cause = _swig_property(_freeswitch.CoreSession_cause_get, _freeswitch.CoreSession_cause_set)
-    __swig_setmethods__["uuid"] = _freeswitch.CoreSession_uuid_set
-    __swig_getmethods__["uuid"] = _freeswitch.CoreSession_uuid_get
-    if _newclass:
-        uuid = _swig_property(_freeswitch.CoreSession_uuid_get, _freeswitch.CoreSession_uuid_set)
-    __swig_setmethods__["tts_name"] = _freeswitch.CoreSession_tts_name_set
-    __swig_getmethods__["tts_name"] = _freeswitch.CoreSession_tts_name_get
-    if _newclass:
-        tts_name = _swig_property(_freeswitch.CoreSession_tts_name_get, _freeswitch.CoreSession_tts_name_set)
-    __swig_setmethods__["voice_name"] = _freeswitch.CoreSession_voice_name_set
-    __swig_getmethods__["voice_name"] = _freeswitch.CoreSession_voice_name_get
-    if _newclass:
-        voice_name = _swig_property(_freeswitch.CoreSession_voice_name_get, _freeswitch.CoreSession_voice_name_set)
+    session = property(_freeswitch.CoreSession_session_get, _freeswitch.CoreSession_session_set)
+    channel = property(_freeswitch.CoreSession_channel_get, _freeswitch.CoreSession_channel_set)
+    flags = property(_freeswitch.CoreSession_flags_get, _freeswitch.CoreSession_flags_set)
+    allocated = property(_freeswitch.CoreSession_allocated_get, _freeswitch.CoreSession_allocated_set)
+    cb_state = property(_freeswitch.CoreSession_cb_state_get, _freeswitch.CoreSession_cb_state_set)
+    hook_state = property(_freeswitch.CoreSession_hook_state_get, _freeswitch.CoreSession_hook_state_set)
+    cause = property(_freeswitch.CoreSession_cause_get, _freeswitch.CoreSession_cause_set)
+    uuid = property(_freeswitch.CoreSession_uuid_get, _freeswitch.CoreSession_uuid_set)
+    tts_name = property(_freeswitch.CoreSession_tts_name_get, _freeswitch.CoreSession_tts_name_set)
+    voice_name = property(_freeswitch.CoreSession_voice_name_get, _freeswitch.CoreSession_voice_name_set)
 
     def insertFile(self, file, insert_file, sample_point):
         return _freeswitch.CoreSession_insertFile(self, file, insert_file, sample_point)
@@ -595,56 +413,37 @@ class CoreSession(_object):
 
     def consoleLog2(self, level_str, file, func, line, msg):
         return _freeswitch.CoreSession_consoleLog2(self, level_str, file, func, line, msg)
-CoreSession_swigregister = _freeswitch.CoreSession_swigregister
-CoreSession_swigregister(CoreSession)
 
+# Register CoreSession in _freeswitch:
+_freeswitch.CoreSession_swigregister(CoreSession)
 
 def console_log(level_str, msg):
     return _freeswitch.console_log(level_str, msg)
-console_log = _freeswitch.console_log
 
 def console_log2(level_str, file, func, line, msg):
     return _freeswitch.console_log2(level_str, file, func, line, msg)
-console_log2 = _freeswitch.console_log2
 
 def console_clean_log(msg):
     return _freeswitch.console_clean_log(msg)
-console_clean_log = _freeswitch.console_clean_log
 
 def msleep(ms):
     return _freeswitch.msleep(ms)
-msleep = _freeswitch.msleep
 
 def bridge(session_a, session_b):
     return _freeswitch.bridge(session_a, session_b)
-bridge = _freeswitch.bridge
 
 def hanguphook(session):
     return _freeswitch.hanguphook(session)
-hanguphook = _freeswitch.hanguphook
 
 def dtmf_callback(session, input, itype, buf, buflen):
     return _freeswitch.dtmf_callback(session, input, itype, buf, buflen)
-dtmf_callback = _freeswitch.dtmf_callback
 class Session(CoreSession):
-    __swig_setmethods__ = {}
-    for _s in [CoreSession]:
-        __swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
-    __setattr__ = lambda self, name, value: _swig_setattr(self, Session, name, value)
-    __swig_getmethods__ = {}
-    for _s in [CoreSession]:
-        __swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
-    __getattr__ = lambda self, name: _swig_getattr(self, Session, name)
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
     __repr__ = _swig_repr
 
     def __init__(self, *args):
-        this = _freeswitch.new_Session(*args)
-        try:
-            self.this.append(this)
-        except __builtin__.Exception:
-            self.this = this
+        _freeswitch.Session_swiginit(self, _freeswitch.new_Session(*args))
     __swig_destroy__ = _freeswitch.delete_Session
-    __del__ = lambda self: None
 
     def begin_allow_threads(self):
         return _freeswitch.Session_begin_allow_threads(self)
@@ -672,31 +471,17 @@ class Session(CoreSession):
 
     def ready(self):
         return _freeswitch.Session_ready(self)
-    __swig_setmethods__["cb_function"] = _freeswitch.Session_cb_function_set
-    __swig_getmethods__["cb_function"] = _freeswitch.Session_cb_function_get
-    if _newclass:
-        cb_function = _swig_property(_freeswitch.Session_cb_function_get, _freeswitch.Session_cb_function_set)
-    __swig_setmethods__["cb_arg"] = _freeswitch.Session_cb_arg_set
-    __swig_getmethods__["cb_arg"] = _freeswitch.Session_cb_arg_get
-    if _newclass:
-        cb_arg = _swig_property(_freeswitch.Session_cb_arg_get, _freeswitch.Session_cb_arg_set)
-    __swig_setmethods__["hangup_func"] = _freeswitch.Session_hangup_func_set
-    __swig_getmethods__["hangup_func"] = _freeswitch.Session_hangup_func_get
-    if _newclass:
-        hangup_func = _swig_property(_freeswitch.Session_hangup_func_get, _freeswitch.Session_hangup_func_set)
-    __swig_setmethods__["hangup_func_arg"] = _freeswitch.Session_hangup_func_arg_set
-    __swig_getmethods__["hangup_func_arg"] = _freeswitch.Session_hangup_func_arg_get
-    if _newclass:
-        hangup_func_arg = _swig_property(_freeswitch.Session_hangup_func_arg_get, _freeswitch.Session_hangup_func_arg_set)
+    cb_function = property(_freeswitch.Session_cb_function_get, _freeswitch.Session_cb_function_set)
+    cb_arg = property(_freeswitch.Session_cb_arg_get, _freeswitch.Session_cb_arg_set)
+    hangup_func = property(_freeswitch.Session_hangup_func_get, _freeswitch.Session_hangup_func_set)
+    hangup_func_arg = property(_freeswitch.Session_hangup_func_arg_get, _freeswitch.Session_hangup_func_arg_set)
 
     def setPython(self, state):
         return _freeswitch.Session_setPython(self, state)
 
     def setSelf(self, state):
         return _freeswitch.Session_setSelf(self, state)
-Session_swigregister = _freeswitch.Session_swigregister
-Session_swigregister(Session)
-
-# This file is compatible with both classic and new-style classes.
 
+# Register Session in _freeswitch:
+_freeswitch.Session_swigregister(Session)
 
index bd4985bbbed3d9adf69afce0d4459baae455e3cd..bc132dea3634ad6be057e51df3bd81bcc6091e28 100644 (file)
@@ -1,44 +1,16 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.12
+ * This file was automatically generated by SWIG (https://www.swig.org).
+ * Version 4.1.0
  *
- * This file is not intended to be easily readable and contains a number of
- * coding conventions designed to improve portability and efficiency. Do not make
- * changes to this file unless you know what you are doing--modify the SWIG
- * interface file instead.
+ * Do not make changes to this file unless you know what you are doing - modify
+ * the SWIG interface file instead.
  * ----------------------------------------------------------------------------- */
 
 
-#ifndef SWIGPYTHON
+#define SWIG_VERSION 0x040100
 #define SWIGPYTHON
-#endif
-
 #define SWIG_PYTHON_DIRECTOR_NO_VTABLE
 
-
-#ifdef __cplusplus
-/* SwigValueWrapper is described in swig.swg */
-template<typename T> class SwigValueWrapper {
-  struct SwigMovePointer {
-    T *ptr;
-    SwigMovePointer(T *p) : ptr(p) { }
-    ~SwigMovePointer() { delete ptr; }
-    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
-  } pointer;
-  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
-public:
-  SwigValueWrapper() : pointer(0) { }
-  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
-  operator T&() const { return *pointer.ptr; }
-  T *operator&() { return pointer.ptr; }
-};
-
-template <typename T> T SwigValueInit() {
-  return T();
-}
-#endif
-
 /* -----------------------------------------------------------------------------
  *  This section contains generic SWIG labels for method/variable
  *  declarations/attributes, and other compiler dependent labels.
@@ -164,15 +136,42 @@ template <typename T> T SwigValueInit() {
 #endif
 
 
+#if defined(__GNUC__) && defined(_WIN32) && !defined(SWIG_PYTHON_NO_HYPOT_WORKAROUND)
+/* Workaround for '::hypot' has not been declared', see https://bugs.python.org/issue11566 */
+# include <math.h>
+#endif
+
+#if !defined(PY_SSIZE_T_CLEAN) && !defined(SWIG_NO_PY_SSIZE_T_CLEAN)
+#define PY_SSIZE_T_CLEAN
+#endif
+
+#if __GNUC__ >= 7
+#pragma GCC diagnostic push
+#if defined(__cplusplus) && __cplusplus >=201703L
+#pragma GCC diagnostic ignored "-Wregister" /* For python-2.7 headers that use register */
+#endif
+#endif
+
 #if defined(_DEBUG) && defined(SWIG_PYTHON_INTERPRETER_NO_DEBUG)
 /* Use debug wrappers with the Python release dll */
+
+#if defined(_MSC_VER) && _MSC_VER >= 1929
+/* Workaround compilation errors when redefining _DEBUG in MSVC 2019 version 16.10 and later
+ * See https://github.com/swig/swig/issues/2090 */
+# include <corecrt.h>
+#endif
+
 # undef _DEBUG
 # include <Python.h>
-# define _DEBUG
+# define _DEBUG 1
 #else
 # include <Python.h>
 #endif
 
+#if __GNUC__ >= 7
+#pragma GCC diagnostic pop
+#endif
+
 /* -----------------------------------------------------------------------------
  * swigrun.swg
  *
@@ -218,6 +217,9 @@ template <typename T> T SwigValueInit() {
 /* Flags for pointer conversions */
 #define SWIG_POINTER_DISOWN        0x1
 #define SWIG_CAST_NEW_MEMORY       0x2
+#define SWIG_POINTER_NO_NULL       0x4
+#define SWIG_POINTER_CLEAR         0x8
+#define SWIG_POINTER_RELEASE       (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
 
 /* Flags for new pointer objects */
 #define SWIG_POINTER_OWN           0x1
@@ -289,7 +291,7 @@ template <typename T> T SwigValueInit() {
    SWIG errors code.
 
    Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
-   allows to return the 'cast rank', for example, if you have this
+   allows returning the 'cast rank', for example, if you have this
 
        int food(double)
        int fooi(int);
@@ -303,7 +305,13 @@ template <typename T> T SwigValueInit() {
 */
 
 #define SWIG_OK                    (0)
+/* Runtime errors are < 0 */
 #define SWIG_ERROR                 (-1)
+/* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
+/* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
+/* Errors < -200 are generic runtime specific errors */
+#define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
+
 #define SWIG_IsOK(r)               (r >= 0)
 #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
 
@@ -318,7 +326,7 @@ template <typename T> T SwigValueInit() {
 #define SWIG_OLDOBJ                (SWIG_OK)
 #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
 #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
-/* Check, add and del mask methods */
+/* Check, add and del object mask methods */
 #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
 #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
 #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
@@ -464,7 +472,7 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) {
   Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
 */
 SWIGRUNTIME swig_cast_info *
-SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
+SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
   if (ty) {
     swig_cast_info *iter = ty->cast;
     while (iter) {
@@ -524,9 +532,9 @@ SWIG_TypeName(const swig_type_info *ty) {
 SWIGRUNTIME const char *
 SWIG_TypePrettyName(const swig_type_info *type) {
   /* The "str" field contains the equivalent pretty names of the
-     type, separated by vertical-bar characters.  We choose
-     to print the last name, as it is often (?) the most
-     specific. */
+     type, separated by vertical-bar characters.  Choose the last
+     name. It should be the most specific; a fully resolved name
+     but not necessarily with default template parameters expanded. */
   if (!type) return NULL;
   if (type->str != NULL) {
     const char *last_name = type->str;
@@ -746,7 +754,7 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 }
 #endif
 
-/*  Errors in SWIG */
+/* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
 #define  SWIG_UnknownError        -1
 #define  SWIG_IOError             -2
 #define  SWIG_RuntimeError        -3
@@ -762,7 +770,6 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 #define  SWIG_NullReferenceError   -13
 
 
-
 /* Compatibility macros for Python 3 */
 #if PY_VERSION_HEX >= 0x03000000
 
@@ -778,7 +785,6 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 #define PyString_Size(str) PyBytes_Size(str)   
 #define PyString_InternFromString(key) PyUnicode_InternFromString(key)
 #define Py_TPFLAGS_HAVE_CLASS Py_TPFLAGS_BASETYPE
-#define PyString_AS_STRING(x) PyUnicode_AS_STRING(x)
 #define _PyLong_FromSsize_t(x) PyLong_FromSsize_t(x)
 
 #endif
@@ -796,32 +802,19 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
 #endif
 
 
-/* Warning: This function will allocate a new string in Python 3,
- * so please call SWIG_Python_str_DelForPy3(x) to free the space.
- */
 SWIGINTERN char*
 SWIG_Python_str_AsChar(PyObject *str)
 {
-#if PY_VERSION_HEX >= 0x03000000
-  char *cstr;
-  char *newstr;
-  Py_ssize_t len;
-  str = PyUnicode_AsUTF8String(str);
-  PyBytes_AsStringAndSize(str, &cstr, &len);
-  newstr = (char *) malloc(len+1);
-  memcpy(newstr, cstr, len+1);
-  Py_XDECREF(str);
-  return newstr;
+#if PY_VERSION_HEX >= 0x03030000
+  return (char *)PyUnicode_AsUTF8(str);
 #else
   return PyString_AsString(str);
 #endif
 }
 
-#if PY_VERSION_HEX >= 0x03000000
-#  define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
-#else
-#  define SWIG_Python_str_DelForPy3(x) 
-#endif
+/* Was useful for Python 3.0.x-3.2.x - now provided only for compatibility
+ * with any uses in user interface files. */
+#define SWIG_Python_str_DelForPy3(x)
 
 
 SWIGINTERN PyObject*
@@ -834,144 +827,18 @@ SWIG_Python_str_FromChar(const char *c)
 #endif
 }
 
-/* Add PyOS_snprintf for old Pythons */
-#if PY_VERSION_HEX < 0x02020000
-# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
-#  define PyOS_snprintf _snprintf
-# else
-#  define PyOS_snprintf snprintf
-# endif
-#endif
-
-/* A crude PyString_FromFormat implementation for old Pythons */
-#if PY_VERSION_HEX < 0x02020000
-
-#ifndef SWIG_PYBUFFER_SIZE
-# define SWIG_PYBUFFER_SIZE 1024
-#endif
-
-static PyObject *
-PyString_FromFormat(const char *fmt, ...) {
-  va_list ap;
-  char buf[SWIG_PYBUFFER_SIZE * 2];
-  int res;
-  va_start(ap, fmt);
-  res = vsnprintf(buf, sizeof(buf), fmt, ap);
-  va_end(ap);
-  return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
-}
-#endif
-
 #ifndef PyObject_DEL
 # define PyObject_DEL PyObject_Del
 #endif
 
-/* A crude PyExc_StopIteration exception for old Pythons */
-#if PY_VERSION_HEX < 0x02020000
-# ifndef PyExc_StopIteration
-#  define PyExc_StopIteration PyExc_RuntimeError
-# endif
-# ifndef PyObject_GenericGetAttr
-#  define PyObject_GenericGetAttr 0
-# endif
-#endif
-
-/* Py_NotImplemented is defined in 2.1 and up. */
-#if PY_VERSION_HEX < 0x02010000
-# ifndef Py_NotImplemented
-#  define Py_NotImplemented PyExc_RuntimeError
-# endif
-#endif
-
-/* A crude PyString_AsStringAndSize implementation for old Pythons */
-#if PY_VERSION_HEX < 0x02010000
-# ifndef PyString_AsStringAndSize
-#  define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
-# endif
-#endif
-
-/* PySequence_Size for old Pythons */
-#if PY_VERSION_HEX < 0x02000000
-# ifndef PySequence_Size
-#  define PySequence_Size PySequence_Length
-# endif
-#endif
-
-/* PyBool_FromLong for old Pythons */
-#if PY_VERSION_HEX < 0x02030000
-static
-PyObject *PyBool_FromLong(long ok)
-{
-  PyObject *result = ok ? Py_True : Py_False;
-  Py_INCREF(result);
-  return result;
-}
-#endif
-
-/* Py_ssize_t for old Pythons */
-/* This code is as recommended by: */
-/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
-#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
-typedef int Py_ssize_t;
-# define PY_SSIZE_T_MAX INT_MAX
-# define PY_SSIZE_T_MIN INT_MIN
-typedef inquiry lenfunc;
-typedef intargfunc ssizeargfunc;
-typedef intintargfunc ssizessizeargfunc;
-typedef intobjargproc ssizeobjargproc;
-typedef intintobjargproc ssizessizeobjargproc;
-typedef getreadbufferproc readbufferproc;
-typedef getwritebufferproc writebufferproc;
-typedef getsegcountproc segcountproc;
-typedef getcharbufferproc charbufferproc;
-static long PyNumber_AsSsize_t (PyObject *x, void *SWIGUNUSEDPARM(exc))
-{
-  long result = 0;
-  PyObject *i = PyNumber_Int(x);
-  if (i) {
-    result = PyInt_AsLong(i);
-    Py_DECREF(i);
-  }
-  return result;
-}
-#endif
-
-#if PY_VERSION_HEX < 0x02050000
-#define PyInt_FromSize_t(x) PyInt_FromLong((long)x)
-#endif
-
-#if PY_VERSION_HEX < 0x02040000
-#define Py_VISIT(op)                           \
-  do {                                                 \
-    if (op) {                                  \
-      int vret = visit((op), arg);             \
-      if (vret)                                        \
-        return vret;                           \
-    }                                          \
-  } while (0)
-#endif
-
-#if PY_VERSION_HEX < 0x02030000
-typedef struct {
-  PyTypeObject type;
-  PyNumberMethods as_number;
-  PyMappingMethods as_mapping;
-  PySequenceMethods as_sequence;
-  PyBufferProcs as_buffer;
-  PyObject *name, *slots;
-} PyHeapTypeObject;
-#endif
-
-#if PY_VERSION_HEX < 0x02030000
-typedef destructor freefunc;
-#endif
-
-#if ((PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION > 6) || \
-     (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION > 0) || \
-     (PY_MAJOR_VERSION > 3))
+/* SWIGPY_USE_CAPSULE is no longer used within SWIG itself, but some user interface files check for it. */
 # define SWIGPY_USE_CAPSULE
-# define SWIGPY_CAPSULE_NAME ((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION ".type_pointer_capsule" SWIG_TYPE_TABLE_NAME)
+#ifdef SWIGPYTHON_BUILTIN
+# define SWIGPY_CAPSULE_ATTR_NAME "type_pointer_capsule_builtin" SWIG_TYPE_TABLE_NAME
+#else
+# define SWIGPY_CAPSULE_ATTR_NAME "type_pointer_capsule" SWIG_TYPE_TABLE_NAME
 #endif
+# define SWIGPY_CAPSULE_NAME ("swig_runtime_data" SWIG_RUNTIME_VERSION "." SWIGPY_CAPSULE_ATTR_NAME)
 
 #if PY_VERSION_HEX < 0x03020000
 #define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type)
@@ -1034,15 +901,17 @@ SWIG_Python_AddErrorMsg(const char* mesg)
   PyObject *value = 0;
   PyObject *traceback = 0;
 
-  if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
+  if (PyErr_Occurred())
+    PyErr_Fetch(&type, &value, &traceback);
   if (value) {
-    char *tmp;
     PyObject *old_str = PyObject_Str(value);
+    const char *tmp = SWIG_Python_str_AsChar(old_str);
     PyErr_Clear();
     Py_XINCREF(type);
-
-    PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg);
-    SWIG_Python_str_DelForPy3(tmp);
+    if (tmp)
+      PyErr_Format(type, "%s %s", tmp, mesg);
+    else
+      PyErr_Format(type, "%s", mesg);
     Py_DECREF(old_str);
     Py_DECREF(value);
   } else {
@@ -1050,6 +919,41 @@ SWIG_Python_AddErrorMsg(const char* mesg)
   }
 }
 
+SWIGRUNTIME int
+SWIG_Python_TypeErrorOccurred(PyObject *obj)
+{
+  PyObject *error;
+  if (obj)
+    return 0;
+  error = PyErr_Occurred();
+  return error && PyErr_GivenExceptionMatches(error, PyExc_TypeError);
+}
+
+SWIGRUNTIME void
+SWIG_Python_RaiseOrModifyTypeError(const char *message)
+{
+  if (SWIG_Python_TypeErrorOccurred(NULL)) {
+    /* Use existing TypeError to preserve stacktrace and enhance with given message */
+    PyObject *newvalue;
+    PyObject *type = NULL, *value = NULL, *traceback = NULL;
+    PyErr_Fetch(&type, &value, &traceback);
+#if PY_VERSION_HEX >= 0x03000000
+    newvalue = PyUnicode_FromFormat("%S\nAdditional information:\n%s", value, message);
+#else
+    newvalue = PyString_FromFormat("%s\nAdditional information:\n%s", PyString_AsString(value), message);
+#endif
+    if (newvalue) {
+      Py_XDECREF(value);
+      PyErr_Restore(type, newvalue, traceback);
+    } else {
+      PyErr_Restore(type, value, traceback);
+    }
+  } else {
+    /* Raise TypeError using given message */
+    PyErr_SetString(PyExc_TypeError, message);
+  }
+}
+
 #if defined(SWIG_PYTHON_NO_THREADS)
 #  if defined(SWIG_PYTHON_THREADS)
 #    undef SWIG_PYTHON_THREADS
@@ -1057,13 +961,15 @@ SWIG_Python_AddErrorMsg(const char* mesg)
 #endif
 #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
 #  if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
-#    if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */
-#      define SWIG_PYTHON_USE_GIL
-#    endif
+#    define SWIG_PYTHON_USE_GIL
 #  endif
 #  if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
-#    ifndef SWIG_PYTHON_INITIALIZE_THREADS
-#     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads() 
+#    if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
+#      if PY_VERSION_HEX < 0x03070000
+#        define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads()
+#      else
+#        define SWIG_PYTHON_INITIALIZE_THREADS
+#      endif
 #    endif
 #    ifdef __cplusplus /* C++ code */
        class SWIG_Python_Thread_Block {
@@ -1136,30 +1042,13 @@ extern "C" {
 /* Constant information structure */
 typedef struct swig_const_info {
   int type;
-  char *name;
+  const char *name;
   long lvalue;
   double dvalue;
   void   *pvalue;
   swig_type_info **ptype;
 } swig_const_info;
 
-
-/* -----------------------------------------------------------------------------
- * Wrapper of PyInstanceMethod_New() used in Python 3
- * It is exported to the generated module, used for -fastproxy
- * ----------------------------------------------------------------------------- */
-#if PY_VERSION_HEX >= 0x03000000
-SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *func)
-{
-  return PyInstanceMethod_New(func);
-}
-#else
-SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(func))
-{
-  return NULL;
-}
-#endif
-
 #ifdef __cplusplus
 }
 #endif
@@ -1174,6 +1063,14 @@ SWIGRUNTIME PyObject* SWIG_PyInstanceMethod_New(PyObject *SWIGUNUSEDPARM(self),
  *
  * ----------------------------------------------------------------------------- */
 
+#if PY_VERSION_HEX < 0x02070000 /* 2.7.0 */
+# error "This version of SWIG only supports Python >= 2.7"
+#endif
+
+#if PY_VERSION_HEX >= 0x03000000 && PY_VERSION_HEX < 0x03030000
+# error "This version of SWIG only supports Python 3 >= 3.3"
+#endif
+
 /* Common SWIG API */
 
 /* for raw pointers */
@@ -1257,11 +1154,7 @@ SwigPyBuiltin_AddPublicSymbol(PyObject *seq, const char *key) {
 
 SWIGINTERN void
 SWIG_Python_SetConstant(PyObject *d, PyObject *public_interface, const char *name, PyObject *obj) {   
-#if PY_VERSION_HEX < 0x02030000
-  PyDict_SetItemString(d, (char *)name, obj);
-#else
   PyDict_SetItemString(d, name, obj);
-#endif
   Py_DECREF(obj);
   if (public_interface)
     SwigPyBuiltin_AddPublicSymbol(public_interface, name);
@@ -1271,11 +1164,7 @@ SWIG_Python_SetConstant(PyObject *d, PyObject *public_interface, const char *nam
 
 SWIGINTERN void
 SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {   
-#if PY_VERSION_HEX < 0x02030000
-  PyDict_SetItemString(d, (char *)name, obj);
-#else
   PyDict_SetItemString(d, name, obj);
-#endif
   Py_DECREF(obj);                            
 }
 
@@ -1285,7 +1174,6 @@ SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {
 
 SWIGINTERN PyObject*
 SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
-#if !defined(SWIG_PYTHON_OUTPUT_TUPLE)
   if (!result) {
     result = obj;
   } else if (result == Py_None) {
@@ -1295,35 +1183,17 @@ SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
     if (!PyList_Check(result)) {
       PyObject *o2 = result;
       result = PyList_New(1);
-      PyList_SetItem(result, 0, o2);
+      if (result) {
+        PyList_SET_ITEM(result, 0, o2);
+      } else {
+        Py_DECREF(obj);
+        return o2;
+      }
     }
     PyList_Append(result,obj);
     Py_DECREF(obj);
   }
   return result;
-#else
-  PyObject*   o2;
-  PyObject*   o3;
-  if (!result) {
-    result = obj;
-  } else if (result == Py_None) {
-    Py_DECREF(result);
-    result = obj;
-  } else {
-    if (!PyTuple_Check(result)) {
-      o2 = result;
-      result = PyTuple_New(1);
-      PyTuple_SET_ITEM(result, 0, o2);
-    }
-    o3 = PyTuple_New(1);
-    PyTuple_SET_ITEM(o3, 0, obj);
-    o2 = result;
-    result = PySequence_Concat(o2, o3);
-    Py_DECREF(o2);
-    Py_DECREF(o3);
-  }
-  return result;
-#endif
 }
 
 /* Unpack the argument tuple */
@@ -1374,12 +1244,21 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
   }
 }
 
+SWIGINTERN int
+SWIG_Python_CheckNoKeywords(PyObject *kwargs, const char *name) {
+  int no_kwargs = 1;
+  if (kwargs) {
+    assert(PyDict_Check(kwargs));
+    if (PyDict_Size(kwargs) > 0) {
+      PyErr_Format(PyExc_TypeError, "%s() does not take keyword arguments", name);
+      no_kwargs = 0;
+    }
+  }
+  return no_kwargs;
+}
+
 /* A functor is a function object with one single object argument */
-#if PY_VERSION_HEX >= 0x02020000
 #define SWIG_Python_CallFunctor(functor, obj)          PyObject_CallFunctionObjArgs(functor, obj, NULL);
-#else
-#define SWIG_Python_CallFunctor(functor, obj)          PyObject_CallFunction(functor, "O", obj);
-#endif
 
 /*
   Helper for static pointer initialization for both C and C++ code, for example
@@ -1391,6 +1270,238 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
 #define SWIG_STATIC_POINTER(var)  var = 0; if (!var) var
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Python-specific SWIG API */
+#define SWIG_newvarlink()                             SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants)
+/* -----------------------------------------------------------------------------
+ * global variable support code.
+ * ----------------------------------------------------------------------------- */
+typedef struct swig_globalvar {   
+  char       *name;                  /* Name of global variable */
+  PyObject *(*get_attr)(void);       /* Return the current value */
+  int       (*set_attr)(PyObject *); /* Set the value */
+  struct swig_globalvar *next;
+} swig_globalvar;
+
+typedef struct swig_varlinkobject {
+  PyObject_HEAD
+  swig_globalvar *vars;
+} swig_varlinkobject;
+
+SWIGINTERN PyObject *
+swig_varlink_repr(PyObject *SWIGUNUSEDPARM(v)) {
+#if PY_VERSION_HEX >= 0x03000000
+  return PyUnicode_InternFromString("<Swig global variables>");
+#else
+  return PyString_FromString("<Swig global variables>");
+#endif
+}
+
+SWIGINTERN PyObject *
+swig_varlink_str(PyObject *o) {
+  swig_varlinkobject *v = (swig_varlinkobject *) o;
+#if PY_VERSION_HEX >= 0x03000000
+  PyObject *str = PyUnicode_InternFromString("(");
+  PyObject *tail;
+  PyObject *joined;
+  swig_globalvar *var;
+  for (var = v->vars; var; var=var->next) {
+    tail = PyUnicode_FromString(var->name);
+    joined = PyUnicode_Concat(str, tail);
+    Py_DecRef(str);
+    Py_DecRef(tail);
+    str = joined;
+    if (var->next) {
+        tail = PyUnicode_InternFromString(", ");
+        joined = PyUnicode_Concat(str, tail);
+        Py_DecRef(str);
+        Py_DecRef(tail);
+        str = joined;
+    }
+  }
+  tail = PyUnicode_InternFromString(")");
+  joined = PyUnicode_Concat(str, tail);
+  Py_DecRef(str);
+  Py_DecRef(tail);
+  str = joined;
+#else
+  PyObject *str = PyString_FromString("(");
+  swig_globalvar *var;
+  for (var = v->vars; var; var=var->next) {
+    PyString_ConcatAndDel(&str,PyString_FromString(var->name));
+    if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
+  }
+  PyString_ConcatAndDel(&str,PyString_FromString(")"));
+#endif
+  return str;
+}
+
+SWIGINTERN void
+swig_varlink_dealloc(PyObject *o) {
+  swig_varlinkobject *v = (swig_varlinkobject *) o;
+  swig_globalvar *var = v->vars;
+  while (var) {
+    swig_globalvar *n = var->next;
+    free(var->name);
+    free(var);
+    var = n;
+  }
+}
+
+SWIGINTERN PyObject *
+swig_varlink_getattr(PyObject *o, char *n) {
+  swig_varlinkobject *v = (swig_varlinkobject *) o;
+  PyObject *res = NULL;
+  swig_globalvar *var = v->vars;
+  while (var) {
+    if (strcmp(var->name,n) == 0) {
+      res = (*var->get_attr)();
+      break;
+    }
+    var = var->next;
+  }
+  if (res == NULL && !PyErr_Occurred()) {
+    PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
+  }
+  return res;
+}
+
+SWIGINTERN int
+swig_varlink_setattr(PyObject *o, char *n, PyObject *p) {
+  swig_varlinkobject *v = (swig_varlinkobject *) o;
+  int res = 1;
+  swig_globalvar *var = v->vars;
+  while (var) {
+    if (strcmp(var->name,n) == 0) {
+      res = (*var->set_attr)(p);
+      break;
+    }
+    var = var->next;
+  }
+  if (res == 1 && !PyErr_Occurred()) {
+    PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
+  }
+  return res;
+}
+
+SWIGINTERN PyTypeObject*
+swig_varlink_type(void) {
+  static char varlink__doc__[] = "Swig var link object";
+  static PyTypeObject varlink_type;
+  static int type_init = 0;
+  if (!type_init) {
+    const PyTypeObject tmp = {
+#if PY_VERSION_HEX >= 0x03000000
+      PyVarObject_HEAD_INIT(NULL, 0)
+#else
+      PyObject_HEAD_INIT(NULL)
+      0,                                  /* ob_size */
+#endif
+      "swigvarlink",                      /* tp_name */
+      sizeof(swig_varlinkobject),         /* tp_basicsize */
+      0,                                  /* tp_itemsize */
+      (destructor) swig_varlink_dealloc,  /* tp_dealloc */
+#if PY_VERSION_HEX < 0x030800b4
+      (printfunc)0,                       /*tp_print*/
+#else
+      (Py_ssize_t)0,                      /*tp_vectorcall_offset*/
+#endif
+      (getattrfunc) swig_varlink_getattr, /* tp_getattr */
+      (setattrfunc) swig_varlink_setattr, /* tp_setattr */
+      0,                                  /* tp_compare */
+      (reprfunc) swig_varlink_repr,       /* tp_repr */
+      0,                                  /* tp_as_number */
+      0,                                  /* tp_as_sequence */
+      0,                                  /* tp_as_mapping */
+      0,                                  /* tp_hash */
+      0,                                  /* tp_call */
+      (reprfunc) swig_varlink_str,        /* tp_str */
+      0,                                  /* tp_getattro */
+      0,                                  /* tp_setattro */
+      0,                                  /* tp_as_buffer */
+      0,                                  /* tp_flags */
+      varlink__doc__,                     /* tp_doc */
+      0,                                  /* tp_traverse */
+      0,                                  /* tp_clear */
+      0,                                  /* tp_richcompare */
+      0,                                  /* tp_weaklistoffset */
+      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+      0,                                  /* tp_del */
+      0,                                  /* tp_version_tag */
+#if PY_VERSION_HEX >= 0x03040000
+      0,                                  /* tp_finalize */
+#endif
+#if PY_VERSION_HEX >= 0x03080000
+      0,                                  /* tp_vectorcall */
+#endif
+#if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
+      0,                                  /* tp_print */
+#endif
+#ifdef COUNT_ALLOCS
+      0,                                  /* tp_allocs */
+      0,                                  /* tp_frees */
+      0,                                  /* tp_maxalloc */
+      0,                                  /* tp_prev */
+      0                                   /* tp_next */
+#endif
+    };
+    varlink_type = tmp;
+    type_init = 1;
+    if (PyType_Ready(&varlink_type) < 0)
+      return NULL;
+  }
+  return &varlink_type;
+}
+
+/* Create a variable linking object for use later */
+SWIGINTERN PyObject *
+SWIG_Python_newvarlink(void) {
+  swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
+  if (result) {
+    result->vars = 0;
+  }
+  return ((PyObject*) result);
+}
+
+SWIGINTERN void 
+SWIG_Python_addvarlink(PyObject *p, const char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
+  swig_varlinkobject *v = (swig_varlinkobject *) p;
+  swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
+  if (gv) {
+    size_t size = strlen(name)+1;
+    gv->name = (char *)malloc(size);
+    if (gv->name) {
+      memcpy(gv->name, name, size);
+      gv->get_attr = get_attr;
+      gv->set_attr = set_attr;
+      gv->next = v->vars;
+    }
+  }
+  v->vars = gv;
+}
+
+
+static PyObject *Swig_Globals_global = NULL;
+  
+SWIGINTERN PyObject *
+SWIG_globals(void) {
+  if (Swig_Globals_global == NULL) {
+    Swig_Globals_global = SWIG_newvarlink();
+  }
+  return Swig_Globals_global;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
 /* -----------------------------------------------------------------------------
  * Pointer declarations
  * ----------------------------------------------------------------------------- */
@@ -1408,35 +1519,6 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssi
 extern "C" {
 #endif
 
-/*  How to access Py_None */
-#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#  ifndef SWIG_PYTHON_NO_BUILD_NONE
-#    ifndef SWIG_PYTHON_BUILD_NONE
-#      define SWIG_PYTHON_BUILD_NONE
-#    endif
-#  endif
-#endif
-
-#ifdef SWIG_PYTHON_BUILD_NONE
-#  ifdef Py_None
-#   undef Py_None
-#   define Py_None SWIG_Py_None()
-#  endif
-SWIGRUNTIMEINLINE PyObject * 
-_SWIG_Py_None(void)
-{
-  PyObject *none = Py_BuildValue((char*)"");
-  Py_DECREF(none);
-  return none;
-}
-SWIGRUNTIME PyObject * 
-SWIG_Py_None(void)
-{
-  static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None();
-  return none;
-}
-#endif
-
 /* The python void return value */
 
 SWIGRUNTIMEINLINE PyObject * 
@@ -1463,7 +1545,10 @@ SWIGRUNTIMEINLINE int
 SWIG_Python_CheckImplicit(swig_type_info *ty)
 {
   SwigPyClientData *data = (SwigPyClientData *)ty->clientdata;
-  return data ? data->implicitconv : 0;
+  int fail = data ? data->implicitconv : 0;
+  if (fail)
+    PyErr_SetString(PyExc_TypeError, "Implicit conversion is prohibited for explicit constructors.");
+  return fail;
 }
 
 SWIGRUNTIMEINLINE PyObject *
@@ -1487,38 +1572,34 @@ SwigPyClientData_New(PyObject* obj)
     /* the newraw method and newargs arguments used to create a new raw instance */
     if (PyClass_Check(obj)) {
       data->newraw = 0;
-      data->newargs = obj;
       Py_INCREF(obj);
+      data->newargs = obj;
     } else {
-#if (PY_VERSION_HEX < 0x02020000)
-      data->newraw = 0;
-#else
-      data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
-#endif
+      data->newraw = PyObject_GetAttrString(data->klass, "__new__");
       if (data->newraw) {
-       Py_INCREF(data->newraw);
-       data->newargs = PyTuple_New(1);
-       PyTuple_SetItem(data->newargs, 0, obj);
+        data->newargs = PyTuple_New(1);
+        if (data->newargs) {
+          Py_INCREF(obj);
+          PyTuple_SET_ITEM(data->newargs, 0, obj);
+        } else {
+          Py_DECREF(data->newraw);
+          Py_DECREF(data->klass);
+          free(data);
+          return 0;
+        }
       } else {
-       data->newargs = obj;
+        Py_INCREF(obj);
+        data->newargs = obj;
       }
-      Py_INCREF(data->newargs);
     }
     /* the destroy method, aka as the C++ delete method */
-    data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
+    data->destroy = PyObject_GetAttrString(data->klass, "__swig_destroy__");
     if (PyErr_Occurred()) {
       PyErr_Clear();
       data->destroy = 0;
     }
     if (data->destroy) {
-      int flags;
-      Py_INCREF(data->destroy);
-      flags = PyCFunction_GET_FLAGS(data->destroy);
-#ifdef METH_O
-      data->delargs = !(flags & (METH_O));
-#else
-      data->delargs = 0;
-#endif
+      data->delargs = !(PyCFunction_GET_FLAGS(data->destroy) & METH_O);
     } else {
       data->delargs = 0;
     }
@@ -1529,10 +1610,13 @@ SwigPyClientData_New(PyObject* obj)
 }
 
 SWIGRUNTIME void 
-SwigPyClientData_Del(SwigPyClientData *data) {
+SwigPyClientData_Del(SwigPyClientData *data)
+{
+  Py_XDECREF(data->klass);
   Py_XDECREF(data->newraw);
   Py_XDECREF(data->newargs);
   Py_XDECREF(data->destroy);
+  free(data);
 }
 
 /* =============== SwigPyObject =====================*/
@@ -1559,7 +1643,7 @@ SwigPyObject_get___dict__(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
   if (!sobj->dict)
     sobj->dict = PyDict_New();
 
-  Py_INCREF(sobj->dict);
+  Py_XINCREF(sobj->dict);
   return sobj->dict;
 }
 
@@ -1577,18 +1661,21 @@ SwigPyObject_format(const char* fmt, SwigPyObject *v)
   PyObject *res = NULL;
   PyObject *args = PyTuple_New(1);
   if (args) {
-    if (PyTuple_SetItem(args, 0, SwigPyObject_long(v)) == 0) {
-      PyObject *ofmt = SWIG_Python_str_FromChar(fmt);
+    PyObject *val = SwigPyObject_long(v);
+    if (val) {
+      PyObject *ofmt;
+      PyTuple_SET_ITEM(args, 0, val);
+      ofmt = SWIG_Python_str_FromChar(fmt);
       if (ofmt) {
 #if PY_VERSION_HEX >= 0x03000000
-       res = PyUnicode_Format(ofmt,args);
+        res = PyUnicode_Format(ofmt,args);
 #else
-       res = PyString_Format(ofmt,args);
+        res = PyString_Format(ofmt,args);
 #endif
-       Py_DECREF(ofmt);
+        Py_DECREF(ofmt);
       }
-      Py_DECREF(args);
     }
+    Py_DECREF(args);
   }
   return res;
 }
@@ -1606,30 +1693,27 @@ SwigPyObject_hex(SwigPyObject *v)
 }
 
 SWIGRUNTIME PyObject *
-#ifdef METH_NOARGS
 SwigPyObject_repr(SwigPyObject *v)
-#else
-SwigPyObject_repr(SwigPyObject *v, PyObject *args)
-#endif
 {
   const char *name = SWIG_TypePrettyName(v->ty);
   PyObject *repr = SWIG_Python_str_FromFormat("<Swig Object of type '%s' at %p>", (name ? name : "unknown"), (void *)v);
-  if (v->next) {
-# ifdef METH_NOARGS
+  if (repr && v->next) {
     PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next);
-# else
-    PyObject *nrep = SwigPyObject_repr((SwigPyObject *)v->next, args);
-# endif
+    if (nrep) {
 # if PY_VERSION_HEX >= 0x03000000
-    PyObject *joined = PyUnicode_Concat(repr, nrep);
-    Py_DecRef(repr);
-    Py_DecRef(nrep);
-    repr = joined;
+      PyObject *joined = PyUnicode_Concat(repr, nrep);
+      Py_DecRef(repr);
+      Py_DecRef(nrep);
+      repr = joined;
 # else
-    PyString_ConcatAndDel(&repr,nrep);
+      PyString_ConcatAndDel(&repr,nrep);
 # endif
+    } else {
+      Py_DecRef(repr);
+      repr = NULL;
+    }
   }
-  return repr;  
+  return repr;
 }
 
 /* We need a version taking two PyObject* parameters so it's a valid
@@ -1699,6 +1783,8 @@ SwigPyObject_Check(PyObject *op) {
 SWIGRUNTIME PyObject *
 SwigPyObject_New(void *ptr, swig_type_info *ty, int own);
 
+static PyObject* Swig_Capsule_global = NULL;
+
 SWIGRUNTIME void
 SwigPyObject_dealloc(PyObject *v)
 {
@@ -1713,20 +1799,24 @@ SwigPyObject_dealloc(PyObject *v)
       PyObject *res;
 
       /* PyObject_CallFunction() has the potential to silently drop
-         the active active exception.  In cases of unnamed temporary
+         the active exception.  In cases of unnamed temporary
          variable or where we just finished iterating over a generator
          StopIteration will be active right now, and this needs to
          remain true upon return from SwigPyObject_dealloc.  So save
          and restore. */
       
-      PyObject *val = NULL, *type = NULL, *tb = NULL;
-      PyErr_Fetch(&val, &type, &tb);
+      PyObject *type = NULL, *value = NULL, *traceback = NULL;
+      PyErr_Fetch(&type, &value, &traceback);
 
       if (data->delargs) {
         /* we need to create a temporary object to carry the destroy operation */
         PyObject *tmp = SwigPyObject_New(sobj->ptr, ty, 0);
-        res = SWIG_Python_CallFunctor(destroy, tmp);
-        Py_DECREF(tmp);
+        if (tmp) {
+          res = SWIG_Python_CallFunctor(destroy, tmp);
+        } else {
+          res = 0;
+        }
+        Py_XDECREF(tmp);
       } else {
         PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
         PyObject *mself = PyCFunction_GET_SELF(destroy);
@@ -1735,7 +1825,7 @@ SwigPyObject_dealloc(PyObject *v)
       if (!res)
         PyErr_WriteUnraisable(destroy);
 
-      PyErr_Restore(val, type, tb);
+      PyErr_Restore(type, value, traceback);
 
       Py_XDECREF(res);
     } 
@@ -1745,8 +1835,12 @@ SwigPyObject_dealloc(PyObject *v)
       printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
     }
 #endif
-  } 
+    Py_XDECREF(Swig_Capsule_global);
+  }
   Py_XDECREF(next);
+#ifdef SWIGPYTHON_BUILTIN
+  Py_XDECREF(sobj->dict);
+#endif
   PyObject_DEL(v);
 }
 
@@ -1754,15 +1848,11 @@ SWIGRUNTIME PyObject*
 SwigPyObject_append(PyObject* v, PyObject* next)
 {
   SwigPyObject *sobj = (SwigPyObject *) v;
-#ifndef METH_O
-  PyObject *tmp = 0;
-  if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
-  next = tmp;
-#endif
   if (!SwigPyObject_Check(next)) {
     PyErr_SetString(PyExc_TypeError, "Attempt to append a non SwigPyObject");
     return NULL;
   }
+  ((SwigPyObject *)next)->next = sobj->next;
   sobj->next = next;
   Py_INCREF(next);
   return SWIG_Py_Void();
@@ -1781,11 +1871,7 @@ SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
 }
 
 SWIGINTERN PyObject*
-#ifdef METH_NOARGS
-SwigPyObject_disown(PyObject *v)
-#else
 SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
-#endif
 {
   SwigPyObject *sobj = (SwigPyObject *)v;
   sobj->own = 0;
@@ -1793,99 +1879,43 @@ SwigPyObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
 }
 
 SWIGINTERN PyObject*
-#ifdef METH_NOARGS
-SwigPyObject_acquire(PyObject *v)
-#else
 SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
-#endif
 {
   SwigPyObject *sobj = (SwigPyObject *)v;
   sobj->own = SWIG_POINTER_OWN;
   return SWIG_Py_Void();
 }
 
-#ifdef METH_NOARGS
-static PyObject*
-SwigPyObject_disown2(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
-{
-  return SwigPyObject_disown(v);
-}
-
-static PyObject*
-SwigPyObject_acquire2(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
-{
-  return SwigPyObject_acquire(v);
-}
-#endif
-
 SWIGINTERN PyObject*
 SwigPyObject_own(PyObject *v, PyObject *args)
 {
   PyObject *val = 0;
-#if (PY_VERSION_HEX < 0x02020000)
-  if (!PyArg_ParseTuple(args,(char *)"|O:own",&val))
-#elif (PY_VERSION_HEX < 0x02050000)
-  if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) 
-#else
-  if (!PyArg_UnpackTuple(args, "own", 0, 1, &val)) 
-#endif
-    {
-      return NULL;
+  if (!PyArg_UnpackTuple(args, "own", 0, 1, &val)) {
+    return NULL;
+  } else {
+    SwigPyObject *sobj = (SwigPyObject *)v;
+    PyObject *obj = PyBool_FromLong(sobj->own);
+    if (val) {
+      if (PyObject_IsTrue(val)) {
+        Py_DECREF(SwigPyObject_acquire(v,args));
+      } else {
+        Py_DECREF(SwigPyObject_disown(v,args));
+      }
     } 
-  else
-    {
-      SwigPyObject *sobj = (SwigPyObject *)v;
-      PyObject *obj = PyBool_FromLong(sobj->own);
-      if (val) {
-#ifdef METH_NOARGS
-       if (PyObject_IsTrue(val)) {
-         SwigPyObject_acquire(v);
-       } else {
-         SwigPyObject_disown(v);
-       }
-#else
-       if (PyObject_IsTrue(val)) {
-         SwigPyObject_acquire(v,args);
-       } else {
-         SwigPyObject_disown(v,args);
-       }
-#endif
-      } 
-      return obj;
-    }
+    return obj;
+  }
 }
 
-#ifdef METH_O
-static PyMethodDef
-swigobject_methods[] = {
-  {(char *)"disown",  (PyCFunction)SwigPyObject_disown2, METH_NOARGS,  (char *)"releases ownership of the pointer"},
-  {(char *)"acquire", (PyCFunction)SwigPyObject_acquire2,METH_NOARGS,  (char *)"acquires ownership of the pointer"},
-  {(char *)"own",     (PyCFunction)SwigPyObject_own,     METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
-  {(char *)"append",  (PyCFunction)SwigPyObject_append,  METH_O,       (char *)"appends another 'this' object"},
-  {(char *)"next",    (PyCFunction)SwigPyObject_next,    METH_NOARGS,  (char *)"returns the next 'this' object"},
-  {(char *)"__repr__",(PyCFunction)SwigPyObject_repr2,   METH_NOARGS,  (char *)"returns object representation"},
-  {0, 0, 0, 0}  
-};
-#else
 static PyMethodDef
 swigobject_methods[] = {
-  {(char *)"disown",  (PyCFunction)SwigPyObject_disown,  METH_VARARGS,  (char *)"releases ownership of the pointer"},
-  {(char *)"acquire", (PyCFunction)SwigPyObject_acquire, METH_VARARGS,  (char *)"acquires ownership of the pointer"},
-  {(char *)"own",     (PyCFunction)SwigPyObject_own,     METH_VARARGS,  (char *)"returns/sets ownership of the pointer"},
-  {(char *)"append",  (PyCFunction)SwigPyObject_append,  METH_VARARGS,  (char *)"appends another 'this' object"},
-  {(char *)"next",    (PyCFunction)SwigPyObject_next,    METH_VARARGS,  (char *)"returns the next 'this' object"},
-  {(char *)"__repr__",(PyCFunction)SwigPyObject_repr,    METH_VARARGS,  (char *)"returns object representation"},
+  {"disown",  SwigPyObject_disown,  METH_NOARGS,  "releases ownership of the pointer"},
+  {"acquire", SwigPyObject_acquire, METH_NOARGS,  "acquires ownership of the pointer"},
+  {"own",     SwigPyObject_own,     METH_VARARGS, "returns/sets ownership of the pointer"},
+  {"append",  SwigPyObject_append,  METH_O,       "appends another 'this' object"},
+  {"next",    SwigPyObject_next,    METH_NOARGS,  "returns the next 'this' object"},
+  {"__repr__",SwigPyObject_repr2,   METH_NOARGS,  "returns object representation"},
   {0, 0, 0, 0}  
 };
-#endif
-
-#if PY_VERSION_HEX < 0x02020000
-SWIGINTERN PyObject *
-SwigPyObject_getattr(SwigPyObject *sobj,char *name)
-{
-  return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
-}
-#endif
 
 SWIGRUNTIME PyTypeObject*
 SwigPyObject_TypeOnce(void) {
@@ -1930,12 +1960,8 @@ SwigPyObject_TypeOnce(void) {
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_matrix_multiply */
 #elif PY_VERSION_HEX >= 0x03000000 /* 3.0 */
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index, nb_inplace_divide removed */
-#elif PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
+#else
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
-#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
-    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
-#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
-    0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
 #endif
   };
 
@@ -1949,16 +1975,16 @@ SwigPyObject_TypeOnce(void) {
       PyObject_HEAD_INIT(NULL)
       0,                                    /* ob_size */
 #endif
-      (char *)"SwigPyObject",               /* tp_name */
+      "SwigPyObject",                       /* tp_name */
       sizeof(SwigPyObject),                 /* tp_basicsize */
       0,                                    /* tp_itemsize */
       (destructor)SwigPyObject_dealloc,     /* tp_dealloc */
-      0,                                    /* tp_print */
-#if PY_VERSION_HEX < 0x02020000
-      (getattrfunc)SwigPyObject_getattr,    /* tp_getattr */
+#if PY_VERSION_HEX < 0x030800b4
+      (printfunc)0,                         /*tp_print*/
 #else
-      (getattrfunc)0,                       /* tp_getattr */
+      (Py_ssize_t)0,                        /*tp_vectorcall_offset*/
 #endif
+      (getattrfunc)0,                       /* tp_getattr */
       (setattrfunc)0,                       /* tp_setattr */
 #if PY_VERSION_HEX >= 0x03000000
       0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */
@@ -1981,7 +2007,6 @@ SwigPyObject_TypeOnce(void) {
       0,                                    /* tp_clear */
       (richcmpfunc)SwigPyObject_richcompare,/* tp_richcompare */
       0,                                    /* tp_weaklistoffset */
-#if PY_VERSION_HEX >= 0x02020000
       0,                                    /* tp_iter */
       0,                                    /* tp_iternext */
       swigobject_methods,                   /* tp_methods */
@@ -2002,34 +2027,29 @@ SwigPyObject_TypeOnce(void) {
       0,                                    /* tp_cache */
       0,                                    /* tp_subclasses */
       0,                                    /* tp_weaklist */
-#endif
-#if PY_VERSION_HEX >= 0x02030000
       0,                                    /* tp_del */
-#endif
-#if PY_VERSION_HEX >= 0x02060000
       0,                                    /* tp_version_tag */
-#endif
 #if PY_VERSION_HEX >= 0x03040000
       0,                                    /* tp_finalize */
 #endif
+#if PY_VERSION_HEX >= 0x03080000
+      0,                                    /* tp_vectorcall */
+#endif
+#if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
+      0,                                    /* tp_print */
+#endif
 #ifdef COUNT_ALLOCS
       0,                                    /* tp_allocs */
       0,                                    /* tp_frees */
       0,                                    /* tp_maxalloc */
-#if PY_VERSION_HEX >= 0x02050000
       0,                                    /* tp_prev */
-#endif
       0                                     /* tp_next */
 #endif
     };
     swigpyobject_type = tmp;
     type_init = 1;
-#if PY_VERSION_HEX < 0x02020000
-    swigpyobject_type.ob_type = &PyType_Type;
-#else
-    if (PyType_Ready(&swigpyobject_type) < 0)
+    if (PyType_Ready(&swigpyobject_type) != 0)
       return NULL;
-#endif
   }
   return &swigpyobject_type;
 }
@@ -2043,6 +2063,15 @@ SwigPyObject_New(void *ptr, swig_type_info *ty, int own)
     sobj->ty   = ty;
     sobj->own  = own;
     sobj->next = 0;
+#ifdef SWIGPYTHON_BUILTIN
+    sobj->dict = 0;
+#endif
+    if (own == SWIG_POINTER_OWN) {
+      /* Obtain a reference to the Python capsule wrapping the module information, so that the
+       * module information is correctly destroyed after all SWIG python objects have been freed
+       * by the GC (and corresponding destructors invoked) */
+      Py_XINCREF(Swig_Capsule_global);
+    }
   }
   return (PyObject *)sobj;
 }
@@ -2058,20 +2087,6 @@ typedef struct {
   size_t size;
 } SwigPyPacked;
 
-SWIGRUNTIME int
-SwigPyPacked_print(SwigPyPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
-{
-  char result[SWIG_BUFFER_SIZE];
-  fputs("<Swig Packed ", fp); 
-  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
-    fputs("at ", fp); 
-    fputs(result, fp); 
-  }
-  fputs(v->ty->name,fp); 
-  fputs(">", fp);
-  return 0; 
-}
-  
 SWIGRUNTIME PyObject *
 SwigPyPacked_repr(SwigPyPacked *v)
 {
@@ -2100,7 +2115,7 @@ SwigPyPacked_compare(SwigPyPacked *v, SwigPyPacked *w)
   size_t i = v->size;
   size_t j = w->size;
   int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
-  return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
+  return s ? s : strncmp((const char *)v->pack, (const char *)w->pack, 2*v->size);
 }
 
 SWIGRUNTIME PyTypeObject* SwigPyPacked_TypeOnce(void);
@@ -2140,11 +2155,15 @@ SwigPyPacked_TypeOnce(void) {
       PyObject_HEAD_INIT(NULL)
       0,                                    /* ob_size */
 #endif
-      (char *)"SwigPyPacked",               /* tp_name */
+      "SwigPyPacked",                       /* tp_name */
       sizeof(SwigPyPacked),                 /* tp_basicsize */
       0,                                    /* tp_itemsize */
       (destructor)SwigPyPacked_dealloc,     /* tp_dealloc */
-      (printfunc)SwigPyPacked_print,        /* tp_print */
+#if PY_VERSION_HEX < 0x030800b4
+      (printfunc)0,                         /*tp_print*/
+#else
+      (Py_ssize_t)0,                        /*tp_vectorcall_offset*/
+#endif
       (getattrfunc)0,                       /* tp_getattr */
       (setattrfunc)0,                       /* tp_setattr */
 #if PY_VERSION_HEX>=0x03000000
@@ -2168,7 +2187,6 @@ SwigPyPacked_TypeOnce(void) {
       0,                                    /* tp_clear */
       0,                                    /* tp_richcompare */
       0,                                    /* tp_weaklistoffset */
-#if PY_VERSION_HEX >= 0x02020000
       0,                                    /* tp_iter */
       0,                                    /* tp_iternext */
       0,                                    /* tp_methods */
@@ -2189,34 +2207,29 @@ SwigPyPacked_TypeOnce(void) {
       0,                                    /* tp_cache */
       0,                                    /* tp_subclasses */
       0,                                    /* tp_weaklist */
-#endif
-#if PY_VERSION_HEX >= 0x02030000
       0,                                    /* tp_del */
-#endif
-#if PY_VERSION_HEX >= 0x02060000
       0,                                    /* tp_version_tag */
-#endif
 #if PY_VERSION_HEX >= 0x03040000
       0,                                    /* tp_finalize */
 #endif
+#if PY_VERSION_HEX >= 0x03080000
+      0,                                    /* tp_vectorcall */
+#endif
+#if (PY_VERSION_HEX >= 0x03080000) && (PY_VERSION_HEX < 0x03090000)
+      0,                                    /* tp_print */
+#endif
 #ifdef COUNT_ALLOCS
       0,                                    /* tp_allocs */
       0,                                    /* tp_frees */
       0,                                    /* tp_maxalloc */
-#if PY_VERSION_HEX >= 0x02050000
       0,                                    /* tp_prev */
-#endif
       0                                     /* tp_next */
 #endif
     };
     swigpypacked_type = tmp;
     type_init = 1;
-#if PY_VERSION_HEX < 0x02020000
-    swigpypacked_type.ob_type = &PyType_Type;
-#else
-    if (PyType_Ready(&swigpypacked_type) < 0)
+    if (PyType_Ready(&swigpypacked_type) != 0)
       return NULL;
-#endif
   }
   return &swigpypacked_type;
 }
@@ -2257,20 +2270,14 @@ SwigPyPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
  * pointers/data manipulation
  * ----------------------------------------------------------------------------- */
 
-SWIGRUNTIMEINLINE PyObject *
-_SWIG_This(void)
-{
-    return SWIG_Python_str_FromChar("this");
-}
-
-static PyObject *swig_this = NULL;
+static PyObject *Swig_This_global = NULL;
 
 SWIGRUNTIME PyObject *
 SWIG_This(void)
 {
-  if (swig_this == NULL)
-    swig_this = _SWIG_This();
-  return swig_this;
+  if (Swig_This_global == NULL)
+    Swig_This_global = SWIG_Python_str_FromChar("this");
+  return Swig_This_global;
 }
 
 /* #define SWIG_PYTHON_SLOW_GETSET_THIS */
@@ -2302,7 +2309,7 @@ SWIG_Python_GetSwigThis(PyObject *pyobj)
 
   obj = 0;
 
-#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
+#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
   if (PyInstance_Check(pyobj)) {
     obj = _PyInstance_Lookup(pyobj, SWIG_This());      
   } else {
@@ -2372,7 +2379,7 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
   if (obj == Py_None && !implicit_conv) {
     if (ptr)
       *ptr = 0;
-    return SWIG_OK;
+    return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
   }
 
   res = SWIG_ERROR;
@@ -2411,12 +2418,19 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
     }
   }
   if (sobj) {
-    if (own)
-      *own = *own | sobj->own;
-    if (flags & SWIG_POINTER_DISOWN) {
-      sobj->own = 0;
+    if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE) && !sobj->own) {
+      res = SWIG_ERROR_RELEASE_NOT_OWNED;
+    } else {
+      if (own)
+        *own = *own | sobj->own;
+      if (flags & SWIG_POINTER_DISOWN) {
+        sobj->own = 0;
+      }
+      if (flags & SWIG_POINTER_CLEAR) {
+        sobj->ptr = 0;
+      }
+      res = SWIG_OK;
     }
-    res = SWIG_OK;
   } else {
     if (implicit_conv) {
       SwigPyClientData *data = ty ? (SwigPyClientData *) ty->clientdata : 0;
@@ -2452,13 +2466,13 @@ SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int
           }
         }
       }
-    }
-    if (!SWIG_IsOK(res) && obj == Py_None) {
-      if (ptr)
-        *ptr = 0;
-      if (PyErr_Occurred())
-        PyErr_Clear();
-      res = SWIG_OK;
+      if (!SWIG_IsOK(res) && obj == Py_None) {
+        if (ptr)
+          *ptr = 0;
+        if (PyErr_Occurred())
+          PyErr_Clear();
+        res = SWIG_OK;
+      }
     }
   }
   return res;
@@ -2472,31 +2486,28 @@ SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
     return SWIG_ConvertPtr(obj, ptr, ty, 0);
   } else {
     void *vptr = 0;
-    
+    swig_cast_info *tc;
+
     /* here we get the method pointer for callbacks */
     const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
     const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
     if (desc)
       desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
-    if (!desc) 
+    if (!desc)
       return SWIG_ERROR;
-    if (ty) {
-      swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
-      if (tc) {
-        int newmemory = 0;
-        *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
-        assert(!newmemory); /* newmemory handling not yet implemented */
-      } else {
-        return SWIG_ERROR;
-      }
+    tc = SWIG_TypeCheck(desc,ty);
+    if (tc) {
+      int newmemory = 0;
+      *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
+      assert(!newmemory); /* newmemory handling not yet implemented */
     } else {
-      *ptr = vptr;
+      return SWIG_ERROR;
     }
     return SWIG_OK;
   }
 }
 
-/* Convert a packed value value */
+/* Convert a packed pointer value */
 
 SWIGRUNTIME int
 SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
@@ -2524,7 +2535,6 @@ SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *t
 SWIGRUNTIME PyObject* 
 SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
 {
-#if (PY_VERSION_HEX >= 0x02020000)
   PyObject *inst = 0;
   PyObject *newraw = data->newraw;
   if (newraw) {
@@ -2533,24 +2543,43 @@ SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
 #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
       PyObject **dictptr = _PyObject_GetDictPtr(inst);
       if (dictptr != NULL) {
-       PyObject *dict = *dictptr;
-       if (dict == NULL) {
-         dict = PyDict_New();
-         *dictptr = dict;
-         PyDict_SetItem(dict, SWIG_This(), swig_this);
-       }
+        PyObject *dict = *dictptr;
+        if (dict == NULL) {
+          dict = PyDict_New();
+          *dictptr = dict;
+        }
+        if (dict) {
+          PyDict_SetItem(dict, SWIG_This(), swig_this);
+        } else{
+          Py_DECREF(inst);
+          inst = 0;
+        }
       }
 #else
-      PyObject *key = SWIG_This();
-      PyObject_SetAttr(inst, key, swig_this);
+      if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) {
+        Py_DECREF(inst);
+        inst = 0;
+      }
 #endif
     }
   } else {
 #if PY_VERSION_HEX >= 0x03000000
-    inst = ((PyTypeObject*) data->newargs)->tp_new((PyTypeObject*) data->newargs, Py_None, Py_None);
-    if (inst) {
-      PyObject_SetAttr(inst, SWIG_This(), swig_this);
-      Py_TYPE(inst)->tp_flags &= ~Py_TPFLAGS_VALID_VERSION_TAG;
+    PyObject *empty_args = PyTuple_New(0);
+    if (empty_args) {
+      PyObject *empty_kwargs = PyDict_New();
+      if (empty_kwargs) {
+        inst = ((PyTypeObject *)data->newargs)->tp_new((PyTypeObject *)data->newargs, empty_args, empty_kwargs);
+        Py_DECREF(empty_kwargs);
+        if (inst) {
+          if (PyObject_SetAttr(inst, SWIG_This(), swig_this) == -1) {
+            Py_DECREF(inst);
+            inst = 0;
+          } else {
+            PyType_Modified(Py_TYPE(inst));
+          }
+        }
+      }
+      Py_DECREF(empty_args);
     }
 #else
     PyObject *dict = PyDict_New();
@@ -2562,59 +2591,27 @@ SWIG_Python_NewShadowInstance(SwigPyClientData *data, PyObject *swig_this)
 #endif
   }
   return inst;
-#else
-#if (PY_VERSION_HEX >= 0x02010000)
-  PyObject *inst = 0;
-  PyObject *dict = PyDict_New();
-  if (dict) {
-    PyDict_SetItem(dict, SWIG_This(), swig_this);
-    inst = PyInstance_NewRaw(data->newargs, dict);
-    Py_DECREF(dict);
-  }
-  return (PyObject *) inst;
-#else
-  PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
-  if (inst == NULL) {
-    return NULL;
-  }
-  inst->in_class = (PyClassObject *)data->newargs;
-  Py_INCREF(inst->in_class);
-  inst->in_dict = PyDict_New();
-  if (inst->in_dict == NULL) {
-    Py_DECREF(inst);
-    return NULL;
-  }
-#ifdef Py_TPFLAGS_HAVE_WEAKREFS
-  inst->in_weakreflist = NULL;
-#endif
-#ifdef Py_TPFLAGS_GC
-  PyObject_GC_Init(inst);
-#endif
-  PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
-  return (PyObject *) inst;
-#endif
-#endif
 }
 
-SWIGRUNTIME void
+SWIGRUNTIME int
 SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
 {
- PyObject *dict;
-#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
- PyObject **dictptr = _PyObject_GetDictPtr(inst);
- if (dictptr != NULL) {
-   dict = *dictptr;
-   if (dict == NULL) {
-     dict = PyDict_New();
-     *dictptr = dict;
-   }
-   PyDict_SetItem(dict, SWIG_This(), swig_this);
-   return;
- }
+#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
+  PyObject **dictptr = _PyObject_GetDictPtr(inst);
+  if (dictptr != NULL) {
+    PyObject *dict = *dictptr;
+    if (dict == NULL) {
+      dict = PyDict_New();
+      *dictptr = dict;
+    }
+    if (dict) {
+      return PyDict_SetItem(dict, SWIG_This(), swig_this);
+    } else{
+      return -1;
+    }
+  }
 #endif
- dict = PyObject_GetAttrString(inst, (char*)"__dict__");
- PyDict_SetItem(dict, SWIG_This(), swig_this);
- Py_DECREF(dict);
+  return PyObject_SetAttr(inst, SWIG_This(), swig_this);
 } 
 
 
@@ -2626,9 +2623,10 @@ SWIG_Python_InitShadowInstance(PyObject *args) {
   } else {
     SwigPyObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
     if (sthis) {
-      SwigPyObject_append((PyObject*) sthis, obj[1]);
+      Py_DECREF(SwigPyObject_append((PyObject*) sthis, obj[1]));
     } else {
-      SWIG_Python_SetSwigThis(obj[0], obj[1]);
+      if (SWIG_Python_SetSwigThis(obj[0], obj[1]) != 0)
+        return NULL;
     }
     return SWIG_Py_Void();
   }
@@ -2664,7 +2662,9 @@ SWIG_Python_NewPointerObj(PyObject *self, void *ptr, swig_type_info *type, int f
     } else {
       newobj = PyObject_New(SwigPyObject, clientdata->pytype);
 #ifdef SWIGPYTHON_BUILTIN
-      newobj->dict = 0;
+      if (newobj) {
+        newobj->dict = 0;
+      }
 #endif
     }
     if (newobj) {
@@ -2703,115 +2703,83 @@ SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
 void *SWIG_ReturnGlobalTypeList(void *);
 #endif
 
+static PyObject *Swig_TypeCache_global = NULL;
+
+/* The python cached type query */
+SWIGRUNTIME PyObject *
+SWIG_Python_TypeCache(void) {
+  if (Swig_TypeCache_global == NULL) {
+    Swig_TypeCache_global = PyDict_New();
+  }
+  return Swig_TypeCache_global;
+}
+
 SWIGRUNTIME swig_module_info *
 SWIG_Python_GetModule(void *SWIGUNUSEDPARM(clientdata)) {
+#ifdef SWIG_LINK_RUNTIME
   static void *type_pointer = (void *)0;
   /* first check if module already created */
   if (!type_pointer) {
-#ifdef SWIG_LINK_RUNTIME
     type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
+  }
 #else
-# ifdef SWIGPY_USE_CAPSULE
-    type_pointer = PyCapsule_Import(SWIGPY_CAPSULE_NAME, 0);
-# else
-    type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
-                                   (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
-# endif
-    if (PyErr_Occurred()) {
-      PyErr_Clear();
-      type_pointer = (void *)0;
-    }
-#endif
+  void *type_pointer = PyCapsule_Import(SWIGPY_CAPSULE_NAME, 0);
+  if (PyErr_Occurred()) {
+    PyErr_Clear();
+    type_pointer = (void *)0;
   }
+#endif
   return (swig_module_info *) type_pointer;
 }
 
-#if PY_MAJOR_VERSION < 2
-/* PyModule_AddObject function was introduced in Python 2.0.  The following function
-   is copied out of Python/modsupport.c in python version 2.3.4 */
-SWIGINTERN int
-PyModule_AddObject(PyObject *m, char *name, PyObject *o)
-{
-  PyObject *dict;
-  if (!PyModule_Check(m)) {
-    PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs module as first arg");
-    return SWIG_ERROR;
-  }
-  if (!o) {
-    PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs non-NULL value");
-    return SWIG_ERROR;
-  }
-  
-  dict = PyModule_GetDict(m);
-  if (dict == NULL) {
-    /* Internal error -- modules must have a dict! */
-    PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
-                PyModule_GetName(m));
-    return SWIG_ERROR;
-  }
-  if (PyDict_SetItemString(dict, name, o))
-    return SWIG_ERROR;
-  Py_DECREF(o);
-  return SWIG_OK;
-}
-#endif
+
+static int interpreter_counter = 0; // how many (sub-)interpreters are using swig_module's types
 
 SWIGRUNTIME void
-#ifdef SWIGPY_USE_CAPSULE
 SWIG_Python_DestroyModule(PyObject *obj)
-#else
-SWIG_Python_DestroyModule(void *vptr)
-#endif
 {
-#ifdef SWIGPY_USE_CAPSULE
   swig_module_info *swig_module = (swig_module_info *) PyCapsule_GetPointer(obj, SWIGPY_CAPSULE_NAME);
-#else
-  swig_module_info *swig_module = (swig_module_info *) vptr;
-#endif
   swig_type_info **types = swig_module->types;
   size_t i;
+  if (--interpreter_counter != 0) // another sub-interpreter may still be using the swig_module's types
+    return;
   for (i =0; i < swig_module->size; ++i) {
     swig_type_info *ty = types[i];
     if (ty->owndata) {
       SwigPyClientData *data = (SwigPyClientData *) ty->clientdata;
+      ty->clientdata = 0;
       if (data) SwigPyClientData_Del(data);
     }
   }
   Py_DECREF(SWIG_This());
-  swig_this = NULL;
+  Swig_This_global = NULL;
+  Py_DECREF(SWIG_globals());
+  Swig_Globals_global = NULL;
+  Py_DECREF(SWIG_Python_TypeCache());
+  Swig_TypeCache_global = NULL;
+  Swig_Capsule_global = NULL;
 }
 
 SWIGRUNTIME void
 SWIG_Python_SetModule(swig_module_info *swig_module) {
 #if PY_VERSION_HEX >= 0x03000000
  /* Add a dummy module object into sys.modules */
-  PyObject *module = PyImport_AddModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION);
+  PyObject *module = PyImport_AddModule("swig_runtime_data" SWIG_RUNTIME_VERSION);
 #else
   static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} }; /* Sentinel */
-  PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table);
+  PyObject *module = Py_InitModule("swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table);
 #endif
-#ifdef SWIGPY_USE_CAPSULE
   PyObject *pointer = PyCapsule_New((void *) swig_module, SWIGPY_CAPSULE_NAME, SWIG_Python_DestroyModule);
   if (pointer && module) {
-    PyModule_AddObject(module, (char*)"type_pointer_capsule" SWIG_TYPE_TABLE_NAME, pointer);
-  } else {
-    Py_XDECREF(pointer);
-  }
-#else
-  PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
-  if (pointer && module) {
-    PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
+    if (PyModule_AddObject(module, SWIGPY_CAPSULE_ATTR_NAME, pointer) == 0) {
+      ++interpreter_counter;
+      Swig_Capsule_global = pointer;
+    } else {
+      Py_DECREF(pointer);
+    }
   } else {
     Py_XDECREF(pointer);
   }
-#endif
-}
-
-/* The python cached type query */
-SWIGRUNTIME PyObject *
-SWIG_Python_TypeCache(void) {
-  static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
-  return cache;
 }
 
 SWIGRUNTIME swig_type_info *
@@ -2822,22 +2790,16 @@ SWIG_Python_TypeQuery(const char *type)
   PyObject *obj = PyDict_GetItem(cache, key);
   swig_type_info *descriptor;
   if (obj) {
-#ifdef SWIGPY_USE_CAPSULE
     descriptor = (swig_type_info *) PyCapsule_GetPointer(obj, NULL);
-#else
-    descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
-#endif
   } else {
     swig_module_info *swig_module = SWIG_GetModule(0);
     descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
     if (descriptor) {
-#ifdef SWIGPY_USE_CAPSULE
       obj = PyCapsule_New((void*) descriptor, NULL, NULL);
-#else
-      obj = PyCObject_FromVoidPtr(descriptor, NULL);
-#endif
-      PyDict_SetItem(cache, key, obj);
-      Py_DECREF(obj);
+      if (obj) {
+        PyDict_SetItem(cache, key, obj);
+        Py_DECREF(obj);
+      }
     }
   }
   Py_DECREF(key);
@@ -2860,16 +2822,16 @@ SWIG_Python_AddErrMesg(const char* mesg, int infront)
     PyObject *traceback = 0;
     PyErr_Fetch(&type, &value, &traceback);
     if (value) {
-      char *tmp;
       PyObject *old_str = PyObject_Str(value);
+      const char *tmp = SWIG_Python_str_AsChar(old_str);
+      const char *errmesg = tmp ? tmp : "Invalid error message";
       Py_XINCREF(type);
       PyErr_Clear();
       if (infront) {
-       PyErr_Format(type, "%s %s", mesg, tmp = SWIG_Python_str_AsChar(old_str));
+       PyErr_Format(type, "%s %s", mesg, errmesg);
       } else {
-       PyErr_Format(type, "%s %s", tmp = SWIG_Python_str_AsChar(old_str), mesg);
+       PyErr_Format(type, "%s %s", errmesg, mesg);
       }
-      SWIG_Python_str_DelForPy3(tmp);
       Py_DECREF(old_str);
     }
     return 1;
@@ -2921,7 +2883,6 @@ SWIG_Python_TypeError(const char *type, PyObject *obj)
        if (cstr) {
          PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
                       type, otype, cstr);
-          SWIG_Python_str_DelForPy3(cstr);
        } else {
          PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
                       type, otype);
@@ -2943,12 +2904,6 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int SWIGUNUSEDPARM(arg
   void *result;
   if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
     PyErr_Clear();
-#if SWIG_POINTER_EXCEPTION
-    if (flags) {
-      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
-      SWIG_Python_ArgFail(argnum);
-    }
-#endif
   }
   return result;
 }
@@ -2979,7 +2934,7 @@ SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) {
   }
 
   if (!tp->tp_dict) {
-    if (PyType_Ready(tp) < 0)
+    if (PyType_Ready(tp) != 0)
       goto done;
   }
 
@@ -2993,6 +2948,8 @@ SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) {
       Py_INCREF(name);
     } else {
       encoded_name = PyUnicode_AsUTF8String(name);
+      if (!encoded_name)
+        goto done;
     }
     PyErr_Format(PyExc_AttributeError, "'%.100s' object has no attribute '%.200s'", tp->tp_name, PyString_AsString(encoded_name));
     Py_DECREF(encoded_name);
@@ -3015,7 +2972,7 @@ SWIG_Python_NonDynamicSetAttr(PyObject *obj, PyObject *name, PyObject *value) {
 
 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) 
 
-#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else 
+#define SWIG_contract_assert(expr, msg) do { if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } } while (0) 
 
 
 
@@ -3056,11 +3013,10 @@ static swig_module_info swig_module = {swig_types, 28, 0, 0, 0, 0};
 
 /* -------- TYPES TABLE (END) -------- */
 
-#if (PY_VERSION_HEX <= 0x02000000)
-# if !defined(SWIG_PYTHON_CLASSIC)
-#  error "This python version requires swig to be run with the '-classic' option"
-# endif
+#ifdef SWIG_TypeQuery
+# undef SWIG_TypeQuery
 #endif
+#define SWIG_TypeQuery SWIG_Python_TypeQuery
 
 /*-----------------------------------------------
               @(target):= _freeswitch.so
@@ -3074,8 +3030,52 @@ static swig_module_info swig_module = {swig_types, 28, 0, 0, 0, 0};
 #endif
 #define SWIG_name    "_freeswitch"
 
-#define SWIGVERSION 0x030012 
-#define SWIG_VERSION SWIGVERSION
+#ifdef __cplusplus
+#include <utility>
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper {
+  struct SwigSmartPointer {
+    T *ptr;
+    SwigSmartPointer(T *p) : ptr(p) { }
+    ~SwigSmartPointer() { delete ptr; }
+    SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+    void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
+#if __cplusplus >=201103L
+  SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
+  operator T&&() const { return std::move(*pointer.ptr); }
+#else
+  operator T&() const { return *pointer.ptr; }
+#endif
+  T *operator&() const { return pointer.ptr; }
+  static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
+};
+
+/*
+ * SwigValueInit() is a generic initialisation solution as the following approach:
+ * 
+ *       T c_result = T();
+ * 
+ * doesn't compile for all types for example:
+ * 
+ *       unsigned int c_result = unsigned int();
+ */
+template <typename T> T SwigValueInit() {
+  return T();
+}
+
+#if __cplusplus >=201103L
+# define SWIG_STD_MOVE(OBJ) std::move(OBJ)
+#else
+# define SWIG_STD_MOVE(OBJ) OBJ
+#endif
+
+#endif
 
 
 #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
@@ -3186,6 +3186,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #endif
   {
     char *cstr; Py_ssize_t len;
+    int ret = SWIG_OK;
 #if PY_VERSION_HEX>=0x03000000
 #if !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
     if (!alloc && cptr) {
@@ -3196,29 +3197,20 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
         return SWIG_RuntimeError;
     }
     obj = PyUnicode_AsUTF8String(obj);
-    if(alloc) *alloc = SWIG_NEWOBJ;
+    if (!obj)
+      return SWIG_TypeError;
+    if (alloc)
+      *alloc = SWIG_NEWOBJ;
 #endif
-    PyBytes_AsStringAndSize(obj, &cstr, &len);
+    if (PyBytes_AsStringAndSize(obj, &cstr, &len) == -1)
+      return SWIG_TypeError;
 #else
-    PyString_AsStringAndSize(obj, &cstr, &len);
+    if (PyString_AsStringAndSize(obj, &cstr, &len) == -1)
+      return SWIG_TypeError;
 #endif
     if (cptr) {
       if (alloc) {
-       /* 
-          In python the user should not be able to modify the inner
-          string representation. To warranty that, if you define
-          SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
-          buffer is always returned.
-
-          The default behavior is just to return the pointer value,
-          so, be careful.
-       */ 
-#if defined(SWIG_PYTHON_SAFE_CSTRINGS)
-       if (*alloc != SWIG_OLDOBJ) 
-#else
-       if (*alloc == SWIG_NEWOBJ) 
-#endif
-       {
+       if (*alloc == SWIG_NEWOBJ) {
          *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
          *alloc = SWIG_NEWOBJ;
        } else {
@@ -3234,6 +3226,8 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #endif
 #else
        *cptr = SWIG_Python_str_AsChar(obj);
+        if (!*cptr)
+          ret = SWIG_TypeError;
 #endif
       }
     }
@@ -3241,7 +3235,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
 #if PY_VERSION_HEX>=0x03000000 && !defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
     Py_XDECREF(obj);
 #endif
-    return SWIG_OK;
+    return ret;
   } else {
 #if defined(SWIG_PYTHON_2_UNICODE)
 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
@@ -3254,6 +3248,8 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
         return SWIG_RuntimeError;
       }
       obj = PyUnicode_AsUTF8String(obj);
+      if (!obj)
+        return SWIG_TypeError;
       if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
         if (cptr) {
           if (alloc) *alloc = SWIG_NEWOBJ;
@@ -3301,11 +3297,7 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
 #if defined(SWIG_PYTHON_STRICT_BYTE_CHAR)
       return PyBytes_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
 #else
-#if PY_VERSION_HEX >= 0x03010000
       return PyUnicode_DecodeUTF8(carray, static_cast< Py_ssize_t >(size), "surrogateescape");
-#else
-      return PyUnicode_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
-#endif
 #endif
 #else
       return PyString_FromStringAndSize(carray, static_cast< Py_ssize_t >(size));
@@ -3629,7 +3621,7 @@ SWIG_AsVal_bool (PyObject *obj, bool *val)
 #ifdef __cplusplus
 extern "C" {
 #endif
-SWIGINTERN PyObject *_wrap_setGlobalVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_setGlobalVariable(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -3639,16 +3631,15 @@ SWIGINTERN PyObject *_wrap_setGlobalVariable(PyObject *SWIGUNUSEDPARM(self), PyO
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:setGlobalVariable",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!SWIG_Python_UnpackTuple(args, "setGlobalVariable", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "setGlobalVariable" "', argument " "1"" of type '" "char *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "setGlobalVariable" "', argument " "2"" of type '" "char *""'");
   }
@@ -3665,17 +3656,18 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_getGlobalVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_getGlobalVariable(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:getGlobalVariable",&obj0)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "getGlobalVariable" "', argument " "1"" of type '" "char *""'");
   }
@@ -3691,7 +3683,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_consoleLog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_consoleLog(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -3701,16 +3693,15 @@ SWIGINTERN PyObject *_wrap_consoleLog(PyObject *SWIGUNUSEDPARM(self), PyObject *
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:consoleLog",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!SWIG_Python_UnpackTuple(args, "consoleLog", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "consoleLog" "', argument " "1"" of type '" "char *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "consoleLog" "', argument " "2"" of type '" "char *""'");
   }
@@ -3727,7 +3718,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_consoleLog2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_consoleLog2(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -3748,34 +3739,30 @@ SWIGINTERN PyObject *_wrap_consoleLog2(PyObject *SWIGUNUSEDPARM(self), PyObject
   int res5 ;
   char *buf5 = 0 ;
   int alloc5 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
+  PyObject *swig_obj[5] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:consoleLog2",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!SWIG_Python_UnpackTuple(args, "consoleLog2", 5, 5, swig_obj)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "consoleLog2" "', argument " "1"" of type '" "char *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "consoleLog2" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "consoleLog2" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+  ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
   if (!SWIG_IsOK(ecode4)) {
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "consoleLog2" "', argument " "4"" of type '" "int""'");
   } 
   arg4 = static_cast< int >(val4);
-  res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+  res5 = SWIG_AsCharPtrAndSize(swig_obj[4], &buf5, NULL, &alloc5);
   if (!SWIG_IsOK(res5)) {
     SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "consoleLog2" "', argument " "5"" of type '" "char *""'");
   }
@@ -3796,16 +3783,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_consoleCleanLog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_consoleCleanLog(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:consoleCleanLog",&obj0)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "consoleCleanLog" "', argument " "1"" of type '" "char *""'");
   }
@@ -3820,11 +3808,11 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_running(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_running(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)":running")) SWIG_fail;
+  if (!SWIG_Python_UnpackTuple(args, "running", 0, 0, 0)) SWIG_fail;
   result = (bool)running();
   resultobj = SWIG_From_bool(static_cast< bool >(result));
   return resultobj;
@@ -3833,7 +3821,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_email(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_email(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -3863,56 +3851,50 @@ SWIGINTERN PyObject *_wrap_email(PyObject *SWIGUNUSEDPARM(self), PyObject *args)
   int res7 ;
   char *buf7 = 0 ;
   int alloc7 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
-  PyObject * obj5 = 0 ;
-  PyObject * obj6 = 0 ;
+  PyObject *swig_obj[7] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|OOOOO:email",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!SWIG_Python_UnpackTuple(args, "email", 2, 7, swig_obj)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "email" "', argument " "1"" of type '" "char *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "email" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "email" "', argument " "3"" of type '" "char *""'");
     }
     arg3 = reinterpret_cast< char * >(buf3);
   }
-  if (obj3) {
-    res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  if (swig_obj[3]) {
+    res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "email" "', argument " "4"" of type '" "char *""'");
     }
     arg4 = reinterpret_cast< char * >(buf4);
   }
-  if (obj4) {
-    res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+  if (swig_obj[4]) {
+    res5 = SWIG_AsCharPtrAndSize(swig_obj[4], &buf5, NULL, &alloc5);
     if (!SWIG_IsOK(res5)) {
       SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "email" "', argument " "5"" of type '" "char *""'");
     }
     arg5 = reinterpret_cast< char * >(buf5);
   }
-  if (obj5) {
-    res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+  if (swig_obj[5]) {
+    res6 = SWIG_AsCharPtrAndSize(swig_obj[5], &buf6, NULL, &alloc6);
     if (!SWIG_IsOK(res6)) {
       SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "email" "', argument " "6"" of type '" "char *""'");
     }
     arg6 = reinterpret_cast< char * >(buf6);
   }
-  if (obj6) {
-    res7 = SWIG_AsCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+  if (swig_obj[6]) {
+    res7 = SWIG_AsCharPtrAndSize(swig_obj[6], &buf7, NULL, &alloc7);
     if (!SWIG_IsOK(res7)) {
       SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "email" "', argument " "7"" of type '" "char *""'");
     }
@@ -3940,7 +3922,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_IVRMenu(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_IVRMenu(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   IVRMenu *arg1 = (IVRMenu *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -4003,107 +3985,91 @@ SWIGINTERN PyObject *_wrap_new_IVRMenu(PyObject *SWIGUNUSEDPARM(self), PyObject
   int ecode16 = 0 ;
   int val17 ;
   int ecode17 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
-  PyObject * obj5 = 0 ;
-  PyObject * obj6 = 0 ;
-  PyObject * obj7 = 0 ;
-  PyObject * obj8 = 0 ;
-  PyObject * obj9 = 0 ;
-  PyObject * obj10 = 0 ;
-  PyObject * obj11 = 0 ;
-  PyObject * obj12 = 0 ;
-  PyObject * obj13 = 0 ;
-  PyObject * obj14 = 0 ;
-  PyObject * obj15 = 0 ;
-  PyObject * obj16 = 0 ;
+  PyObject *swig_obj[17] ;
   IVRMenu *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOOOOOO:new_IVRMenu",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12,&obj13,&obj14,&obj15,&obj16)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "new_IVRMenu", 17, 17, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IVRMenu, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_IVRMenu" "', argument " "1"" of type '" "IVRMenu *""'"); 
   }
   arg1 = reinterpret_cast< IVRMenu * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_IVRMenu" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_IVRMenu" "', argument " "3"" of type '" "char const *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
   if (!SWIG_IsOK(res4)) {
     SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_IVRMenu" "', argument " "4"" of type '" "char const *""'");
   }
   arg4 = reinterpret_cast< char * >(buf4);
-  res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+  res5 = SWIG_AsCharPtrAndSize(swig_obj[4], &buf5, NULL, &alloc5);
   if (!SWIG_IsOK(res5)) {
     SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "new_IVRMenu" "', argument " "5"" of type '" "char const *""'");
   }
   arg5 = reinterpret_cast< char * >(buf5);
-  res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+  res6 = SWIG_AsCharPtrAndSize(swig_obj[5], &buf6, NULL, &alloc6);
   if (!SWIG_IsOK(res6)) {
     SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "new_IVRMenu" "', argument " "6"" of type '" "char const *""'");
   }
   arg6 = reinterpret_cast< char * >(buf6);
-  res7 = SWIG_AsCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+  res7 = SWIG_AsCharPtrAndSize(swig_obj[6], &buf7, NULL, &alloc7);
   if (!SWIG_IsOK(res7)) {
     SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "new_IVRMenu" "', argument " "7"" of type '" "char const *""'");
   }
   arg7 = reinterpret_cast< char * >(buf7);
-  res8 = SWIG_AsCharPtrAndSize(obj7, &buf8, NULL, &alloc8);
+  res8 = SWIG_AsCharPtrAndSize(swig_obj[7], &buf8, NULL, &alloc8);
   if (!SWIG_IsOK(res8)) {
     SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "new_IVRMenu" "', argument " "8"" of type '" "char const *""'");
   }
   arg8 = reinterpret_cast< char * >(buf8);
-  res9 = SWIG_AsCharPtrAndSize(obj8, &buf9, NULL, &alloc9);
+  res9 = SWIG_AsCharPtrAndSize(swig_obj[8], &buf9, NULL, &alloc9);
   if (!SWIG_IsOK(res9)) {
     SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "new_IVRMenu" "', argument " "9"" of type '" "char const *""'");
   }
   arg9 = reinterpret_cast< char * >(buf9);
-  res10 = SWIG_AsCharPtrAndSize(obj9, &buf10, NULL, &alloc10);
+  res10 = SWIG_AsCharPtrAndSize(swig_obj[9], &buf10, NULL, &alloc10);
   if (!SWIG_IsOK(res10)) {
     SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "new_IVRMenu" "', argument " "10"" of type '" "char const *""'");
   }
   arg10 = reinterpret_cast< char * >(buf10);
-  res11 = SWIG_AsCharPtrAndSize(obj10, &buf11, NULL, &alloc11);
+  res11 = SWIG_AsCharPtrAndSize(swig_obj[10], &buf11, NULL, &alloc11);
   if (!SWIG_IsOK(res11)) {
     SWIG_exception_fail(SWIG_ArgError(res11), "in method '" "new_IVRMenu" "', argument " "11"" of type '" "char const *""'");
   }
   arg11 = reinterpret_cast< char * >(buf11);
-  ecode12 = SWIG_AsVal_int(obj11, &val12);
+  ecode12 = SWIG_AsVal_int(swig_obj[11], &val12);
   if (!SWIG_IsOK(ecode12)) {
     SWIG_exception_fail(SWIG_ArgError(ecode12), "in method '" "new_IVRMenu" "', argument " "12"" of type '" "int""'");
   } 
   arg12 = static_cast< int >(val12);
-  ecode13 = SWIG_AsVal_int(obj12, &val13);
+  ecode13 = SWIG_AsVal_int(swig_obj[12], &val13);
   if (!SWIG_IsOK(ecode13)) {
     SWIG_exception_fail(SWIG_ArgError(ecode13), "in method '" "new_IVRMenu" "', argument " "13"" of type '" "int""'");
   } 
   arg13 = static_cast< int >(val13);
-  ecode14 = SWIG_AsVal_int(obj13, &val14);
+  ecode14 = SWIG_AsVal_int(swig_obj[13], &val14);
   if (!SWIG_IsOK(ecode14)) {
     SWIG_exception_fail(SWIG_ArgError(ecode14), "in method '" "new_IVRMenu" "', argument " "14"" of type '" "int""'");
   } 
   arg14 = static_cast< int >(val14);
-  ecode15 = SWIG_AsVal_int(obj14, &val15);
+  ecode15 = SWIG_AsVal_int(swig_obj[14], &val15);
   if (!SWIG_IsOK(ecode15)) {
     SWIG_exception_fail(SWIG_ArgError(ecode15), "in method '" "new_IVRMenu" "', argument " "15"" of type '" "int""'");
   } 
   arg15 = static_cast< int >(val15);
-  ecode16 = SWIG_AsVal_int(obj15, &val16);
+  ecode16 = SWIG_AsVal_int(swig_obj[15], &val16);
   if (!SWIG_IsOK(ecode16)) {
     SWIG_exception_fail(SWIG_ArgError(ecode16), "in method '" "new_IVRMenu" "', argument " "16"" of type '" "int""'");
   } 
   arg16 = static_cast< int >(val16);
-  ecode17 = SWIG_AsVal_int(obj16, &val17);
+  ecode17 = SWIG_AsVal_int(swig_obj[16], &val17);
   if (!SWIG_IsOK(ecode17)) {
     SWIG_exception_fail(SWIG_ArgError(ecode17), "in method '" "new_IVRMenu" "', argument " "17"" of type '" "int""'");
   } 
@@ -4136,15 +4102,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_IVRMenu(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_IVRMenu(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   IVRMenu *arg1 = (IVRMenu *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_IVRMenu",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IVRMenu, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_IVRMenu" "', argument " "1"" of type '" "IVRMenu *""'"); 
   }
@@ -4157,7 +4124,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_IVRMenu_bindAction(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_IVRMenu_bindAction(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   IVRMenu *arg1 = (IVRMenu *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -4174,28 +4141,25 @@ SWIGINTERN PyObject *_wrap_IVRMenu_bindAction(PyObject *SWIGUNUSEDPARM(self), Py
   int res4 ;
   char *buf4 = 0 ;
   int alloc4 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
+  PyObject *swig_obj[4] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:IVRMenu_bindAction",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "IVRMenu_bindAction", 4, 4, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IVRMenu, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IVRMenu_bindAction" "', argument " "1"" of type '" "IVRMenu *""'"); 
   }
   arg1 = reinterpret_cast< IVRMenu * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IVRMenu_bindAction" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IVRMenu_bindAction" "', argument " "3"" of type '" "char const *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
   if (!SWIG_IsOK(res4)) {
     SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "IVRMenu_bindAction" "', argument " "4"" of type '" "char const *""'");
   }
@@ -4214,7 +4178,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_IVRMenu_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_IVRMenu_execute(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   IVRMenu *arg1 = (IVRMenu *) 0 ;
   CoreSession *arg2 = (CoreSession *) 0 ;
@@ -4226,22 +4190,20 @@ SWIGINTERN PyObject *_wrap_IVRMenu_execute(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:IVRMenu_execute",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_IVRMenu, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "IVRMenu_execute", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IVRMenu, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IVRMenu_execute" "', argument " "1"" of type '" "IVRMenu *""'"); 
   }
   arg1 = reinterpret_cast< IVRMenu * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "IVRMenu_execute" "', argument " "2"" of type '" "CoreSession *""'"); 
   }
   arg2 = reinterpret_cast< CoreSession * >(argp2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "IVRMenu_execute" "', argument " "3"" of type '" "char const *""'");
   }
@@ -4258,22 +4220,26 @@ fail:
 
 SWIGINTERN PyObject *IVRMenu_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_IVRMenu, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_new_API(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *IVRMenu_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_API(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) NULL ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   API *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"|O:new_API",&obj0)) SWIG_fail;
-  if (obj0) {
-    res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "new_API", 0, 1, swig_obj)) SWIG_fail;
+  if (swig_obj[0]) {
+    res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_API" "', argument " "1"" of type '" "CoreSession *""'"); 
     }
@@ -4287,15 +4253,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_API(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_API(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   API *arg1 = (API *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_API",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_API, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_API, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_API" "', argument " "1"" of type '" "API *""'"); 
   }
@@ -4308,7 +4275,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_API_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_API_execute(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   API *arg1 = (API *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -4321,24 +4288,22 @@ SWIGINTERN PyObject *_wrap_API_execute(PyObject *SWIGUNUSEDPARM(self), PyObject
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|O:API_execute",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_API, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "API_execute", 2, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_API, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "API_execute" "', argument " "1"" of type '" "API *""'"); 
   }
   arg1 = reinterpret_cast< API * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "API_execute" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "API_execute" "', argument " "3"" of type '" "char const *""'");
     }
@@ -4357,7 +4322,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_API_executeString(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_API_executeString(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   API *arg1 = (API *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -4366,17 +4331,16 @@ SWIGINTERN PyObject *_wrap_API_executeString(PyObject *SWIGUNUSEDPARM(self), PyO
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:API_executeString",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_API, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "API_executeString", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_API, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "API_executeString" "', argument " "1"" of type '" "API *""'"); 
   }
   arg1 = reinterpret_cast< API * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "API_executeString" "', argument " "2"" of type '" "char const *""'");
   }
@@ -4392,16 +4356,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_API_getTime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_API_getTime(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   API *arg1 = (API *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:API_getTime",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_API, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_API, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "API_getTime" "', argument " "1"" of type '" "API *""'"); 
   }
@@ -4416,28 +4381,31 @@ fail:
 
 SWIGINTERN PyObject *API_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_API, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_function_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *API_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_input_callback_state_t_function_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *arg2 = (void *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:input_callback_state_t_function_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "input_callback_state_t_function_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_function_set" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
   arg1 = reinterpret_cast< input_callback_state * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_function_set" "', argument " "2"" of type '" "void *""'"); 
   }
@@ -4449,16 +4417,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_function_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_input_callback_state_t_function_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   void *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:input_callback_state_t_function_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_function_get" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
@@ -4471,23 +4440,22 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_threadState_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_input_callback_state_t_threadState_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *arg2 = (void *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:input_callback_state_t_threadState_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "input_callback_state_t_threadState_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_threadState_set" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
   arg1 = reinterpret_cast< input_callback_state * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_threadState_set" "', argument " "2"" of type '" "void *""'"); 
   }
@@ -4499,16 +4467,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_threadState_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_input_callback_state_t_threadState_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   void *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:input_callback_state_t_threadState_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_threadState_get" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
@@ -4521,23 +4490,22 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_extra_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_input_callback_state_t_extra_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *arg2 = (void *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:input_callback_state_t_extra_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "input_callback_state_t_extra_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_extra_set" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
   arg1 = reinterpret_cast< input_callback_state * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_extra_set" "', argument " "2"" of type '" "void *""'"); 
   }
@@ -4549,16 +4517,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_extra_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_input_callback_state_t_extra_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   void *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:input_callback_state_t_extra_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_extra_get" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
@@ -4571,7 +4540,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_funcargs_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_input_callback_state_t_funcargs_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -4580,21 +4549,20 @@ SWIGINTERN PyObject *_wrap_input_callback_state_t_funcargs_set(PyObject *SWIGUNU
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:input_callback_state_t_funcargs_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "input_callback_state_t_funcargs_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_funcargs_set" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
   arg1 = reinterpret_cast< input_callback_state * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "input_callback_state_t_funcargs_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->funcargs) delete[] arg1->funcargs;
+  delete[] arg1->funcargs;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->funcargs = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -4610,16 +4578,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_input_callback_state_t_funcargs_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_input_callback_state_t_funcargs_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:input_callback_state_t_funcargs_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "input_callback_state_t_funcargs_get" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
@@ -4632,11 +4601,11 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_input_callback_state_t(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_input_callback_state_t(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)":new_input_callback_state_t")) SWIG_fail;
+  if (!SWIG_Python_UnpackTuple(args, "new_input_callback_state_t", 0, 0, 0)) SWIG_fail;
   result = (input_callback_state *)new input_callback_state();
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_input_callback_state, SWIG_POINTER_NEW |  0 );
   return resultobj;
@@ -4645,15 +4614,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_input_callback_state_t(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_input_callback_state_t(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   input_callback_state *arg1 = (input_callback_state *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_input_callback_state_t",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input_callback_state, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_input_callback_state, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_input_callback_state_t" "', argument " "1"" of type '" "input_callback_state *""'"); 
   }
@@ -4668,12 +4638,16 @@ fail:
 
 SWIGINTERN PyObject *input_callback_state_t_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_input_callback_state, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_DTMF_digit_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *input_callback_state_t_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_DTMF_digit_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   DTMF *arg1 = (DTMF *) 0 ;
   char arg2 ;
@@ -4681,16 +4655,15 @@ SWIGINTERN PyObject *_wrap_DTMF_digit_set(PyObject *SWIGUNUSEDPARM(self), PyObje
   int res1 = 0 ;
   char val2 = '\0';
   int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:DTMF_digit_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "DTMF_digit_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DTMF_digit_set" "', argument " "1"" of type '" "DTMF *""'"); 
   }
   arg1 = reinterpret_cast< DTMF * >(argp1);
-  ecode2 = SWIG_AsVal_char(obj1, &val2);
+  ecode2 = SWIG_AsVal_char(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DTMF_digit_set" "', argument " "2"" of type '" "char""'");
   } 
@@ -4703,16 +4676,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_DTMF_digit_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_DTMF_digit_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   DTMF *arg1 = (DTMF *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:DTMF_digit_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DTMF_digit_get" "', argument " "1"" of type '" "DTMF *""'"); 
   }
@@ -4725,7 +4699,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_DTMF_duration_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_DTMF_duration_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   DTMF *arg1 = (DTMF *) 0 ;
   uint32_t arg2 ;
@@ -4733,17 +4707,16 @@ SWIGINTERN PyObject *_wrap_DTMF_duration_set(PyObject *SWIGUNUSEDPARM(self), PyO
   int res1 = 0 ;
   void *argp2 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:DTMF_duration_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "DTMF_duration_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DTMF_duration_set" "', argument " "1"" of type '" "DTMF *""'"); 
   }
   arg1 = reinterpret_cast< DTMF * >(argp1);
   {
-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_uint32_t,  0  | 0);
+    res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_uint32_t,  0  | 0);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "DTMF_duration_set" "', argument " "2"" of type '" "uint32_t""'"); 
     }  
@@ -4763,29 +4736,30 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_DTMF_duration_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_DTMF_duration_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   DTMF *arg1 = (DTMF *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   uint32_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:DTMF_duration_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DTMF, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DTMF_duration_get" "', argument " "1"" of type '" "DTMF *""'"); 
   }
   arg1 = reinterpret_cast< DTMF * >(argp1);
   result =  ((arg1)->duration);
-  resultobj = SWIG_NewPointerObj((new uint32_t(static_cast< const uint32_t& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new uint32_t(result)), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_DTMF(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_DTMF(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char arg1 ;
   uint32_t arg2 = (uint32_t) SWITCH_DEFAULT_DTMF_DURATION ;
@@ -4793,19 +4767,18 @@ SWIGINTERN PyObject *_wrap_new_DTMF(PyObject *SWIGUNUSEDPARM(self), PyObject *ar
   int ecode1 = 0 ;
   void *argp2 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   DTMF *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|O:new_DTMF",&obj0,&obj1)) SWIG_fail;
-  ecode1 = SWIG_AsVal_char(obj0, &val1);
+  if (!SWIG_Python_UnpackTuple(args, "new_DTMF", 1, 2, swig_obj)) SWIG_fail;
+  ecode1 = SWIG_AsVal_char(swig_obj[0], &val1);
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_DTMF" "', argument " "1"" of type '" "char""'");
   } 
   arg1 = static_cast< char >(val1);
-  if (obj1) {
+  if (swig_obj[1]) {
     {
-      res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_uint32_t,  0  | 0);
+      res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_uint32_t,  0  | 0);
       if (!SWIG_IsOK(res2)) {
         SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_DTMF" "', argument " "2"" of type '" "uint32_t""'"); 
       }  
@@ -4826,15 +4799,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_DTMF(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_DTMF(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   DTMF *arg1 = (DTMF *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_DTMF",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_DTMF, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_DTMF, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DTMF" "', argument " "1"" of type '" "DTMF *""'"); 
   }
@@ -4849,16 +4823,20 @@ fail:
 
 SWIGINTERN PyObject *DTMF_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_DTMF, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_new_Stream__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *DTMF_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_new_Stream__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) {
   PyObject *resultobj = 0;
   Stream *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)":new_Stream")) SWIG_fail;
+  if ((nobjs < 0) || (nobjs > 0)) SWIG_fail;
   result = (Stream *)new Stream();
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Stream, SWIG_POINTER_NEW |  0 );
   return resultobj;
@@ -4867,16 +4845,15 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_Stream__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_Stream__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
   Stream *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_Stream",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_stream_handle_t, 0 |  0 );
+  if ((nobjs < 1) || (nobjs > 1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_switch_stream_handle_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Stream" "', argument " "1"" of type '" "switch_stream_handle_t *""'"); 
   }
@@ -4894,28 +4871,24 @@ SWIGINTERN PyObject *_wrap_new_Stream(PyObject *self, PyObject *args) {
   PyObject *argv[2] = {
     0
   };
-  Py_ssize_t ii;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? PyObject_Length(args) : 0;
-  for (ii = 0; (ii < 1) && (ii < argc); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
+  if (!(argc = SWIG_Python_UnpackTuple(args, "new_Stream", 0, 1, argv))) SWIG_fail;
+  --argc;
   if (argc == 0) {
-    return _wrap_new_Stream__SWIG_0(self, args);
+    return _wrap_new_Stream__SWIG_0(self, argc, argv);
   }
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_stream_handle_t, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      return _wrap_new_Stream__SWIG_1(self, args);
+      return _wrap_new_Stream__SWIG_1(self, argc, argv);
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'new_Stream'.\n"
+  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_Stream'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    Stream::Stream()\n"
     "    Stream::Stream(switch_stream_handle_t *)\n");
@@ -4923,15 +4896,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_Stream(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_Stream(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Stream *arg1 = (Stream *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_Stream",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Stream, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Stream" "', argument " "1"" of type '" "Stream *""'"); 
   }
@@ -4944,7 +4918,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Stream_read(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Stream_read(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Stream *arg1 = (Stream *) 0 ;
   int *arg2 = (int *) 0 ;
@@ -4952,17 +4926,16 @@ SWIGINTERN PyObject *_wrap_Stream_read(PyObject *SWIGUNUSEDPARM(self), PyObject
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Stream_read",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Stream_read", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Stream, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Stream_read" "', argument " "1"" of type '" "Stream *""'"); 
   }
   arg1 = reinterpret_cast< Stream * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_int, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_int, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Stream_read" "', argument " "2"" of type '" "int *""'"); 
   }
@@ -4975,7 +4948,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Stream_write(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Stream_write(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Stream *arg1 = (Stream *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -4984,16 +4957,15 @@ SWIGINTERN PyObject *_wrap_Stream_write(PyObject *SWIGUNUSEDPARM(self), PyObject
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Stream_write",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Stream_write", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Stream, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Stream_write" "', argument " "1"" of type '" "Stream *""'"); 
   }
   arg1 = reinterpret_cast< Stream * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Stream_write" "', argument " "2"" of type '" "char const *""'");
   }
@@ -5008,7 +4980,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Stream_raw_write(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Stream_raw_write(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Stream *arg1 = (Stream *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5020,22 +4992,20 @@ SWIGINTERN PyObject *_wrap_Stream_raw_write(PyObject *SWIGUNUSEDPARM(self), PyOb
   int alloc2 = 0 ;
   int val3 ;
   int ecode3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:Stream_raw_write",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Stream_raw_write", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Stream, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Stream_raw_write" "', argument " "1"" of type '" "Stream *""'"); 
   }
   arg1 = reinterpret_cast< Stream * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Stream_raw_write" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+  ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "Stream_raw_write" "', argument " "3"" of type '" "int""'");
   } 
@@ -5050,16 +5020,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Stream_get_data(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Stream_get_data(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Stream *arg1 = (Stream *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Stream_get_data",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Stream, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Stream, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Stream_get_data" "', argument " "1"" of type '" "Stream *""'"); 
   }
@@ -5074,12 +5045,16 @@ fail:
 
 SWIGINTERN PyObject *Stream_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Stream, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_Event_event_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *Stream_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_Event_event_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   switch_event_t *arg2 = (switch_event_t *) 0 ;
@@ -5087,16 +5062,15 @@ SWIGINTERN PyObject *_wrap_Event_event_set(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Event_event_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_event_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_event_set" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_event_t, SWIG_POINTER_DISOWN |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_switch_event_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_event_set" "', argument " "2"" of type '" "switch_event_t *""'"); 
   }
@@ -5109,16 +5083,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_event_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_event_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_event_t *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Event_event_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_event_get" "', argument " "1"" of type '" "Event *""'"); 
   }
@@ -5131,7 +5106,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_serialized_string_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_serialized_string_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5140,21 +5115,20 @@ SWIGINTERN PyObject *_wrap_Event_serialized_string_set(PyObject *SWIGUNUSEDPARM(
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Event_serialized_string_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_serialized_string_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_serialized_string_set" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_serialized_string_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->serialized_string) delete[] arg1->serialized_string;
+  delete[] arg1->serialized_string;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->serialized_string = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -5170,16 +5144,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_serialized_string_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_serialized_string_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Event_serialized_string_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_serialized_string_get" "', argument " "1"" of type '" "Event *""'"); 
   }
@@ -5192,7 +5167,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_mine_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_mine_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   int arg2 ;
@@ -5200,16 +5175,15 @@ SWIGINTERN PyObject *_wrap_Event_mine_set(PyObject *SWIGUNUSEDPARM(self), PyObje
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Event_mine_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_mine_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_mine_set" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "Event_mine_set" "', argument " "2"" of type '" "int""'");
   } 
@@ -5222,16 +5196,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_mine_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_mine_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Event_mine_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_mine_get" "', argument " "1"" of type '" "Event *""'"); 
   }
@@ -5244,7 +5219,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_Event__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_Event__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) NULL ;
@@ -5254,18 +5229,16 @@ SWIGINTERN PyObject *_wrap_new_Event__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyO
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   Event *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|O:new_Event",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if ((nobjs < 1) || (nobjs > 2)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Event" "', argument " "1"" of type '" "char const *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  if (obj1) {
-    res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  if (swig_obj[1]) {
+    res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Event" "', argument " "2"" of type '" "char const *""'");
     }
@@ -5283,7 +5256,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_Event__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_Event__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   switch_event_t *arg1 = (switch_event_t *) 0 ;
   int arg2 = (int) 0 ;
@@ -5291,18 +5264,16 @@ SWIGINTERN PyObject *_wrap_new_Event__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyO
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   Event *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|O:new_Event",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_event_t, 0 |  0 );
+  if ((nobjs < 1) || (nobjs > 2)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_switch_event_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Event" "', argument " "1"" of type '" "switch_event_t *""'"); 
   }
   arg1 = reinterpret_cast< switch_event_t * >(argp1);
-  if (obj1) {
-    ecode2 = SWIG_AsVal_int(obj1, &val2);
+  if (swig_obj[1]) {
+    ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
     if (!SWIG_IsOK(ecode2)) {
       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_Event" "', argument " "2"" of type '" "int""'");
     } 
@@ -5321,49 +5292,45 @@ SWIGINTERN PyObject *_wrap_new_Event(PyObject *self, PyObject *args) {
   PyObject *argv[3] = {
     0
   };
-  Py_ssize_t ii;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? PyObject_Length(args) : 0;
-  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
+  if (!(argc = SWIG_Python_UnpackTuple(args, "new_Event", 0, 2, argv))) SWIG_fail;
+  --argc;
   if ((argc >= 1) && (argc <= 2)) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_event_t, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
       if (argc <= 1) {
-        return _wrap_new_Event__SWIG_1(self, args);
+        return _wrap_new_Event__SWIG_1(self, argc, argv);
       }
       {
         int res = SWIG_AsVal_int(argv[1], NULL);
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        return _wrap_new_Event__SWIG_1(self, args);
+        return _wrap_new_Event__SWIG_1(self, argc, argv);
       }
     }
   }
   if ((argc >= 1) && (argc <= 2)) {
-    int _v;
+    int _v = 0;
     int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
       if (argc <= 1) {
-        return _wrap_new_Event__SWIG_0(self, args);
+        return _wrap_new_Event__SWIG_0(self, argc, argv);
       }
       int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
-        return _wrap_new_Event__SWIG_0(self, args);
+        return _wrap_new_Event__SWIG_0(self, argc, argv);
       }
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'new_Event'.\n"
+  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_Event'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    Event::Event(char const *,char const *)\n"
     "    Event::Event(switch_event_t *,int)\n");
@@ -5371,15 +5338,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_Event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_Event(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_Event",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Event" "', argument " "1"" of type '" "Event *""'"); 
   }
@@ -5392,7 +5360,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_chat_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_chat_execute(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5405,24 +5373,22 @@ SWIGINTERN PyObject *_wrap_Event_chat_execute(PyObject *SWIGUNUSEDPARM(self), Py
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|O:Event_chat_execute",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_chat_execute", 2, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_chat_execute" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_chat_execute" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Event_chat_execute" "', argument " "3"" of type '" "char const *""'");
     }
@@ -5440,7 +5406,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_chat_send(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_chat_send(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) NULL ;
@@ -5449,18 +5415,17 @@ SWIGINTERN PyObject *_wrap_Event_chat_send(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|O:Event_chat_send",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_chat_send", 1, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_chat_send" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  if (obj1) {
-    res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  if (swig_obj[1]) {
+    res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_chat_send" "', argument " "2"" of type '" "char const *""'");
     }
@@ -5476,7 +5441,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_serialize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_serialize(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) NULL ;
@@ -5485,18 +5450,17 @@ SWIGINTERN PyObject *_wrap_Event_serialize(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|O:Event_serialize",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_serialize", 1, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_serialize" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  if (obj1) {
-    res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  if (swig_obj[1]) {
+    res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_serialize" "', argument " "2"" of type '" "char const *""'");
     }
@@ -5512,7 +5476,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_setPriority(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_setPriority(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   switch_priority_t arg2 = (switch_priority_t) SWITCH_PRIORITY_NORMAL ;
@@ -5520,19 +5484,18 @@ SWIGINTERN PyObject *_wrap_Event_setPriority(PyObject *SWIGUNUSEDPARM(self), PyO
   int res1 = 0 ;
   void *argp2 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|O:Event_setPriority",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_setPriority", 1, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_setPriority" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  if (obj1) {
+  if (swig_obj[1]) {
     {
-      res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_switch_priority_t,  0  | 0);
+      res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_switch_priority_t,  0  | 0);
       if (!SWIG_IsOK(res2)) {
         SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_setPriority" "', argument " "2"" of type '" "switch_priority_t""'"); 
       }  
@@ -5553,7 +5516,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_getHeader(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_getHeader(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5562,17 +5525,16 @@ SWIGINTERN PyObject *_wrap_Event_getHeader(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Event_getHeader",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_getHeader", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_getHeader" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_getHeader" "', argument " "2"" of type '" "char const *""'");
   }
@@ -5587,16 +5549,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_getBody(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_getBody(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Event_getBody",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_getBody" "', argument " "1"" of type '" "Event *""'"); 
   }
@@ -5609,16 +5572,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_getType(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_getType(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Event_getType",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_getType" "', argument " "1"" of type '" "Event *""'"); 
   }
@@ -5631,7 +5595,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_addBody(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_addBody(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5640,17 +5604,16 @@ SWIGINTERN PyObject *_wrap_Event_addBody(PyObject *SWIGUNUSEDPARM(self), PyObjec
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Event_addBody",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_addBody", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_addBody" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_addBody" "', argument " "2"" of type '" "char const *""'");
   }
@@ -5665,7 +5628,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_addHeader(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_addHeader(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5678,23 +5641,21 @@ SWIGINTERN PyObject *_wrap_Event_addHeader(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:Event_addHeader",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_addHeader", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_addHeader" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_addHeader" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Event_addHeader" "', argument " "3"" of type '" "char const *""'");
   }
@@ -5711,7 +5672,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_delHeader(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_delHeader(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5720,17 +5681,16 @@ SWIGINTERN PyObject *_wrap_Event_delHeader(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Event_delHeader",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_delHeader", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_delHeader" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_delHeader" "', argument " "2"" of type '" "char const *""'");
   }
@@ -5745,16 +5705,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_fire(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_fire(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Event_fire",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_fire" "', argument " "1"" of type '" "Event *""'"); 
   }
@@ -5767,7 +5728,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Event_merge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Event_merge(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   Event *arg1 = (Event *) 0 ;
   Event *arg2 = (Event *) 0 ;
@@ -5775,17 +5736,16 @@ SWIGINTERN PyObject *_wrap_Event_merge(PyObject *SWIGUNUSEDPARM(self), PyObject
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Event_merge",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_Event, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Event_merge", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Event_merge" "', argument " "1"" of type '" "Event *""'"); 
   }
   arg1 = reinterpret_cast< Event * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_Event, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Event_merge" "', argument " "2"" of type '" "Event *""'"); 
   }
@@ -5800,12 +5760,16 @@ fail:
 
 SWIGINTERN PyObject *Event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Event, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_EventConsumer_events_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *Event_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_EventConsumer_events_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   switch_queue_t *arg2 = (switch_queue_t *) 0 ;
@@ -5813,16 +5777,15 @@ SWIGINTERN PyObject *_wrap_EventConsumer_events_set(PyObject *SWIGUNUSEDPARM(sel
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:EventConsumer_events_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_events_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_events_set" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_queue_t, SWIG_POINTER_DISOWN |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_switch_queue_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_events_set" "', argument " "2"" of type '" "switch_queue_t *""'"); 
   }
@@ -5835,16 +5798,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_events_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_events_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_queue_t *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_events_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_events_get" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
@@ -5857,7 +5821,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_event_id_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_event_id_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   switch_event_types_t arg2 ;
@@ -5865,17 +5829,16 @@ SWIGINTERN PyObject *_wrap_EventConsumer_e_event_id_set(PyObject *SWIGUNUSEDPARM
   int res1 = 0 ;
   void *argp2 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:EventConsumer_e_event_id_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_e_event_id_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_event_id_set" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
   {
-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_switch_event_types_t,  0  | 0);
+    res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_switch_event_types_t,  0  | 0);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_e_event_id_set" "', argument " "2"" of type '" "switch_event_types_t""'"); 
     }  
@@ -5895,29 +5858,30 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_event_id_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_event_id_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_event_types_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_e_event_id_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_event_id_get" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
   result =  ((arg1)->e_event_id);
-  resultobj = SWIG_NewPointerObj((new switch_event_types_t(static_cast< const switch_event_types_t& >(result))), SWIGTYPE_p_switch_event_types_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new switch_event_types_t(result)), SWIGTYPE_p_switch_event_types_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_callback_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_callback_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5926,21 +5890,20 @@ SWIGINTERN PyObject *_wrap_EventConsumer_e_callback_set(PyObject *SWIGUNUSEDPARM
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:EventConsumer_e_callback_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_e_callback_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_callback_set" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_e_callback_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->e_callback) delete[] arg1->e_callback;
+  delete[] arg1->e_callback;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->e_callback = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -5956,16 +5919,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_callback_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_callback_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_e_callback_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_callback_get" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
@@ -5978,7 +5942,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_subclass_name_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_subclass_name_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -5987,21 +5951,20 @@ SWIGINTERN PyObject *_wrap_EventConsumer_e_subclass_name_set(PyObject *SWIGUNUSE
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:EventConsumer_e_subclass_name_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_e_subclass_name_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_subclass_name_set" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_e_subclass_name_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->e_subclass_name) delete[] arg1->e_subclass_name;
+  delete[] arg1->e_subclass_name;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->e_subclass_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -6017,16 +5980,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_subclass_name_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_subclass_name_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_e_subclass_name_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_subclass_name_get" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
@@ -6039,7 +6003,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_cb_arg_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_cb_arg_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -6048,21 +6012,20 @@ SWIGINTERN PyObject *_wrap_EventConsumer_e_cb_arg_set(PyObject *SWIGUNUSEDPARM(s
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:EventConsumer_e_cb_arg_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_e_cb_arg_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_cb_arg_set" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_e_cb_arg_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->e_cb_arg) delete[] arg1->e_cb_arg;
+  delete[] arg1->e_cb_arg;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->e_cb_arg = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -6078,16 +6041,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_e_cb_arg_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_e_cb_arg_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_e_cb_arg_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_e_cb_arg_get" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
@@ -6100,7 +6064,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_enodes_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_enodes_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   switch_event_node_t **arg2 ;
@@ -6108,16 +6072,15 @@ SWIGINTERN PyObject *_wrap_EventConsumer_enodes_set(PyObject *SWIGUNUSEDPARM(sel
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:EventConsumer_enodes_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_enodes_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_enodes_set" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_p_switch_event_node_t, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_p_switch_event_node_t, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_enodes_set" "', argument " "2"" of type '" "switch_event_node_t *[SWITCH_EVENT_ALL+1]""'"); 
   } 
@@ -6137,16 +6100,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_enodes_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_enodes_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_event_node_t **result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_enodes_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_enodes_get" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
@@ -6159,7 +6123,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_node_index_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_node_index_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   uint32_t arg2 ;
@@ -6167,17 +6131,16 @@ SWIGINTERN PyObject *_wrap_EventConsumer_node_index_set(PyObject *SWIGUNUSEDPARM
   int res1 = 0 ;
   void *argp2 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:EventConsumer_node_index_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_node_index_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_node_index_set" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
   {
-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_uint32_t,  0  | 0);
+    res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_uint32_t,  0  | 0);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_node_index_set" "', argument " "2"" of type '" "uint32_t""'"); 
     }  
@@ -6197,29 +6160,30 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_node_index_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_node_index_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   uint32_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_node_index_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_node_index_get" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
   result =  ((arg1)->node_index);
-  resultobj = SWIG_NewPointerObj((new uint32_t(static_cast< const uint32_t& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new uint32_t(result)), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_EventConsumer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_EventConsumer(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) NULL ;
   char *arg2 = (char *) "" ;
@@ -6232,28 +6196,26 @@ SWIGINTERN PyObject *_wrap_new_EventConsumer(PyObject *SWIGUNUSEDPARM(self), PyO
   int alloc2 = 0 ;
   int val3 ;
   int ecode3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   EventConsumer *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"|OOO:new_EventConsumer",&obj0,&obj1,&obj2)) SWIG_fail;
-  if (obj0) {
-    res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!SWIG_Python_UnpackTuple(args, "new_EventConsumer", 0, 3, swig_obj)) SWIG_fail;
+  if (swig_obj[0]) {
+    res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
     if (!SWIG_IsOK(res1)) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_EventConsumer" "', argument " "1"" of type '" "char const *""'");
     }
     arg1 = reinterpret_cast< char * >(buf1);
   }
-  if (obj1) {
-    res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  if (swig_obj[1]) {
+    res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_EventConsumer" "', argument " "2"" of type '" "char const *""'");
     }
     arg2 = reinterpret_cast< char * >(buf2);
   }
-  if (obj2) {
-    ecode3 = SWIG_AsVal_int(obj2, &val3);
+  if (swig_obj[2]) {
+    ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
     if (!SWIG_IsOK(ecode3)) {
       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_EventConsumer" "', argument " "3"" of type '" "int""'");
     } 
@@ -6271,15 +6233,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_EventConsumer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_EventConsumer(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_EventConsumer",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_EventConsumer" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
@@ -6292,7 +6255,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_bind(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_bind(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -6305,24 +6268,22 @@ SWIGINTERN PyObject *_wrap_EventConsumer_bind(PyObject *SWIGUNUSEDPARM(self), Py
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|O:EventConsumer_bind",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_bind", 2, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_bind" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EventConsumer_bind" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "EventConsumer_bind" "', argument " "3"" of type '" "char const *""'");
     }
@@ -6340,7 +6301,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_pop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_pop(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   int arg2 = (int) 0 ;
@@ -6351,26 +6312,24 @@ SWIGINTERN PyObject *_wrap_EventConsumer_pop(PyObject *SWIGUNUSEDPARM(self), PyO
   int ecode2 = 0 ;
   int val3 ;
   int ecode3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   Event *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|OO:EventConsumer_pop",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "EventConsumer_pop", 1, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_pop" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
   arg1 = reinterpret_cast< EventConsumer * >(argp1);
-  if (obj1) {
-    ecode2 = SWIG_AsVal_int(obj1, &val2);
+  if (swig_obj[1]) {
+    ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
     if (!SWIG_IsOK(ecode2)) {
       SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "EventConsumer_pop" "', argument " "2"" of type '" "int""'");
     } 
     arg2 = static_cast< int >(val2);
   }
-  if (obj2) {
-    ecode3 = SWIG_AsVal_int(obj2, &val3);
+  if (swig_obj[2]) {
+    ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
     if (!SWIG_IsOK(ecode3)) {
       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "EventConsumer_pop" "', argument " "3"" of type '" "int""'");
     } 
@@ -6386,15 +6345,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_EventConsumer_cleanup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_EventConsumer_cleanup(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   EventConsumer *arg1 = (EventConsumer *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:EventConsumer_cleanup",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_EventConsumer, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EventConsumer_cleanup" "', argument " "1"" of type '" "EventConsumer *""'"); 
   }
@@ -6409,20 +6369,25 @@ fail:
 
 SWIGINTERN PyObject *EventConsumer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_EventConsumer, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_delete_CoreSession(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *EventConsumer_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
+SWIGINTERN PyObject *_wrap_delete_CoreSession(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_CoreSession",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CoreSession" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6435,7 +6400,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_session_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_session_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
@@ -6443,16 +6408,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_session_set(PyObject *SWIGUNUSEDPARM(self
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_session_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_session_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_session_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_core_session_t, SWIG_POINTER_DISOWN |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_switch_core_session_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_session_set" "', argument " "2"" of type '" "switch_core_session_t *""'"); 
   }
@@ -6465,16 +6429,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_session_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_session_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_core_session_t *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_session_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_session_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6487,7 +6452,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_channel_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_channel_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   switch_channel_t *arg2 = (switch_channel_t *) 0 ;
@@ -6495,16 +6460,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_channel_set(PyObject *SWIGUNUSEDPARM(self
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_channel_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_channel_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_channel_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_switch_channel_t, SWIG_POINTER_DISOWN |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_switch_channel_t, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_channel_set" "', argument " "2"" of type '" "switch_channel_t *""'"); 
   }
@@ -6517,16 +6481,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_channel_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_channel_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_channel_t *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_channel_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_channel_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6539,7 +6504,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_flags_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_flags_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   unsigned int arg2 ;
@@ -6547,16 +6512,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_flags_set(PyObject *SWIGUNUSEDPARM(self),
   int res1 = 0 ;
   unsigned int val2 ;
   int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_flags_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_flags_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flags_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_unsigned_SS_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_flags_set" "', argument " "2"" of type '" "unsigned int""'");
   } 
@@ -6569,16 +6533,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_flags_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_flags_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   unsigned int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_flags_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flags_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6591,7 +6556,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_allocated_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_allocated_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -6599,16 +6564,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_allocated_set(PyObject *SWIGUNUSEDPARM(se
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_allocated_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_allocated_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_allocated_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_allocated_set" "', argument " "2"" of type '" "int""'");
   } 
@@ -6621,16 +6585,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_allocated_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_allocated_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_allocated_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_allocated_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6643,7 +6608,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_cb_state_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_cb_state_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   input_callback_state *arg2 = (input_callback_state *) 0 ;
@@ -6651,16 +6616,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_cb_state_set(PyObject *SWIGUNUSEDPARM(sel
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_cb_state_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_cb_state_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_cb_state_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_input_callback_state, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_input_callback_state, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_cb_state_set" "', argument " "2"" of type '" "input_callback_state *""'"); 
   }
@@ -6673,16 +6637,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_cb_state_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_cb_state_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   input_callback_state *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_cb_state_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_cb_state_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6695,7 +6660,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_hook_state_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_hook_state_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   switch_channel_state_t arg2 ;
@@ -6703,17 +6668,16 @@ SWIGINTERN PyObject *_wrap_CoreSession_hook_state_set(PyObject *SWIGUNUSEDPARM(s
   int res1 = 0 ;
   void *argp2 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_hook_state_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_hook_state_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hook_state_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
   {
-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_switch_channel_state_t,  0  | 0);
+    res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_switch_channel_state_t,  0  | 0);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_hook_state_set" "', argument " "2"" of type '" "switch_channel_state_t""'"); 
     }  
@@ -6733,29 +6697,30 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_hook_state_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_hook_state_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_channel_state_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_hook_state_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hook_state_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
   result =  ((arg1)->hook_state);
-  resultobj = SWIG_NewPointerObj((new switch_channel_state_t(static_cast< const switch_channel_state_t& >(result))), SWIGTYPE_p_switch_channel_state_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new switch_channel_state_t(result)), SWIGTYPE_p_switch_channel_state_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_cause_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_cause_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   switch_call_cause_t arg2 ;
@@ -6763,17 +6728,16 @@ SWIGINTERN PyObject *_wrap_CoreSession_cause_set(PyObject *SWIGUNUSEDPARM(self),
   int res1 = 0 ;
   void *argp2 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_cause_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_cause_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_cause_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
   {
-    res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_switch_call_cause_t,  0  | 0);
+    res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_switch_call_cause_t,  0  | 0);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_cause_set" "', argument " "2"" of type '" "switch_call_cause_t""'"); 
     }  
@@ -6793,29 +6757,30 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_cause_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_cause_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_call_cause_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_cause_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_cause_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
   result =  ((arg1)->cause);
-  resultobj = SWIG_NewPointerObj((new switch_call_cause_t(static_cast< const switch_call_cause_t& >(result))), SWIGTYPE_p_switch_call_cause_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new switch_call_cause_t(result)), SWIGTYPE_p_switch_call_cause_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_uuid_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_uuid_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -6824,21 +6789,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_uuid_set(PyObject *SWIGUNUSEDPARM(self),
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_uuid_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_uuid_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_uuid_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_uuid_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->uuid) delete[] arg1->uuid;
+  delete[] arg1->uuid;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->uuid = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -6854,16 +6818,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_uuid_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_uuid_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_uuid_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_uuid_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6876,7 +6841,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_tts_name_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_tts_name_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -6885,21 +6850,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_tts_name_set(PyObject *SWIGUNUSEDPARM(sel
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_tts_name_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_tts_name_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_tts_name_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_tts_name_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->tts_name) delete[] arg1->tts_name;
+  delete[] arg1->tts_name;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->tts_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -6915,16 +6879,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_tts_name_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_tts_name_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_tts_name_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_tts_name_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6937,7 +6902,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_voice_name_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_voice_name_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -6946,21 +6911,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_voice_name_set(PyObject *SWIGUNUSEDPARM(s
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_voice_name_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_voice_name_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_voice_name_set" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_voice_name_set" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (arg1->voice_name) delete[] arg1->voice_name;
+  delete[] arg1->voice_name;
   if (arg2) {
     size_t size = strlen(reinterpret_cast< const char * >(arg2)) + 1;
     arg1->voice_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
@@ -6976,16 +6940,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_voice_name_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_voice_name_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_voice_name_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_voice_name_get" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -6998,7 +6963,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_insertFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_insertFile(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7014,29 +6979,26 @@ SWIGINTERN PyObject *_wrap_CoreSession_insertFile(PyObject *SWIGUNUSEDPARM(self)
   int alloc3 = 0 ;
   int val4 ;
   int ecode4 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
+  PyObject *swig_obj[4] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CoreSession_insertFile",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_insertFile", 4, 4, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_insertFile" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_insertFile" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_insertFile" "', argument " "3"" of type '" "char const *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+  ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
   if (!SWIG_IsOK(ecode4)) {
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_insertFile" "', argument " "4"" of type '" "int""'");
   } 
@@ -7053,16 +7015,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_answer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_answer(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_answer",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_answer" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -7075,7 +7038,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession__print(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession__print(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7084,17 +7047,16 @@ SWIGINTERN PyObject *_wrap_CoreSession__print(PyObject *SWIGUNUSEDPARM(self), Py
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession__print",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession__print", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession__print" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession__print" "', argument " "2"" of type '" "char *""'");
   }
@@ -7109,16 +7071,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_preAnswer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_preAnswer(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_preAnswer",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_preAnswer" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -7131,7 +7094,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_hangup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_hangup(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) "normal_clearing" ;
@@ -7140,17 +7103,16 @@ SWIGINTERN PyObject *_wrap_CoreSession_hangup(PyObject *SWIGUNUSEDPARM(self), Py
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O|O:CoreSession_hangup",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_hangup", 1, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hangup" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  if (obj1) {
-    res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  if (swig_obj[1]) {
+    res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
     if (!SWIG_IsOK(res2)) {
       SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_hangup" "', argument " "2"" of type '" "char const *""'");
     }
@@ -7166,15 +7128,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_hangupState(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_hangupState(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_hangupState",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hangupState" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -7187,7 +7150,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_setVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_setVariable(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7200,22 +7163,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_setVariable(PyObject *SWIGUNUSEDPARM(self
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_setVariable",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_setVariable", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setVariable" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setVariable" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_setVariable" "', argument " "3"" of type '" "char *""'");
   }
@@ -7232,7 +7193,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_setPrivate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_setPrivate(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7243,22 +7204,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_setPrivate(PyObject *SWIGUNUSEDPARM(self)
   char *buf2 = 0 ;
   int alloc2 = 0 ;
   int res3 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_setPrivate",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_setPrivate", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setPrivate" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setPrivate" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_ConvertPtr(obj2,SWIG_as_voidptrptr(&arg3), 0, 0);
+  res3 = SWIG_ConvertPtr(swig_obj[2],SWIG_as_voidptrptr(&arg3), 0, 0);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_setPrivate" "', argument " "3"" of type '" "void *""'"); 
   }
@@ -7272,7 +7231,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_getPrivate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_getPrivate(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7281,17 +7240,16 @@ SWIGINTERN PyObject *_wrap_CoreSession_getPrivate(PyObject *SWIGUNUSEDPARM(self)
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   void *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_getPrivate",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_getPrivate", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getPrivate" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_getPrivate" "', argument " "2"" of type '" "char *""'");
   }
@@ -7306,7 +7264,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_getVariable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_getVariable(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7315,17 +7273,16 @@ SWIGINTERN PyObject *_wrap_CoreSession_getVariable(PyObject *SWIGUNUSEDPARM(self
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_getVariable",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_getVariable", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getVariable" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_getVariable" "', argument " "2"" of type '" "char *""'");
   }
@@ -7340,7 +7297,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_process_callback_result(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_process_callback_result(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7349,23 +7306,22 @@ SWIGINTERN PyObject *_wrap_CoreSession_process_callback_result(PyObject *SWIGUNU
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   switch_status_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_process_callback_result",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_process_callback_result", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_process_callback_result" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_process_callback_result" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
   result = (arg1)->process_callback_result(arg2);
-  resultobj = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
   if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
   return resultobj;
 fail:
@@ -7374,7 +7330,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_say(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_say(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7399,41 +7355,36 @@ SWIGINTERN PyObject *_wrap_CoreSession_say(PyObject *SWIGUNUSEDPARM(self), PyObj
   int res6 ;
   char *buf6 = 0 ;
   int alloc6 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
-  PyObject * obj5 = 0 ;
+  PyObject *swig_obj[6] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOO|O:CoreSession_say",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_say", 5, 6, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_say" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_say" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_say" "', argument " "3"" of type '" "char const *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
   if (!SWIG_IsOK(res4)) {
     SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_say" "', argument " "4"" of type '" "char const *""'");
   }
   arg4 = reinterpret_cast< char * >(buf4);
-  res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+  res5 = SWIG_AsCharPtrAndSize(swig_obj[4], &buf5, NULL, &alloc5);
   if (!SWIG_IsOK(res5)) {
     SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CoreSession_say" "', argument " "5"" of type '" "char const *""'");
   }
   arg5 = reinterpret_cast< char * >(buf5);
-  if (obj5) {
-    res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+  if (swig_obj[5]) {
+    res6 = SWIG_AsCharPtrAndSize(swig_obj[5], &buf6, NULL, &alloc6);
     if (!SWIG_IsOK(res6)) {
       SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CoreSession_say" "', argument " "6"" of type '" "char const *""'");
     }
@@ -7457,7 +7408,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_sayPhrase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_sayPhrase(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7474,31 +7425,28 @@ SWIGINTERN PyObject *_wrap_CoreSession_sayPhrase(PyObject *SWIGUNUSEDPARM(self),
   int res4 ;
   char *buf4 = 0 ;
   int alloc4 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
+  PyObject *swig_obj[4] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|OO:CoreSession_sayPhrase",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_sayPhrase", 2, 4, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_sayPhrase" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_sayPhrase" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_sayPhrase" "', argument " "3"" of type '" "char const *""'");
     }
     arg3 = reinterpret_cast< char * >(buf3);
   }
-  if (obj3) {
-    res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  if (swig_obj[3]) {
+    res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_sayPhrase" "', argument " "4"" of type '" "char const *""'");
     }
@@ -7518,16 +7466,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_hangupCause(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_hangupCause(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_hangupCause",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_hangupCause" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -7540,16 +7489,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_getState(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_getState(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_getState",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getState" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -7562,7 +7512,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_recordFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_recordFile(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7580,40 +7530,36 @@ SWIGINTERN PyObject *_wrap_CoreSession_recordFile(PyObject *SWIGUNUSEDPARM(self)
   int ecode4 = 0 ;
   int val5 ;
   int ecode5 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
+  PyObject *swig_obj[5] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|OOO:CoreSession_recordFile",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_recordFile", 2, 5, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_recordFile" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_recordFile" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    ecode3 = SWIG_AsVal_int(obj2, &val3);
+  if (swig_obj[2]) {
+    ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
     if (!SWIG_IsOK(ecode3)) {
       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_recordFile" "', argument " "3"" of type '" "int""'");
     } 
     arg3 = static_cast< int >(val3);
   }
-  if (obj3) {
-    ecode4 = SWIG_AsVal_int(obj3, &val4);
+  if (swig_obj[3]) {
+    ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
     if (!SWIG_IsOK(ecode4)) {
       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_recordFile" "', argument " "4"" of type '" "int""'");
     } 
     arg4 = static_cast< int >(val4);
   }
-  if (obj4) {
-    ecode5 = SWIG_AsVal_int(obj4, &val5);
+  if (swig_obj[4]) {
+    ecode5 = SWIG_AsVal_int(swig_obj[4], &val5);
     if (!SWIG_IsOK(ecode5)) {
       SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_recordFile" "', argument " "5"" of type '" "int""'");
     } 
@@ -7629,7 +7575,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_originate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_originate(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   CoreSession *arg2 = (CoreSession *) 0 ;
@@ -7647,38 +7593,34 @@ SWIGINTERN PyObject *_wrap_CoreSession_originate(PyObject *SWIGUNUSEDPARM(self),
   int ecode4 = 0 ;
   void *argp5 = 0 ;
   int res5 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
+  PyObject *swig_obj[5] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO|OO:CoreSession_originate",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_originate", 3, 5, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_originate" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_originate" "', argument " "2"" of type '" "CoreSession *""'"); 
   }
   arg2 = reinterpret_cast< CoreSession * >(argp2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_originate" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  if (obj3) {
-    ecode4 = SWIG_AsVal_int(obj3, &val4);
+  if (swig_obj[3]) {
+    ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
     if (!SWIG_IsOK(ecode4)) {
       SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_originate" "', argument " "4"" of type '" "int""'");
     } 
     arg4 = static_cast< int >(val4);
   }
-  if (obj4) {
-    res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_switch_state_handler_table_t, 0 |  0 );
+  if (swig_obj[4]) {
+    res5 = SWIG_ConvertPtr(swig_obj[4], &argp5,SWIGTYPE_p_switch_state_handler_table_t, 0 |  0 );
     if (!SWIG_IsOK(res5)) {
       SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CoreSession_originate" "', argument " "5"" of type '" "switch_state_handler_table_t *""'"); 
     }
@@ -7694,15 +7636,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_destroy(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_destroy",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_destroy" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -7715,7 +7658,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_setDTMFCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_setDTMFCallback(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *arg2 = (void *) 0 ;
@@ -7726,21 +7669,19 @@ SWIGINTERN PyObject *_wrap_CoreSession_setDTMFCallback(PyObject *SWIGUNUSEDPARM(
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_setDTMFCallback",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_setDTMFCallback", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setDTMFCallback" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, 0);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setDTMFCallback" "', argument " "2"" of type '" "void *""'"); 
   }
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_setDTMFCallback" "', argument " "3"" of type '" "char *""'");
   }
@@ -7755,7 +7696,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_speak(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_speak(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7764,17 +7705,16 @@ SWIGINTERN PyObject *_wrap_CoreSession_speak(PyObject *SWIGUNUSEDPARM(self), PyO
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_speak",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_speak", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_speak" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_speak" "', argument " "2"" of type '" "char *""'");
   }
@@ -7789,7 +7729,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_set_tts_parms(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_set_tts_parms(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7802,22 +7742,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_set_tts_parms(PyObject *SWIGUNUSEDPARM(se
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_set_tts_parms",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_set_tts_parms", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_set_tts_parms" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_set_tts_parms" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_set_tts_parms" "', argument " "3"" of type '" "char *""'");
   }
@@ -7834,7 +7772,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_set_tts_params(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_set_tts_params(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -7847,22 +7785,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_set_tts_params(PyObject *SWIGUNUSEDPARM(s
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_set_tts_params",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_set_tts_params", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_set_tts_params" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_set_tts_params" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_set_tts_params" "', argument " "3"" of type '" "char *""'");
   }
@@ -7879,7 +7815,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_collectDigits__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_collectDigits__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -7887,17 +7823,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_collectDigits__SWIG_0(PyObject *SWIGUNUSE
   int res1 = 0 ;
   int val2 ;
   int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_collectDigits",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_collectDigits" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_collectDigits" "', argument " "2"" of type '" "int""'");
   } 
@@ -7910,7 +7844,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_collectDigits__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_collectDigits__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -7921,23 +7855,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_collectDigits__SWIG_1(PyObject *SWIGUNUSE
   int ecode2 = 0 ;
   int val3 ;
   int ecode3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_collectDigits",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_collectDigits" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_collectDigits" "', argument " "2"" of type '" "int""'");
   } 
   arg2 = static_cast< int >(val2);
-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+  ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_collectDigits" "', argument " "3"" of type '" "int""'");
   } 
@@ -7955,15 +7886,11 @@ SWIGINTERN PyObject *_wrap_CoreSession_collectDigits(PyObject *self, PyObject *a
   PyObject *argv[4] = {
     0
   };
-  Py_ssize_t ii;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? PyObject_Length(args) : 0;
-  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
+  if (!(argc = SWIG_Python_UnpackTuple(args, "CoreSession_collectDigits", 0, 3, argv))) SWIG_fail;
+  --argc;
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0);
     _v = SWIG_CheckState(res);
@@ -7973,12 +7900,12 @@ SWIGINTERN PyObject *_wrap_CoreSession_collectDigits(PyObject *self, PyObject *a
         _v = SWIG_CheckState(res);
       }
       if (_v) {
-        return _wrap_CoreSession_collectDigits__SWIG_0(self, args);
+        return _wrap_CoreSession_collectDigits__SWIG_0(self, argc, argv);
       }
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0);
     _v = SWIG_CheckState(res);
@@ -7993,14 +7920,14 @@ SWIGINTERN PyObject *_wrap_CoreSession_collectDigits(PyObject *self, PyObject *a
           _v = SWIG_CheckState(res);
         }
         if (_v) {
-          return _wrap_CoreSession_collectDigits__SWIG_1(self, args);
+          return _wrap_CoreSession_collectDigits__SWIG_1(self, argc, argv);
         }
       }
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'CoreSession_collectDigits'.\n"
+  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'CoreSession_collectDigits'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    CoreSession::collectDigits(int)\n"
     "    CoreSession::collectDigits(int,int)\n");
@@ -8008,7 +7935,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -8023,29 +7950,25 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_0(PyObject *SWIGUNUSEDPAR
   int alloc3 = 0 ;
   int val4 ;
   int ecode4 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CoreSession_getDigits",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if ((nobjs < 4) || (nobjs > 4)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getDigits" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_getDigits" "', argument " "2"" of type '" "int""'");
   } 
   arg2 = static_cast< int >(val2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_getDigits" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+  ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
   if (!SWIG_IsOK(ecode4)) {
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_getDigits" "', argument " "4"" of type '" "int""'");
   } 
@@ -8060,7 +7983,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -8078,35 +8001,30 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_1(PyObject *SWIGUNUSEDPAR
   int ecode4 = 0 ;
   int val5 ;
   int ecode5 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:CoreSession_getDigits",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if ((nobjs < 5) || (nobjs > 5)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getDigits" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_getDigits" "', argument " "2"" of type '" "int""'");
   } 
   arg2 = static_cast< int >(val2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_getDigits" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+  ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
   if (!SWIG_IsOK(ecode4)) {
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_getDigits" "', argument " "4"" of type '" "int""'");
   } 
   arg4 = static_cast< int >(val4);
-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+  ecode5 = SWIG_AsVal_int(swig_obj[4], &val5);
   if (!SWIG_IsOK(ecode5)) {
     SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_getDigits" "', argument " "5"" of type '" "int""'");
   } 
@@ -8121,7 +8039,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -8142,41 +8060,35 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits__SWIG_2(PyObject *SWIGUNUSEDPAR
   int ecode5 = 0 ;
   int val6 ;
   int ecode6 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
-  PyObject * obj5 = 0 ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CoreSession_getDigits",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if ((nobjs < 6) || (nobjs > 6)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getDigits" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_getDigits" "', argument " "2"" of type '" "int""'");
   } 
   arg2 = static_cast< int >(val2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_getDigits" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+  ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
   if (!SWIG_IsOK(ecode4)) {
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_getDigits" "', argument " "4"" of type '" "int""'");
   } 
   arg4 = static_cast< int >(val4);
-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+  ecode5 = SWIG_AsVal_int(swig_obj[4], &val5);
   if (!SWIG_IsOK(ecode5)) {
     SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_getDigits" "', argument " "5"" of type '" "int""'");
   } 
   arg5 = static_cast< int >(val5);
-  ecode6 = SWIG_AsVal_int(obj5, &val6);
+  ecode6 = SWIG_AsVal_int(swig_obj[5], &val6);
   if (!SWIG_IsOK(ecode6)) {
     SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "CoreSession_getDigits" "', argument " "6"" of type '" "int""'");
   } 
@@ -8196,15 +8108,11 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits(PyObject *self, PyObject *args)
   PyObject *argv[7] = {
     0
   };
-  Py_ssize_t ii;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? PyObject_Length(args) : 0;
-  for (ii = 0; (ii < 6) && (ii < argc); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
+  if (!(argc = SWIG_Python_UnpackTuple(args, "CoreSession_getDigits", 0, 6, argv))) SWIG_fail;
+  --argc;
   if (argc == 4) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0);
     _v = SWIG_CheckState(res);
@@ -8222,14 +8130,14 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits(PyObject *self, PyObject *args)
             _v = SWIG_CheckState(res);
           }
           if (_v) {
-            return _wrap_CoreSession_getDigits__SWIG_0(self, args);
+            return _wrap_CoreSession_getDigits__SWIG_0(self, argc, argv);
           }
         }
       }
     }
   }
   if (argc == 5) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0);
     _v = SWIG_CheckState(res);
@@ -8252,7 +8160,7 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits(PyObject *self, PyObject *args)
               _v = SWIG_CheckState(res);
             }
             if (_v) {
-              return _wrap_CoreSession_getDigits__SWIG_1(self, args);
+              return _wrap_CoreSession_getDigits__SWIG_1(self, argc, argv);
             }
           }
         }
@@ -8260,7 +8168,7 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits(PyObject *self, PyObject *args)
     }
   }
   if (argc == 6) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_CoreSession, 0);
     _v = SWIG_CheckState(res);
@@ -8288,7 +8196,7 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits(PyObject *self, PyObject *args)
                 _v = SWIG_CheckState(res);
               }
               if (_v) {
-                return _wrap_CoreSession_getDigits__SWIG_2(self, args);
+                return _wrap_CoreSession_getDigits__SWIG_2(self, argc, argv);
               }
             }
           }
@@ -8298,7 +8206,7 @@ SWIGINTERN PyObject *_wrap_CoreSession_getDigits(PyObject *self, PyObject *args)
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'CoreSession_getDigits'.\n"
+  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'CoreSession_getDigits'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    CoreSession::getDigits(int,char *,int)\n"
     "    CoreSession::getDigits(int,char *,int,int)\n"
@@ -8307,7 +8215,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_transfer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_transfer(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -8324,32 +8232,29 @@ SWIGINTERN PyObject *_wrap_CoreSession_transfer(PyObject *SWIGUNUSEDPARM(self),
   int res4 ;
   char *buf4 = 0 ;
   int alloc4 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
+  PyObject *swig_obj[4] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|OO:CoreSession_transfer",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_transfer", 2, 4, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_transfer" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_transfer" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_transfer" "', argument " "3"" of type '" "char *""'");
     }
     arg3 = reinterpret_cast< char * >(buf3);
   }
-  if (obj3) {
-    res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  if (swig_obj[3]) {
+    res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_transfer" "', argument " "4"" of type '" "char *""'");
     }
@@ -8369,7 +8274,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_read(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_read(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -8394,48 +8299,42 @@ SWIGINTERN PyObject *_wrap_CoreSession_read(PyObject *SWIGUNUSEDPARM(self), PyOb
   int alloc6 = 0 ;
   int val7 ;
   int ecode7 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
-  PyObject * obj5 = 0 ;
-  PyObject * obj6 = 0 ;
+  PyObject *swig_obj[7] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO|O:CoreSession_read",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_read", 6, 7, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_read" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_read" "', argument " "2"" of type '" "int""'");
   } 
   arg2 = static_cast< int >(val2);
-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+  ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_read" "', argument " "3"" of type '" "int""'");
   } 
   arg3 = static_cast< int >(val3);
-  res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
   if (!SWIG_IsOK(res4)) {
     SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_read" "', argument " "4"" of type '" "char const *""'");
   }
   arg4 = reinterpret_cast< char * >(buf4);
-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+  ecode5 = SWIG_AsVal_int(swig_obj[4], &val5);
   if (!SWIG_IsOK(ecode5)) {
     SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_read" "', argument " "5"" of type '" "int""'");
   } 
   arg5 = static_cast< int >(val5);
-  res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+  res6 = SWIG_AsCharPtrAndSize(swig_obj[5], &buf6, NULL, &alloc6);
   if (!SWIG_IsOK(res6)) {
     SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CoreSession_read" "', argument " "6"" of type '" "char const *""'");
   }
   arg6 = reinterpret_cast< char * >(buf6);
-  if (obj6) {
-    ecode7 = SWIG_AsVal_int(obj6, &val7);
+  if (swig_obj[6]) {
+    ecode7 = SWIG_AsVal_int(swig_obj[6], &val7);
     if (!SWIG_IsOK(ecode7)) {
       SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "CoreSession_read" "', argument " "7"" of type '" "int""'");
     } 
@@ -8453,7 +8352,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_detectSpeech(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_detectSpeech(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -8474,39 +8373,35 @@ SWIGINTERN PyObject *_wrap_CoreSession_detectSpeech(PyObject *SWIGUNUSEDPARM(sel
   int res5 ;
   char *buf5 = 0 ;
   int alloc5 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
+  PyObject *swig_obj[5] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|OOO:CoreSession_detectSpeech",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_detectSpeech", 2, 5, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_detectSpeech" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_detectSpeech" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_detectSpeech" "', argument " "3"" of type '" "char *""'");
     }
     arg3 = reinterpret_cast< char * >(buf3);
   }
-  if (obj3) {
-    res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  if (swig_obj[3]) {
+    res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
     if (!SWIG_IsOK(res4)) {
       SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_detectSpeech" "', argument " "4"" of type '" "char *""'");
     }
     arg4 = reinterpret_cast< char * >(buf4);
   }
-  if (obj4) {
-    res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+  if (swig_obj[4]) {
+    res5 = SWIG_AsCharPtrAndSize(swig_obj[4], &buf5, NULL, &alloc5);
     if (!SWIG_IsOK(res5)) {
       SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "CoreSession_detectSpeech" "', argument " "5"" of type '" "char *""'");
     }
@@ -8528,7 +8423,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_playAndGetDigits(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_playAndGetDigits(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -8572,82 +8467,71 @@ SWIGINTERN PyObject *_wrap_CoreSession_playAndGetDigits(PyObject *SWIGUNUSEDPARM
   int res12 ;
   char *buf12 = 0 ;
   int alloc12 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
-  PyObject * obj5 = 0 ;
-  PyObject * obj6 = 0 ;
-  PyObject * obj7 = 0 ;
-  PyObject * obj8 = 0 ;
-  PyObject * obj9 = 0 ;
-  PyObject * obj10 = 0 ;
-  PyObject * obj11 = 0 ;
+  PyObject *swig_obj[12] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOOOOOO|OOO:CoreSession_playAndGetDigits",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_playAndGetDigits", 9, 12, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_playAndGetDigits" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_playAndGetDigits" "', argument " "2"" of type '" "int""'");
   } 
   arg2 = static_cast< int >(val2);
-  ecode3 = SWIG_AsVal_int(obj2, &val3);
+  ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
   if (!SWIG_IsOK(ecode3)) {
     SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_playAndGetDigits" "', argument " "3"" of type '" "int""'");
   } 
   arg3 = static_cast< int >(val3);
-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+  ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
   if (!SWIG_IsOK(ecode4)) {
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "CoreSession_playAndGetDigits" "', argument " "4"" of type '" "int""'");
   } 
   arg4 = static_cast< int >(val4);
-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+  ecode5 = SWIG_AsVal_int(swig_obj[4], &val5);
   if (!SWIG_IsOK(ecode5)) {
     SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_playAndGetDigits" "', argument " "5"" of type '" "int""'");
   } 
   arg5 = static_cast< int >(val5);
-  res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+  res6 = SWIG_AsCharPtrAndSize(swig_obj[5], &buf6, NULL, &alloc6);
   if (!SWIG_IsOK(res6)) {
     SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CoreSession_playAndGetDigits" "', argument " "6"" of type '" "char *""'");
   }
   arg6 = reinterpret_cast< char * >(buf6);
-  res7 = SWIG_AsCharPtrAndSize(obj6, &buf7, NULL, &alloc7);
+  res7 = SWIG_AsCharPtrAndSize(swig_obj[6], &buf7, NULL, &alloc7);
   if (!SWIG_IsOK(res7)) {
     SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "CoreSession_playAndGetDigits" "', argument " "7"" of type '" "char *""'");
   }
   arg7 = reinterpret_cast< char * >(buf7);
-  res8 = SWIG_AsCharPtrAndSize(obj7, &buf8, NULL, &alloc8);
+  res8 = SWIG_AsCharPtrAndSize(swig_obj[7], &buf8, NULL, &alloc8);
   if (!SWIG_IsOK(res8)) {
     SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "CoreSession_playAndGetDigits" "', argument " "8"" of type '" "char *""'");
   }
   arg8 = reinterpret_cast< char * >(buf8);
-  res9 = SWIG_AsCharPtrAndSize(obj8, &buf9, NULL, &alloc9);
+  res9 = SWIG_AsCharPtrAndSize(swig_obj[8], &buf9, NULL, &alloc9);
   if (!SWIG_IsOK(res9)) {
     SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "CoreSession_playAndGetDigits" "', argument " "9"" of type '" "char *""'");
   }
   arg9 = reinterpret_cast< char * >(buf9);
-  if (obj9) {
-    res10 = SWIG_AsCharPtrAndSize(obj9, &buf10, NULL, &alloc10);
+  if (swig_obj[9]) {
+    res10 = SWIG_AsCharPtrAndSize(swig_obj[9], &buf10, NULL, &alloc10);
     if (!SWIG_IsOK(res10)) {
       SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "CoreSession_playAndGetDigits" "', argument " "10"" of type '" "char const *""'");
     }
     arg10 = reinterpret_cast< char * >(buf10);
   }
-  if (obj10) {
-    ecode11 = SWIG_AsVal_int(obj10, &val11);
+  if (swig_obj[10]) {
+    ecode11 = SWIG_AsVal_int(swig_obj[10], &val11);
     if (!SWIG_IsOK(ecode11)) {
       SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "CoreSession_playAndGetDigits" "', argument " "11"" of type '" "int""'");
     } 
     arg11 = static_cast< int >(val11);
   }
-  if (obj11) {
-    res12 = SWIG_AsCharPtrAndSize(obj11, &buf12, NULL, &alloc12);
+  if (swig_obj[11]) {
+    res12 = SWIG_AsCharPtrAndSize(swig_obj[11], &buf12, NULL, &alloc12);
     if (!SWIG_IsOK(res12)) {
       SWIG_exception_fail(SWIG_ArgError(res12), "in method '" "CoreSession_playAndGetDigits" "', argument " "12"" of type '" "char const *""'");
     }
@@ -8673,7 +8557,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_playAndDetectSpeech(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_playAndDetectSpeech(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -8690,29 +8574,26 @@ SWIGINTERN PyObject *_wrap_CoreSession_playAndDetectSpeech(PyObject *SWIGUNUSEDP
   int res4 ;
   char *buf4 = 0 ;
   int alloc4 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
+  PyObject *swig_obj[4] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOO:CoreSession_playAndDetectSpeech",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_playAndDetectSpeech", 4, 4, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_playAndDetectSpeech" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_playAndDetectSpeech" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_playAndDetectSpeech" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
   if (!SWIG_IsOK(res4)) {
     SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_playAndDetectSpeech" "', argument " "4"" of type '" "char *""'");
   }
@@ -8732,7 +8613,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_streamFile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_streamFile(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -8744,24 +8625,22 @@ SWIGINTERN PyObject *_wrap_CoreSession_streamFile(PyObject *SWIGUNUSEDPARM(self)
   int alloc2 = 0 ;
   int val3 ;
   int ecode3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|O:CoreSession_streamFile",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_streamFile", 2, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_streamFile" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_streamFile" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    ecode3 = SWIG_AsVal_int(obj2, &val3);
+  if (swig_obj[2]) {
+    ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
     if (!SWIG_IsOK(ecode3)) {
       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_streamFile" "', argument " "3"" of type '" "int""'");
     } 
@@ -8777,7 +8656,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_sleep(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_sleep(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   int arg2 ;
@@ -8788,24 +8667,22 @@ SWIGINTERN PyObject *_wrap_CoreSession_sleep(PyObject *SWIGUNUSEDPARM(self), PyO
   int ecode2 = 0 ;
   int val3 ;
   int ecode3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|O:CoreSession_sleep",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_sleep", 2, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_sleep" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_int(obj1, &val2);
+  ecode2 = SWIG_AsVal_int(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_sleep" "', argument " "2"" of type '" "int""'");
   } 
   arg2 = static_cast< int >(val2);
-  if (obj2) {
-    ecode3 = SWIG_AsVal_int(obj2, &val3);
+  if (swig_obj[2]) {
+    ecode3 = SWIG_AsVal_int(swig_obj[2], &val3);
     if (!SWIG_IsOK(ecode3)) {
       SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "CoreSession_sleep" "', argument " "3"" of type '" "int""'");
     } 
@@ -8819,16 +8696,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_flushEvents(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_flushEvents(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_flushEvents",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flushEvents" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -8841,16 +8719,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_flushDigits(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_flushDigits(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_flushDigits",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_flushDigits" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -8863,7 +8742,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_setAutoHangup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_setAutoHangup(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   bool arg2 ;
@@ -8871,17 +8750,16 @@ SWIGINTERN PyObject *_wrap_CoreSession_setAutoHangup(PyObject *SWIGUNUSEDPARM(se
   int res1 = 0 ;
   bool val2 ;
   int ecode2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   int result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_setAutoHangup",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_setAutoHangup", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setAutoHangup" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  ecode2 = SWIG_AsVal_bool(obj1, &val2);
+  ecode2 = SWIG_AsVal_bool(swig_obj[1], &val2);
   if (!SWIG_IsOK(ecode2)) {
     SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "CoreSession_setAutoHangup" "', argument " "2"" of type '" "bool""'");
   } 
@@ -8894,23 +8772,22 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_setHangupHook(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_setHangupHook(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *arg2 = (void *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
   int res2 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_setHangupHook",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_setHangupHook", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setHangupHook" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, 0);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setHangupHook" "', argument " "2"" of type '" "void *""'"); 
   }
@@ -8922,16 +8799,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_ready(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_ready(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_ready",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_ready" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -8944,16 +8822,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_bridged(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_bridged(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_bridged",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_bridged" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -8966,16 +8845,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_answered(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_answered(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_answered",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_answered" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -8988,16 +8868,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_mediaReady(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_mediaReady(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_mediaReady",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_mediaReady" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -9010,7 +8891,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_waitForAnswer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_waitForAnswer(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   CoreSession *arg2 = (CoreSession *) 0 ;
@@ -9018,16 +8899,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_waitForAnswer(PyObject *SWIGUNUSEDPARM(se
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_waitForAnswer",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_waitForAnswer", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_waitForAnswer" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_waitForAnswer" "', argument " "2"" of type '" "CoreSession *""'"); 
   }
@@ -9040,7 +8920,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_execute(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -9053,23 +8933,21 @@ SWIGINTERN PyObject *_wrap_CoreSession_execute(PyObject *SWIGUNUSEDPARM(self), P
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO|O:CoreSession_execute",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_execute", 2, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_execute" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_execute" "', argument " "2"" of type '" "char const *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  if (obj2) {
-    res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  if (swig_obj[2]) {
+    res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_execute" "', argument " "3"" of type '" "char const *""'");
     }
@@ -9087,7 +8965,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_sendEvent(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_sendEvent(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   Event *arg2 = (Event *) 0 ;
@@ -9095,16 +8973,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_sendEvent(PyObject *SWIGUNUSEDPARM(self),
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_sendEvent",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_sendEvent", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_sendEvent" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_Event, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_sendEvent" "', argument " "2"" of type '" "Event *""'"); 
   }
@@ -9117,7 +8994,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_setEventData(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_setEventData(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   Event *arg2 = (Event *) 0 ;
@@ -9125,16 +9002,15 @@ SWIGINTERN PyObject *_wrap_CoreSession_setEventData(PyObject *SWIGUNUSEDPARM(sel
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:CoreSession_setEventData",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_setEventData", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_setEventData" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_Event, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_Event, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_setEventData" "', argument " "2"" of type '" "Event *""'"); 
   }
@@ -9147,16 +9023,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_getXMLCDR(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_getXMLCDR(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_getXMLCDR",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_getXMLCDR" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -9169,16 +9046,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_begin_allow_threads(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_begin_allow_threads(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_begin_allow_threads",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_begin_allow_threads" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -9191,16 +9069,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_end_allow_threads(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_end_allow_threads(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_end_allow_threads",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_end_allow_threads" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -9213,16 +9092,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_get_uuid(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_get_uuid(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   char *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_get_uuid",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_get_uuid" "', argument " "1"" of type '" "CoreSession const *""'"); 
   }
@@ -9235,16 +9115,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_get_cb_args(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_get_cb_args(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_input_args_t *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_get_cb_args",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_get_cb_args" "', argument " "1"" of type '" "CoreSession const *""'"); 
   }
@@ -9257,15 +9138,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_check_hangup_hook(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_check_hangup_hook(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:CoreSession_check_hangup_hook",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_check_hangup_hook" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
@@ -9278,7 +9160,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_run_dtmf_callback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_run_dtmf_callback(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   void *arg2 = (void *) 0 ;
@@ -9288,23 +9170,21 @@ SWIGINTERN PyObject *_wrap_CoreSession_run_dtmf_callback(PyObject *SWIGUNUSEDPAR
   int res2 ;
   void *argp3 ;
   int res3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   switch_status_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_run_dtmf_callback",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_run_dtmf_callback", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_run_dtmf_callback" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, 0);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_run_dtmf_callback" "', argument " "2"" of type '" "void *""'"); 
   }
   {
-    res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_switch_input_type_t,  0  | 0);
+    res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_switch_input_type_t,  0  | 0);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_run_dtmf_callback" "', argument " "3"" of type '" "switch_input_type_t""'"); 
     }  
@@ -9317,14 +9197,14 @@ SWIGINTERN PyObject *_wrap_CoreSession_run_dtmf_callback(PyObject *SWIGUNUSEDPAR
     }
   }
   result = (arg1)->run_dtmf_callback(arg2,arg3);
-  resultobj = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_consoleLog(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_consoleLog(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -9337,22 +9217,20 @@ SWIGINTERN PyObject *_wrap_CoreSession_consoleLog(PyObject *SWIGUNUSEDPARM(self)
   int res3 ;
   char *buf3 = 0 ;
   int alloc3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:CoreSession_consoleLog",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_consoleLog", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_consoleLog" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_consoleLog" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_consoleLog" "', argument " "3"" of type '" "char *""'");
   }
@@ -9369,7 +9247,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_CoreSession_consoleLog2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_CoreSession_consoleLog2(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = (CoreSession *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -9393,40 +9271,35 @@ SWIGINTERN PyObject *_wrap_CoreSession_consoleLog2(PyObject *SWIGUNUSEDPARM(self
   int res6 ;
   char *buf6 = 0 ;
   int alloc6 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
-  PyObject * obj5 = 0 ;
+  PyObject *swig_obj[6] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOOO:CoreSession_consoleLog2",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "CoreSession_consoleLog2", 6, 6, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CoreSession_consoleLog2" "', argument " "1"" of type '" "CoreSession *""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CoreSession_consoleLog2" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CoreSession_consoleLog2" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  res4 = SWIG_AsCharPtrAndSize(obj3, &buf4, NULL, &alloc4);
+  res4 = SWIG_AsCharPtrAndSize(swig_obj[3], &buf4, NULL, &alloc4);
   if (!SWIG_IsOK(res4)) {
     SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CoreSession_consoleLog2" "', argument " "4"" of type '" "char *""'");
   }
   arg4 = reinterpret_cast< char * >(buf4);
-  ecode5 = SWIG_AsVal_int(obj4, &val5);
+  ecode5 = SWIG_AsVal_int(swig_obj[4], &val5);
   if (!SWIG_IsOK(ecode5)) {
     SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "CoreSession_consoleLog2" "', argument " "5"" of type '" "int""'");
   } 
   arg5 = static_cast< int >(val5);
-  res6 = SWIG_AsCharPtrAndSize(obj5, &buf6, NULL, &alloc6);
+  res6 = SWIG_AsCharPtrAndSize(swig_obj[5], &buf6, NULL, &alloc6);
   if (!SWIG_IsOK(res6)) {
     SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "CoreSession_consoleLog2" "', argument " "6"" of type '" "char *""'");
   }
@@ -9449,12 +9322,12 @@ fail:
 
 SWIGINTERN PyObject *CoreSession_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_CoreSession, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
-SWIGINTERN PyObject *_wrap_console_log(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_console_log(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -9464,16 +9337,15 @@ SWIGINTERN PyObject *_wrap_console_log(PyObject *SWIGUNUSEDPARM(self), PyObject
   int res2 ;
   char *buf2 = 0 ;
   int alloc2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:console_log",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!SWIG_Python_UnpackTuple(args, "console_log", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "console_log" "', argument " "1"" of type '" "char *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "console_log" "', argument " "2"" of type '" "char *""'");
   }
@@ -9490,7 +9362,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_console_log2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_console_log2(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -9511,34 +9383,30 @@ SWIGINTERN PyObject *_wrap_console_log2(PyObject *SWIGUNUSEDPARM(self), PyObject
   int res5 ;
   char *buf5 = 0 ;
   int alloc5 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
+  PyObject *swig_obj[5] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:console_log2",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!SWIG_Python_UnpackTuple(args, "console_log2", 5, 5, swig_obj)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "console_log2" "', argument " "1"" of type '" "char *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
+  res2 = SWIG_AsCharPtrAndSize(swig_obj[1], &buf2, NULL, &alloc2);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "console_log2" "', argument " "2"" of type '" "char *""'");
   }
   arg2 = reinterpret_cast< char * >(buf2);
-  res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
+  res3 = SWIG_AsCharPtrAndSize(swig_obj[2], &buf3, NULL, &alloc3);
   if (!SWIG_IsOK(res3)) {
     SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "console_log2" "', argument " "3"" of type '" "char *""'");
   }
   arg3 = reinterpret_cast< char * >(buf3);
-  ecode4 = SWIG_AsVal_int(obj3, &val4);
+  ecode4 = SWIG_AsVal_int(swig_obj[3], &val4);
   if (!SWIG_IsOK(ecode4)) {
     SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "console_log2" "', argument " "4"" of type '" "int""'");
   } 
   arg4 = static_cast< int >(val4);
-  res5 = SWIG_AsCharPtrAndSize(obj4, &buf5, NULL, &alloc5);
+  res5 = SWIG_AsCharPtrAndSize(swig_obj[4], &buf5, NULL, &alloc5);
   if (!SWIG_IsOK(res5)) {
     SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "console_log2" "', argument " "5"" of type '" "char *""'");
   }
@@ -9559,16 +9427,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_console_clean_log(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_console_clean_log(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:console_clean_log",&obj0)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "console_clean_log" "', argument " "1"" of type '" "char *""'");
   }
@@ -9583,15 +9452,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_msleep(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_msleep(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   unsigned int arg1 ;
   unsigned int val1 ;
   int ecode1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:msleep",&obj0)) SWIG_fail;
-  ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1);
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  ecode1 = SWIG_AsVal_unsigned_SS_int(swig_obj[0], &val1);
   if (!SWIG_IsOK(ecode1)) {
     SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "msleep" "', argument " "1"" of type '" "unsigned int""'");
   } 
@@ -9604,7 +9474,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_bridge(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_bridge(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   CoreSession *arg1 = 0 ;
   CoreSession *arg2 = 0 ;
@@ -9612,11 +9482,10 @@ SWIGINTERN PyObject *_wrap_bridge(PyObject *SWIGUNUSEDPARM(self), PyObject *args
   int res1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:bridge",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_CoreSession,  0 );
+  if (!SWIG_Python_UnpackTuple(args, "bridge", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1, SWIGTYPE_p_CoreSession,  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "bridge" "', argument " "1"" of type '" "CoreSession &""'"); 
   }
@@ -9624,7 +9493,7 @@ SWIGINTERN PyObject *_wrap_bridge(PyObject *SWIGUNUSEDPARM(self), PyObject *args
     SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "bridge" "', argument " "1"" of type '" "CoreSession &""'"); 
   }
   arg1 = reinterpret_cast< CoreSession * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_CoreSession,  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2, SWIGTYPE_p_CoreSession,  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "bridge" "', argument " "2"" of type '" "CoreSession &""'"); 
   }
@@ -9640,29 +9509,30 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_hanguphook(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_hanguphook(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   switch_status_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:hanguphook",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "hanguphook" "', argument " "1"" of type '" "switch_core_session_t *""'"); 
   }
   arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
   result = hanguphook(arg1);
-  resultobj = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_dtmf_callback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_dtmf_callback(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
   void *arg2 = (void *) 0 ;
@@ -9677,25 +9547,21 @@ SWIGINTERN PyObject *_wrap_dtmf_callback(PyObject *SWIGUNUSEDPARM(self), PyObjec
   int res4 ;
   unsigned int val5 ;
   int ecode5 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
-  PyObject * obj3 = 0 ;
-  PyObject * obj4 = 0 ;
+  PyObject *swig_obj[5] ;
   switch_status_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOOOO:dtmf_callback",&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "dtmf_callback", 5, 5, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dtmf_callback" "', argument " "1"" of type '" "switch_core_session_t *""'"); 
   }
   arg1 = reinterpret_cast< switch_core_session_t * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, 0);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "dtmf_callback" "', argument " "2"" of type '" "void *""'"); 
   }
   {
-    res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_switch_input_type_t,  0  | 0);
+    res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_switch_input_type_t,  0  | 0);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "dtmf_callback" "', argument " "3"" of type '" "switch_input_type_t""'"); 
     }  
@@ -9707,28 +9573,28 @@ SWIGINTERN PyObject *_wrap_dtmf_callback(PyObject *SWIGUNUSEDPARM(self), PyObjec
       if (SWIG_IsNewObj(res3)) delete temp;
     }
   }
-  res4 = SWIG_ConvertPtr(obj3,SWIG_as_voidptrptr(&arg4), 0, 0);
+  res4 = SWIG_ConvertPtr(swig_obj[3],SWIG_as_voidptrptr(&arg4), 0, 0);
   if (!SWIG_IsOK(res4)) {
     SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "dtmf_callback" "', argument " "4"" of type '" "void *""'"); 
   }
-  ecode5 = SWIG_AsVal_unsigned_SS_int(obj4, &val5);
+  ecode5 = SWIG_AsVal_unsigned_SS_int(swig_obj[4], &val5);
   if (!SWIG_IsOK(ecode5)) {
     SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "dtmf_callback" "', argument " "5"" of type '" "unsigned int""'");
   } 
   arg5 = static_cast< unsigned int >(val5);
-  result = dtmf_callback(arg1,arg2,arg3,arg4,arg5);
-  resultobj = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
+  result = dtmf_callback(arg1,arg2,SWIG_STD_MOVE(arg3),arg4,arg5);
+  resultobj = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_0(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **SWIGUNUSEDPARM(swig_obj)) {
   PyObject *resultobj = 0;
   PYTHON::Session *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)":new_Session")) SWIG_fail;
+  if ((nobjs < 0) || (nobjs > 0)) SWIG_fail;
   result = (PYTHON::Session *)new PYTHON::Session();
   resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PYTHON__Session, SWIG_POINTER_NEW |  0 ); result->setPython(self);
   return resultobj;
@@ -9737,7 +9603,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   CoreSession *arg2 = (CoreSession *) 0 ;
@@ -9746,17 +9612,15 @@ SWIGINTERN PyObject *_wrap_new_Session__SWIG_1(PyObject *self, PyObject *args) {
   int alloc1 = 0 ;
   void *argp2 = 0 ;
   int res2 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   PYTHON::Session *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:new_Session",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
   }
   arg1 = reinterpret_cast< char * >(buf1);
-  res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
+  res2 = SWIG_ConvertPtr(swig_obj[1], &argp2,SWIGTYPE_p_CoreSession, 0 |  0 );
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_Session" "', argument " "2"" of type '" "CoreSession *""'"); 
   }
@@ -9771,17 +9635,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_2(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   char *arg1 = (char *) 0 ;
   int res1 ;
   char *buf1 = 0 ;
   int alloc1 = 0 ;
-  PyObject * obj0 = 0 ;
   PYTHON::Session *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_Session",&obj0)) SWIG_fail;
-  res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
+  if ((nobjs < 1) || (nobjs > 1)) SWIG_fail;
+  res1 = SWIG_AsCharPtrAndSize(swig_obj[0], &buf1, NULL, &alloc1);
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "char *""'");
   }
@@ -9796,16 +9659,15 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_new_Session__SWIG_3(PyObject *self, PyObject *args) {
+SWIGINTERN PyObject *_wrap_new_Session__SWIG_3(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
   PYTHON::Session *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:new_Session",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_switch_core_session_t, 0 |  0 );
+  if ((nobjs < 1) || (nobjs > 1)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_switch_core_session_t, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Session" "', argument " "1"" of type '" "switch_core_session_t *""'"); 
   }
@@ -9823,35 +9685,31 @@ SWIGINTERN PyObject *_wrap_new_Session(PyObject *self, PyObject *args) {
   PyObject *argv[3] = {
     0
   };
-  Py_ssize_t ii;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? PyObject_Length(args) : 0;
-  for (ii = 0; (ii < 2) && (ii < argc); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
+  if (!(argc = SWIG_Python_UnpackTuple(args, "new_Session", 0, 2, argv))) SWIG_fail;
+  --argc;
   if (argc == 0) {
-    return _wrap_new_Session__SWIG_0(self, args);
+    return _wrap_new_Session__SWIG_0(self, argc, argv);
   }
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_switch_core_session_t, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      return _wrap_new_Session__SWIG_3(self, args);
+      return _wrap_new_Session__SWIG_3(self, argc, argv);
     }
   }
   if (argc == 1) {
-    int _v;
+    int _v = 0;
     int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
-      return _wrap_new_Session__SWIG_2(self, args);
+      return _wrap_new_Session__SWIG_2(self, argc, argv);
     }
   }
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     int res = SWIG_AsCharPtrAndSize(argv[0], 0, NULL, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
@@ -9859,13 +9717,13 @@ SWIGINTERN PyObject *_wrap_new_Session(PyObject *self, PyObject *args) {
       int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_CoreSession, 0);
       _v = SWIG_CheckState(res);
       if (_v) {
-        return _wrap_new_Session__SWIG_1(self, args);
+        return _wrap_new_Session__SWIG_1(self, argc, argv);
       }
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'new_Session'.\n"
+  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'new_Session'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    PYTHON::Session::Session()\n"
     "    PYTHON::Session::Session(char *,CoreSession *)\n"
@@ -9875,15 +9733,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_delete_Session(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_delete_Session(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:delete_Session",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, SWIG_POINTER_DISOWN |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, SWIG_POINTER_DISOWN |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Session" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -9896,16 +9755,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_begin_allow_threads(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_begin_allow_threads(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_begin_allow_threads",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_begin_allow_threads" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -9918,16 +9778,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_end_allow_threads(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_end_allow_threads(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_end_allow_threads",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_end_allow_threads" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -9940,15 +9801,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_check_hangup_hook(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_check_hangup_hook(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_check_hangup_hook",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_check_hangup_hook" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -9961,15 +9823,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_destroy(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_destroy",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_destroy" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -9982,7 +9845,7 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_run_dtmf_callback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_run_dtmf_callback(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *arg2 = (void *) 0 ;
@@ -9992,23 +9855,21 @@ SWIGINTERN PyObject *_wrap_Session_run_dtmf_callback(PyObject *SWIGUNUSEDPARM(se
   int res2 ;
   void *argp3 ;
   int res3 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
+  PyObject *swig_obj[3] ;
   switch_status_t result;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:Session_run_dtmf_callback",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Session_run_dtmf_callback", 3, 3, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_run_dtmf_callback" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0);
+  res2 = SWIG_ConvertPtr(swig_obj[1],SWIG_as_voidptrptr(&arg2), 0, 0);
   if (!SWIG_IsOK(res2)) {
     SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Session_run_dtmf_callback" "', argument " "2"" of type '" "void *""'"); 
   }
   {
-    res3 = SWIG_ConvertPtr(obj2, &argp3, SWIGTYPE_p_switch_input_type_t,  0  | 0);
+    res3 = SWIG_ConvertPtr(swig_obj[2], &argp3, SWIGTYPE_p_switch_input_type_t,  0  | 0);
     if (!SWIG_IsOK(res3)) {
       SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Session_run_dtmf_callback" "', argument " "3"" of type '" "switch_input_type_t""'"); 
     }  
@@ -10021,32 +9882,29 @@ SWIGINTERN PyObject *_wrap_Session_run_dtmf_callback(PyObject *SWIGUNUSEDPARM(se
     }
   }
   result = (arg1)->run_dtmf_callback(arg2,arg3);
-  resultobj = SWIG_NewPointerObj((new switch_status_t(static_cast< const switch_status_t& >(result))), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
+  resultobj = SWIG_NewPointerObj((new switch_status_t(result)), SWIGTYPE_p_switch_status_t, SWIG_POINTER_OWN |  0 );
   return resultobj;
 fail:
   return NULL;
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_setInputCallback__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_setInputCallback__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   PyObject *arg3 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:Session_setInputCallback",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_setInputCallback" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
-  arg3 = obj2;
+  arg2 = swig_obj[1];
+  arg3 = swig_obj[2];
   (arg1)->setInputCallback(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10055,22 +9913,20 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_setInputCallback__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_setInputCallback__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_setInputCallback",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_setInputCallback" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   (arg1)->setInputCallback(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10084,27 +9940,23 @@ SWIGINTERN PyObject *_wrap_Session_setInputCallback(PyObject *self, PyObject *ar
   PyObject *argv[4] = {
     0
   };
-  Py_ssize_t ii;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? PyObject_Length(args) : 0;
-  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
+  if (!(argc = SWIG_Python_UnpackTuple(args, "Session_setInputCallback", 0, 3, argv))) SWIG_fail;
+  --argc;
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_PYTHON__Session, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
       _v = (argv[1] != 0);
       if (_v) {
-        return _wrap_Session_setInputCallback__SWIG_1(self, args);
+        return _wrap_Session_setInputCallback__SWIG_1(self, argc, argv);
       }
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_PYTHON__Session, 0);
     _v = SWIG_CheckState(res);
@@ -10113,14 +9965,14 @@ SWIGINTERN PyObject *_wrap_Session_setInputCallback(PyObject *self, PyObject *ar
       if (_v) {
         _v = (argv[2] != 0);
         if (_v) {
-          return _wrap_Session_setInputCallback__SWIG_0(self, args);
+          return _wrap_Session_setInputCallback__SWIG_0(self, argc, argv);
         }
       }
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'Session_setInputCallback'.\n"
+  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Session_setInputCallback'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    PYTHON::Session::setInputCallback(PyObject *,PyObject *)\n"
     "    PYTHON::Session::setInputCallback(PyObject *)\n");
@@ -10128,15 +9980,16 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_unsetInputCallback(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_unsetInputCallback(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_unsetInputCallback",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_unsetInputCallback" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -10149,25 +10002,22 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_setHangupHook__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_setHangupHook__SWIG_0(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   PyObject *arg3 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
-  PyObject * obj2 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OOO:Session_setHangupHook",&obj0,&obj1,&obj2)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if ((nobjs < 3) || (nobjs > 3)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_setHangupHook" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
-  arg3 = obj2;
+  arg2 = swig_obj[1];
+  arg3 = swig_obj[2];
   (arg1)->setHangupHook(arg2,arg3);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10176,22 +10026,20 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_setHangupHook__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_setHangupHook__SWIG_1(PyObject *self, Py_ssize_t nobjs, PyObject **swig_obj) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_setHangupHook",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if ((nobjs < 2) || (nobjs > 2)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_setHangupHook" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   (arg1)->setHangupHook(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10205,27 +10053,23 @@ SWIGINTERN PyObject *_wrap_Session_setHangupHook(PyObject *self, PyObject *args)
   PyObject *argv[4] = {
     0
   };
-  Py_ssize_t ii;
   
-  if (!PyTuple_Check(args)) SWIG_fail;
-  argc = args ? PyObject_Length(args) : 0;
-  for (ii = 0; (ii < 3) && (ii < argc); ii++) {
-    argv[ii] = PyTuple_GET_ITEM(args,ii);
-  }
+  if (!(argc = SWIG_Python_UnpackTuple(args, "Session_setHangupHook", 0, 3, argv))) SWIG_fail;
+  --argc;
   if (argc == 2) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_PYTHON__Session, 0);
     _v = SWIG_CheckState(res);
     if (_v) {
       _v = (argv[1] != 0);
       if (_v) {
-        return _wrap_Session_setHangupHook__SWIG_1(self, args);
+        return _wrap_Session_setHangupHook__SWIG_1(self, argc, argv);
       }
     }
   }
   if (argc == 3) {
-    int _v;
+    int _v = 0;
     void *vptr = 0;
     int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_PYTHON__Session, 0);
     _v = SWIG_CheckState(res);
@@ -10234,14 +10078,14 @@ SWIGINTERN PyObject *_wrap_Session_setHangupHook(PyObject *self, PyObject *args)
       if (_v) {
         _v = (argv[2] != 0);
         if (_v) {
-          return _wrap_Session_setHangupHook__SWIG_0(self, args);
+          return _wrap_Session_setHangupHook__SWIG_0(self, argc, argv);
         }
       }
     }
   }
   
 fail:
-  SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number or type of arguments for overloaded function 'Session_setHangupHook'.\n"
+  SWIG_Python_RaiseOrModifyTypeError("Wrong number or type of arguments for overloaded function 'Session_setHangupHook'.\n"
     "  Possible C/C++ prototypes are:\n"
     "    PYTHON::Session::setHangupHook(PyObject *,PyObject *)\n"
     "    PYTHON::Session::setHangupHook(PyObject *)\n");
@@ -10249,16 +10093,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_ready(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_ready(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   bool result;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_ready",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_ready" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -10271,22 +10116,21 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_cb_function_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_cb_function_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_cb_function_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Session_cb_function_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_cb_function_set" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   if (arg1) (arg1)->cb_function = arg2;
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10295,16 +10139,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_cb_function_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_cb_function_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   PyObject *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_cb_function_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_cb_function_get" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -10317,22 +10162,21 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_cb_arg_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_cb_arg_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_cb_arg_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Session_cb_arg_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_cb_arg_set" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   if (arg1) (arg1)->cb_arg = arg2;
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10341,16 +10185,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_cb_arg_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_cb_arg_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   PyObject *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_cb_arg_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_cb_arg_get" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -10363,22 +10208,21 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_hangup_func_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_hangup_func_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_hangup_func_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Session_hangup_func_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_hangup_func_set" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   if (arg1) (arg1)->hangup_func = arg2;
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10387,16 +10231,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_hangup_func_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_hangup_func_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   PyObject *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_hangup_func_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_hangup_func_get" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -10409,22 +10254,21 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_hangup_func_arg_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_hangup_func_arg_set(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_hangup_func_arg_set",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Session_hangup_func_arg_set", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_hangup_func_arg_set" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   if (arg1) (arg1)->hangup_func_arg = arg2;
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10433,16 +10277,17 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_hangup_func_arg_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_hangup_func_arg_get(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
+  PyObject *swig_obj[1] ;
   PyObject *result = 0 ;
   
-  if (!PyArg_ParseTuple(args,(char *)"O:Session_hangup_func_arg_get",&obj0)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!args) SWIG_fail;
+  swig_obj[0] = args;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_hangup_func_arg_get" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
@@ -10455,22 +10300,21 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_setPython(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_setPython(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_setPython",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Session_setPython", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_setPython" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   (arg1)->setPython(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10479,23 +10323,22 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_Session_setSelf(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+SWIGINTERN PyObject *_wrap_Session_setSelf(PyObject *self, PyObject *args) {
   PyObject *resultobj = 0;
   PYTHON::Session *arg1 = (PYTHON::Session *) 0 ;
   PyObject *arg2 = (PyObject *) 0 ;
   void *argp1 = 0 ;
   int res1 = 0 ;
-  PyObject * obj0 = 0 ;
-  PyObject * obj1 = 0 ;
+  PyObject *swig_obj[2] ;
   
-  if (!PyArg_ParseTuple(args,(char *)"OO:Session_setSelf",&obj0,&obj1)) SWIG_fail;
-  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
+  if (!SWIG_Python_UnpackTuple(args, "Session_setSelf", 2, 2, swig_obj)) SWIG_fail;
+  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_PYTHON__Session, 0 |  0 );
   if (!SWIG_IsOK(res1)) {
     SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Session_setSelf" "', argument " "1"" of type '" "PYTHON::Session *""'"); 
   }
   arg1 = reinterpret_cast< PYTHON::Session * >(argp1);
   if (!arg1) SWIG_exception_fail(SWIG_ValueError, "in method '" "Session_setSelf" "', argument " "1"" is NULL"); 
-  arg2 = obj1;
+  arg2 = swig_obj[1];
   (arg1)->setSelf(arg2);
   resultobj = SWIG_Py_Void();
   return resultobj;
@@ -10506,124 +10349,134 @@ fail:
 
 SWIGINTERN PyObject *Session_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
+  if (!SWIG_Python_UnpackTuple(args, "swigregister", 1, 1, &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_PYTHON__Session, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
+SWIGINTERN PyObject *Session_swiginit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
+  return SWIG_Python_InitShadowInstance(args);
+}
+
 static PyMethodDef SwigMethods[] = {
-        { "SWIG_PyInstanceMethod_New", SWIG_PyInstanceMethod_New, METH_O, NULL},
         { "setGlobalVariable", _wrap_setGlobalVariable, METH_VARARGS, NULL},
-        { "getGlobalVariable", _wrap_getGlobalVariable, METH_VARARGS, NULL},
+        { "getGlobalVariable", _wrap_getGlobalVariable, METH_O, NULL},
         { "consoleLog", _wrap_consoleLog, METH_VARARGS, NULL},
         { "consoleLog2", _wrap_consoleLog2, METH_VARARGS, NULL},
-        { "consoleCleanLog", _wrap_consoleCleanLog, METH_VARARGS, NULL},
-        { "running", _wrap_running, METH_VARARGS, NULL},
+        { "consoleCleanLog", _wrap_consoleCleanLog, METH_O, NULL},
+        { "running", _wrap_running, METH_NOARGS, NULL},
         { "email", _wrap_email, METH_VARARGS, NULL},
         { "new_IVRMenu", _wrap_new_IVRMenu, METH_VARARGS, NULL},
-        { "delete_IVRMenu", _wrap_delete_IVRMenu, METH_VARARGS, NULL},
+        { "delete_IVRMenu", _wrap_delete_IVRMenu, METH_O, NULL},
         { "IVRMenu_bindAction", _wrap_IVRMenu_bindAction, METH_VARARGS, NULL},
         { "IVRMenu_execute", _wrap_IVRMenu_execute, METH_VARARGS, NULL},
-        { "IVRMenu_swigregister", IVRMenu_swigregister, METH_VARARGS, NULL},
+        { "IVRMenu_swigregister", IVRMenu_swigregister, METH_O, NULL},
+        { "IVRMenu_swiginit", IVRMenu_swiginit, METH_VARARGS, NULL},
         { "new_API", _wrap_new_API, METH_VARARGS, NULL},
-        { "delete_API", _wrap_delete_API, METH_VARARGS, NULL},
+        { "delete_API", _wrap_delete_API, METH_O, NULL},
         { "API_execute", _wrap_API_execute, METH_VARARGS, NULL},
         { "API_executeString", _wrap_API_executeString, METH_VARARGS, NULL},
-        { "API_getTime", _wrap_API_getTime, METH_VARARGS, NULL},
-        { "API_swigregister", API_swigregister, METH_VARARGS, NULL},
+        { "API_getTime", _wrap_API_getTime, METH_O, NULL},
+        { "API_swigregister", API_swigregister, METH_O, NULL},
+        { "API_swiginit", API_swiginit, METH_VARARGS, NULL},
         { "input_callback_state_t_function_set", _wrap_input_callback_state_t_function_set, METH_VARARGS, NULL},
-        { "input_callback_state_t_function_get", _wrap_input_callback_state_t_function_get, METH_VARARGS, NULL},
+        { "input_callback_state_t_function_get", _wrap_input_callback_state_t_function_get, METH_O, NULL},
         { "input_callback_state_t_threadState_set", _wrap_input_callback_state_t_threadState_set, METH_VARARGS, NULL},
-        { "input_callback_state_t_threadState_get", _wrap_input_callback_state_t_threadState_get, METH_VARARGS, NULL},
+        { "input_callback_state_t_threadState_get", _wrap_input_callback_state_t_threadState_get, METH_O, NULL},
         { "input_callback_state_t_extra_set", _wrap_input_callback_state_t_extra_set, METH_VARARGS, NULL},
-        { "input_callback_state_t_extra_get", _wrap_input_callback_state_t_extra_get, METH_VARARGS, NULL},
+        { "input_callback_state_t_extra_get", _wrap_input_callback_state_t_extra_get, METH_O, NULL},
         { "input_callback_state_t_funcargs_set", _wrap_input_callback_state_t_funcargs_set, METH_VARARGS, NULL},
-        { "input_callback_state_t_funcargs_get", _wrap_input_callback_state_t_funcargs_get, METH_VARARGS, NULL},
-        { "new_input_callback_state_t", _wrap_new_input_callback_state_t, METH_VARARGS, NULL},
-        { "delete_input_callback_state_t", _wrap_delete_input_callback_state_t, METH_VARARGS, NULL},
-        { "input_callback_state_t_swigregister", input_callback_state_t_swigregister, METH_VARARGS, NULL},
+        { "input_callback_state_t_funcargs_get", _wrap_input_callback_state_t_funcargs_get, METH_O, NULL},
+        { "new_input_callback_state_t", _wrap_new_input_callback_state_t, METH_NOARGS, NULL},
+        { "delete_input_callback_state_t", _wrap_delete_input_callback_state_t, METH_O, NULL},
+        { "input_callback_state_t_swigregister", input_callback_state_t_swigregister, METH_O, NULL},
+        { "input_callback_state_t_swiginit", input_callback_state_t_swiginit, METH_VARARGS, NULL},
         { "DTMF_digit_set", _wrap_DTMF_digit_set, METH_VARARGS, NULL},
-        { "DTMF_digit_get", _wrap_DTMF_digit_get, METH_VARARGS, NULL},
+        { "DTMF_digit_get", _wrap_DTMF_digit_get, METH_O, NULL},
         { "DTMF_duration_set", _wrap_DTMF_duration_set, METH_VARARGS, NULL},
-        { "DTMF_duration_get", _wrap_DTMF_duration_get, METH_VARARGS, NULL},
+        { "DTMF_duration_get", _wrap_DTMF_duration_get, METH_O, NULL},
         { "new_DTMF", _wrap_new_DTMF, METH_VARARGS, NULL},
-        { "delete_DTMF", _wrap_delete_DTMF, METH_VARARGS, NULL},
-        { "DTMF_swigregister", DTMF_swigregister, METH_VARARGS, NULL},
+        { "delete_DTMF", _wrap_delete_DTMF, METH_O, NULL},
+        { "DTMF_swigregister", DTMF_swigregister, METH_O, NULL},
+        { "DTMF_swiginit", DTMF_swiginit, METH_VARARGS, NULL},
         { "new_Stream", _wrap_new_Stream, METH_VARARGS, NULL},
-        { "delete_Stream", _wrap_delete_Stream, METH_VARARGS, NULL},
+        { "delete_Stream", _wrap_delete_Stream, METH_O, NULL},
         { "Stream_read", _wrap_Stream_read, METH_VARARGS, NULL},
         { "Stream_write", _wrap_Stream_write, METH_VARARGS, NULL},
         { "Stream_raw_write", _wrap_Stream_raw_write, METH_VARARGS, NULL},
-        { "Stream_get_data", _wrap_Stream_get_data, METH_VARARGS, NULL},
-        { "Stream_swigregister", Stream_swigregister, METH_VARARGS, NULL},
+        { "Stream_get_data", _wrap_Stream_get_data, METH_O, NULL},
+        { "Stream_swigregister", Stream_swigregister, METH_O, NULL},
+        { "Stream_swiginit", Stream_swiginit, METH_VARARGS, NULL},
         { "Event_event_set", _wrap_Event_event_set, METH_VARARGS, NULL},
-        { "Event_event_get", _wrap_Event_event_get, METH_VARARGS, NULL},
+        { "Event_event_get", _wrap_Event_event_get, METH_O, NULL},
         { "Event_serialized_string_set", _wrap_Event_serialized_string_set, METH_VARARGS, NULL},
-        { "Event_serialized_string_get", _wrap_Event_serialized_string_get, METH_VARARGS, NULL},
+        { "Event_serialized_string_get", _wrap_Event_serialized_string_get, METH_O, NULL},
         { "Event_mine_set", _wrap_Event_mine_set, METH_VARARGS, NULL},
-        { "Event_mine_get", _wrap_Event_mine_get, METH_VARARGS, NULL},
+        { "Event_mine_get", _wrap_Event_mine_get, METH_O, NULL},
         { "new_Event", _wrap_new_Event, METH_VARARGS, NULL},
-        { "delete_Event", _wrap_delete_Event, METH_VARARGS, NULL},
+        { "delete_Event", _wrap_delete_Event, METH_O, NULL},
         { "Event_chat_execute", _wrap_Event_chat_execute, METH_VARARGS, NULL},
         { "Event_chat_send", _wrap_Event_chat_send, METH_VARARGS, NULL},
         { "Event_serialize", _wrap_Event_serialize, METH_VARARGS, NULL},
         { "Event_setPriority", _wrap_Event_setPriority, METH_VARARGS, NULL},
         { "Event_getHeader", _wrap_Event_getHeader, METH_VARARGS, NULL},
-        { "Event_getBody", _wrap_Event_getBody, METH_VARARGS, NULL},
-        { "Event_getType", _wrap_Event_getType, METH_VARARGS, NULL},
+        { "Event_getBody", _wrap_Event_getBody, METH_O, NULL},
+        { "Event_getType", _wrap_Event_getType, METH_O, NULL},
         { "Event_addBody", _wrap_Event_addBody, METH_VARARGS, NULL},
         { "Event_addHeader", _wrap_Event_addHeader, METH_VARARGS, NULL},
         { "Event_delHeader", _wrap_Event_delHeader, METH_VARARGS, NULL},
-        { "Event_fire", _wrap_Event_fire, METH_VARARGS, NULL},
+        { "Event_fire", _wrap_Event_fire, METH_O, NULL},
         { "Event_merge", _wrap_Event_merge, METH_VARARGS, NULL},
-        { "Event_swigregister", Event_swigregister, METH_VARARGS, NULL},
+        { "Event_swigregister", Event_swigregister, METH_O, NULL},
+        { "Event_swiginit", Event_swiginit, METH_VARARGS, NULL},
         { "EventConsumer_events_set", _wrap_EventConsumer_events_set, METH_VARARGS, NULL},
-        { "EventConsumer_events_get", _wrap_EventConsumer_events_get, METH_VARARGS, NULL},
+        { "EventConsumer_events_get", _wrap_EventConsumer_events_get, METH_O, NULL},
         { "EventConsumer_e_event_id_set", _wrap_EventConsumer_e_event_id_set, METH_VARARGS, NULL},
-        { "EventConsumer_e_event_id_get", _wrap_EventConsumer_e_event_id_get, METH_VARARGS, NULL},
+        { "EventConsumer_e_event_id_get", _wrap_EventConsumer_e_event_id_get, METH_O, NULL},
         { "EventConsumer_e_callback_set", _wrap_EventConsumer_e_callback_set, METH_VARARGS, NULL},
-        { "EventConsumer_e_callback_get", _wrap_EventConsumer_e_callback_get, METH_VARARGS, NULL},
+        { "EventConsumer_e_callback_get", _wrap_EventConsumer_e_callback_get, METH_O, NULL},
         { "EventConsumer_e_subclass_name_set", _wrap_EventConsumer_e_subclass_name_set, METH_VARARGS, NULL},
-        { "EventConsumer_e_subclass_name_get", _wrap_EventConsumer_e_subclass_name_get, METH_VARARGS, NULL},
+        { "EventConsumer_e_subclass_name_get", _wrap_EventConsumer_e_subclass_name_get, METH_O, NULL},
         { "EventConsumer_e_cb_arg_set", _wrap_EventConsumer_e_cb_arg_set, METH_VARARGS, NULL},
-        { "EventConsumer_e_cb_arg_get", _wrap_EventConsumer_e_cb_arg_get, METH_VARARGS, NULL},
+        { "EventConsumer_e_cb_arg_get", _wrap_EventConsumer_e_cb_arg_get, METH_O, NULL},
         { "EventConsumer_enodes_set", _wrap_EventConsumer_enodes_set, METH_VARARGS, NULL},
-        { "EventConsumer_enodes_get", _wrap_EventConsumer_enodes_get, METH_VARARGS, NULL},
+        { "EventConsumer_enodes_get", _wrap_EventConsumer_enodes_get, METH_O, NULL},
         { "EventConsumer_node_index_set", _wrap_EventConsumer_node_index_set, METH_VARARGS, NULL},
-        { "EventConsumer_node_index_get", _wrap_EventConsumer_node_index_get, METH_VARARGS, NULL},
+        { "EventConsumer_node_index_get", _wrap_EventConsumer_node_index_get, METH_O, NULL},
         { "new_EventConsumer", _wrap_new_EventConsumer, METH_VARARGS, NULL},
-        { "delete_EventConsumer", _wrap_delete_EventConsumer, METH_VARARGS, NULL},
+        { "delete_EventConsumer", _wrap_delete_EventConsumer, METH_O, NULL},
         { "EventConsumer_bind", _wrap_EventConsumer_bind, METH_VARARGS, NULL},
         { "EventConsumer_pop", _wrap_EventConsumer_pop, METH_VARARGS, NULL},
-        { "EventConsumer_cleanup", _wrap_EventConsumer_cleanup, METH_VARARGS, NULL},
-        { "EventConsumer_swigregister", EventConsumer_swigregister, METH_VARARGS, NULL},
-        { "delete_CoreSession", _wrap_delete_CoreSession, METH_VARARGS, NULL},
+        { "EventConsumer_cleanup", _wrap_EventConsumer_cleanup, METH_O, NULL},
+        { "EventConsumer_swigregister", EventConsumer_swigregister, METH_O, NULL},
+        { "EventConsumer_swiginit", EventConsumer_swiginit, METH_VARARGS, NULL},
+        { "delete_CoreSession", _wrap_delete_CoreSession, METH_O, NULL},
         { "CoreSession_session_set", _wrap_CoreSession_session_set, METH_VARARGS, NULL},
-        { "CoreSession_session_get", _wrap_CoreSession_session_get, METH_VARARGS, NULL},
+        { "CoreSession_session_get", _wrap_CoreSession_session_get, METH_O, NULL},
         { "CoreSession_channel_set", _wrap_CoreSession_channel_set, METH_VARARGS, NULL},
-        { "CoreSession_channel_get", _wrap_CoreSession_channel_get, METH_VARARGS, NULL},
+        { "CoreSession_channel_get", _wrap_CoreSession_channel_get, METH_O, NULL},
         { "CoreSession_flags_set", _wrap_CoreSession_flags_set, METH_VARARGS, NULL},
-        { "CoreSession_flags_get", _wrap_CoreSession_flags_get, METH_VARARGS, NULL},
+        { "CoreSession_flags_get", _wrap_CoreSession_flags_get, METH_O, NULL},
         { "CoreSession_allocated_set", _wrap_CoreSession_allocated_set, METH_VARARGS, NULL},
-        { "CoreSession_allocated_get", _wrap_CoreSession_allocated_get, METH_VARARGS, NULL},
+        { "CoreSession_allocated_get", _wrap_CoreSession_allocated_get, METH_O, NULL},
         { "CoreSession_cb_state_set", _wrap_CoreSession_cb_state_set, METH_VARARGS, NULL},
-        { "CoreSession_cb_state_get", _wrap_CoreSession_cb_state_get, METH_VARARGS, NULL},
+        { "CoreSession_cb_state_get", _wrap_CoreSession_cb_state_get, METH_O, NULL},
         { "CoreSession_hook_state_set", _wrap_CoreSession_hook_state_set, METH_VARARGS, NULL},
-        { "CoreSession_hook_state_get", _wrap_CoreSession_hook_state_get, METH_VARARGS, NULL},
+        { "CoreSession_hook_state_get", _wrap_CoreSession_hook_state_get, METH_O, NULL},
         { "CoreSession_cause_set", _wrap_CoreSession_cause_set, METH_VARARGS, NULL},
-        { "CoreSession_cause_get", _wrap_CoreSession_cause_get, METH_VARARGS, NULL},
+        { "CoreSession_cause_get", _wrap_CoreSession_cause_get, METH_O, NULL},
         { "CoreSession_uuid_set", _wrap_CoreSession_uuid_set, METH_VARARGS, NULL},
-        { "CoreSession_uuid_get", _wrap_CoreSession_uuid_get, METH_VARARGS, NULL},
+        { "CoreSession_uuid_get", _wrap_CoreSession_uuid_get, METH_O, NULL},
         { "CoreSession_tts_name_set", _wrap_CoreSession_tts_name_set, METH_VARARGS, NULL},
-        { "CoreSession_tts_name_get", _wrap_CoreSession_tts_name_get, METH_VARARGS, NULL},
+        { "CoreSession_tts_name_get", _wrap_CoreSession_tts_name_get, METH_O, NULL},
         { "CoreSession_voice_name_set", _wrap_CoreSession_voice_name_set, METH_VARARGS, NULL},
-        { "CoreSession_voice_name_get", _wrap_CoreSession_voice_name_get, METH_VARARGS, NULL},
+        { "CoreSession_voice_name_get", _wrap_CoreSession_voice_name_get, METH_O, NULL},
         { "CoreSession_insertFile", _wrap_CoreSession_insertFile, METH_VARARGS, NULL},
-        { "CoreSession_answer", _wrap_CoreSession_answer, METH_VARARGS, NULL},
+        { "CoreSession_answer", _wrap_CoreSession_answer, METH_O, NULL},
         { "CoreSession__print", _wrap_CoreSession__print, METH_VARARGS, NULL},
-        { "CoreSession_preAnswer", _wrap_CoreSession_preAnswer, METH_VARARGS, NULL},
+        { "CoreSession_preAnswer", _wrap_CoreSession_preAnswer, METH_O, NULL},
         { "CoreSession_hangup", _wrap_CoreSession_hangup, METH_VARARGS, NULL},
-        { "CoreSession_hangupState", _wrap_CoreSession_hangupState, METH_VARARGS, NULL},
+        { "CoreSession_hangupState", _wrap_CoreSession_hangupState, METH_O, NULL},
         { "CoreSession_setVariable", _wrap_CoreSession_setVariable, METH_VARARGS, NULL},
         { "CoreSession_setPrivate", _wrap_CoreSession_setPrivate, METH_VARARGS, NULL},
         { "CoreSession_getPrivate", _wrap_CoreSession_getPrivate, METH_VARARGS, NULL},
@@ -10631,11 +10484,11 @@ static PyMethodDef SwigMethods[] = {
         { "CoreSession_process_callback_result", _wrap_CoreSession_process_callback_result, METH_VARARGS, NULL},
         { "CoreSession_say", _wrap_CoreSession_say, METH_VARARGS, NULL},
         { "CoreSession_sayPhrase", _wrap_CoreSession_sayPhrase, METH_VARARGS, NULL},
-        { "CoreSession_hangupCause", _wrap_CoreSession_hangupCause, METH_VARARGS, NULL},
-        { "CoreSession_getState", _wrap_CoreSession_getState, METH_VARARGS, NULL},
+        { "CoreSession_hangupCause", _wrap_CoreSession_hangupCause, METH_O, NULL},
+        { "CoreSession_getState", _wrap_CoreSession_getState, METH_O, NULL},
         { "CoreSession_recordFile", _wrap_CoreSession_recordFile, METH_VARARGS, NULL},
         { "CoreSession_originate", _wrap_CoreSession_originate, METH_VARARGS, NULL},
-        { "CoreSession_destroy", _wrap_CoreSession_destroy, METH_VARARGS, NULL},
+        { "CoreSession_destroy", _wrap_CoreSession_destroy, METH_O, NULL},
         { "CoreSession_setDTMFCallback", _wrap_CoreSession_setDTMFCallback, METH_VARARGS, NULL},
         { "CoreSession_speak", _wrap_CoreSession_speak, METH_VARARGS, NULL},
         { "CoreSession_set_tts_parms", _wrap_CoreSession_set_tts_parms, METH_VARARGS, NULL},
@@ -10649,57 +10502,58 @@ static PyMethodDef SwigMethods[] = {
         { "CoreSession_playAndDetectSpeech", _wrap_CoreSession_playAndDetectSpeech, METH_VARARGS, NULL},
         { "CoreSession_streamFile", _wrap_CoreSession_streamFile, METH_VARARGS, NULL},
         { "CoreSession_sleep", _wrap_CoreSession_sleep, METH_VARARGS, NULL},
-        { "CoreSession_flushEvents", _wrap_CoreSession_flushEvents, METH_VARARGS, NULL},
-        { "CoreSession_flushDigits", _wrap_CoreSession_flushDigits, METH_VARARGS, NULL},
+        { "CoreSession_flushEvents", _wrap_CoreSession_flushEvents, METH_O, NULL},
+        { "CoreSession_flushDigits", _wrap_CoreSession_flushDigits, METH_O, NULL},
         { "CoreSession_setAutoHangup", _wrap_CoreSession_setAutoHangup, METH_VARARGS, NULL},
         { "CoreSession_setHangupHook", _wrap_CoreSession_setHangupHook, METH_VARARGS, NULL},
-        { "CoreSession_ready", _wrap_CoreSession_ready, METH_VARARGS, NULL},
-        { "CoreSession_bridged", _wrap_CoreSession_bridged, METH_VARARGS, NULL},
-        { "CoreSession_answered", _wrap_CoreSession_answered, METH_VARARGS, NULL},
-        { "CoreSession_mediaReady", _wrap_CoreSession_mediaReady, METH_VARARGS, NULL},
+        { "CoreSession_ready", _wrap_CoreSession_ready, METH_O, NULL},
+        { "CoreSession_bridged", _wrap_CoreSession_bridged, METH_O, NULL},
+        { "CoreSession_answered", _wrap_CoreSession_answered, METH_O, NULL},
+        { "CoreSession_mediaReady", _wrap_CoreSession_mediaReady, METH_O, NULL},
         { "CoreSession_waitForAnswer", _wrap_CoreSession_waitForAnswer, METH_VARARGS, NULL},
         { "CoreSession_execute", _wrap_CoreSession_execute, METH_VARARGS, NULL},
         { "CoreSession_sendEvent", _wrap_CoreSession_sendEvent, METH_VARARGS, NULL},
         { "CoreSession_setEventData", _wrap_CoreSession_setEventData, METH_VARARGS, NULL},
-        { "CoreSession_getXMLCDR", _wrap_CoreSession_getXMLCDR, METH_VARARGS, NULL},
-        { "CoreSession_begin_allow_threads", _wrap_CoreSession_begin_allow_threads, METH_VARARGS, NULL},
-        { "CoreSession_end_allow_threads", _wrap_CoreSession_end_allow_threads, METH_VARARGS, NULL},
-        { "CoreSession_get_uuid", _wrap_CoreSession_get_uuid, METH_VARARGS, NULL},
-        { "CoreSession_get_cb_args", _wrap_CoreSession_get_cb_args, METH_VARARGS, NULL},
-        { "CoreSession_check_hangup_hook", _wrap_CoreSession_check_hangup_hook, METH_VARARGS, NULL},
+        { "CoreSession_getXMLCDR", _wrap_CoreSession_getXMLCDR, METH_O, NULL},
+        { "CoreSession_begin_allow_threads", _wrap_CoreSession_begin_allow_threads, METH_O, NULL},
+        { "CoreSession_end_allow_threads", _wrap_CoreSession_end_allow_threads, METH_O, NULL},
+        { "CoreSession_get_uuid", _wrap_CoreSession_get_uuid, METH_O, NULL},
+        { "CoreSession_get_cb_args", _wrap_CoreSession_get_cb_args, METH_O, NULL},
+        { "CoreSession_check_hangup_hook", _wrap_CoreSession_check_hangup_hook, METH_O, NULL},
         { "CoreSession_run_dtmf_callback", _wrap_CoreSession_run_dtmf_callback, METH_VARARGS, NULL},
         { "CoreSession_consoleLog", _wrap_CoreSession_consoleLog, METH_VARARGS, NULL},
         { "CoreSession_consoleLog2", _wrap_CoreSession_consoleLog2, METH_VARARGS, NULL},
-        { "CoreSession_swigregister", CoreSession_swigregister, METH_VARARGS, NULL},
+        { "CoreSession_swigregister", CoreSession_swigregister, METH_O, NULL},
         { "console_log", _wrap_console_log, METH_VARARGS, NULL},
         { "console_log2", _wrap_console_log2, METH_VARARGS, NULL},
-        { "console_clean_log", _wrap_console_clean_log, METH_VARARGS, NULL},
-        { "msleep", _wrap_msleep, METH_VARARGS, NULL},
+        { "console_clean_log", _wrap_console_clean_log, METH_O, NULL},
+        { "msleep", _wrap_msleep, METH_O, NULL},
         { "bridge", _wrap_bridge, METH_VARARGS, NULL},
-        { "hanguphook", _wrap_hanguphook, METH_VARARGS, NULL},
+        { "hanguphook", _wrap_hanguphook, METH_O, NULL},
         { "dtmf_callback", _wrap_dtmf_callback, METH_VARARGS, NULL},
         { "new_Session", _wrap_new_Session, METH_VARARGS, NULL},
-        { "delete_Session", _wrap_delete_Session, METH_VARARGS, NULL},
-        { "Session_begin_allow_threads", _wrap_Session_begin_allow_threads, METH_VARARGS, NULL},
-        { "Session_end_allow_threads", _wrap_Session_end_allow_threads, METH_VARARGS, NULL},
-        { "Session_check_hangup_hook", _wrap_Session_check_hangup_hook, METH_VARARGS, NULL},
-        { "Session_destroy", _wrap_Session_destroy, METH_VARARGS, NULL},
+        { "delete_Session", _wrap_delete_Session, METH_O, NULL},
+        { "Session_begin_allow_threads", _wrap_Session_begin_allow_threads, METH_O, NULL},
+        { "Session_end_allow_threads", _wrap_Session_end_allow_threads, METH_O, NULL},
+        { "Session_check_hangup_hook", _wrap_Session_check_hangup_hook, METH_O, NULL},
+        { "Session_destroy", _wrap_Session_destroy, METH_O, NULL},
         { "Session_run_dtmf_callback", _wrap_Session_run_dtmf_callback, METH_VARARGS, NULL},
         { "Session_setInputCallback", _wrap_Session_setInputCallback, METH_VARARGS, NULL},
-        { "Session_unsetInputCallback", _wrap_Session_unsetInputCallback, METH_VARARGS, NULL},
+        { "Session_unsetInputCallback", _wrap_Session_unsetInputCallback, METH_O, NULL},
         { "Session_setHangupHook", _wrap_Session_setHangupHook, METH_VARARGS, NULL},
-        { "Session_ready", _wrap_Session_ready, METH_VARARGS, NULL},
+        { "Session_ready", _wrap_Session_ready, METH_O, NULL},
         { "Session_cb_function_set", _wrap_Session_cb_function_set, METH_VARARGS, NULL},
-        { "Session_cb_function_get", _wrap_Session_cb_function_get, METH_VARARGS, NULL},
+        { "Session_cb_function_get", _wrap_Session_cb_function_get, METH_O, NULL},
         { "Session_cb_arg_set", _wrap_Session_cb_arg_set, METH_VARARGS, NULL},
-        { "Session_cb_arg_get", _wrap_Session_cb_arg_get, METH_VARARGS, NULL},
+        { "Session_cb_arg_get", _wrap_Session_cb_arg_get, METH_O, NULL},
         { "Session_hangup_func_set", _wrap_Session_hangup_func_set, METH_VARARGS, NULL},
-        { "Session_hangup_func_get", _wrap_Session_hangup_func_get, METH_VARARGS, NULL},
+        { "Session_hangup_func_get", _wrap_Session_hangup_func_get, METH_O, NULL},
         { "Session_hangup_func_arg_set", _wrap_Session_hangup_func_arg_set, METH_VARARGS, NULL},
-        { "Session_hangup_func_arg_get", _wrap_Session_hangup_func_arg_get, METH_VARARGS, NULL},
+        { "Session_hangup_func_arg_get", _wrap_Session_hangup_func_arg_get, METH_O, NULL},
         { "Session_setPython", _wrap_Session_setPython, METH_VARARGS, NULL},
         { "Session_setSelf", _wrap_Session_setSelf, METH_VARARGS, NULL},
-        { "Session_swigregister", Session_swigregister, METH_VARARGS, NULL},
+        { "Session_swigregister", Session_swigregister, METH_O, NULL},
+        { "Session_swiginit", Session_swiginit, METH_VARARGS, NULL},
         { NULL, NULL, 0, NULL }
 };
 
@@ -10721,7 +10575,7 @@ static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_input_callback_state = {"_p_input_callback_state", "input_callback_state_t *|input_callback_state *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_p_switch_event_node_t = {"_p_p_switch_event_node_t", "switch_event_node_t **", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_session_flag_t = {"_p_session_flag_t", "enum session_flag_t *|session_flag_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_session_flag_t = {"_p_session_flag_t", "session_flag_t *|enum session_flag_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_switch_call_cause_t = {"_p_switch_call_cause_t", "switch_call_cause_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_switch_channel_state_t = {"_p_switch_channel_state_t", "switch_channel_state_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0};
@@ -10890,9 +10744,12 @@ extern "C" {
 #define SWIGRUNTIME_DEBUG
 #endif
 
+#ifndef SWIG_INIT_CLIENT_DATA_TYPE
+#define SWIG_INIT_CLIENT_DATA_TYPE void *
+#endif
 
 SWIGRUNTIME void
-SWIG_InitializeModule(void *clientdata) {
+SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
   size_t i;
   swig_module_info *module_head, *iter;
   int init;
@@ -10938,7 +10795,7 @@ SWIG_InitializeModule(void *clientdata) {
   
   /* Now work on filling in swig_module.types */
 #ifdef SWIGRUNTIME_DEBUG
-  printf("SWIG_InitializeModule: size %d\n", swig_module.size);
+  printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
 #endif
   for (i = 0; i < swig_module.size; ++i) {
     swig_type_info *type = 0;
@@ -10946,7 +10803,7 @@ SWIG_InitializeModule(void *clientdata) {
     swig_cast_info *cast;
     
 #ifdef SWIGRUNTIME_DEBUG
-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+    printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
 #endif
     
     /* if there is another module already loaded */
@@ -11021,7 +10878,7 @@ SWIG_InitializeModule(void *clientdata) {
   for (i = 0; i < swig_module.size; ++i) {
     int j = 0;
     swig_cast_info *cast = swig_module.cast_initial[i];
-    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
+    printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
     while (cast->type) {
       printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
       cast++;
@@ -11075,235 +10932,6 @@ SWIG_PropagateClientData(void) {
 extern "C" {
 #endif
   
-  /* Python-specific SWIG API */
-#define SWIG_newvarlink()                             SWIG_Python_newvarlink()
-#define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
-#define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants)
-  
-  /* -----------------------------------------------------------------------------
-   * global variable support code.
-   * ----------------------------------------------------------------------------- */
-  
-  typedef struct swig_globalvar {
-    char       *name;                  /* Name of global variable */
-    PyObject *(*get_attr)(void);       /* Return the current value */
-    int       (*set_attr)(PyObject *); /* Set the value */
-    struct swig_globalvar *next;
-  } swig_globalvar;
-  
-  typedef struct swig_varlinkobject {
-    PyObject_HEAD
-    swig_globalvar *vars;
-  } swig_varlinkobject;
-  
-  SWIGINTERN PyObject *
-  swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
-#if PY_VERSION_HEX >= 0x03000000
-    return PyUnicode_InternFromString("<Swig global variables>");
-#else
-    return PyString_FromString("<Swig global variables>");
-#endif
-  }
-  
-  SWIGINTERN PyObject *
-  swig_varlink_str(swig_varlinkobject *v) {
-#if PY_VERSION_HEX >= 0x03000000
-    PyObject *str = PyUnicode_InternFromString("(");
-    PyObject *tail;
-    PyObject *joined;
-    swig_globalvar *var;
-    for (var = v->vars; var; var=var->next) {
-      tail = PyUnicode_FromString(var->name);
-      joined = PyUnicode_Concat(str, tail);
-      Py_DecRef(str);
-      Py_DecRef(tail);
-      str = joined;
-      if (var->next) {
-        tail = PyUnicode_InternFromString(", ");
-        joined = PyUnicode_Concat(str, tail);
-        Py_DecRef(str);
-        Py_DecRef(tail);
-        str = joined;
-      }
-    }
-    tail = PyUnicode_InternFromString(")");
-    joined = PyUnicode_Concat(str, tail);
-    Py_DecRef(str);
-    Py_DecRef(tail);
-    str = joined;
-#else
-    PyObject *str = PyString_FromString("(");
-    swig_globalvar *var;
-    for (var = v->vars; var; var=var->next) {
-      PyString_ConcatAndDel(&str,PyString_FromString(var->name));
-      if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
-    }
-    PyString_ConcatAndDel(&str,PyString_FromString(")"));
-#endif
-    return str;
-  }
-  
-  SWIGINTERN int
-  swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
-    char *tmp;
-    PyObject *str = swig_varlink_str(v);
-    fprintf(fp,"Swig global variables ");
-    fprintf(fp,"%s\n", tmp = SWIG_Python_str_AsChar(str));
-    SWIG_Python_str_DelForPy3(tmp);
-    Py_DECREF(str);
-    return 0;
-  }
-  
-  SWIGINTERN void
-  swig_varlink_dealloc(swig_varlinkobject *v) {
-    swig_globalvar *var = v->vars;
-    while (var) {
-      swig_globalvar *n = var->next;
-      free(var->name);
-      free(var);
-      var = n;
-    }
-  }
-  
-  SWIGINTERN PyObject *
-  swig_varlink_getattr(swig_varlinkobject *v, char *n) {
-    PyObject *res = NULL;
-    swig_globalvar *var = v->vars;
-    while (var) {
-      if (strcmp(var->name,n) == 0) {
-        res = (*var->get_attr)();
-        break;
-      }
-      var = var->next;
-    }
-    if (res == NULL && !PyErr_Occurred()) {
-      PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
-    }
-    return res;
-  }
-  
-  SWIGINTERN int
-  swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
-    int res = 1;
-    swig_globalvar *var = v->vars;
-    while (var) {
-      if (strcmp(var->name,n) == 0) {
-        res = (*var->set_attr)(p);
-        break;
-      }
-      var = var->next;
-    }
-    if (res == 1 && !PyErr_Occurred()) {
-      PyErr_Format(PyExc_AttributeError, "Unknown C global variable '%s'", n);
-    }
-    return res;
-  }
-  
-  SWIGINTERN PyTypeObject*
-  swig_varlink_type(void) {
-    static char varlink__doc__[] = "Swig var link object";
-    static PyTypeObject varlink_type;
-    static int type_init = 0;
-    if (!type_init) {
-      const PyTypeObject tmp = {
-#if PY_VERSION_HEX >= 0x03000000
-        PyVarObject_HEAD_INIT(NULL, 0)
-#else
-        PyObject_HEAD_INIT(NULL)
-        0,                                  /* ob_size */
-#endif
-        (char *)"swigvarlink",              /* tp_name */
-        sizeof(swig_varlinkobject),         /* tp_basicsize */
-        0,                                  /* tp_itemsize */
-        (destructor) swig_varlink_dealloc,  /* tp_dealloc */
-        (printfunc) swig_varlink_print,     /* tp_print */
-        (getattrfunc) swig_varlink_getattr, /* tp_getattr */
-        (setattrfunc) swig_varlink_setattr, /* tp_setattr */
-        0,                                  /* tp_compare */
-        (reprfunc) swig_varlink_repr,       /* tp_repr */
-        0,                                  /* tp_as_number */
-        0,                                  /* tp_as_sequence */
-        0,                                  /* tp_as_mapping */
-        0,                                  /* tp_hash */
-        0,                                  /* tp_call */
-        (reprfunc) swig_varlink_str,        /* tp_str */
-        0,                                  /* tp_getattro */
-        0,                                  /* tp_setattro */
-        0,                                  /* tp_as_buffer */
-        0,                                  /* tp_flags */
-        varlink__doc__,                     /* tp_doc */
-        0,                                  /* tp_traverse */
-        0,                                  /* tp_clear */
-        0,                                  /* tp_richcompare */
-        0,                                  /* tp_weaklistoffset */
-#if PY_VERSION_HEX >= 0x02020000
-        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
-#endif
-#if PY_VERSION_HEX >= 0x02030000
-        0,                                  /* tp_del */
-#endif
-#if PY_VERSION_HEX >= 0x02060000
-        0,                                  /* tp_version_tag */
-#endif
-#if PY_VERSION_HEX >= 0x03040000
-        0,                                  /* tp_finalize */
-#endif
-#ifdef COUNT_ALLOCS
-        0,                                  /* tp_allocs */
-        0,                                  /* tp_frees */
-        0,                                  /* tp_maxalloc */
-#if PY_VERSION_HEX >= 0x02050000
-        0,                                  /* tp_prev */
-#endif
-        0                                   /* tp_next */
-#endif
-      };
-      varlink_type = tmp;
-      type_init = 1;
-#if PY_VERSION_HEX < 0x02020000
-      varlink_type.ob_type = &PyType_Type;
-#else
-      if (PyType_Ready(&varlink_type) < 0)
-      return NULL;
-#endif
-    }
-    return &varlink_type;
-  }
-  
-  /* Create a variable linking object for use later */
-  SWIGINTERN PyObject *
-  SWIG_Python_newvarlink(void) {
-    swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
-    if (result) {
-      result->vars = 0;
-    }
-    return ((PyObject*) result);
-  }
-  
-  SWIGINTERN void 
-  SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
-    swig_varlinkobject *v = (swig_varlinkobject *) p;
-    swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
-    if (gv) {
-      size_t size = strlen(name)+1;
-      gv->name = (char *)malloc(size);
-      if (gv->name) {
-        strncpy(gv->name,name,size);
-        gv->get_attr = get_attr;
-        gv->set_attr = set_attr;
-        gv->next = v->vars;
-      }
-    }
-    v->vars = gv;
-  }
-  
-  SWIGINTERN PyObject *
-  SWIG_globals(void) {
-    static PyObject *_SWIG_globals = 0; 
-    if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
-    return _SWIG_globals;
-  }
-  
   /* -----------------------------------------------------------------------------
    * constants/methods manipulation
    * ----------------------------------------------------------------------------- */
@@ -11332,15 +10960,12 @@ extern "C" {
     }
   }
   
-  /* -----------------------------------------------------------------------------*/
-  /* Fix SwigMethods to carry the callback ptrs when needed */
-  /* -----------------------------------------------------------------------------*/
+  /* -----------------------------------------------------------------------------
+   * Patch %callback methods' docstrings to hold the callback ptrs
+   * -----------------------------------------------------------------------------*/
   
   SWIGINTERN void
-  SWIG_Python_FixMethods(PyMethodDef *methods,
-    swig_const_info *const_table,
-    swig_type_info **types,
-    swig_type_info **types_initial) {
+  SWIG_Python_FixMethods(PyMethodDef *methods, const swig_const_info *const_table, swig_type_info **types, swig_type_info **types_initial) {
     size_t i;
     for (i = 0; methods[i].ml_name; ++i) {
       const char *c = methods[i].ml_doc;
@@ -11348,7 +10973,7 @@ extern "C" {
       c = strstr(c, "swig_ptr: ");
       if (c) {
         int j;
-        swig_const_info *ci = 0;
+        const swig_const_info *ci = 0;
         const char *name = c + 10;
         for (j = 0; const_table[j].type; ++j) {
           if (strncmp(const_table[j].name, name, 
@@ -11384,6 +11009,9 @@ extern "C" {
 }
 #endif
 
+
+
+
 /* -----------------------------------------------------------------------------*
  *  Partial Init method
  * -----------------------------------------------------------------------------*/
@@ -11399,20 +11027,12 @@ PyObject*
 void
 #endif
 SWIG_init(void) {
-  PyObject *m, *d, *md;
+  PyObject *m, *d, *md, *globals;
+  
 #if PY_VERSION_HEX >= 0x03000000
   static struct PyModuleDef SWIG_module = {
-# if PY_VERSION_HEX >= 0x03020000
     PyModuleDef_HEAD_INIT,
-# else
-    {
-      PyObject_HEAD_INIT(NULL)
-      NULL, /* m_init */
-      0,    /* m_index */
-      NULL, /* m_copy */
-    },
-# endif
-    (char *) SWIG_name,
+    SWIG_name,
     NULL,
     -1,
     SwigMethods,
@@ -11463,13 +11083,23 @@ SWIG_init(void) {
   assert(metatype);
 #endif
   
+  (void)globals;
+  
+  /* Create singletons now to avoid potential deadlocks with multi-threaded usage after module initialization */
+  SWIG_This();
+  SWIG_Python_TypeCache();
+  SwigPyPacked_type();
+#ifndef SWIGPYTHON_BUILTIN
+  SwigPyObject_type();
+#endif
+  
   /* Fix SwigMethods to carry the callback ptrs when needed */
   SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
   
 #if PY_VERSION_HEX >= 0x03000000
   m = PyModule_Create(&SWIG_module);
 #else
-  m = Py_InitModule((char *) SWIG_name, SwigMethods);
+  m = Py_InitModule(SWIG_name, SwigMethods);
 #endif
   
   md = d = PyModule_GetDict(m);