<h1>Project "FreeSWITCH Source" received a push.</h1>

<h2>branch: master updated</h2>
<pre>
       via: cbf610c5aa1747e930e8678375285f59c56f08c2 (commit)
      from: 69d1d984feff8bf616ba8a0c7c921ccfe07d3b16 (commit)


</pre>= COMMIT LOG ===========================================================
<div class="highlight"><pre>committer: Anthony Minessale
comments: 
reswig

<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java b/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java</span>
<span style="color: #000080; font-weight: bold">index 7b53db4..ea825c9 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java</span>
<span style="color: #800080; font-weight: bold">@@ -17,6 +17,10 @@ public class freeswitch {</span>
     freeswitchJNI.consoleCleanLog(msg);
   }
 
<span style="color: #00A000">+  public static boolean email(String to, String from, String headers, String body, String file, String convert_cmd, String convert_ext) {</span>
<span style="color: #00A000">+    return freeswitchJNI.email(to, from, headers, body, file, convert_cmd, convert_ext);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
   public static void console_log(String level_str, String msg) {
     freeswitchJNI.console_log(level_str, msg);
   }
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java b/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java</span>
<span style="color: #000080; font-weight: bold">index f90a9cc..5e778de 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java</span>
<span style="color: #800080; font-weight: bold">@@ -11,6 +11,7 @@ package org.freeswitch.swig;</span>
 class freeswitchJNI {
   public final static native void consoleLog(String jarg1, String jarg2);
   public final static native void consoleCleanLog(String jarg1);
<span style="color: #00A000">+  public final static native boolean email(String jarg1, String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, String jarg7);</span>
   public final static native long new_IVRMenu(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, String jarg7, String jarg8, String jarg9, String jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, int jarg16);
   public final static native void delete_IVRMenu(long jarg1);
   public final static native void IVRMenu_bindAction(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4);
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_java/switch_swig_wrap.cpp b/src/mod/languages/mod_java/switch_swig_wrap.cpp</span>
<span style="color: #000080; font-weight: bold">index 720e757..34f62d5 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_java/switch_swig_wrap.cpp</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_java/switch_swig_wrap.cpp</span>
<span style="color: #800080; font-weight: bold">@@ -244,6 +244,67 @@ SWIGEXPORT void JNICALL Java_org_freeswitch_swig_freeswitchJNI_consoleCleanLog(J</span>
 }
 
 
<span style="color: #00A000">+SWIGEXPORT jboolean JNICALL Java_org_freeswitch_swig_freeswitchJNI_email(JNIEnv *jenv, jclass jcls, jstring jarg1, jstring jarg2, jstring jarg3, jstring jarg4, jstring jarg5, jstring jarg6, jstring jarg7) {</span>
<span style="color: #00A000">+  jboolean jresult = 0 ;</span>
<span style="color: #00A000">+  char *arg1 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg2 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg3 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg4 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg5 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg6 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg7 = (char *) NULL ;</span>
<span style="color: #00A000">+  bool result;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  (void)jenv;</span>
<span style="color: #00A000">+  (void)jcls;</span>
<span style="color: #00A000">+  arg1 = 0;</span>
<span style="color: #00A000">+  if (jarg1) {</span>
<span style="color: #00A000">+    arg1 = (char *)jenv-&gt;GetStringUTFChars(jarg1, 0);</span>
<span style="color: #00A000">+    if (!arg1) return 0;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg2 = 0;</span>
<span style="color: #00A000">+  if (jarg2) {</span>
<span style="color: #00A000">+    arg2 = (char *)jenv-&gt;GetStringUTFChars(jarg2, 0);</span>
<span style="color: #00A000">+    if (!arg2) return 0;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg3 = 0;</span>
<span style="color: #00A000">+  if (jarg3) {</span>
<span style="color: #00A000">+    arg3 = (char *)jenv-&gt;GetStringUTFChars(jarg3, 0);</span>
<span style="color: #00A000">+    if (!arg3) return 0;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg4 = 0;</span>
<span style="color: #00A000">+  if (jarg4) {</span>
<span style="color: #00A000">+    arg4 = (char *)jenv-&gt;GetStringUTFChars(jarg4, 0);</span>
<span style="color: #00A000">+    if (!arg4) return 0;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg5 = 0;</span>
<span style="color: #00A000">+  if (jarg5) {</span>
<span style="color: #00A000">+    arg5 = (char *)jenv-&gt;GetStringUTFChars(jarg5, 0);</span>
<span style="color: #00A000">+    if (!arg5) return 0;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg6 = 0;</span>
<span style="color: #00A000">+  if (jarg6) {</span>
<span style="color: #00A000">+    arg6 = (char *)jenv-&gt;GetStringUTFChars(jarg6, 0);</span>
<span style="color: #00A000">+    if (!arg6) return 0;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg7 = 0;</span>
<span style="color: #00A000">+  if (jarg7) {</span>
<span style="color: #00A000">+    arg7 = (char *)jenv-&gt;GetStringUTFChars(jarg7, 0);</span>
<span style="color: #00A000">+    if (!arg7) return 0;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  result = (bool)email(arg1,arg2,arg3,arg4,arg5,arg6,arg7);</span>
<span style="color: #00A000">+  jresult = (jboolean)result; </span>
<span style="color: #00A000">+  if (arg1) jenv-&gt;ReleaseStringUTFChars(jarg1, (const char *)arg1);</span>
<span style="color: #00A000">+  if (arg2) jenv-&gt;ReleaseStringUTFChars(jarg2, (const char *)arg2);</span>
<span style="color: #00A000">+  if (arg3) jenv-&gt;ReleaseStringUTFChars(jarg3, (const char *)arg3);</span>
<span style="color: #00A000">+  if (arg4) jenv-&gt;ReleaseStringUTFChars(jarg4, (const char *)arg4);</span>
<span style="color: #00A000">+  if (arg5) jenv-&gt;ReleaseStringUTFChars(jarg5, (const char *)arg5);</span>
<span style="color: #00A000">+  if (arg6) jenv-&gt;ReleaseStringUTFChars(jarg6, (const char *)arg6);</span>
<span style="color: #00A000">+  if (arg7) jenv-&gt;ReleaseStringUTFChars(jarg7, (const char *)arg7);</span>
<span style="color: #00A000">+  return jresult;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 SWIGEXPORT jlong JNICALL Java_org_freeswitch_swig_freeswitchJNI_new_1IVRMenu(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2, jstring jarg3, jstring jarg4, jstring jarg5, jstring jarg6, jstring jarg7, jstring jarg8, jstring jarg9, jstring jarg10, jint jarg11, jint jarg12, jint jarg13, jint jarg14, jint jarg15, jint jarg16) {
   jlong jresult = 0 ;
   IVRMenu *arg1 = (IVRMenu *) 0 ;
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_managed/freeswitch_wrap.cxx b/src/mod/languages/mod_managed/freeswitch_wrap.cxx</span>
<span style="color: #000080; font-weight: bold">index 71e9f99..1c6adf9 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_managed/freeswitch_wrap.cxx</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_managed/freeswitch_wrap.cxx</span>
<span style="color: #800080; font-weight: bold">@@ -7473,6 +7473,42 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_variable(char * jarg1) {</span>
 }
 
 
<span style="color: #00A000">+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_variable_dup(char * jarg1) {</span>
<span style="color: #00A000">+  char * jresult ;</span>
<span style="color: #00A000">+  char *arg1 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (char *)jarg1; </span>
<span style="color: #00A000">+  result = (char *)switch_core_get_variable_dup((char const *)arg1);</span>
<span style="color: #00A000">+  jresult = SWIG_csharp_string_callback((const char *)result); </span>
<span style="color: #00A000">+  return jresult;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_variable_pdup(char * jarg1, void * jarg2) {</span>
<span style="color: #00A000">+  char * jresult ;</span>
<span style="color: #00A000">+  char *arg1 = (char *) 0 ;</span>
<span style="color: #00A000">+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;</span>
<span style="color: #00A000">+  char *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (char *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (switch_memory_pool_t *)jarg2; </span>
<span style="color: #00A000">+  result = (char *)switch_core_get_variable_pdup((char const *)arg1,arg2);</span>
<span style="color: #00A000">+  jresult = SWIG_csharp_string_callback((const char *)result); </span>
<span style="color: #00A000">+  return jresult;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_hostname() {</span>
<span style="color: #00A000">+  char * jresult ;</span>
<span style="color: #00A000">+  char *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  result = (char *)switch_core_get_hostname();</span>
<span style="color: #00A000">+  jresult = SWIG_csharp_string_callback((const char *)result); </span>
<span style="color: #00A000">+  return jresult;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_set_variable(char * jarg1, char * jarg2) {
   char *arg1 = (char *) 0 ;
   char *arg2 = (char *) 0 ;
<span style="color: #800080; font-weight: bold">@@ -10913,6 +10949,60 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_default_ptime(char * jarg1, u</span>
 }
 
 
<span style="color: #00A000">+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_add_registration(char * jarg1, char * jarg2, char * jarg3, char * jarg4, unsigned long jarg5, char * jarg6, char * jarg7, char * jarg8) {</span>
<span style="color: #00A000">+  int jresult ;</span>
<span style="color: #00A000">+  char *arg1 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg2 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg3 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg4 = (char *) 0 ;</span>
<span style="color: #00A000">+  uint32_t arg5 ;</span>
<span style="color: #00A000">+  char *arg6 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg7 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg8 = (char *) 0 ;</span>
<span style="color: #00A000">+  switch_status_t result;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (char *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (char *)jarg2; </span>
<span style="color: #00A000">+  arg3 = (char *)jarg3; </span>
<span style="color: #00A000">+  arg4 = (char *)jarg4; </span>
<span style="color: #00A000">+  arg5 = (uint32_t)jarg5; </span>
<span style="color: #00A000">+  arg6 = (char *)jarg6; </span>
<span style="color: #00A000">+  arg7 = (char *)jarg7; </span>
<span style="color: #00A000">+  arg8 = (char *)jarg8; </span>
<span style="color: #00A000">+  result = (switch_status_t)switch_core_add_registration((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8);</span>
<span style="color: #00A000">+  jresult = result; </span>
<span style="color: #00A000">+  return jresult;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_del_registration(char * jarg1, char * jarg2, char * jarg3) {</span>
<span style="color: #00A000">+  int jresult ;</span>
<span style="color: #00A000">+  char *arg1 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg2 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg3 = (char *) 0 ;</span>
<span style="color: #00A000">+  switch_status_t result;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (char *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (char *)jarg2; </span>
<span style="color: #00A000">+  arg3 = (char *)jarg3; </span>
<span style="color: #00A000">+  result = (switch_status_t)switch_core_del_registration((char const *)arg1,(char const *)arg2,(char const *)arg3);</span>
<span style="color: #00A000">+  jresult = result; </span>
<span style="color: #00A000">+  return jresult;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_expire_registration(int jarg1) {</span>
<span style="color: #00A000">+  int jresult ;</span>
<span style="color: #00A000">+  int arg1 ;</span>
<span style="color: #00A000">+  switch_status_t result;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (int)jarg1; </span>
<span style="color: #00A000">+  result = (switch_status_t)switch_core_expire_registration(arg1);</span>
<span style="color: #00A000">+  jresult = result; </span>
<span style="color: #00A000">+  return jresult;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_interface_module_name_set(void * jarg1, char * jarg2) {
   switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
   char *arg2 = (char *) 0 ;
<span style="color: #800080; font-weight: bold">@@ -26411,6 +26501,18 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_change_sln_volume(void * jarg1, unsign</span>
 }
 
 
<span style="color: #00A000">+SWIGEXPORT void SWIGSTDCALL CSharp_switch_change_sln_volume_granular(void * jarg1, unsigned long jarg2, int jarg3) {</span>
<span style="color: #00A000">+  int16_t *arg1 = (int16_t *) 0 ;</span>
<span style="color: #00A000">+  uint32_t arg2 ;</span>
<span style="color: #00A000">+  int32_t arg3 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (int16_t *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (uint32_t)jarg2; </span>
<span style="color: #00A000">+  arg3 = (int32_t)jarg3; </span>
<span style="color: #00A000">+  switch_change_sln_volume_granular(arg1,arg2,arg3);</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_merge_sln(void * jarg1, unsigned long jarg2, void * jarg3, unsigned long jarg4) {
   unsigned long jresult ;
   int16_t *arg1 = (int16_t *) 0 ;
<span style="color: #800080; font-weight: bold">@@ -29829,6 +29931,16 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_telephony_recv_event(void * ja</span>
 }
 
 
<span style="color: #00A000">+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_recv_pt(void * jarg1, unsigned char jarg2) {</span>
<span style="color: #00A000">+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;</span>
<span style="color: #00A000">+  switch_payload_t arg2 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_rtp_t *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (switch_payload_t)jarg2; </span>
<span style="color: #00A000">+  switch_rtp_set_recv_pt(arg1,arg2);</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_cng_pt(void * jarg1, unsigned char jarg2) {
   switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
   switch_payload_t arg2 ;
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_managed/managed/swig.cs b/src/mod/languages/mod_managed/managed/swig.cs</span>
<span style="color: #000080; font-weight: bold">index c640199..e1d81a8 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_managed/managed/swig.cs</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_managed/managed/swig.cs</span>
<span style="color: #800080; font-weight: bold">@@ -1384,6 +1384,21 @@ public class freeswitch {</span>
     return ret;
   }
 
<span style="color: #00A000">+  public static string switch_core_get_variable_dup(string varname) {</span>
<span style="color: #00A000">+    string ret = freeswitchPINVOKE.switch_core_get_variable_dup(varname);</span>
<span style="color: #00A000">+    return ret;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public static string switch_core_get_variable_pdup(string varname, SWIGTYPE_p_apr_pool_t pool) {</span>
<span style="color: #00A000">+    string ret = freeswitchPINVOKE.switch_core_get_variable_pdup(varname, SWIGTYPE_p_apr_pool_t.getCPtr(pool));</span>
<span style="color: #00A000">+    return ret;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public static string switch_core_get_hostname() {</span>
<span style="color: #00A000">+    string ret = freeswitchPINVOKE.switch_core_get_hostname();</span>
<span style="color: #00A000">+    return ret;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
   public static void switch_core_set_variable(string varname, string value) {
     freeswitchPINVOKE.switch_core_set_variable(varname, value);
   }
<span style="color: #800080; font-weight: bold">@@ -2415,6 +2430,21 @@ public class freeswitch {</span>
     return ret;
   }
 
<span style="color: #00A000">+  public static switch_status_t switch_core_add_registration(string user, string realm, string token, string url, uint expires, string network_ip, string network_port, string network_proto) {</span>
<span style="color: #00A000">+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_add_registration(user, realm, token, url, expires, network_ip, network_port, network_proto);</span>
<span style="color: #00A000">+    return ret;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public static switch_status_t switch_core_del_registration(string user, string realm, string token) {</span>
<span style="color: #00A000">+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_del_registration(user, realm, token);</span>
<span style="color: #00A000">+    return ret;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public static switch_status_t switch_core_expire_registration(int force) {</span>
<span style="color: #00A000">+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_expire_registration(force);</span>
<span style="color: #00A000">+    return ret;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
   public static switch_status_t switch_loadable_module_init(switch_bool_t autoload) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_init((int)autoload);
     return ret;
<span style="color: #800080; font-weight: bold">@@ -3974,6 +4004,10 @@ public class freeswitch {</span>
     freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol);
   }
 
<span style="color: #00A000">+  public static void switch_change_sln_volume_granular(SWIGTYPE_p_short data, uint samples, int vol) {</span>
<span style="color: #00A000">+    freeswitchPINVOKE.switch_change_sln_volume_granular(SWIGTYPE_p_short.getCPtr(data), samples, vol);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
   public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) {
     uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples);
     return ret;
<span style="color: #800080; font-weight: bold">@@ -4857,6 +4891,10 @@ public class freeswitch {</span>
     freeswitchPINVOKE.switch_rtp_set_telephony_recv_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te);
   }
 
<span style="color: #00A000">+  public static void switch_rtp_set_recv_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) {</span>
<span style="color: #00A000">+    freeswitchPINVOKE.switch_rtp_set_recv_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
   public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) {
     freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt);
   }
<span style="color: #800080; font-weight: bold">@@ -7569,6 +7607,15 @@ class freeswitchPINVOKE {</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_get_variable&quot;)]
   public static extern string switch_core_get_variable(string jarg1);
 
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_get_variable_dup&quot;)]</span>
<span style="color: #00A000">+  public static extern string switch_core_get_variable_dup(string jarg1);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_get_variable_pdup&quot;)]</span>
<span style="color: #00A000">+  public static extern string switch_core_get_variable_pdup(string jarg1, HandleRef jarg2);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_get_hostname&quot;)]</span>
<span style="color: #00A000">+  public static extern string switch_core_get_hostname();</span>
<span style="color: #00A000">+</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_set_variable&quot;)]
   public static extern void switch_core_set_variable(string jarg1, string jarg2);
 
<span style="color: #800080; font-weight: bold">@@ -8349,6 +8396,15 @@ class freeswitchPINVOKE {</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_default_ptime&quot;)]
   public static extern uint switch_default_ptime(string jarg1, uint jarg2);
 
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_add_registration&quot;)]</span>
<span style="color: #00A000">+  public static extern int switch_core_add_registration(string jarg1, string jarg2, string jarg3, string jarg4, uint jarg5, string jarg6, string jarg7, string jarg8);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_del_registration&quot;)]</span>
<span style="color: #00A000">+  public static extern int switch_core_del_registration(string jarg1, string jarg2, string jarg3);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_expire_registration&quot;)]</span>
<span style="color: #00A000">+  public static extern int switch_core_expire_registration(int jarg1);</span>
<span style="color: #00A000">+</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_loadable_module_interface_module_name_set&quot;)]
   public static extern void switch_loadable_module_interface_module_name_set(HandleRef jarg1, string jarg2);
 
<span style="color: #800080; font-weight: bold">@@ -12042,6 +12098,9 @@ class freeswitchPINVOKE {</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_change_sln_volume&quot;)]
   public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3);
 
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_change_sln_volume_granular&quot;)]</span>
<span style="color: #00A000">+  public static extern void switch_change_sln_volume_granular(HandleRef jarg1, uint jarg2, int jarg3);</span>
<span style="color: #00A000">+</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_merge_sln&quot;)]
   public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4);
 
<span style="color: #800080; font-weight: bold">@@ -12738,6 +12797,9 @@ class freeswitchPINVOKE {</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_set_telephony_recv_event&quot;)]
   public static extern void switch_rtp_set_telephony_recv_event(HandleRef jarg1, byte jarg2);
 
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_set_recv_pt&quot;)]</span>
<span style="color: #00A000">+  public static extern void switch_rtp_set_recv_pt(HandleRef jarg1, byte jarg2);</span>
<span style="color: #00A000">+</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_set_cng_pt&quot;)]
   public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2);
 
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_perl/freeswitch.pm b/src/mod/languages/mod_perl/freeswitch.pm</span>
<span style="color: #000080; font-weight: bold">index cb31101..e55ffac 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_perl/freeswitch.pm</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_perl/freeswitch.pm</span>
<span style="color: #800080; font-weight: bold">@@ -50,6 +50,7 @@ package freeswitch;</span>
 
 *consoleLog = *freeswitchc::consoleLog;
 *consoleCleanLog = *freeswitchc::consoleCleanLog;
<span style="color: #00A000">+*email = *freeswitchc::email;</span>
 *console_log = *freeswitchc::console_log;
 *console_clean_log = *freeswitchc::console_clean_log;
 *msleep = *freeswitchc::msleep;
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_perl/mod_perl_wrap.cpp b/src/mod/languages/mod_perl/mod_perl_wrap.cpp</span>
<span style="color: #000080; font-weight: bold">index e8a4b9f..9be0385 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_perl/mod_perl_wrap.cpp</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_perl/mod_perl_wrap.cpp</span>
<span style="color: #800080; font-weight: bold">@@ -1566,6 +1566,19 @@ SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)</span>
 
 
 
<span style="color: #00A000">+SWIGINTERNINLINE SV *</span>
<span style="color: #00A000">+SWIG_From_bool  SWIG_PERL_DECL_ARGS_1(bool value)</span>
<span style="color: #00A000">+{    </span>
<span style="color: #00A000">+  SV *obj = sv_newmortal();</span>
<span style="color: #00A000">+  if (value) {</span>
<span style="color: #00A000">+    sv_setsv(obj, &amp;PL_sv_yes);</span>
<span style="color: #00A000">+  } else {</span>
<span style="color: #00A000">+    sv_setsv(obj, &amp;PL_sv_no); </span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  return obj;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 #include &lt;limits.h&gt;
 #if !defined(SWIG_NO_LLONG_MAX)
 # if !defined(LLONG_MAX) &amp;&amp; defined(__GNUC__) &amp;&amp; defined (__LONG_LONG_MAX__)
<span style="color: #800080; font-weight: bold">@@ -1780,19 +1793,6 @@ SWIG_From_char  SWIG_PERL_DECL_ARGS_1(char c)</span>
 }
 
 
<span style="color: #A00000">-SWIGINTERNINLINE SV *</span>
<span style="color: #A00000">-SWIG_From_bool  SWIG_PERL_DECL_ARGS_1(bool value)</span>
<span style="color: #A00000">-{    </span>
<span style="color: #A00000">-  SV *obj = sv_newmortal();</span>
<span style="color: #A00000">-  if (value) {</span>
<span style="color: #A00000">-    sv_setsv(obj, &amp;PL_sv_yes);</span>
<span style="color: #A00000">-  } else {</span>
<span style="color: #A00000">-    sv_setsv(obj, &amp;PL_sv_no); </span>
<span style="color: #A00000">-  }</span>
<span style="color: #A00000">-  return obj;</span>
<span style="color: #A00000">-}</span>
<span style="color: #A00000">-</span>
<span style="color: #A00000">-</span>
 SWIGINTERN int
 SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val) 
 {
<span style="color: #800080; font-weight: bold">@@ -1982,6 +1982,111 @@ XS(_wrap_consoleCleanLog) {</span>
 }
 
 
<span style="color: #00A000">+XS(_wrap_email) {</span>
<span style="color: #00A000">+  {</span>
<span style="color: #00A000">+    char *arg1 = (char *) 0 ;</span>
<span style="color: #00A000">+    char *arg2 = (char *) 0 ;</span>
<span style="color: #00A000">+    char *arg3 = (char *) NULL ;</span>
<span style="color: #00A000">+    char *arg4 = (char *) NULL ;</span>
<span style="color: #00A000">+    char *arg5 = (char *) NULL ;</span>
<span style="color: #00A000">+    char *arg6 = (char *) NULL ;</span>
<span style="color: #00A000">+    char *arg7 = (char *) NULL ;</span>
<span style="color: #00A000">+    bool result;</span>
<span style="color: #00A000">+    int res1 ;</span>
<span style="color: #00A000">+    char *buf1 = 0 ;</span>
<span style="color: #00A000">+    int alloc1 = 0 ;</span>
<span style="color: #00A000">+    int res2 ;</span>
<span style="color: #00A000">+    char *buf2 = 0 ;</span>
<span style="color: #00A000">+    int alloc2 = 0 ;</span>
<span style="color: #00A000">+    int res3 ;</span>
<span style="color: #00A000">+    char *buf3 = 0 ;</span>
<span style="color: #00A000">+    int alloc3 = 0 ;</span>
<span style="color: #00A000">+    int res4 ;</span>
<span style="color: #00A000">+    char *buf4 = 0 ;</span>
<span style="color: #00A000">+    int alloc4 = 0 ;</span>
<span style="color: #00A000">+    int res5 ;</span>
<span style="color: #00A000">+    char *buf5 = 0 ;</span>
<span style="color: #00A000">+    int alloc5 = 0 ;</span>
<span style="color: #00A000">+    int res6 ;</span>
<span style="color: #00A000">+    char *buf6 = 0 ;</span>
<span style="color: #00A000">+    int alloc6 = 0 ;</span>
<span style="color: #00A000">+    int res7 ;</span>
<span style="color: #00A000">+    char *buf7 = 0 ;</span>
<span style="color: #00A000">+    int alloc7 = 0 ;</span>
<span style="color: #00A000">+    int argvi = 0;</span>
<span style="color: #00A000">+    dXSARGS;</span>
<span style="color: #00A000">+    </span>
<span style="color: #00A000">+    if ((items &lt; 2) || (items &gt; 7)) {</span>
<span style="color: #00A000">+      SWIG_croak(&quot;Usage: email(to,from,headers,body,file,convert_cmd,convert_ext);&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    res1 = SWIG_AsCharPtrAndSize(ST(0), &amp;buf1, NULL, &amp;alloc1);</span>
<span style="color: #00A000">+    if (!SWIG_IsOK(res1)) {</span>
<span style="color: #00A000">+      SWIG_exception_fail(SWIG_ArgError(res1), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;1&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    arg1 = reinterpret_cast&lt; char * &gt;(buf1);</span>
<span style="color: #00A000">+    res2 = SWIG_AsCharPtrAndSize(ST(1), &amp;buf2, NULL, &amp;alloc2);</span>
<span style="color: #00A000">+    if (!SWIG_IsOK(res2)) {</span>
<span style="color: #00A000">+      SWIG_exception_fail(SWIG_ArgError(res2), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;2&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    arg2 = reinterpret_cast&lt; char * &gt;(buf2);</span>
<span style="color: #00A000">+    if (items &gt; 2) {</span>
<span style="color: #00A000">+      res3 = SWIG_AsCharPtrAndSize(ST(2), &amp;buf3, NULL, &amp;alloc3);</span>
<span style="color: #00A000">+      if (!SWIG_IsOK(res3)) {</span>
<span style="color: #00A000">+        SWIG_exception_fail(SWIG_ArgError(res3), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;3&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+      }</span>
<span style="color: #00A000">+      arg3 = reinterpret_cast&lt; char * &gt;(buf3);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    if (items &gt; 3) {</span>
<span style="color: #00A000">+      res4 = SWIG_AsCharPtrAndSize(ST(3), &amp;buf4, NULL, &amp;alloc4);</span>
<span style="color: #00A000">+      if (!SWIG_IsOK(res4)) {</span>
<span style="color: #00A000">+        SWIG_exception_fail(SWIG_ArgError(res4), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;4&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+      }</span>
<span style="color: #00A000">+      arg4 = reinterpret_cast&lt; char * &gt;(buf4);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    if (items &gt; 4) {</span>
<span style="color: #00A000">+      res5 = SWIG_AsCharPtrAndSize(ST(4), &amp;buf5, NULL, &amp;alloc5);</span>
<span style="color: #00A000">+      if (!SWIG_IsOK(res5)) {</span>
<span style="color: #00A000">+        SWIG_exception_fail(SWIG_ArgError(res5), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;5&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+      }</span>
<span style="color: #00A000">+      arg5 = reinterpret_cast&lt; char * &gt;(buf5);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    if (items &gt; 5) {</span>
<span style="color: #00A000">+      res6 = SWIG_AsCharPtrAndSize(ST(5), &amp;buf6, NULL, &amp;alloc6);</span>
<span style="color: #00A000">+      if (!SWIG_IsOK(res6)) {</span>
<span style="color: #00A000">+        SWIG_exception_fail(SWIG_ArgError(res6), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;6&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+      }</span>
<span style="color: #00A000">+      arg6 = reinterpret_cast&lt; char * &gt;(buf6);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    if (items &gt; 6) {</span>
<span style="color: #00A000">+      res7 = SWIG_AsCharPtrAndSize(ST(6), &amp;buf7, NULL, &amp;alloc7);</span>
<span style="color: #00A000">+      if (!SWIG_IsOK(res7)) {</span>
<span style="color: #00A000">+        SWIG_exception_fail(SWIG_ArgError(res7), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;7&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+      }</span>
<span style="color: #00A000">+      arg7 = reinterpret_cast&lt; char * &gt;(buf7);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    result = (bool)email(arg1,arg2,arg3,arg4,arg5,arg6,arg7);</span>
<span style="color: #00A000">+    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast&lt; bool &gt;(result)); argvi++ ;</span>
<span style="color: #00A000">+    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;</span>
<span style="color: #00A000">+    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;</span>
<span style="color: #00A000">+    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;</span>
<span style="color: #00A000">+    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;</span>
<span style="color: #00A000">+    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;</span>
<span style="color: #00A000">+    if (alloc6 == SWIG_NEWOBJ) delete[] buf6;</span>
<span style="color: #00A000">+    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;</span>
<span style="color: #00A000">+    XSRETURN(argvi);</span>
<span style="color: #00A000">+  fail:</span>
<span style="color: #00A000">+    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;</span>
<span style="color: #00A000">+    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;</span>
<span style="color: #00A000">+    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;</span>
<span style="color: #00A000">+    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;</span>
<span style="color: #00A000">+    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;</span>
<span style="color: #00A000">+    if (alloc6 == SWIG_NEWOBJ) delete[] buf6;</span>
<span style="color: #00A000">+    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;</span>
<span style="color: #00A000">+    SWIG_croak_null();</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 XS(_wrap_new_IVRMenu) {
   {
     IVRMenu *arg1 = (IVRMenu *) 0 ;
<span style="color: #800080; font-weight: bold">@@ -9336,6 +9441,7 @@ static swig_variable_info swig_variables[] = {</span>
 static swig_command_info swig_commands[] = {
 {&quot;freeswitchc::consoleLog&quot;, _wrap_consoleLog},
 {&quot;freeswitchc::consoleCleanLog&quot;, _wrap_consoleCleanLog},
<span style="color: #00A000">+{&quot;freeswitchc::email&quot;, _wrap_email},</span>
 {&quot;freeswitchc::new_IVRMenu&quot;, _wrap_new_IVRMenu},
 {&quot;freeswitchc::delete_IVRMenu&quot;, _wrap_delete_IVRMenu},
 {&quot;freeswitchc::IVRMenu_bindAction&quot;, _wrap_IVRMenu_bindAction},
<span style="color: #800080; font-weight: bold">@@ -9793,17 +9899,17 @@ XS(SWIG_init) {</span>
   SWIG_TypeClientData(SWIGTYPE_p_IVRMenu, (void*) &quot;freeswitch::IVRMenu&quot;);
   SWIG_TypeClientData(SWIGTYPE_p_API, (void*) &quot;freeswitch::API&quot;);
   SWIG_TypeClientData(SWIGTYPE_p_input_callback_state, (void*) &quot;freeswitch::input_callback_state_t&quot;);
<span style="color: #A00000">-  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {</span>
<span style="color: #00A000">+  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {</span>
     SV *sv = get_sv((char*) SWIG_prefix &quot;S_HUP&quot;, TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast&lt; int &gt;(S_HUP)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
<span style="color: #A00000">-  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {</span>
<span style="color: #00A000">+  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {</span>
     SV *sv = get_sv((char*) SWIG_prefix &quot;S_FREE&quot;, TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast&lt; int &gt;(S_FREE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
<span style="color: #A00000">-  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {</span>
<span style="color: #00A000">+  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {</span>
     SV *sv = get_sv((char*) SWIG_prefix &quot;S_RDLOCK&quot;, TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast&lt; int &gt;(S_RDLOCK)));
     SvREADONLY_on(sv);
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_python/freeswitch.py b/src/mod/languages/mod_python/freeswitch.py</span>
<span style="color: #000080; font-weight: bold">index 03deb31..d49016d 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_python/freeswitch.py</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_python/freeswitch.py</span>
<span style="color: #800080; font-weight: bold">@@ -50,6 +50,7 @@ del types</span>
 
 consoleLog = _freeswitch.consoleLog
 consoleCleanLog = _freeswitch.consoleCleanLog
<span style="color: #00A000">+email = _freeswitch.email</span>
 class IVRMenu(_object):
     __swig_setmethods__ = {}
     __setattr__ = lambda self, name, value: _swig_setattr(self, IVRMenu, name, value)
<span style="color: #000080; font-weight: bold">diff --git a/src/mod/languages/mod_python/mod_python_wrap.cpp b/src/mod/languages/mod_python/mod_python_wrap.cpp</span>
<span style="color: #000080; font-weight: bold">index 3326a19..ccb5cac 100644</span>
<span style="color: #A00000">--- a/src/mod/languages/mod_python/mod_python_wrap.cpp</span>
<span style="color: #00A000">+++ b/src/mod/languages/mod_python/mod_python_wrap.cpp</span>
<span style="color: #800080; font-weight: bold">@@ -2687,6 +2687,13 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)</span>
 
 
 
<span style="color: #00A000">+SWIGINTERNINLINE PyObject*</span>
<span style="color: #00A000">+  SWIG_From_bool  (bool value)</span>
<span style="color: #00A000">+{</span>
<span style="color: #00A000">+  return PyBool_FromLong(value ? 1 : 0);</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 #include &lt;limits.h&gt;
 #if !defined(SWIG_NO_LLONG_MAX)
 # if !defined(LLONG_MAX) &amp;&amp; defined(__GNUC__) &amp;&amp; defined (__LONG_LONG_MAX__)
<span style="color: #800080; font-weight: bold">@@ -2916,13 +2923,6 @@ SWIG_From_char  (char c)</span>
 }
 
 
<span style="color: #A00000">-SWIGINTERNINLINE PyObject*</span>
<span style="color: #A00000">-  SWIG_From_bool  (bool value)</span>
<span style="color: #A00000">-{</span>
<span style="color: #A00000">-  return PyBool_FromLong(value ? 1 : 0);</span>
<span style="color: #A00000">-}</span>
<span style="color: #A00000">-</span>
<span style="color: #A00000">-</span>
 SWIGINTERN int
 SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) 
 {
<span style="color: #800080; font-weight: bold">@@ -3071,6 +3071,113 @@ fail:</span>
 }
 
 
<span style="color: #00A000">+SWIGINTERN PyObject *_wrap_email(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {</span>
<span style="color: #00A000">+  PyObject *resultobj = 0;</span>
<span style="color: #00A000">+  char *arg1 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg2 = (char *) 0 ;</span>
<span style="color: #00A000">+  char *arg3 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg4 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg5 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg6 = (char *) NULL ;</span>
<span style="color: #00A000">+  char *arg7 = (char *) NULL ;</span>
<span style="color: #00A000">+  bool result;</span>
<span style="color: #00A000">+  int res1 ;</span>
<span style="color: #00A000">+  char *buf1 = 0 ;</span>
<span style="color: #00A000">+  int alloc1 = 0 ;</span>
<span style="color: #00A000">+  int res2 ;</span>
<span style="color: #00A000">+  char *buf2 = 0 ;</span>
<span style="color: #00A000">+  int alloc2 = 0 ;</span>
<span style="color: #00A000">+  int res3 ;</span>
<span style="color: #00A000">+  char *buf3 = 0 ;</span>
<span style="color: #00A000">+  int alloc3 = 0 ;</span>
<span style="color: #00A000">+  int res4 ;</span>
<span style="color: #00A000">+  char *buf4 = 0 ;</span>
<span style="color: #00A000">+  int alloc4 = 0 ;</span>
<span style="color: #00A000">+  int res5 ;</span>
<span style="color: #00A000">+  char *buf5 = 0 ;</span>
<span style="color: #00A000">+  int alloc5 = 0 ;</span>
<span style="color: #00A000">+  int res6 ;</span>
<span style="color: #00A000">+  char *buf6 = 0 ;</span>
<span style="color: #00A000">+  int alloc6 = 0 ;</span>
<span style="color: #00A000">+  int res7 ;</span>
<span style="color: #00A000">+  char *buf7 = 0 ;</span>
<span style="color: #00A000">+  int alloc7 = 0 ;</span>
<span style="color: #00A000">+  PyObject * obj0 = 0 ;</span>
<span style="color: #00A000">+  PyObject * obj1 = 0 ;</span>
<span style="color: #00A000">+  PyObject * obj2 = 0 ;</span>
<span style="color: #00A000">+  PyObject * obj3 = 0 ;</span>
<span style="color: #00A000">+  PyObject * obj4 = 0 ;</span>
<span style="color: #00A000">+  PyObject * obj5 = 0 ;</span>
<span style="color: #00A000">+  PyObject * obj6 = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  if (!PyArg_ParseTuple(args,(char *)&quot;OO|OOOOO:email&quot;,&amp;obj0,&amp;obj1,&amp;obj2,&amp;obj3,&amp;obj4,&amp;obj5,&amp;obj6)) SWIG_fail;</span>
<span style="color: #00A000">+  res1 = SWIG_AsCharPtrAndSize(obj0, &amp;buf1, NULL, &amp;alloc1);</span>
<span style="color: #00A000">+  if (!SWIG_IsOK(res1)) {</span>
<span style="color: #00A000">+    SWIG_exception_fail(SWIG_ArgError(res1), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;1&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg1 = reinterpret_cast&lt; char * &gt;(buf1);</span>
<span style="color: #00A000">+  res2 = SWIG_AsCharPtrAndSize(obj1, &amp;buf2, NULL, &amp;alloc2);</span>
<span style="color: #00A000">+  if (!SWIG_IsOK(res2)) {</span>
<span style="color: #00A000">+    SWIG_exception_fail(SWIG_ArgError(res2), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;2&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  arg2 = reinterpret_cast&lt; char * &gt;(buf2);</span>
<span style="color: #00A000">+  if (obj2) {</span>
<span style="color: #00A000">+    res3 = SWIG_AsCharPtrAndSize(obj2, &amp;buf3, NULL, &amp;alloc3);</span>
<span style="color: #00A000">+    if (!SWIG_IsOK(res3)) {</span>
<span style="color: #00A000">+      SWIG_exception_fail(SWIG_ArgError(res3), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;3&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    arg3 = reinterpret_cast&lt; char * &gt;(buf3);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  if (obj3) {</span>
<span style="color: #00A000">+    res4 = SWIG_AsCharPtrAndSize(obj3, &amp;buf4, NULL, &amp;alloc4);</span>
<span style="color: #00A000">+    if (!SWIG_IsOK(res4)) {</span>
<span style="color: #00A000">+      SWIG_exception_fail(SWIG_ArgError(res4), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;4&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    arg4 = reinterpret_cast&lt; char * &gt;(buf4);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  if (obj4) {</span>
<span style="color: #00A000">+    res5 = SWIG_AsCharPtrAndSize(obj4, &amp;buf5, NULL, &amp;alloc5);</span>
<span style="color: #00A000">+    if (!SWIG_IsOK(res5)) {</span>
<span style="color: #00A000">+      SWIG_exception_fail(SWIG_ArgError(res5), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;5&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    arg5 = reinterpret_cast&lt; char * &gt;(buf5);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  if (obj5) {</span>
<span style="color: #00A000">+    res6 = SWIG_AsCharPtrAndSize(obj5, &amp;buf6, NULL, &amp;alloc6);</span>
<span style="color: #00A000">+    if (!SWIG_IsOK(res6)) {</span>
<span style="color: #00A000">+      SWIG_exception_fail(SWIG_ArgError(res6), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;6&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    arg6 = reinterpret_cast&lt; char * &gt;(buf6);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  if (obj6) {</span>
<span style="color: #00A000">+    res7 = SWIG_AsCharPtrAndSize(obj6, &amp;buf7, NULL, &amp;alloc7);</span>
<span style="color: #00A000">+    if (!SWIG_IsOK(res7)) {</span>
<span style="color: #00A000">+      SWIG_exception_fail(SWIG_ArgError(res7), &quot;in method &#39;&quot; &quot;email&quot; &quot;&#39;, argument &quot; &quot;7&quot;&quot; of type &#39;&quot; &quot;char *&quot;&quot;&#39;&quot;);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+    arg7 = reinterpret_cast&lt; char * &gt;(buf7);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+  result = (bool)email(arg1,arg2,arg3,arg4,arg5,arg6,arg7);</span>
<span style="color: #00A000">+  resultobj = SWIG_From_bool(static_cast&lt; bool &gt;(result));</span>
<span style="color: #00A000">+  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;</span>
<span style="color: #00A000">+  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;</span>
<span style="color: #00A000">+  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;</span>
<span style="color: #00A000">+  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;</span>
<span style="color: #00A000">+  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;</span>
<span style="color: #00A000">+  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;</span>
<span style="color: #00A000">+  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;</span>
<span style="color: #00A000">+  return resultobj;</span>
<span style="color: #00A000">+fail:</span>
<span style="color: #00A000">+  if (alloc1 == SWIG_NEWOBJ) delete[] buf1;</span>
<span style="color: #00A000">+  if (alloc2 == SWIG_NEWOBJ) delete[] buf2;</span>
<span style="color: #00A000">+  if (alloc3 == SWIG_NEWOBJ) delete[] buf3;</span>
<span style="color: #00A000">+  if (alloc4 == SWIG_NEWOBJ) delete[] buf4;</span>
<span style="color: #00A000">+  if (alloc5 == SWIG_NEWOBJ) delete[] buf5;</span>
<span style="color: #00A000">+  if (alloc6 == SWIG_NEWOBJ) delete[] buf6;</span>
<span style="color: #00A000">+  if (alloc7 == SWIG_NEWOBJ) delete[] buf7;</span>
<span style="color: #00A000">+  return NULL;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 SWIGINTERN PyObject *_wrap_new_IVRMenu(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   IVRMenu *arg1 = (IVRMenu *) 0 ;
<span style="color: #800080; font-weight: bold">@@ -8878,6 +8985,7 @@ SWIGINTERN PyObject *Session_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObje</span>
 static PyMethodDef SwigMethods[] = {
          { (char *)&quot;consoleLog&quot;, _wrap_consoleLog, METH_VARARGS, NULL},
          { (char *)&quot;consoleCleanLog&quot;, _wrap_consoleCleanLog, METH_VARARGS, NULL},
<span style="color: #00A000">+         { (char *)&quot;email&quot;, _wrap_email, METH_VARARGS, NULL},</span>
          { (char *)&quot;new_IVRMenu&quot;, _wrap_new_IVRMenu, METH_VARARGS, NULL},
          { (char *)&quot;delete_IVRMenu&quot;, _wrap_delete_IVRMenu, METH_VARARGS, NULL},
          { (char *)&quot;IVRMenu_bindAction&quot;, _wrap_IVRMenu_bindAction, METH_VARARGS, NULL},
</pre></div>
========================================================================<pre>

Summary of changes:
 .../src/org/freeswitch/swig/freeswitch.java        |    4 +
 .../src/org/freeswitch/swig/freeswitchJNI.java     |    1 +
 src/mod/languages/mod_java/switch_swig_wrap.cpp    |   61 +++++++++
 src/mod/languages/mod_managed/freeswitch_wrap.cxx  |  112 ++++++++++++++++
 src/mod/languages/mod_managed/managed/swig.cs      |   62 +++++++++
 src/mod/languages/mod_perl/freeswitch.pm           |    1 +
 src/mod/languages/mod_perl/mod_perl_wrap.cpp       |  138 +++++++++++++++++---
 src/mod/languages/mod_python/freeswitch.py         |    1 +
 src/mod/languages/mod_python/mod_python_wrap.cpp   |  122 ++++++++++++++++-
 9 files changed, 479 insertions(+), 23 deletions(-)
</pre>
<p>this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email<br />
For more info, see <a href="http://blog.chomperstomp.com/?p=630">http://blog.chomperstomp.com/?p=630</a>
-- <br />
FreeSWITCH Source</p>