]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_lua] Fix leaks. 247/head
authorAndrey Volk <andywolk@gmail.com>
Tue, 21 Jan 2020 13:27:06 +0000 (13:27 +0000)
committerAndrey Volk <andywolk@gmail.com>
Tue, 21 Jan 2020 13:27:06 +0000 (13:27 +0000)
42 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/freeswitch.i
src/mod/languages/mod_lua/freeswitch_lua.cpp
src/mod/languages/mod_lua/freeswitch_lua.h
src/mod/languages/mod_lua/hack.diff
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_python/freeswitch.py
src/mod/languages/mod_python/mod_python_wrap.cpp

index 7d0824dbefcd3a16ef41f1ca778bb08fabc66848..d9686f9620c51a03281108db5f8eb0986f430188 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index d111c2f890208fc7ab0e2c2d484bd73ed2f84943..07571c683ad0f8c1c8a33dc55173951f06a1059d 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 71d6198f4416bde752f2c8272784389b5976427e..bf189103c9f57905fe24e56677e1ae8b71ce2825 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index f3a06a2177e76f1c1881fe8fe7b2d82a27e614c1..fd2c933b201a60a42f8860353c5612afb1e502d3 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 9a69a6c5e69989e937abcd9011040e2243b5ec67..18af38ff9d3f0f503d1c110e5be03ba22410f7e0 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 84ca8671b931ed662b9339569f71d679f7231111..c61ce9e4e1fd2b7cfea4ebfe50f0ae0b2ef94e81 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 82573cbff903d247a18c3dcd51b3575bfbb90998..4c71702a15cee0c7d5f7df3e684eb089112b6f89 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 87d2efd11f8260b965c64e3b054fa51956bcf8e4..9947a8d93587fcd8e5f671fdc657e97f8de9ceb6 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index b7aa92cec2931aecb60bb91c9ffd2fd71fdedef6..ca2ece7145cc4cb7b87a522b7ad0a8c8e77f45dc 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index bf20923d8fdff95337cf9fb65d7d3b4027a274d2..d7b9cf39ad1dd9c70bffea226dc136098d82f3f1 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index c668c339ba61a10ace30f478f6210a1426917e01..e205409f41ec689aa26642ead4b45dbc85d398a2 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index b0443427aeb5c6b04d01560b08f5424bdd1f9c04..d562494db96ff9559906f822292523bc501f304c 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index eea4e2e1bd656e834ef8ebe5a0ffb331f52d8376..e72db712f5ed73a76fa4c12b53554acf067f417e 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index fa595a73868f06e90dc0a878a1e07f4a8905b050..ac7971800ee1d86bda17489670fee77adddd6a7f 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 060199a96f3015b363d962da7580a28a2a7d90d2..ef5d70a2a95a9cece16626027bc1f7db55d7544b 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index be40b44b6c0020f2e386ec84bcda83d18d683ec2..f74001fb26a1c281fee080fe2d09a5cc41a2bcac 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 3fdb4a7d207aa63d2e178ed7bee5b121b9b602e6..92af42a73725f8a554d1cacd6237b0e38b77ad9d 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 8bfe879d51c10a0b6e7483f4ceb61833c0029344..6a8d3bc6b603660049076b5080ca3cd5ab33b59d 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 713ca09d3d3ff6275007d0db15092e949a06d278..2685896bd68b34f5dccaa8880a3cda494035d6cb 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 10e2d38666fe4209bd87ed93c93f5abdf451dbd4..b228fc67ae01bd553636920600f3ce12b4d9d7ed 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 989d3d403ebe4ea0b4ab875bf36def2b5444956a..74843c8821bad09d9f57995087a502c4083fe0e7 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index dc28f2e1f8a743f91afecaae39270d4df08bc5ec..59b15e06d41a7fc258e37b73edad826c5762d0cc 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 798349044c17fa307ec903f4fa9d37313989ef00..9d85b66c988d8dc628da4c611242c3e49c354fea 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 6e6ab7d8c3983f129e3cefee2e671d4f4c4760b0..91282b05fc8ca61b1f410cc5b1b7a1bfca12acbd 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 20f583544751759fc7320fdefd2fa0c8f2aea2d9..f6fce4f50dd8ea5b3b300bb8add6a1e4e049da06 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 23eab06f398cfd1b180cb753b345812694acb4b8..0fc677caa465493f9573674a18ab90328bcecdfc 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index 3d59d14638e748409987633aeeb69c1b276a8d64..69ef167199ecb68903e9f057ee659e3c5acf4465 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index e2448cfa7b5b261eed26720dfb9d378483112783..cceea3402a3d23045f3c66c88b599dc4d6379636 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index f5bbcd624691a6ab698ad99845ec71b503eee1d9..0ceaddd0254ffa87ae531910a3de1897827cb8e2 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index e4b6d10e88031df88227452ddaa7ade463775c7d..eb4fe761c24303dbd01bef34d153a3f79121cc7c 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * Do not make changes to this file unless you know what you are doing--modify
  * the SWIG interface file instead.
index b54bb6cdeb0a0f09d3db9a951380d07a16ec78a0..f1b004dece769c9a8b33bb1c976d4e97cf26498d 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * 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
index 3485c8168cbcab9bb2f5d29383206e28ba5efd56..501b50fb48f7145b7eebc57b79ab661c5a1de817 100644 (file)
@@ -1,6 +1,7 @@
 %module freeswitch
 %include ../../../../swig_common.i
 //%include "cstring.i"
+%include std_string.i
 
 /** 
  * tell swig to treat these variables as mutable so they
@@ -44,7 +45,6 @@
   $1 = default_swiglua_fn;
 }
 
-
 %ignore SwitchToMempool;   
 %newobject EventConsumer::pop;
 %newobject Session;
 %newobject API::executeString;
 %newobject CoreSession::playAndDetectSpeech;
 %newobject JSON;
-%newobject JSON::encode;
 %newobject JSON::decode;
-%newobject JSON::execute;
-%newobject JSON::execute2;
 
 %include "typemaps.i"
 %apply int *OUTPUT { int *len };
@@ -130,11 +127,11 @@ class JSON {
     JSON();
     ~JSON();
     cJSON *decode(const char *str);
-    char *encode(SWIGLUA_TABLE lua_table);
+    std::string encode(SWIGLUA_TABLE lua_table);
     cJSON *execute(const char *);
     cJSON *execute(SWIGLUA_TABLE table);
-    char *execute2(const char *);
-    char *execute2(SWIGLUA_TABLE table);
+    std::string execute2(const char *);
+    std::string execute2(SWIGLUA_TABLE table);
     void encode_empty_table_as_object(bool flag);
     void return_unformatted_json(bool flag);
 };
index 134906357e4fc0db406b31262bae6368c8267f76..50d077833695d427cde0e0bf1f9114d72bcb815c 100644 (file)
@@ -600,7 +600,7 @@ void JSON::LuaTable2cJSON(lua_State *L, int index, cJSON **json)
     // Stack is now the same as it was on entry to this function
 }
 
-char *JSON::encode(SWIGLUA_TABLE lua_table)
+std::string JSON::encode(SWIGLUA_TABLE lua_table)
 {
        lua_State *L = lua_table.L;
        cJSON *json = NULL;
@@ -613,8 +613,10 @@ char *JSON::encode(SWIGLUA_TABLE lua_table)
        }
 
        char *s = _return_unformatted_json ? cJSON_PrintUnformatted(json) : cJSON_Print(json);
+       std::string result = std::string(s);
+       free(s);
        cJSON_Delete(json);
-       return s;
+       return result;
 }
 
 int JSON::cJSON2LuaTable(lua_State *L, cJSON *json) {
@@ -724,16 +726,22 @@ cJSON *JSON::execute(SWIGLUA_TABLE table)
        return reply;
 }
 
-char *JSON::execute2(const char *str)
+std::string JSON::execute2(const char *str)
 {
-       cJSON *reply = execute(str);
-
-       return _return_unformatted_json ? cJSON_PrintUnformatted(reply) : cJSON_Print(reply);
+    cJSON *reply = execute(str);
+    char *s = _return_unformatted_json ? cJSON_PrintUnformatted(reply) : cJSON_Print(reply);
+    std::string result = std::string(s);
+    free(s);
+    cJSON_Delete(reply);
+    return result;
 }
 
-char *JSON::execute2(SWIGLUA_TABLE table)
+std::string JSON::execute2(SWIGLUA_TABLE table)
 {
-       cJSON *reply = execute(table);
-
-       return _return_unformatted_json ? cJSON_PrintUnformatted(reply) : cJSON_Print(reply);
+    cJSON *reply = execute(table);
+    char *s = _return_unformatted_json ? cJSON_PrintUnformatted(reply) : cJSON_Print(reply);
+    std::string result = std::string(s);
+    free(s);
+    cJSON_Delete(reply);
+    return result;
 }
index e7acf3c99ec0e5d7217432671444564f82669b33..c357916607a2209929cc710d68fc19e68345c734 100644 (file)
@@ -8,6 +8,7 @@ extern "C" {
 #include "mod_lua_extra.h"
 }
 #include <switch_cpp.h>
+#include <string>
 
 #ifndef lua_pushglobaltable
 #define lua_pushglobaltable(L) lua_pushvalue(L,LUA_GLOBALSINDEX)
@@ -89,11 +90,11 @@ namespace LUA {
       JSON();
       ~JSON();
       cJSON *decode(const char *);
-      char *encode(SWIGLUA_TABLE table);
+      std::string encode(SWIGLUA_TABLE table);
       cJSON *execute(const char *);
       cJSON *execute(SWIGLUA_TABLE table);
-      char *execute2(const char *);
-      char *execute2(SWIGLUA_TABLE table);
+      std::string execute2(const char *);
+      std::string execute2(SWIGLUA_TABLE table);
       void encode_empty_table_as_object(bool flag);
       void return_unformatted_json(bool flag);
       static int cJSON2LuaTable(lua_State *L, cJSON *json);
index 308ef189e997b00427ebf9b3f8348bd72d169c1d..907efb0d7e9d5be1886e20494413b2e61bb3bf61 100644 (file)
@@ -1,6 +1,6 @@
 --- mod_lua_wrap.cpp.old       2015-06-16 12:27:19.024000000 -0500
 +++ mod_lua_wrap.cpp   2015-06-16 12:34:51.540000000 -0500
-@@ -3065,7 +3065,7 @@
+@@ -4242,7 +4242,7 @@ static int _wrap_Stream_read(lua_State* L) {
    }
    
    result = (char *)(arg1)->read(arg2);
@@ -9,7 +9,7 @@
    lua_pushnumber(L, (lua_Number) *arg2); SWIG_arg++;
    return SWIG_arg;
    
-@@ -6855,7 +6855,7 @@
+@@ -8304,7 +8304,7 @@ static int _wrap_new_Session__SWIG_0(lua_State* L) {
    
    SWIG_check_num_args("LUA::Session::Session",0,0)
    result = (LUA::Session *)new LUA::Session();
@@ -18,7 +18,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -6882,7 +6882,7 @@
+@@ -8331,7 +8331,7 @@ static int _wrap_new_Session__SWIG_1(lua_State* L) {
    }
    
    result = (LUA::Session *)new LUA::Session(arg1,arg2);
@@ -27,7 +27,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -6902,7 +6902,7 @@
+@@ -8351,7 +8351,7 @@ static int _wrap_new_Session__SWIG_2(lua_State* L) {
    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);
@@ -36,7 +36,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -6926,7 +6926,7 @@
+@@ -8375,7 +8375,7 @@ static int _wrap_new_Session__SWIG_3(lua_State* L) {
    }
    
    result = (LUA::Session *)new LUA::Session(arg1);
@@ -45,7 +45,7 @@
    return SWIG_arg;
    
    if(0) SWIG_fail;
-@@ -9217,6 +9217,7 @@ static int _wrap_Dbh_test_reactive__SWIG_0(lua_State* L) {
+@@ -9485,6 +9485,7 @@ static int _wrap_Dbh_test_reactive__SWIG_0(lua_State* L) {
    arg2 = (char *)lua_tostring(L, 2);
    arg3 = (char *)lua_tostring(L, 3);
    arg4 = (char *)lua_tostring(L, 4);
@@ -53,7 +53,7 @@
    result = (bool)(arg1)->test_reactive(arg2,arg3,arg4);
    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
    return SWIG_arg;
-@@ -9404,6 +9405,7 @@ static int _wrap_Dbh_query(lua_State* L) {
+@@ -9672,6 +9673,7 @@ static int _wrap_Dbh_query(lua_State* L) {
        (&arg3)->idx = 3;
      }
    }
@@ -61,7 +61,7 @@
    result = (bool)(arg1)->query(arg2,arg3);
    lua_pushboolean(L,(int)(result!=0)); SWIG_arg++;
    return SWIG_arg;
-@@ -9427,7 +9429,7 @@ static int _wrap_Dbh_affected_rows(lua_State* L) {
+@@ -9695,7 +9697,7 @@ static int _wrap_Dbh_affected_rows(lua_State* L) {
    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);
    }
@@ -70,7 +70,7 @@
    result = (int)(arg1)->affected_rows();
    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
    return SWIG_arg;
-@@ -9451,7 +9453,7 @@ static int _wrap_Dbh_last_error(lua_State* L) {
+@@ -9719,7 +9721,7 @@ static int _wrap_Dbh_last_error(lua_State* L) {
    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);
    }
@@ -79,7 +79,7 @@
    result = (char *)(arg1)->last_error();
    lua_pushstring(L,(const char *)result); SWIG_arg++;
    return SWIG_arg;
-@@ -9474,7 +9476,7 @@ static int _wrap_Dbh_clear_error(lua_State* L) {
+@@ -9742,7 +9744,7 @@ static int _wrap_Dbh_clear_error(lua_State* L) {
    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);
    }
@@ -88,7 +88,7 @@
    (arg1)->clear_error();
    
    return SWIG_arg;
-@@ -9502,6 +9504,7 @@ static int _wrap_Dbh_load_extension(lua_State* L) {
+@@ -9770,6 +9772,7 @@ static int _wrap_Dbh_load_extension(lua_State* L) {
    }
    
    arg2 = (char *)lua_tostring(L, 2);
@@ -96,7 +96,7 @@
    result = (int)(arg1)->load_extension((char const *)arg2);
    lua_pushnumber(L, (lua_Number) result); SWIG_arg++;
    return SWIG_arg;
-@@ -9601,6 +9604,7 @@ static int _wrap_JSON_decode(lua_State* L) {
+@@ -9869,6 +9872,7 @@ static int _wrap_JSON_decode(lua_State* L) {
    }
    
    arg2 = (char *)lua_tostring(L, 2);
    result = (cJSON *)(arg1)->decode((char const *)arg2);
    {
      SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
-@@ -9634,6 +9638,7 @@ static int _wrap_JSON_encode(lua_State* L) {
+@@ -9902,6 +9906,7 @@ static int _wrap_JSON_encode(lua_State* L) {
      (&arg2)->L = L;
      (&arg2)->idx = 2;
    }
 +  switch_assert(arg1);
-   result = (char *)(arg1)->encode(arg2);
-   lua_pushstring(L,(const char *)result); SWIG_arg++;
+   result = (arg1)->encode(arg2);
+   lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
    return SWIG_arg;
-@@ -9661,6 +9666,7 @@ static int _wrap_JSON_execute__SWIG_0(lua_State* L) {
+@@ -9929,6 +9934,7 @@ static int _wrap_JSON_execute__SWIG_0(lua_State* L) {
    }
    
    arg2 = (char *)lua_tostring(L, 2);
    result = (cJSON *)(arg1)->execute((char const *)arg2);
    {
      SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
-@@ -9694,6 +9700,7 @@ static int _wrap_JSON_execute__SWIG_1(lua_State* L) {
+@@ -9962,6 +9968,7 @@ static int _wrap_JSON_execute__SWIG_1(lua_State* L) {
      (&arg2)->L = L;
      (&arg2)->idx = 2;
    }
    result = (cJSON *)(arg1)->execute(arg2);
    {
      SWIG_arg += LUA::JSON::cJSON2LuaTable(L, result);
-@@ -9778,6 +9785,7 @@ static int _wrap_JSON_execute2__SWIG_0(lua_State* L) {
+@@ -10046,6 +10053,7 @@ static int _wrap_JSON_execute2__SWIG_0(lua_State* L) {
    }
    
    arg2 = (char *)lua_tostring(L, 2);
 +  switch_assert(arg1);
-   result = (char *)(arg1)->execute2((char const *)arg2);
-   lua_pushstring(L,(const char *)result); SWIG_arg++;
+   result = (arg1)->execute2((char const *)arg2);
+   lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
    return SWIG_arg;
-@@ -9808,6 +9816,7 @@ static int _wrap_JSON_execute2__SWIG_1(lua_State* L) {
+@@ -10076,6 +10084,7 @@ static int _wrap_JSON_execute2__SWIG_1(lua_State* L) {
      (&arg2)->L = L;
      (&arg2)->idx = 2;
    }
 +  switch_assert(arg1);
-   result = (char *)(arg1)->execute2(arg2);
-   lua_pushstring(L,(const char *)result); SWIG_arg++;
+   result = (arg1)->execute2(arg2);
+   lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
    return SWIG_arg;
-@@ -9888,6 +9897,7 @@ static int _wrap_JSON_encode_empty_table_as_object(lua_State* L) {
+@@ -10156,6 +10165,7 @@ static int _wrap_JSON_encode_empty_table_as_object(lua_State* L) {
    }
    
    arg2 = (lua_toboolean(L, 2)!=0);
    (arg1)->encode_empty_table_as_object(arg2);
    
    return SWIG_arg;
-@@ -9914,6 +9924,7 @@ static int _wrap_JSON_return_unformatted_json(lua_State* L) {
+@@ -10182,6 +10192,7 @@ static int _wrap_JSON_return_unformatted_json(lua_State* L) {
    }
    
    arg2 = (lua_toboolean(L, 2)!=0);
index ea42d2134f4fc215cfcd347bf5c47eafce99111e..a54f1faf68ecbad038aa713b832ebbfa4a6891a0 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * 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
@@ -2691,23 +2691,24 @@ SWIG_Lua_dostring(lua_State *L, const char *str) {
 #define SWIGTYPE_p_lua_State swig_types[13]
 #define SWIGTYPE_p_p_switch_event_node_t swig_types[14]
 #define SWIGTYPE_p_session_flag_t swig_types[15]
-#define SWIGTYPE_p_switch_call_cause_t swig_types[16]
-#define SWIGTYPE_p_switch_channel_state_t swig_types[17]
-#define SWIGTYPE_p_switch_channel_t swig_types[18]
-#define SWIGTYPE_p_switch_core_session_t swig_types[19]
-#define SWIGTYPE_p_switch_event_t swig_types[20]
-#define SWIGTYPE_p_switch_event_types_t swig_types[21]
-#define SWIGTYPE_p_switch_input_args_t swig_types[22]
-#define SWIGTYPE_p_switch_input_type_t swig_types[23]
-#define SWIGTYPE_p_switch_priority_t swig_types[24]
-#define SWIGTYPE_p_switch_queue_t swig_types[25]
-#define SWIGTYPE_p_switch_state_handler_table_t swig_types[26]
-#define SWIGTYPE_p_switch_status_t swig_types[27]
-#define SWIGTYPE_p_switch_stream_handle_t swig_types[28]
-#define SWIGTYPE_p_uint32_t swig_types[29]
-#define SWIGTYPE_p_void swig_types[30]
-static swig_type_info *swig_types[32];
-static swig_module_info swig_module = {swig_types, 31, 0, 0, 0, 0};
+#define SWIGTYPE_p_std__string swig_types[16]
+#define SWIGTYPE_p_switch_call_cause_t swig_types[17]
+#define SWIGTYPE_p_switch_channel_state_t swig_types[18]
+#define SWIGTYPE_p_switch_channel_t swig_types[19]
+#define SWIGTYPE_p_switch_core_session_t swig_types[20]
+#define SWIGTYPE_p_switch_event_t swig_types[21]
+#define SWIGTYPE_p_switch_event_types_t swig_types[22]
+#define SWIGTYPE_p_switch_input_args_t swig_types[23]
+#define SWIGTYPE_p_switch_input_type_t swig_types[24]
+#define SWIGTYPE_p_switch_priority_t swig_types[25]
+#define SWIGTYPE_p_switch_queue_t swig_types[26]
+#define SWIGTYPE_p_switch_state_handler_table_t swig_types[27]
+#define SWIGTYPE_p_switch_status_t swig_types[28]
+#define SWIGTYPE_p_switch_stream_handle_t swig_types[29]
+#define SWIGTYPE_p_uint32_t swig_types[30]
+#define SWIGTYPE_p_void swig_types[31]
+static swig_type_info *swig_types[33];
+static swig_module_info swig_module = {swig_types, 32, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -2724,6 +2725,17 @@ typedef struct{} LANGUAGE_OBJ;
 }
 
 
+#include <string>
+
+
+SWIGINTERN int SWIG_lua_isnilstring(lua_State *L, int idx) {
+  int ret = lua_isstring(L, idx);
+  if (!ret)
+   ret = lua_isnil(L, idx);
+  return ret;
+}
+
+
 #include "switch.h"
 #include "switch_cpp.h"
 #include "freeswitch_lua.h"
@@ -2885,17 +2897,273 @@ SWIGINTERN void SWIG_write_ptr_array(lua_State* L,void **array,int size,swig_typ
        }
 }
 
-
-SWIGINTERN int SWIG_lua_isnilstring(lua_State *L, int idx) {
-  int ret = lua_isstring(L, idx);
-  if (!ret)
-   ret = lua_isnil(L, idx);
-  return ret;
-}
-
 #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:
+  lua_error(L);
+  return SWIG_arg;
+}
+
+
+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:
+  lua_error(L);
+  return SWIG_arg;
+}
+
+
+static int _wrap_new_string(lua_State* L) {
+  int argc;
+  int argv[2]={
+    1,2
+  };
+  
+  argc = lua_gettop(L);
+  if (argc == 0) {
+    return _wrap_new_string__SWIG_0(L);
+  }
+  if (argc == 1) {
+    int _v;
+    {
+      _v = SWIG_lua_isnilstring(L,argv[0]);
+    }
+    if (_v) {
+      return _wrap_new_string__SWIG_1(L);
+    }
+  }
+  
+  SWIG_Lua_pusherrstring(L,"Wrong arguments for overloaded function 'new_string'\n"
+    "  Possible C/C++ prototypes are:\n"
+    "    std::string::string()\n"
+    "    std::string::string(char const *)\n");
+  lua_error(L);return 0;
+}
+
+
+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);
+  }
+  
+  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;
+}
+
+
+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);
+  }
+  
+  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;
+}
+
+
+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);
+  }
+  
+  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;
+}
+
+
+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);
+  }
+  
+  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;
+}
+
+
+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);
+  }
+  
+  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;
+}
+
+
+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);
+  }
+  
+  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;
+}
+
+
+static void swig_delete_string(void *obj) {
+std::string *arg1 = (std::string *) obj;
+delete arg1;
+}
+static int _proxy__wrap_new_string(lua_State *L) {
+    assert(lua_istable(L,1));
+    lua_pushcfunction(L,_wrap_new_string);
+    assert(!lua_isnil(L,-1));
+    lua_replace(L,1); /* replace our table with real constructor */
+    lua_call(L,lua_gettop(L)-1,1);
+    return 1;
+}
+static swig_lua_attribute swig_string_attributes[] = {
+    {0,0,0}
+};
+static swig_lua_method swig_string_methods[]= {
+    { "size", _wrap_string_size},
+    { "length", _wrap_string_length},
+    { "empty", _wrap_string_empty},
+    { "c_str", _wrap_string_c_str},
+    { "data", _wrap_string_data},
+    { "assign", _wrap_string_assign},
+    {0,0}
+};
+static swig_lua_method swig_string_meta[] = {
+    {0,0}
+};
+
+static swig_lua_attribute swig_string_Sf_SwigStatic_attributes[] = {
+    {0,0,0}
+};
+static swig_lua_const_info swig_string_Sf_SwigStatic_constants[]= {
+    {0,0,0,0,0,0}
+};
+static swig_lua_method swig_string_Sf_SwigStatic_methods[]= {
+    {0,0}
+};
+static swig_lua_class* swig_string_Sf_SwigStatic_classes[]= {
+    0
+};
+
+static swig_lua_namespace swig_string_Sf_SwigStatic = {
+    "string",
+    swig_string_Sf_SwigStatic_methods,
+    swig_string_Sf_SwigStatic_attributes,
+    swig_string_Sf_SwigStatic_constants,
+    swig_string_Sf_SwigStatic_classes,
+    0
+};
+static swig_lua_class *swig_string_bases[] = {0};
+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 ;
@@ -9624,7 +9892,7 @@ static int _wrap_JSON_encode(lua_State* L) {
   int SWIG_arg = 0;
   LUA::JSON *arg1 = (LUA::JSON *) 0 ;
   SWIGLUA_TABLE arg2 ;
-  char *result = 0 ;
+  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 *");
@@ -9639,8 +9907,8 @@ static int _wrap_JSON_encode(lua_State* L) {
     (&arg2)->idx = 2;
   }
   switch_assert(arg1);
-  result = (char *)(arg1)->encode(arg2);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
+  result = (arg1)->encode(arg2);
+  lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
   return SWIG_arg;
   
   if(0) SWIG_fail;
@@ -9774,7 +10042,7 @@ static int _wrap_JSON_execute2__SWIG_0(lua_State* L) {
   int SWIG_arg = 0;
   LUA::JSON *arg1 = (LUA::JSON *) 0 ;
   char *arg2 = (char *) 0 ;
-  char *result = 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 *");
@@ -9786,8 +10054,8 @@ static int _wrap_JSON_execute2__SWIG_0(lua_State* L) {
   
   arg2 = (char *)lua_tostring(L, 2);
   switch_assert(arg1);
-  result = (char *)(arg1)->execute2((char const *)arg2);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
+  result = (arg1)->execute2((char const *)arg2);
+  lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
   return SWIG_arg;
   
   if(0) SWIG_fail;
@@ -9802,7 +10070,7 @@ static int _wrap_JSON_execute2__SWIG_1(lua_State* L) {
   int SWIG_arg = 0;
   LUA::JSON *arg1 = (LUA::JSON *) 0 ;
   SWIGLUA_TABLE arg2 ;
-  char *result = 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 *");
@@ -9817,8 +10085,8 @@ static int _wrap_JSON_execute2__SWIG_1(lua_State* L) {
     (&arg2)->idx = 2;
   }
   switch_assert(arg1);
-  result = (char *)(arg1)->execute2(arg2);
-  lua_pushstring(L,(const char *)result); SWIG_arg++;
+  result = (arg1)->execute2(arg2);
+  lua_pushlstring(L,(&result)->data(),(&result)->size()); SWIG_arg++;
   return SWIG_arg;
   
   if(0) SWIG_fail;
@@ -10017,6 +10285,7 @@ static swig_lua_method swig_SwigModule_methods[]= {
     {0,0}
 };
 static swig_lua_class* swig_SwigModule_classes[]= {
+&_wrap_class_string,
 &_wrap_class_IVRMenu,
 &_wrap_class_API,
 &_wrap_class_input_callback_state_t,
@@ -10067,6 +10336,7 @@ 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_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};
 static swig_type_info _swigt__p_switch_channel_t = {"_p_switch_channel_t", "switch_channel_t *", 0, 0, (void*)0, 0};
@@ -10100,6 +10370,7 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_lua_State,
   &_swigt__p_p_switch_event_node_t,
   &_swigt__p_session_flag_t,
+  &_swigt__p_std__string,
   &_swigt__p_switch_call_cause_t,
   &_swigt__p_switch_channel_state_t,
   &_swigt__p_switch_channel_t,
@@ -10133,6 +10404,7 @@ static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0
 static swig_cast_info _swigc__p_lua_State[] = {  {&_swigt__p_lua_State, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_p_switch_event_node_t[] = {  {&_swigt__p_p_switch_event_node_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_session_flag_t[] = {  {&_swigt__p_session_flag_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__string[] = {  {&_swigt__p_std__string, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_switch_call_cause_t[] = {  {&_swigt__p_switch_call_cause_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_switch_channel_state_t[] = {  {&_swigt__p_switch_channel_state_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_switch_channel_t[] = {  {&_swigt__p_switch_channel_t, 0, 0, 0},{0, 0, 0, 0}};
@@ -10166,6 +10438,7 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_lua_State,
   _swigc__p_p_switch_event_node_t,
   _swigc__p_session_flag_t,
+  _swigc__p_std__string,
   _swigc__p_switch_call_cause_t,
   _swigc__p_switch_channel_state_t,
   _swigc__p_switch_channel_t,
index 07efc7d898d9a6ce920aed7b9c1dd015cd7f9556..5a09cc90776e3b8270a08c0e1219fbefdf534cb6 100644 (file)
@@ -45807,6 +45807,18 @@ SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_video_loss___(vo
 }
 
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_rtp_get_core_session___(void * jarg1) {
+  void * jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_core_session_t *result = 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (switch_core_session_t *)switch_rtp_get_core_session(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_FreeSWITCHfNative_switch_log_node_t_data_set___(void * jarg1, char * jarg2) {
   switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
   char *arg2 = (char *) 0 ;
index 884806bcab4a01994177233b10e96df4f9d897b0..036586ec979825f6e81f94a28978e28a57709df2 100644 (file)
@@ -14068,6 +14068,12 @@ else
     freeswitchPINVOKE.switch_rtp_video_loss(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
   }
 
+  public static SWIGTYPE_p_switch_core_session switch_rtp_get_core_session(SWIGTYPE_p_switch_rtp rtp_session) {
+    global::System.IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_core_session(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    SWIGTYPE_p_switch_core_session ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
+    return ret;
+  }
+
   public static SWIGTYPE_p_cJSON switch_log_node_to_json(switch_log_node_t node, int log_level, switch_log_json_format_t json_format, switch_event chan_vars) {
     global::System.IntPtr cPtr = freeswitchPINVOKE.switch_log_node_to_json(switch_log_node_t.getCPtr(node), log_level, switch_log_json_format_t.getCPtr(json_format), switch_event.getCPtr(chan_vars));
     SWIGTYPE_p_cJSON ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_cJSON(cPtr, false);
@@ -26166,6 +26172,9 @@ class freeswitchPINVOKE {
   [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_video_loss___")]
   public static extern void switch_rtp_video_loss(global::System.Runtime.InteropServices.HandleRef jarg1);
 
+  [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_rtp_get_core_session___")]
+  public static extern global::System.IntPtr switch_rtp_get_core_session(global::System.Runtime.InteropServices.HandleRef jarg1);
+
   [global::System.Runtime.InteropServices.DllImport("mod_managed", EntryPoint="CSharp_FreeSWITCHfNative_switch_log_node_t_data_set___")]
   public static extern void switch_log_node_t_data_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
 
index 2e8ca46ef461f1fcc9f5071f370548676fb74c92..3d511c9225f9aaa96922ab1e2b8ada3daf0fb790 100644 (file)
@@ -1,5 +1,5 @@
 # This file was automatically generated by SWIG (http://www.swig.org).
-# Version 3.0.10
+# Version 3.0.12
 #
 # Do not make changes to this file unless you know what you are doing--modify
 # the SWIG interface file instead.
index be5d700ea896ccd882f280472059e999f581fb65..a6b48e7670a107d668ae367879e02eccbe76260a 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * 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
@@ -1572,7 +1572,7 @@ 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 0x030010 
+#define SWIGVERSION 0x030012 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -1629,7 +1629,7 @@ SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
     if (cptr)  {
       if (alloc) {
        if (*alloc == SWIG_NEWOBJ) {
-         *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
+         *cptr = reinterpret_cast< char* >(memcpy(new char[size], cstr, sizeof(char)*(size)));
        } else {
          *cptr = cstr;
          *alloc = SWIG_OLDOBJ;
@@ -3091,7 +3091,7 @@ XS(_wrap_input_callback_state_t_funcargs_set) {
     if (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)));
+      arg1->funcargs = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->funcargs = 0;
     }
@@ -3752,7 +3752,7 @@ XS(_wrap_Event_serialized_string_set) {
     if (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)));
+      arg1->serialized_string = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->serialized_string = 0;
     }
@@ -4644,7 +4644,7 @@ XS(_wrap_EventConsumer_e_callback_set) {
     if (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)));
+      arg1->e_callback = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->e_callback = 0;
     }
@@ -4716,7 +4716,7 @@ XS(_wrap_EventConsumer_e_subclass_name_set) {
     if (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)));
+      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;
     }
@@ -4788,7 +4788,7 @@ XS(_wrap_EventConsumer_e_cb_arg_set) {
     if (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)));
+      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;
     }
@@ -5705,7 +5705,7 @@ XS(_wrap_CoreSession_uuid_set) {
     if (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)));
+      arg1->uuid = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->uuid = 0;
     }
@@ -5777,7 +5777,7 @@ XS(_wrap_CoreSession_tts_name_set) {
     if (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)));
+      arg1->tts_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->tts_name = 0;
     }
@@ -5849,7 +5849,7 @@ XS(_wrap_CoreSession_voice_name_set) {
     if (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)));
+      arg1->voice_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->voice_name = 0;
     }
@@ -10219,7 +10219,7 @@ XS(_wrap_Session_suuid_set) {
     if (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)));
+      arg1->suuid = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->suuid = 0;
     }
@@ -10291,7 +10291,7 @@ XS(_wrap_Session_cb_function_set) {
     if (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)));
+      arg1->cb_function = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->cb_function = 0;
     }
@@ -10363,7 +10363,7 @@ XS(_wrap_Session_cb_arg_set) {
     if (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)));
+      arg1->cb_arg = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
     } else {
       arg1->cb_arg = 0;
     }
@@ -10435,7 +10435,7 @@ XS(_wrap_Session_hangup_func_str_set) {
     if (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)));
+      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;
     }
@@ -10507,7 +10507,7 @@ XS(_wrap_Session_hangup_func_arg_set) {
     if (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)));
+      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;
     }
index e6c43d3a458e996e3ad39bd313a5e1949809bcfb..ac9f655ad9b7a38eb8ae39c8e3d84216117a82cf 100644 (file)
@@ -1,13 +1,9 @@
 # This file was automatically generated by SWIG (http://www.swig.org).
-# Version 3.0.10
+# Version 3.0.12
 #
 # 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():
@@ -30,17 +26,18 @@ elif _swig_python_version_info >= (2, 6, 0):
         except ImportError:
             import _freeswitch
             return _freeswitch
-        if fp is not None:
-            try:
-                _mod = imp.load_module('_freeswitch', fp, pathname, description)
-            finally:
+        try:
+            _mod = imp.load_module('_freeswitch', fp, pathname, description)
+        finally:
+            if fp is not None:
                 fp.close()
-            return _mod
+        return _mod
     _freeswitch = swig_import_helper()
     del swig_import_helper
 else:
     import _freeswitch
 del _swig_python_version_info
+
 try:
     _swig_property = property
 except NameError:
index bd29b95954636f3294b6ceca251ce034a69a9e91..31ec090c6a279cf18d6576f503eed79acb4844aa 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.10
+ * Version 3.0.12
  *
  * 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
@@ -976,6 +976,7 @@ typedef destructor freefunc;
 #if PY_VERSION_HEX < 0x03020000
 #define PyDescr_TYPE(x) (((PyDescrObject *)(x))->d_type)
 #define PyDescr_NAME(x) (((PyDescrObject *)(x))->d_name)
+#define Py_hash_t long
 #endif
 
 /* -----------------------------------------------------------------------------
@@ -1631,6 +1632,14 @@ SwigPyObject_repr(SwigPyObject *v, PyObject *args)
   return repr;  
 }
 
+/* We need a version taking two PyObject* parameters so it's a valid
+ * PyCFunction to use in swigobject_methods[]. */
+SWIGRUNTIME PyObject *
+SwigPyObject_repr2(PyObject *v, PyObject *SWIGUNUSEDPARM(args))
+{
+  return SwigPyObject_repr((SwigPyObject*)v);
+}
+
 SWIGRUNTIME int
 SwigPyObject_compare(SwigPyObject *v, SwigPyObject *w)
 {
@@ -1760,11 +1769,7 @@ SwigPyObject_append(PyObject* v, PyObject* next)
 }
 
 SWIGRUNTIME PyObject* 
-#ifdef METH_NOARGS
-SwigPyObject_next(PyObject* v)
-#else
 SwigPyObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
-#endif
 {
   SwigPyObject *sobj = (SwigPyObject *) v;
   if (sobj->next) {    
@@ -1799,6 +1804,20 @@ SwigPyObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
   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)
 {
@@ -1839,12 +1858,12 @@ SwigPyObject_own(PyObject *v, PyObject *args)
 #ifdef METH_O
 static PyMethodDef
 swigobject_methods[] = {
-  {(char *)"disown",  (PyCFunction)SwigPyObject_disown METH_NOARGS,  (char *)"releases ownership of the pointer"},
-  {(char *)"acquire", (PyCFunction)SwigPyObject_acquireMETH_NOARGS,  (char *)"acquires ownership of the pointer"},
+  {(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_repr   METH_NOARGS,  (char *)"returns object representation"},
+  {(char *)"__repr__",(PyCFunction)SwigPyObject_repr2,   METH_NOARGS,  (char *)"returns object representation"},
   {0, 0, 0, 0}  
 };
 #else
@@ -1855,7 +1874,7 @@ swigobject_methods[] = {
   {(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"},
+  {(char *)"__repr__",(PyCFunction)SwigPyObject_repr,    METH_VARARGS,  (char *)"returns object representation"},
   {0, 0, 0, 0}  
 };
 #endif
@@ -1924,7 +1943,6 @@ SwigPyObject_TypeOnce(void) {
   static int type_init = 0;
   if (!type_init) {
     const PyTypeObject tmp = {
-      /* PyObject header changed in Python 3 */
 #if PY_VERSION_HEX >= 0x03000000
       PyVarObject_HEAD_INIT(NULL, 0)
 #else
@@ -1935,7 +1953,7 @@ SwigPyObject_TypeOnce(void) {
       sizeof(SwigPyObject),                 /* tp_basicsize */
       0,                                    /* tp_itemsize */
       (destructor)SwigPyObject_dealloc,     /* tp_dealloc */
-      0,                                   /* tp_print */
+      0,                                    /* tp_print */
 #if PY_VERSION_HEX < 0x02020000
       (getattrfunc)SwigPyObject_getattr,    /* tp_getattr */
 #else
@@ -1943,7 +1961,7 @@ SwigPyObject_TypeOnce(void) {
 #endif
       (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 */
+      0, /* tp_reserved in 3.0.1, tp_compare in 3.0.0 but not used */
 #else
       (cmpfunc)SwigPyObject_compare,        /* tp_compare */
 #endif
@@ -1953,7 +1971,7 @@ SwigPyObject_TypeOnce(void) {
       0,                                    /* tp_as_mapping */
       (hashfunc)0,                          /* tp_hash */
       (ternaryfunc)0,                       /* tp_call */
-      0,                                   /* tp_str */
+      0,                                    /* tp_str */
       PyObject_GenericGetAttr,              /* tp_getattro */
       0,                                    /* tp_setattro */
       0,                                    /* tp_as_buffer */
@@ -2116,7 +2134,6 @@ SwigPyPacked_TypeOnce(void) {
   static int type_init = 0;
   if (!type_init) {
     const PyTypeObject tmp = {
-      /* PyObject header changed in Python 3 */
 #if PY_VERSION_HEX>=0x03000000
       PyVarObject_HEAD_INIT(NULL, 0)
 #else
@@ -3057,7 +3074,7 @@ static swig_module_info swig_module = {swig_types, 28, 0, 0, 0, 0};
 #endif
 #define SWIG_name    "_freeswitch"
 
-#define SWIGVERSION 0x030010 
+#define SWIGVERSION 0x030012 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -3202,7 +3219,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
        if (*alloc == SWIG_NEWOBJ) 
 #endif
        {
-         *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+         *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
          *alloc = SWIG_NEWOBJ;
        } else {
          *cptr = cstr;
@@ -3240,7 +3257,7 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
       if (PyString_AsStringAndSize(obj, &cstr, &len) != -1) {
         if (cptr) {
           if (alloc) *alloc = SWIG_NEWOBJ;
-          *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
+          *cptr = reinterpret_cast< char* >(memcpy(new char[len + 1], cstr, sizeof(char)*(len + 1)));
         }
         if (psize) *psize = len + 1;
 
@@ -3326,7 +3343,7 @@ SWIG_AsVal_double (PyObject *obj, double *val)
     return SWIG_OK;
 #if PY_VERSION_HEX < 0x03000000
   } else if (PyInt_Check(obj)) {
-    if (val) *val = PyInt_AsLong(obj);
+    if (val) *val = (double) PyInt_AsLong(obj);
     return SWIG_OK;
 #endif
   } else if (PyLong_Check(obj)) {
@@ -4239,7 +4256,7 @@ fail:
 
 SWIGINTERN PyObject *IVRMenu_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_IVRMenu, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -4397,7 +4414,7 @@ fail:
 
 SWIGINTERN PyObject *API_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_API, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -4578,7 +4595,7 @@ SWIGINTERN PyObject *_wrap_input_callback_state_t_funcargs_set(PyObject *SWIGUNU
   if (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)));
+    arg1->funcargs = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
   } else {
     arg1->funcargs = 0;
   }
@@ -4649,7 +4666,7 @@ 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 (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_input_callback_state, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -4830,7 +4847,7 @@ fail:
 
 SWIGINTERN PyObject *DTMF_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_DTMF, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -5055,7 +5072,7 @@ fail:
 
 SWIGINTERN PyObject *Stream_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Stream, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -5138,7 +5155,7 @@ SWIGINTERN PyObject *_wrap_Event_serialized_string_set(PyObject *SWIGUNUSEDPARM(
   if (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)));
+    arg1->serialized_string = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
   } else {
     arg1->serialized_string = 0;
   }
@@ -5750,7 +5767,7 @@ fail:
 
 SWIGINTERN PyObject *Event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_Event, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -5893,7 +5910,7 @@ SWIGINTERN PyObject *_wrap_EventConsumer_e_callback_set(PyObject *SWIGUNUSEDPARM
   if (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)));
+    arg1->e_callback = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
   } else {
     arg1->e_callback = 0;
   }
@@ -5954,7 +5971,7 @@ SWIGINTERN PyObject *_wrap_EventConsumer_e_subclass_name_set(PyObject *SWIGUNUSE
   if (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)));
+    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;
   }
@@ -6015,7 +6032,7 @@ SWIGINTERN PyObject *_wrap_EventConsumer_e_cb_arg_set(PyObject *SWIGUNUSEDPARM(s
   if (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)));
+    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;
   }
@@ -6359,7 +6376,7 @@ fail:
 
 SWIGINTERN PyObject *EventConsumer_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_EventConsumer, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -6791,7 +6808,7 @@ SWIGINTERN PyObject *_wrap_CoreSession_uuid_set(PyObject *SWIGUNUSEDPARM(self),
   if (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)));
+    arg1->uuid = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
   } else {
     arg1->uuid = 0;
   }
@@ -6852,7 +6869,7 @@ SWIGINTERN PyObject *_wrap_CoreSession_tts_name_set(PyObject *SWIGUNUSEDPARM(sel
   if (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)));
+    arg1->tts_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
   } else {
     arg1->tts_name = 0;
   }
@@ -6913,7 +6930,7 @@ SWIGINTERN PyObject *_wrap_CoreSession_voice_name_set(PyObject *SWIGUNUSEDPARM(s
   if (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)));
+    arg1->voice_name = (char *)reinterpret_cast< char* >(memcpy(new char[size], reinterpret_cast< const char * >(arg2), sizeof(char)*(size)));
   } else {
     arg1->voice_name = 0;
   }
@@ -9399,7 +9416,7 @@ fail:
 
 SWIGINTERN PyObject *CoreSession_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_CoreSession, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
@@ -10455,199 +10472,199 @@ fail:
 
 SWIGINTERN PyObject *Session_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *obj;
-  if (!PyArg_ParseTuple(args,(char*)"O:swigregister", &obj)) return NULL;
+  if (!PyArg_ParseTuple(args,(char *)"O:swigregister", &obj)) return NULL;
   SWIG_TypeNewClientData(SWIGTYPE_p_PYTHON__Session, SWIG_NewClientData(obj));
   return SWIG_Py_Void();
 }
 
 static PyMethodDef SwigMethods[] = {
-        { (char *)"SWIG_PyInstanceMethod_New", (PyCFunction)SWIG_PyInstanceMethod_New, METH_O, NULL},
-        { (char *)"setGlobalVariable", _wrap_setGlobalVariable, METH_VARARGS, NULL},
-        { (char *)"getGlobalVariable", _wrap_getGlobalVariable, METH_VARARGS, NULL},
-        { (char *)"consoleLog", _wrap_consoleLog, METH_VARARGS, NULL},
-        { (char *)"consoleLog2", _wrap_consoleLog2, METH_VARARGS, NULL},
-        { (char *)"consoleCleanLog", _wrap_consoleCleanLog, METH_VARARGS, NULL},
-        { (char *)"running", _wrap_running, METH_VARARGS, NULL},
-        { (char *)"email", _wrap_email, METH_VARARGS, NULL},
-        { (char *)"new_IVRMenu", _wrap_new_IVRMenu, METH_VARARGS, NULL},
-        { (char *)"delete_IVRMenu", _wrap_delete_IVRMenu, METH_VARARGS, NULL},
-        { (char *)"IVRMenu_bindAction", _wrap_IVRMenu_bindAction, METH_VARARGS, NULL},
-        { (char *)"IVRMenu_execute", _wrap_IVRMenu_execute, METH_VARARGS, NULL},
-        { (char *)"IVRMenu_swigregister", IVRMenu_swigregister, METH_VARARGS, NULL},
-        { (char *)"new_API", _wrap_new_API, METH_VARARGS, NULL},
-        { (char *)"delete_API", _wrap_delete_API, METH_VARARGS, NULL},
-        { (char *)"API_execute", _wrap_API_execute, METH_VARARGS, NULL},
-        { (char *)"API_executeString", _wrap_API_executeString, METH_VARARGS, NULL},
-        { (char *)"API_getTime", _wrap_API_getTime, METH_VARARGS, NULL},
-        { (char *)"API_swigregister", API_swigregister, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_function_set", _wrap_input_callback_state_t_function_set, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_function_get", _wrap_input_callback_state_t_function_get, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_threadState_set", _wrap_input_callback_state_t_threadState_set, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_threadState_get", _wrap_input_callback_state_t_threadState_get, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_extra_set", _wrap_input_callback_state_t_extra_set, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_extra_get", _wrap_input_callback_state_t_extra_get, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_funcargs_set", _wrap_input_callback_state_t_funcargs_set, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_funcargs_get", _wrap_input_callback_state_t_funcargs_get, METH_VARARGS, NULL},
-        { (char *)"new_input_callback_state_t", _wrap_new_input_callback_state_t, METH_VARARGS, NULL},
-        { (char *)"delete_input_callback_state_t", _wrap_delete_input_callback_state_t, METH_VARARGS, NULL},
-        { (char *)"input_callback_state_t_swigregister", input_callback_state_t_swigregister, METH_VARARGS, NULL},
-        { (char *)"DTMF_digit_set", _wrap_DTMF_digit_set, METH_VARARGS, NULL},
-        { (char *)"DTMF_digit_get", _wrap_DTMF_digit_get, METH_VARARGS, NULL},
-        { (char *)"DTMF_duration_set", _wrap_DTMF_duration_set, METH_VARARGS, NULL},
-        { (char *)"DTMF_duration_get", _wrap_DTMF_duration_get, METH_VARARGS, NULL},
-        { (char *)"new_DTMF", _wrap_new_DTMF, METH_VARARGS, NULL},
-        { (char *)"delete_DTMF", _wrap_delete_DTMF, METH_VARARGS, NULL},
-        { (char *)"DTMF_swigregister", DTMF_swigregister, METH_VARARGS, NULL},
-        { (char *)"new_Stream", _wrap_new_Stream, METH_VARARGS, NULL},
-        { (char *)"delete_Stream", _wrap_delete_Stream, METH_VARARGS, NULL},
-        { (char *)"Stream_read", _wrap_Stream_read, METH_VARARGS, NULL},
-        { (char *)"Stream_write", _wrap_Stream_write, METH_VARARGS, NULL},
-        { (char *)"Stream_raw_write", _wrap_Stream_raw_write, METH_VARARGS, NULL},
-        { (char *)"Stream_get_data", _wrap_Stream_get_data, METH_VARARGS, NULL},
-        { (char *)"Stream_swigregister", Stream_swigregister, METH_VARARGS, NULL},
-        { (char *)"Event_event_set", _wrap_Event_event_set, METH_VARARGS, NULL},
-        { (char *)"Event_event_get", _wrap_Event_event_get, METH_VARARGS, NULL},
-        { (char *)"Event_serialized_string_set", _wrap_Event_serialized_string_set, METH_VARARGS, NULL},
-        { (char *)"Event_serialized_string_get", _wrap_Event_serialized_string_get, METH_VARARGS, NULL},
-        { (char *)"Event_mine_set", _wrap_Event_mine_set, METH_VARARGS, NULL},
-        { (char *)"Event_mine_get", _wrap_Event_mine_get, METH_VARARGS, NULL},
-        { (char *)"new_Event", _wrap_new_Event, METH_VARARGS, NULL},
-        { (char *)"delete_Event", _wrap_delete_Event, METH_VARARGS, NULL},
-        { (char *)"Event_chat_execute", _wrap_Event_chat_execute, METH_VARARGS, NULL},
-        { (char *)"Event_chat_send", _wrap_Event_chat_send, METH_VARARGS, NULL},
-        { (char *)"Event_serialize", _wrap_Event_serialize, METH_VARARGS, NULL},
-        { (char *)"Event_setPriority", _wrap_Event_setPriority, METH_VARARGS, NULL},
-        { (char *)"Event_getHeader", _wrap_Event_getHeader, METH_VARARGS, NULL},
-        { (char *)"Event_getBody", _wrap_Event_getBody, METH_VARARGS, NULL},
-        { (char *)"Event_getType", _wrap_Event_getType, METH_VARARGS, NULL},
-        { (char *)"Event_addBody", _wrap_Event_addBody, METH_VARARGS, NULL},
-        { (char *)"Event_addHeader", _wrap_Event_addHeader, METH_VARARGS, NULL},
-        { (char *)"Event_delHeader", _wrap_Event_delHeader, METH_VARARGS, NULL},
-        { (char *)"Event_fire", _wrap_Event_fire, METH_VARARGS, NULL},
-        { (char *)"Event_swigregister", Event_swigregister, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_events_set", _wrap_EventConsumer_events_set, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_events_get", _wrap_EventConsumer_events_get, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_event_id_set", _wrap_EventConsumer_e_event_id_set, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_event_id_get", _wrap_EventConsumer_e_event_id_get, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_callback_set", _wrap_EventConsumer_e_callback_set, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_callback_get", _wrap_EventConsumer_e_callback_get, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_subclass_name_set", _wrap_EventConsumer_e_subclass_name_set, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_subclass_name_get", _wrap_EventConsumer_e_subclass_name_get, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_cb_arg_set", _wrap_EventConsumer_e_cb_arg_set, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_e_cb_arg_get", _wrap_EventConsumer_e_cb_arg_get, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_enodes_set", _wrap_EventConsumer_enodes_set, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_enodes_get", _wrap_EventConsumer_enodes_get, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_node_index_set", _wrap_EventConsumer_node_index_set, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_node_index_get", _wrap_EventConsumer_node_index_get, METH_VARARGS, NULL},
-        { (char *)"new_EventConsumer", _wrap_new_EventConsumer, METH_VARARGS, NULL},
-        { (char *)"delete_EventConsumer", _wrap_delete_EventConsumer, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_bind", _wrap_EventConsumer_bind, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_pop", _wrap_EventConsumer_pop, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_cleanup", _wrap_EventConsumer_cleanup, METH_VARARGS, NULL},
-        { (char *)"EventConsumer_swigregister", EventConsumer_swigregister, METH_VARARGS, NULL},
-        { (char *)"delete_CoreSession", _wrap_delete_CoreSession, METH_VARARGS, NULL},
-        { (char *)"CoreSession_session_set", _wrap_CoreSession_session_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_session_get", _wrap_CoreSession_session_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_channel_set", _wrap_CoreSession_channel_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_channel_get", _wrap_CoreSession_channel_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_flags_set", _wrap_CoreSession_flags_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_flags_get", _wrap_CoreSession_flags_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_allocated_set", _wrap_CoreSession_allocated_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_allocated_get", _wrap_CoreSession_allocated_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_cb_state_set", _wrap_CoreSession_cb_state_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_cb_state_get", _wrap_CoreSession_cb_state_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_hook_state_set", _wrap_CoreSession_hook_state_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_hook_state_get", _wrap_CoreSession_hook_state_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_cause_set", _wrap_CoreSession_cause_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_cause_get", _wrap_CoreSession_cause_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_uuid_set", _wrap_CoreSession_uuid_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_uuid_get", _wrap_CoreSession_uuid_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_tts_name_set", _wrap_CoreSession_tts_name_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_tts_name_get", _wrap_CoreSession_tts_name_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_voice_name_set", _wrap_CoreSession_voice_name_set, METH_VARARGS, NULL},
-        { (char *)"CoreSession_voice_name_get", _wrap_CoreSession_voice_name_get, METH_VARARGS, NULL},
-        { (char *)"CoreSession_insertFile", _wrap_CoreSession_insertFile, METH_VARARGS, NULL},
-        { (char *)"CoreSession_answer", _wrap_CoreSession_answer, METH_VARARGS, NULL},
-        { (char *)"CoreSession__print", _wrap_CoreSession__print, METH_VARARGS, NULL},
-        { (char *)"CoreSession_preAnswer", _wrap_CoreSession_preAnswer, METH_VARARGS, NULL},
-        { (char *)"CoreSession_hangup", _wrap_CoreSession_hangup, METH_VARARGS, NULL},
-        { (char *)"CoreSession_hangupState", _wrap_CoreSession_hangupState, METH_VARARGS, NULL},
-        { (char *)"CoreSession_setVariable", _wrap_CoreSession_setVariable, METH_VARARGS, NULL},
-        { (char *)"CoreSession_setPrivate", _wrap_CoreSession_setPrivate, METH_VARARGS, NULL},
-        { (char *)"CoreSession_getPrivate", _wrap_CoreSession_getPrivate, METH_VARARGS, NULL},
-        { (char *)"CoreSession_getVariable", _wrap_CoreSession_getVariable, METH_VARARGS, NULL},
-        { (char *)"CoreSession_process_callback_result", _wrap_CoreSession_process_callback_result, METH_VARARGS, NULL},
-        { (char *)"CoreSession_say", _wrap_CoreSession_say, METH_VARARGS, NULL},
-        { (char *)"CoreSession_sayPhrase", _wrap_CoreSession_sayPhrase, METH_VARARGS, NULL},
-        { (char *)"CoreSession_hangupCause", _wrap_CoreSession_hangupCause, METH_VARARGS, NULL},
-        { (char *)"CoreSession_getState", _wrap_CoreSession_getState, METH_VARARGS, NULL},
-        { (char *)"CoreSession_recordFile", _wrap_CoreSession_recordFile, METH_VARARGS, NULL},
-        { (char *)"CoreSession_originate", _wrap_CoreSession_originate, METH_VARARGS, NULL},
-        { (char *)"CoreSession_destroy", _wrap_CoreSession_destroy, METH_VARARGS, NULL},
-        { (char *)"CoreSession_setDTMFCallback", _wrap_CoreSession_setDTMFCallback, METH_VARARGS, NULL},
-        { (char *)"CoreSession_speak", _wrap_CoreSession_speak, METH_VARARGS, NULL},
-        { (char *)"CoreSession_set_tts_parms", _wrap_CoreSession_set_tts_parms, METH_VARARGS, NULL},
-        { (char *)"CoreSession_set_tts_params", _wrap_CoreSession_set_tts_params, METH_VARARGS, NULL},
-        { (char *)"CoreSession_collectDigits", _wrap_CoreSession_collectDigits, METH_VARARGS, NULL},
-        { (char *)"CoreSession_getDigits", _wrap_CoreSession_getDigits, METH_VARARGS, NULL},
-        { (char *)"CoreSession_transfer", _wrap_CoreSession_transfer, METH_VARARGS, NULL},
-        { (char *)"CoreSession_read", _wrap_CoreSession_read, METH_VARARGS, NULL},
-        { (char *)"CoreSession_detectSpeech", _wrap_CoreSession_detectSpeech, METH_VARARGS, NULL},
-        { (char *)"CoreSession_playAndGetDigits", _wrap_CoreSession_playAndGetDigits, METH_VARARGS, NULL},
-        { (char *)"CoreSession_playAndDetectSpeech", _wrap_CoreSession_playAndDetectSpeech, METH_VARARGS, NULL},
-        { (char *)"CoreSession_streamFile", _wrap_CoreSession_streamFile, METH_VARARGS, NULL},
-        { (char *)"CoreSession_sleep", _wrap_CoreSession_sleep, METH_VARARGS, NULL},
-        { (char *)"CoreSession_flushEvents", _wrap_CoreSession_flushEvents, METH_VARARGS, NULL},
-        { (char *)"CoreSession_flushDigits", _wrap_CoreSession_flushDigits, METH_VARARGS, NULL},
-        { (char *)"CoreSession_setAutoHangup", _wrap_CoreSession_setAutoHangup, METH_VARARGS, NULL},
-        { (char *)"CoreSession_setHangupHook", _wrap_CoreSession_setHangupHook, METH_VARARGS, NULL},
-        { (char *)"CoreSession_ready", _wrap_CoreSession_ready, METH_VARARGS, NULL},
-        { (char *)"CoreSession_bridged", _wrap_CoreSession_bridged, METH_VARARGS, NULL},
-        { (char *)"CoreSession_answered", _wrap_CoreSession_answered, METH_VARARGS, NULL},
-        { (char *)"CoreSession_mediaReady", _wrap_CoreSession_mediaReady, METH_VARARGS, NULL},
-        { (char *)"CoreSession_waitForAnswer", _wrap_CoreSession_waitForAnswer, METH_VARARGS, NULL},
-        { (char *)"CoreSession_execute", _wrap_CoreSession_execute, METH_VARARGS, NULL},
-        { (char *)"CoreSession_sendEvent", _wrap_CoreSession_sendEvent, METH_VARARGS, NULL},
-        { (char *)"CoreSession_setEventData", _wrap_CoreSession_setEventData, METH_VARARGS, NULL},
-        { (char *)"CoreSession_getXMLCDR", _wrap_CoreSession_getXMLCDR, METH_VARARGS, NULL},
-        { (char *)"CoreSession_begin_allow_threads", _wrap_CoreSession_begin_allow_threads, METH_VARARGS, NULL},
-        { (char *)"CoreSession_end_allow_threads", _wrap_CoreSession_end_allow_threads, METH_VARARGS, NULL},
-        { (char *)"CoreSession_get_uuid", _wrap_CoreSession_get_uuid, METH_VARARGS, NULL},
-        { (char *)"CoreSession_get_cb_args", _wrap_CoreSession_get_cb_args, METH_VARARGS, NULL},
-        { (char *)"CoreSession_check_hangup_hook", _wrap_CoreSession_check_hangup_hook, METH_VARARGS, NULL},
-        { (char *)"CoreSession_run_dtmf_callback", _wrap_CoreSession_run_dtmf_callback, METH_VARARGS, NULL},
-        { (char *)"CoreSession_consoleLog", _wrap_CoreSession_consoleLog, METH_VARARGS, NULL},
-        { (char *)"CoreSession_consoleLog2", _wrap_CoreSession_consoleLog2, METH_VARARGS, NULL},
-        { (char *)"CoreSession_swigregister", CoreSession_swigregister, METH_VARARGS, NULL},
-        { (char *)"console_log", _wrap_console_log, METH_VARARGS, NULL},
-        { (char *)"console_log2", _wrap_console_log2, METH_VARARGS, NULL},
-        { (char *)"console_clean_log", _wrap_console_clean_log, METH_VARARGS, NULL},
-        { (char *)"msleep", _wrap_msleep, METH_VARARGS, NULL},
-        { (char *)"bridge", _wrap_bridge, METH_VARARGS, NULL},
-        { (char *)"hanguphook", _wrap_hanguphook, METH_VARARGS, NULL},
-        { (char *)"dtmf_callback", _wrap_dtmf_callback, METH_VARARGS, NULL},
-        { (char *)"new_Session", _wrap_new_Session, METH_VARARGS, NULL},
-        { (char *)"delete_Session", _wrap_delete_Session, METH_VARARGS, NULL},
-        { (char *)"Session_begin_allow_threads", _wrap_Session_begin_allow_threads, METH_VARARGS, NULL},
-        { (char *)"Session_end_allow_threads", _wrap_Session_end_allow_threads, METH_VARARGS, NULL},
-        { (char *)"Session_check_hangup_hook", _wrap_Session_check_hangup_hook, METH_VARARGS, NULL},
-        { (char *)"Session_destroy", _wrap_Session_destroy, METH_VARARGS, NULL},
-        { (char *)"Session_run_dtmf_callback", _wrap_Session_run_dtmf_callback, METH_VARARGS, NULL},
-        { (char *)"Session_setInputCallback", _wrap_Session_setInputCallback, METH_VARARGS, NULL},
-        { (char *)"Session_unsetInputCallback", _wrap_Session_unsetInputCallback, METH_VARARGS, NULL},
-        { (char *)"Session_setHangupHook", _wrap_Session_setHangupHook, METH_VARARGS, NULL},
-        { (char *)"Session_ready", _wrap_Session_ready, METH_VARARGS, NULL},
-        { (char *)"Session_cb_function_set", _wrap_Session_cb_function_set, METH_VARARGS, NULL},
-        { (char *)"Session_cb_function_get", _wrap_Session_cb_function_get, METH_VARARGS, NULL},
-        { (char *)"Session_cb_arg_set", _wrap_Session_cb_arg_set, METH_VARARGS, NULL},
-        { (char *)"Session_cb_arg_get", _wrap_Session_cb_arg_get, METH_VARARGS, NULL},
-        { (char *)"Session_hangup_func_set", _wrap_Session_hangup_func_set, METH_VARARGS, NULL},
-        { (char *)"Session_hangup_func_get", _wrap_Session_hangup_func_get, METH_VARARGS, NULL},
-        { (char *)"Session_hangup_func_arg_set", _wrap_Session_hangup_func_arg_set, METH_VARARGS, NULL},
-        { (char *)"Session_hangup_func_arg_get", _wrap_Session_hangup_func_arg_get, METH_VARARGS, NULL},
-        { (char *)"Session_setPython", _wrap_Session_setPython, METH_VARARGS, NULL},
-        { (char *)"Session_setSelf", _wrap_Session_setSelf, METH_VARARGS, NULL},
-        { (char *)"Session_swigregister", Session_swigregister, METH_VARARGS, NULL},
+        { "SWIG_PyInstanceMethod_New", SWIG_PyInstanceMethod_New, METH_O, NULL},
+        { "setGlobalVariable", _wrap_setGlobalVariable, METH_VARARGS, NULL},
+        { "getGlobalVariable", _wrap_getGlobalVariable, METH_VARARGS, 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},
+        { "email", _wrap_email, METH_VARARGS, NULL},
+        { "new_IVRMenu", _wrap_new_IVRMenu, METH_VARARGS, NULL},
+        { "delete_IVRMenu", _wrap_delete_IVRMenu, METH_VARARGS, NULL},
+        { "IVRMenu_bindAction", _wrap_IVRMenu_bindAction, METH_VARARGS, NULL},
+        { "IVRMenu_execute", _wrap_IVRMenu_execute, METH_VARARGS, NULL},
+        { "IVRMenu_swigregister", IVRMenu_swigregister, METH_VARARGS, NULL},
+        { "new_API", _wrap_new_API, METH_VARARGS, NULL},
+        { "delete_API", _wrap_delete_API, METH_VARARGS, 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},
+        { "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_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_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_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},
+        { "DTMF_digit_set", _wrap_DTMF_digit_set, METH_VARARGS, NULL},
+        { "DTMF_digit_get", _wrap_DTMF_digit_get, METH_VARARGS, NULL},
+        { "DTMF_duration_set", _wrap_DTMF_duration_set, METH_VARARGS, NULL},
+        { "DTMF_duration_get", _wrap_DTMF_duration_get, METH_VARARGS, NULL},
+        { "new_DTMF", _wrap_new_DTMF, METH_VARARGS, NULL},
+        { "delete_DTMF", _wrap_delete_DTMF, METH_VARARGS, NULL},
+        { "DTMF_swigregister", DTMF_swigregister, METH_VARARGS, NULL},
+        { "new_Stream", _wrap_new_Stream, METH_VARARGS, NULL},
+        { "delete_Stream", _wrap_delete_Stream, METH_VARARGS, 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},
+        { "Event_event_set", _wrap_Event_event_set, METH_VARARGS, NULL},
+        { "Event_event_get", _wrap_Event_event_get, METH_VARARGS, 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_mine_set", _wrap_Event_mine_set, METH_VARARGS, NULL},
+        { "Event_mine_get", _wrap_Event_mine_get, METH_VARARGS, NULL},
+        { "new_Event", _wrap_new_Event, METH_VARARGS, NULL},
+        { "delete_Event", _wrap_delete_Event, METH_VARARGS, 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_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_swigregister", Event_swigregister, METH_VARARGS, NULL},
+        { "EventConsumer_events_set", _wrap_EventConsumer_events_set, METH_VARARGS, NULL},
+        { "EventConsumer_events_get", _wrap_EventConsumer_events_get, METH_VARARGS, 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_callback_set", _wrap_EventConsumer_e_callback_set, METH_VARARGS, NULL},
+        { "EventConsumer_e_callback_get", _wrap_EventConsumer_e_callback_get, METH_VARARGS, 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_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_enodes_set", _wrap_EventConsumer_enodes_set, METH_VARARGS, NULL},
+        { "EventConsumer_enodes_get", _wrap_EventConsumer_enodes_get, METH_VARARGS, 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},
+        { "new_EventConsumer", _wrap_new_EventConsumer, METH_VARARGS, NULL},
+        { "delete_EventConsumer", _wrap_delete_EventConsumer, METH_VARARGS, 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},
+        { "CoreSession_session_set", _wrap_CoreSession_session_set, METH_VARARGS, NULL},
+        { "CoreSession_session_get", _wrap_CoreSession_session_get, METH_VARARGS, NULL},
+        { "CoreSession_channel_set", _wrap_CoreSession_channel_set, METH_VARARGS, NULL},
+        { "CoreSession_channel_get", _wrap_CoreSession_channel_get, METH_VARARGS, NULL},
+        { "CoreSession_flags_set", _wrap_CoreSession_flags_set, METH_VARARGS, NULL},
+        { "CoreSession_flags_get", _wrap_CoreSession_flags_get, METH_VARARGS, NULL},
+        { "CoreSession_allocated_set", _wrap_CoreSession_allocated_set, METH_VARARGS, NULL},
+        { "CoreSession_allocated_get", _wrap_CoreSession_allocated_get, METH_VARARGS, 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_hook_state_set", _wrap_CoreSession_hook_state_set, METH_VARARGS, NULL},
+        { "CoreSession_hook_state_get", _wrap_CoreSession_hook_state_get, METH_VARARGS, NULL},
+        { "CoreSession_cause_set", _wrap_CoreSession_cause_set, METH_VARARGS, NULL},
+        { "CoreSession_cause_get", _wrap_CoreSession_cause_get, METH_VARARGS, NULL},
+        { "CoreSession_uuid_set", _wrap_CoreSession_uuid_set, METH_VARARGS, NULL},
+        { "CoreSession_uuid_get", _wrap_CoreSession_uuid_get, METH_VARARGS, 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_voice_name_set", _wrap_CoreSession_voice_name_set, METH_VARARGS, NULL},
+        { "CoreSession_voice_name_get", _wrap_CoreSession_voice_name_get, METH_VARARGS, NULL},
+        { "CoreSession_insertFile", _wrap_CoreSession_insertFile, METH_VARARGS, NULL},
+        { "CoreSession_answer", _wrap_CoreSession_answer, METH_VARARGS, NULL},
+        { "CoreSession__print", _wrap_CoreSession__print, METH_VARARGS, NULL},
+        { "CoreSession_preAnswer", _wrap_CoreSession_preAnswer, METH_VARARGS, NULL},
+        { "CoreSession_hangup", _wrap_CoreSession_hangup, METH_VARARGS, NULL},
+        { "CoreSession_hangupState", _wrap_CoreSession_hangupState, METH_VARARGS, 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},
+        { "CoreSession_getVariable", _wrap_CoreSession_getVariable, METH_VARARGS, NULL},
+        { "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_recordFile", _wrap_CoreSession_recordFile, METH_VARARGS, NULL},
+        { "CoreSession_originate", _wrap_CoreSession_originate, METH_VARARGS, NULL},
+        { "CoreSession_destroy", _wrap_CoreSession_destroy, METH_VARARGS, 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},
+        { "CoreSession_set_tts_params", _wrap_CoreSession_set_tts_params, METH_VARARGS, NULL},
+        { "CoreSession_collectDigits", _wrap_CoreSession_collectDigits, METH_VARARGS, NULL},
+        { "CoreSession_getDigits", _wrap_CoreSession_getDigits, METH_VARARGS, NULL},
+        { "CoreSession_transfer", _wrap_CoreSession_transfer, METH_VARARGS, NULL},
+        { "CoreSession_read", _wrap_CoreSession_read, METH_VARARGS, NULL},
+        { "CoreSession_detectSpeech", _wrap_CoreSession_detectSpeech, METH_VARARGS, NULL},
+        { "CoreSession_playAndGetDigits", _wrap_CoreSession_playAndGetDigits, METH_VARARGS, NULL},
+        { "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_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_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_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},
+        { "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},
+        { "bridge", _wrap_bridge, METH_VARARGS, NULL},
+        { "hanguphook", _wrap_hanguphook, METH_VARARGS, 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},
+        { "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_setHangupHook", _wrap_Session_setHangupHook, METH_VARARGS, NULL},
+        { "Session_ready", _wrap_Session_ready, METH_VARARGS, 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_arg_set", _wrap_Session_cb_arg_set, METH_VARARGS, NULL},
+        { "Session_cb_arg_get", _wrap_Session_cb_arg_get, METH_VARARGS, 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_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_setPython", _wrap_Session_setPython, METH_VARARGS, NULL},
+        { "Session_setSelf", _wrap_Session_setSelf, METH_VARARGS, NULL},
+        { "Session_swigregister", Session_swigregister, METH_VARARGS, NULL},
         { NULL, NULL, 0, NULL }
 };
 
@@ -11154,7 +11171,6 @@ extern "C" {
     static int type_init = 0;
     if (!type_init) {
       const PyTypeObject tmp = {
-        /* PyObject header changed in Python 3 */
 #if PY_VERSION_HEX >= 0x03000000
         PyVarObject_HEAD_INIT(NULL, 0)
 #else
@@ -11316,9 +11332,9 @@ extern "C" {
             char *ndoc = (char*)malloc(ldoc + lptr + 10);
             if (ndoc) {
               char *buff = ndoc;
-              strncpy(buff, methods[i].ml_doc, ldoc);
+              memcpy(buff, methods[i].ml_doc, ldoc);
               buff += ldoc;
-              strncpy(buff, "swig_ptr: ", 10);
+              memcpy(buff, "swig_ptr: ", 10);
               buff += 10;
               SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
               methods[i].ml_doc = ndoc;
@@ -11380,19 +11396,19 @@ SWIG_init(void) {
     (char *)"this", &SwigPyBuiltin_ThisClosure, NULL, NULL, NULL
   };
   static SwigPyGetSet thisown_getset_closure = {
-    (PyCFunction) SwigPyObject_own,
-    (PyCFunction) SwigPyObject_own
+    SwigPyObject_own,
+    SwigPyObject_own
   };
   static PyGetSetDef thisown_getset_def = {
     (char *)"thisown", SwigPyBuiltin_GetterClosure, SwigPyBuiltin_SetterClosure, NULL, &thisown_getset_closure
   };
-  PyObject *metatype_args;
   PyTypeObject *builtin_pytype;
   int builtin_base_count;
   swig_type_info *builtin_basetype;
   PyObject *tuple;
   PyGetSetDescrObject *static_getset;
   PyTypeObject *metatype;
+  PyTypeObject *swigpyobject;
   SwigPyClientData *cd;
   PyObject *public_interface, *public_symbol;
   PyObject *this_descr;
@@ -11407,14 +11423,9 @@ SWIG_init(void) {
   (void)static_getset;
   (void)self;
   
-  /* metatype is used to implement static member variables. */
-  metatype_args = Py_BuildValue("(s(O){})", "SwigPyObjectType", &PyType_Type);
-  assert(metatype_args);
-  metatype = (PyTypeObject *) PyType_Type.tp_call((PyObject *) &PyType_Type, metatype_args, NULL);
+  /* Metaclass is used to implement static member variables */
+  metatype = SwigPyObjectType();
   assert(metatype);
-  Py_DECREF(metatype_args);
-  metatype->tp_setattro = (setattrofunc) &SwigPyObjectType_setattro;
-  assert(PyType_Ready(metatype) >= 0);
 #endif
   
   /* Fix SwigMethods to carry the callback ptrs when needed */
@@ -11432,13 +11443,15 @@ SWIG_init(void) {
   SWIG_InitializeModule(0);
   
 #ifdef SWIGPYTHON_BUILTIN
+  swigpyobject = SwigPyObject_TypeOnce();
+  
   SwigPyObject_stype = SWIG_MangledTypeQuery("_p_SwigPyObject");
   assert(SwigPyObject_stype);
   cd = (SwigPyClientData*) SwigPyObject_stype->clientdata;
   if (!cd) {
     SwigPyObject_stype->clientdata = &SwigPyObject_clientdata;
-    SwigPyObject_clientdata.pytype = SwigPyObject_TypeOnce();
-  } else if (SwigPyObject_TypeOnce()->tp_basicsize != cd->pytype->tp_basicsize) {
+    SwigPyObject_clientdata.pytype = swigpyobject;
+  } else if (swigpyobject->tp_basicsize != cd->pytype->tp_basicsize) {
     PyErr_SetString(PyExc_RuntimeError, "Import error: attempted to load two incompatible swig-generated modules.");
 # if PY_VERSION_HEX >= 0x03000000
     return NULL;