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

<h2>branch: master updated</h2>
<pre>
       via: 9a8eea27feb6f300d5adeb078cad82974681bca7 (commit)
       via: 9ade16e9291aa74b4483bb9b9d9db266e082f7cc (commit)
       via: 314a2a1e2061ef321fa5f9b32a9c70ef0040cdb8 (commit)
       via: 48c02b7cd2770f6aee1d6e89f5ecfe207231f398 (commit)
       via: f954d21ab8f84ea3518525d6f8a5a25c5cd39d6b (commit)
       via: f8254f81607c9b2fe8ece3c48cb6dff700bcbead (commit)
       via: 608be370bcca24023ee9d05ee4a99c133044f0d3 (commit)
      from: f37390f0a7f1ca636d54c23d6873510fcf26e91e (commit)


</pre>= COMMIT LOG ===========================================================
<div class="highlight"><pre>committer: Leon de Rooij
comments: 
Merge branch &#39;master&#39; of ssh://git.freeswitch.org/freeswitch
</pre></div>
<div class="highlight"><pre>committer: Brian West
comments: 
swigall

<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 aa2a84f..3ee6ff6 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">@@ -7413,6 +7413,20 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_dmachine(void * jar</span>
 }
 
 
<span style="color: #00A000">+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_codec_slin(void * jarg1, void * jarg2) {</span>
<span style="color: #00A000">+  int jresult ;</span>
<span style="color: #00A000">+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;</span>
<span style="color: #00A000">+  switch_slin_data_t *arg2 = (switch_slin_data_t *) 0 ;</span>
<span style="color: #00A000">+  switch_status_t result;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_core_session_t *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (switch_slin_data_t *)jarg2; </span>
<span style="color: #00A000">+  result = (switch_status_t)switch_core_session_set_codec_slin(arg1,arg2);</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 char * SWIGSTDCALL CSharp_switch_core_get_uuid() {
   char * jresult ;
   char *result = 0 ;
<span style="color: #800080; font-weight: bold">@@ -22794,6 +22808,119 @@ SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_api_interface(void * jarg1) {</span>
 }
 
 
<span style="color: #00A000">+SWIGEXPORT void SWIGSTDCALL CSharp_switch_slin_data_session_set(void * jarg1, void * jarg2) {</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (switch_core_session_t *)jarg2; </span>
<span style="color: #00A000">+  if (arg1) (arg1)-&gt;session = arg2;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_slin_data_session_get(void * jarg1) {</span>
<span style="color: #00A000">+  void * jresult ;</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  switch_core_session_t *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  result = (switch_core_session_t *) ((arg1)-&gt;session);</span>
<span style="color: #00A000">+  jresult = (void *)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 void SWIGSTDCALL CSharp_switch_slin_data_write_frame_set(void * jarg1, void * jarg2) {</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (switch_frame_t *)jarg2; </span>
<span style="color: #00A000">+  if (arg1) (arg1)-&gt;write_frame = *arg2;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_slin_data_write_frame_get(void * jarg1) {</span>
<span style="color: #00A000">+  void * jresult ;</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  switch_frame_t *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  result = (switch_frame_t *)&amp; ((arg1)-&gt;write_frame);</span>
<span style="color: #00A000">+  jresult = (void *)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 void SWIGSTDCALL CSharp_switch_slin_data_codec_set(void * jarg1, void * jarg2) {</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (switch_codec_t *)jarg2; </span>
<span style="color: #00A000">+  if (arg1) (arg1)-&gt;codec = *arg2;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_slin_data_codec_get(void * jarg1) {</span>
<span style="color: #00A000">+  void * jresult ;</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  switch_codec_t *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  result = (switch_codec_t *)&amp; ((arg1)-&gt;codec);</span>
<span style="color: #00A000">+  jresult = (void *)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 void SWIGSTDCALL CSharp_switch_slin_data_frame_data_set(void * jarg1, char * jarg2) {</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  char *arg2 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  arg2 = (char *)jarg2; </span>
<span style="color: #00A000">+  {</span>
<span style="color: #00A000">+    if (arg2) strncpy((char *)arg1-&gt;frame_data, (const char *)arg2, 4096);</span>
<span style="color: #00A000">+    else arg1-&gt;frame_data[0] = 0;</span>
<span style="color: #00A000">+  }</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_slin_data_frame_data_get(void * jarg1) {</span>
<span style="color: #00A000">+  char * jresult ;</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  char *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  result = (char *)(char *) ((arg1)-&gt;frame_data);</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 void * SWIGSTDCALL CSharp_new_switch_slin_data() {</span>
<span style="color: #00A000">+  void * jresult ;</span>
<span style="color: #00A000">+  switch_slin_data *result = 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  result = (switch_slin_data *)new switch_slin_data();</span>
<span style="color: #00A000">+  jresult = (void *)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 void SWIGSTDCALL CSharp_delete_switch_slin_data(void * jarg1) {</span>
<span style="color: #00A000">+  switch_slin_data *arg1 = (switch_slin_data *) 0 ;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+  arg1 = (switch_slin_data *)jarg1; </span>
<span style="color: #00A000">+  delete arg1;</span>
<span style="color: #00A000">+  </span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_profile_created_set(void * jarg1, void * jarg2) {
   switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
   switch_time_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 5a2188a..48d585e 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">@@ -1357,6 +1357,11 @@ public class freeswitch {</span>
     return ret;
   }
 
<span style="color: #00A000">+  public static switch_status_t switch_core_session_set_codec_slin(SWIGTYPE_p_switch_core_session session, switch_slin_data data) {</span>
<span style="color: #00A000">+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_codec_slin(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_slin_data.getCPtr(data));</span>
<span style="color: #00A000">+    return ret;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
   public static string switch_core_get_uuid() {
     string ret = freeswitchPINVOKE.switch_core_get_uuid();
     return ret;
<span style="color: #800080; font-weight: bold">@@ -7504,6 +7509,9 @@ class freeswitchPINVOKE {</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_session_get_dmachine&quot;)]
   public static extern IntPtr switch_core_session_get_dmachine(HandleRef jarg1);
 
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_session_set_codec_slin&quot;)]</span>
<span style="color: #00A000">+  public static extern int switch_core_session_set_codec_slin(HandleRef jarg1, HandleRef jarg2);</span>
<span style="color: #00A000">+</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_core_get_uuid&quot;)]
   public static extern string switch_core_get_uuid();
 
<span style="color: #800080; font-weight: bold">@@ -11188,6 +11196,36 @@ class freeswitchPINVOKE {</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_delete_switch_api_interface&quot;)]
   public static extern void delete_switch_api_interface(HandleRef jarg1);
 
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_session_set&quot;)]</span>
<span style="color: #00A000">+  public static extern void switch_slin_data_session_set(HandleRef jarg1, HandleRef jarg2);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_session_get&quot;)]</span>
<span style="color: #00A000">+  public static extern IntPtr switch_slin_data_session_get(HandleRef jarg1);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_write_frame_set&quot;)]</span>
<span style="color: #00A000">+  public static extern void switch_slin_data_write_frame_set(HandleRef jarg1, HandleRef jarg2);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_write_frame_get&quot;)]</span>
<span style="color: #00A000">+  public static extern IntPtr switch_slin_data_write_frame_get(HandleRef jarg1);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_codec_set&quot;)]</span>
<span style="color: #00A000">+  public static extern void switch_slin_data_codec_set(HandleRef jarg1, HandleRef jarg2);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_codec_get&quot;)]</span>
<span style="color: #00A000">+  public static extern IntPtr switch_slin_data_codec_get(HandleRef jarg1);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_frame_data_set&quot;)]</span>
<span style="color: #00A000">+  public static extern void switch_slin_data_frame_data_set(HandleRef jarg1, string jarg2);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_slin_data_frame_data_get&quot;)]</span>
<span style="color: #00A000">+  public static extern string switch_slin_data_frame_data_get(HandleRef jarg1);</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_new_switch_slin_data&quot;)]</span>
<span style="color: #00A000">+  public static extern IntPtr new_switch_slin_data();</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_delete_switch_slin_data&quot;)]</span>
<span style="color: #00A000">+  public static extern void delete_switch_slin_data(HandleRef jarg1);</span>
<span style="color: #00A000">+</span>
   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_channel_timetable_profile_created_set&quot;)]
   public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2);
 
<span style="color: #800080; font-weight: bold">@@ -28401,7 +28439,8 @@ public enum switch_rtp_bug_flag_t {</span>
   RTP_BUG_IGNORE_MARK_BIT = (1 &lt;&lt; 2),
   RTP_BUG_SEND_LINEAR_TIMESTAMPS = (1 &lt;&lt; 3),
   RTP_BUG_START_SEQ_AT_ZERO = (1 &lt;&lt; 4),
<span style="color: #A00000">-  RTP_BUG_NEVER_SEND_MARKER = (1 &lt;&lt; 5)</span>
<span style="color: #00A000">+  RTP_BUG_NEVER_SEND_MARKER = (1 &lt;&lt; 5),</span>
<span style="color: #00A000">+  RTP_BUG_IGNORE_DTMF_DURATION = (1 &lt;&lt; 6)</span>
 }
 
 }
<span style="color: #800080; font-weight: bold">@@ -29437,6 +29476,96 @@ public enum switch_signal_t {</span>
 
 namespace FreeSWITCH.Native {
 
<span style="color: #00A000">+using System;</span>
<span style="color: #00A000">+using System.Runtime.InteropServices;</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+public class switch_slin_data : IDisposable {</span>
<span style="color: #00A000">+  private HandleRef swigCPtr;</span>
<span style="color: #00A000">+  protected bool swigCMemOwn;</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  internal switch_slin_data(IntPtr cPtr, bool cMemoryOwn) {</span>
<span style="color: #00A000">+    swigCMemOwn = cMemoryOwn;</span>
<span style="color: #00A000">+    swigCPtr = new HandleRef(this, cPtr);</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  internal static HandleRef getCPtr(switch_slin_data obj) {</span>
<span style="color: #00A000">+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  ~switch_slin_data() {</span>
<span style="color: #00A000">+    Dispose();</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public virtual void Dispose() {</span>
<span style="color: #00A000">+    lock(this) {</span>
<span style="color: #00A000">+      if(swigCPtr.Handle != IntPtr.Zero &amp;&amp; swigCMemOwn) {</span>
<span style="color: #00A000">+        swigCMemOwn = false;</span>
<span style="color: #00A000">+        freeswitchPINVOKE.delete_switch_slin_data(swigCPtr);</span>
<span style="color: #00A000">+      }</span>
<span style="color: #00A000">+      swigCPtr = new HandleRef(null, IntPtr.Zero);</span>
<span style="color: #00A000">+      GC.SuppressFinalize(this);</span>
<span style="color: #00A000">+    }</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public SWIGTYPE_p_switch_core_session session {</span>
<span style="color: #00A000">+    set {</span>
<span style="color: #00A000">+      freeswitchPINVOKE.switch_slin_data_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+    get {</span>
<span style="color: #00A000">+      IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_session_get(swigCPtr);</span>
<span style="color: #00A000">+      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);</span>
<span style="color: #00A000">+      return ret;</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public switch_frame write_frame {</span>
<span style="color: #00A000">+    set {</span>
<span style="color: #00A000">+      freeswitchPINVOKE.switch_slin_data_write_frame_set(swigCPtr, switch_frame.getCPtr(value));</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+    get {</span>
<span style="color: #00A000">+      IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_write_frame_get(swigCPtr);</span>
<span style="color: #00A000">+      switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);</span>
<span style="color: #00A000">+      return ret;</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public switch_codec codec {</span>
<span style="color: #00A000">+    set {</span>
<span style="color: #00A000">+      freeswitchPINVOKE.switch_slin_data_codec_set(swigCPtr, switch_codec.getCPtr(value));</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+    get {</span>
<span style="color: #00A000">+      IntPtr cPtr = freeswitchPINVOKE.switch_slin_data_codec_get(swigCPtr);</span>
<span style="color: #00A000">+      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);</span>
<span style="color: #00A000">+      return ret;</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public string frame_data {</span>
<span style="color: #00A000">+    set {</span>
<span style="color: #00A000">+      freeswitchPINVOKE.switch_slin_data_frame_data_set(swigCPtr, value);</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+    get {</span>
<span style="color: #00A000">+      string ret = freeswitchPINVOKE.switch_slin_data_frame_data_get(swigCPtr);</span>
<span style="color: #00A000">+      return ret;</span>
<span style="color: #00A000">+    } </span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+  public switch_slin_data() : this(freeswitchPINVOKE.new_switch_slin_data(), true) {</span>
<span style="color: #00A000">+  }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+/* ----------------------------------------------------------------------------</span>
<span style="color: #00A000">+ * This file was automatically generated by SWIG (http://www.swig.org).</span>
<span style="color: #00A000">+ * Version 1.3.35</span>
<span style="color: #00A000">+ *</span>
<span style="color: #00A000">+ * Do not make changes to this file unless you know what you are doing--modify</span>
<span style="color: #00A000">+ * the SWIG interface file instead.</span>
<span style="color: #00A000">+ * ----------------------------------------------------------------------------- */</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+namespace FreeSWITCH.Native {</span>
<span style="color: #00A000">+</span>
 [System.Flags] public enum switch_speech_flag_enum_t {
   SWITCH_SPEECH_FLAG_NONE = 0,
   SWITCH_SPEECH_FLAG_HASTEXT = (1 &lt;&lt; 0),
<span style="color: #800080; font-weight: bold">@@ -30146,7 +30275,7 @@ public enum switch_status_t {</span>
   SWITCH_STATUS_FALSE,
   SWITCH_STATUS_TIMEOUT,
   SWITCH_STATUS_RESTART,
<span style="color: #A00000">-  SWITCH_STATUS_TERM,</span>
<span style="color: #00A000">+  SWITCH_STATUS_INTR,</span>
   SWITCH_STATUS_NOTIMPL,
   SWITCH_STATUS_MEMERR,
   SWITCH_STATUS_NOOP,
<span style="color: #800080; font-weight: bold">@@ -30163,6 +30292,7 @@ public enum switch_status_t {</span>
   SWITCH_STATUS_TOO_SMALL,
   SWITCH_STATUS_FOUND,
   SWITCH_STATUS_CONTINUE,
<span style="color: #00A000">+  SWITCH_STATUS_TERM,</span>
   SWITCH_STATUS_NOT_INITALIZED
 }
 
</pre></div>
<div class="highlight"><pre>committer: Brian West
comments: 
FS-3004

<span style="color: #000080; font-weight: bold">diff --git a/src/mod/applications/mod_spandsp/mod_spandsp_fax.c b/src/mod/applications/mod_spandsp/mod_spandsp_fax.c</span>
<span style="color: #000080; font-weight: bold">index 21c6a68..4dd936b 100644</span>
<span style="color: #A00000">--- a/src/mod/applications/mod_spandsp/mod_spandsp_fax.c</span>
<span style="color: #00A000">+++ b/src/mod/applications/mod_spandsp/mod_spandsp_fax.c</span>
<span style="color: #800080; font-weight: bold">@@ -40,6 +40,9 @@</span>
 #define MAX_FEC_ENTRIES             4
 #define MAX_FEC_SPAN                4
 
<span style="color: #00A000">+#define SPANDSP_EVENT_TXFAXRESULT &quot;spandsp::txfaxresult&quot;</span>
<span style="color: #00A000">+#define SPANDSP_EVENT_RXFAXRESULT &quot;spandsp::rxfaxresult&quot;</span>
<span style="color: #00A000">+</span>
 /*****************************************************************************
         OUR DEFINES AND STRUCTS
 *****************************************************************************/
<span style="color: #800080; font-weight: bold">@@ -305,7 +308,14 @@ static void phase_e_handler(t30_state_t *s, void *user_data, int result)</span>
         switch_core_session_t *session;
         switch_channel_t *channel;
         pvt_t *pvt;
<span style="color: #A00000">-        char *tmp;</span>
<span style="color: #00A000">+        char *fax_document_transferred_pages = NULL;</span>
<span style="color: #00A000">+        char *fax_document_total_pages = NULL;</span>
<span style="color: #00A000">+        char *fax_image_resolution = NULL;</span>
<span style="color: #00A000">+        char *fax_image_size = NULL;</span>
<span style="color: #00A000">+        char *fax_bad_rows = NULL;</span>
<span style="color: #00A000">+        char *fax_transfer_rate = NULL;</span>
<span style="color: #00A000">+        char *fax_result_code = NULL;</span>
<span style="color: #00A000">+        switch_event_t *event;</span>
 
         pvt = (pvt_t *) user_data;
         switch_assert(pvt);
<span style="color: #800080; font-weight: bold">@@ -353,13 +363,12 @@ static void phase_e_handler(t30_state_t *s, void *user_data, int result)</span>
         switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, &quot;==============================================================================\n&quot;);
 
         /*
<span style="color: #A00000">-           Set our channel variables</span>
<span style="color: #00A000">+           Set our channel variables, variables are also used in event</span>
          */
 
<span style="color: #A00000">-        tmp = switch_mprintf(&quot;%i&quot;, result);</span>
<span style="color: #A00000">-        if (tmp) {</span>
<span style="color: #A00000">-                switch_channel_set_variable(channel, &quot;fax_result_code&quot;, tmp);</span>
<span style="color: #A00000">-                switch_safe_free(tmp);</span>
<span style="color: #00A000">+        fax_result_code = switch_core_session_sprintf(session, &quot;%i&quot;, result);</span>
<span style="color: #00A000">+        if (fax_result_code) {</span>
<span style="color: #00A000">+                switch_channel_set_variable(channel, &quot;fax_result_code&quot;, fax_result_code);</span>
         }
 
         switch_channel_set_variable(channel, &quot;fax_result_text&quot;, t30_completion_code_to_str(result));
<span style="color: #800080; font-weight: bold">@@ -368,49 +377,56 @@ static void phase_e_handler(t30_state_t *s, void *user_data, int result)</span>
         switch_channel_set_variable(channel, &quot;fax_local_station_id&quot;, local_ident);
         switch_channel_set_variable(channel, &quot;fax_remote_station_id&quot;, far_ident);
 
<span style="color: #A00000">-        tmp = switch_mprintf(&quot;%i&quot;, pvt-&gt;app_mode == FUNCTION_TX ? t.pages_tx : t.pages_rx);</span>
<span style="color: #A00000">-        if (tmp) {</span>
<span style="color: #A00000">-                switch_channel_set_variable(channel, &quot;fax_document_transferred_pages&quot;, tmp);</span>
<span style="color: #A00000">-                switch_safe_free(tmp);</span>
<span style="color: #00A000">+        fax_document_transferred_pages = switch_core_session_sprintf(session, &quot;%i&quot;, pvt-&gt;app_mode == FUNCTION_TX ? t.pages_tx : t.pages_rx);</span>
<span style="color: #00A000">+        if (fax_document_transferred_pages) {</span>
<span style="color: #00A000">+                switch_channel_set_variable(channel, &quot;fax_document_transferred_pages&quot;, fax_document_transferred_pages);</span>
         }
 
<span style="color: #A00000">-        tmp = switch_mprintf(&quot;%i&quot;, t.pages_in_file);</span>
<span style="color: #A00000">-        if (tmp) {</span>
<span style="color: #A00000">-                switch_channel_set_variable(channel, &quot;fax_document_total_pages&quot;, tmp);</span>
<span style="color: #A00000">-                switch_safe_free(tmp);</span>
<span style="color: #00A000">+        fax_document_total_pages = switch_core_session_sprintf(session, &quot;%i&quot;, t.pages_in_file);</span>
<span style="color: #00A000">+        if (fax_document_total_pages) {</span>
<span style="color: #00A000">+                switch_channel_set_variable(channel, &quot;fax_document_total_pages&quot;, fax_document_total_pages);</span>
         }
 
<span style="color: #A00000">-        tmp = switch_mprintf(&quot;%ix%i&quot;, t.x_resolution, t.y_resolution);</span>
<span style="color: #A00000">-        if (tmp) {</span>
<span style="color: #A00000">-                switch_channel_set_variable(channel, &quot;fax_image_resolution&quot;, tmp);</span>
<span style="color: #A00000">-                switch_safe_free(tmp);</span>
<span style="color: #00A000">+        fax_image_resolution = switch_core_session_sprintf(session, &quot;%ix%i&quot;, t.x_resolution, t.y_resolution);</span>
<span style="color: #00A000">+        if (fax_image_resolution) {</span>
<span style="color: #00A000">+                switch_channel_set_variable(channel, &quot;fax_image_resolution&quot;, fax_image_resolution);</span>
         }
 
<span style="color: #A00000">-        tmp = switch_mprintf(&quot;%d&quot;, t.image_size);</span>
<span style="color: #A00000">-        if (tmp) {</span>
<span style="color: #A00000">-                switch_channel_set_variable(channel, &quot;fax_image_size&quot;, tmp);</span>
<span style="color: #A00000">-                switch_safe_free(tmp);</span>
<span style="color: #00A000">+        fax_image_size = switch_core_session_sprintf(session, &quot;%d&quot;, t.image_size);</span>
<span style="color: #00A000">+        if (fax_image_size) {</span>
<span style="color: #00A000">+                switch_channel_set_variable(channel, &quot;fax_image_size&quot;, fax_image_size);</span>
         }
 
<span style="color: #A00000">-        tmp = switch_mprintf(&quot;%d&quot;, t.bad_rows);</span>
<span style="color: #A00000">-        if (tmp) {</span>
<span style="color: #A00000">-                switch_channel_set_variable(channel, &quot;fax_bad_rows&quot;, tmp);</span>
<span style="color: #A00000">-                switch_safe_free(tmp);</span>
<span style="color: #00A000">+        fax_bad_rows = switch_core_session_sprintf(session, &quot;%d&quot;, t.bad_rows);</span>
<span style="color: #00A000">+        if (fax_bad_rows) {</span>
<span style="color: #00A000">+                switch_channel_set_variable(channel, &quot;fax_bad_rows&quot;, fax_bad_rows);</span>
         }
 
<span style="color: #A00000">-        tmp = switch_mprintf(&quot;%i&quot;, t.bit_rate);</span>
<span style="color: #A00000">-        if (tmp) {</span>
<span style="color: #A00000">-                switch_channel_set_variable(channel, &quot;fax_transfer_rate&quot;, tmp);</span>
<span style="color: #A00000">-                switch_safe_free(tmp);</span>
<span style="color: #00A000">+        fax_transfer_rate = switch_core_session_sprintf(session, &quot;%i&quot;, t.bit_rate);</span>
<span style="color: #00A000">+        if (fax_transfer_rate) {</span>
<span style="color: #00A000">+                switch_channel_set_variable(channel, &quot;fax_transfer_rate&quot;, fax_transfer_rate);</span>
         }
 
         /* switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); */
 
         pvt-&gt;done = 1;
 
<span style="color: #A00000">-        /*</span>
<span style="color: #A00000">-           TODO Fire events</span>
<span style="color: #A00000">-         */</span>
<span style="color: #00A000">+        /* Fire event */</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+        if (switch_event_create_subclass(&amp;event, SWITCH_EVENT_CUSTOM, pvt-&gt;app_mode == FUNCTION_TX ? SPANDSP_EVENT_TXFAXRESULT : SPANDSP_EVENT_RXFAXRESULT) == SWITCH_STATUS_SUCCESS) {</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-document-transferred-pages&quot;, fax_document_transferred_pages);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-document-total-pages&quot;, fax_document_total_pages);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-image-resolution&quot;, fax_image_resolution);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-image-size&quot;, fax_image_size);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-bad-rows&quot;, fax_bad_rows);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-transfer-rate&quot;, fax_transfer_rate);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-result-code&quot;, fax_result_code);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-result-text&quot;, t30_completion_code_to_str(result));</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-ecm-used&quot;, (t.error_correcting_mode) ? &quot;on&quot; : &quot;off&quot;);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-local-station-id&quot;, local_ident);</span>
<span style="color: #00A000">+                switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, &quot;fax-remote-station-id&quot;, far_ident);</span>
<span style="color: #00A000">+                switch_core_session_queue_private_event(session, &amp;event, SWITCH_FALSE);</span>
<span style="color: #00A000">+        }</span>
 }
 
 static int t38_tx_packet_handler(t38_core_state_t *s, void *user_data, const uint8_t *buf, int len, int count)
<span style="color: #800080; font-weight: bold">@@ -1026,7 +1042,6 @@ void mod_spandsp_fax_process_fax(switch_core_session_t *session, const char *dat</span>
                         switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, &quot;Fax TX filename not set.\n&quot;);
                         goto done;
                 } else if (pvt-&gt;app_mode == FUNCTION_RX) {
<span style="color: #A00000">-                        char *fname;</span>
                         const char *prefix;
                         switch_time_t time;
 
<span style="color: #800080; font-weight: bold">@@ -1036,11 +1051,7 @@ void mod_spandsp_fax_process_fax(switch_core_session_t *session, const char *dat</span>
                                 prefix = globals.prepend_string;
                         }
 
<span style="color: #A00000">-                        fname = switch_mprintf(&quot;%s/%s-%ld-%ld.tif&quot;, globals.spool, prefix, globals.total_sessions, time);</span>
<span style="color: #A00000">-                        if (fname) {</span>
<span style="color: #A00000">-                                pvt-&gt;filename = switch_core_session_strdup(session, fname);</span>
<span style="color: #A00000">-                                switch_safe_free(fname);</span>
<span style="color: #A00000">-                        } else {</span>
<span style="color: #00A000">+                        if (!(pvt-&gt;filename = switch_core_session_sprintf(session, &quot;%s/%s-%ld-%ld.tif&quot;, globals.spool, prefix, globals.total_sessions, time))) {</span>
                                 switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, &quot;Cannot automatically set fax RX destination file\n&quot;);
                                 goto done;
                         }
</pre></div>
<div class="highlight"><pre>committer: Raymond Chandler
comments: 
test

<span style="color: #000080; font-weight: bold">diff --git a/build/modules.conf.in b/build/modules.conf.in</span>
<span style="color: #000080; font-weight: bold">index b46c2ff..84a9e9a 100644</span>
<span style="color: #A00000">--- a/build/modules.conf.in</span>
<span style="color: #00A000">+++ b/build/modules.conf.in</span>
<span style="color: #800080; font-weight: bold">@@ -112,4 +112,3 @@ say/mod_say_ru</span>
 
 ## Experimental Modules (don&#39;t cry if they&#39;re broken)
 #../../contrib/mod/xml_int/mod_xml_odbc
<span style="color: #A00000">-</span>
</pre></div>
<div class="highlight"><pre>committer: Raymond Chandler
comments: 
Merge branch &#39;master&#39; of fs-git:freeswitch
</pre></div>
<div class="highlight"><pre>committer: Raymond Chandler
comments: 
test

<span style="color: #000080; font-weight: bold">diff --git a/build/modules.conf.in b/build/modules.conf.in</span>
<span style="color: #000080; font-weight: bold">index 84a9e9a..b46c2ff 100644</span>
<span style="color: #A00000">--- a/build/modules.conf.in</span>
<span style="color: #00A000">+++ b/build/modules.conf.in</span>
<span style="color: #800080; font-weight: bold">@@ -112,3 +112,4 @@ say/mod_say_ru</span>
 
 ## Experimental Modules (don&#39;t cry if they&#39;re broken)
 #../../contrib/mod/xml_int/mod_xml_odbc
<span style="color: #00A000">+</span>
</pre></div>
<div class="highlight"><pre>committer: Daniel Swarbrick
comments: 
reduce agentx heartbeat to 2s, add management hook for mutex lock/unlock

<span style="color: #000080; font-weight: bold">diff --git a/src/mod/event_handlers/mod_snmp/mod_snmp.c b/src/mod/event_handlers/mod_snmp/mod_snmp.c</span>
<span style="color: #000080; font-weight: bold">index 0310637..56c7be1 100644</span>
<span style="color: #A00000">--- a/src/mod/event_handlers/mod_snmp/mod_snmp.c</span>
<span style="color: #00A000">+++ b/src/mod/event_handlers/mod_snmp/mod_snmp.c</span>
<span style="color: #800080; font-weight: bold">@@ -48,6 +48,20 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_snmp_runtime);</span>
 SWITCH_MODULE_DEFINITION(mod_snmp, mod_snmp_load, mod_snmp_shutdown, mod_snmp_runtime);
 
 
<span style="color: #00A000">+static switch_status_t snmp_manage(char *relative_oid, switch_management_action_t action, char *data, switch_size_t datalen)</span>
<span style="color: #00A000">+{</span>
<span style="color: #00A000">+        if (action == SMA_GET) {</span>
<span style="color: #00A000">+                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, &quot;Mutex lock request from relative OID %s.\n&quot;, relative_oid);</span>
<span style="color: #00A000">+                switch_mutex_lock(globals.mutex);</span>
<span style="color: #00A000">+        } else if (action == SMA_SET) {</span>
<span style="color: #00A000">+                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, &quot;Mutex unlock request from relative OID %s.\n&quot;, relative_oid);</span>
<span style="color: #00A000">+                switch_mutex_unlock(globals.mutex);</span>
<span style="color: #00A000">+        }</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+        return SWITCH_STATUS_SUCCESS;</span>
<span style="color: #00A000">+}</span>
<span style="color: #00A000">+</span>
<span style="color: #00A000">+</span>
 static int snmp_callback_log(int major, int minor, void *serverarg, void *clientarg)
 {
         struct snmp_log_message *slm = (struct snmp_log_message *) serverarg;
<span style="color: #800080; font-weight: bold">@@ -71,10 +85,14 @@ static switch_status_t load_config(switch_memory_pool_t *pool)</span>
 SWITCH_MODULE_LOAD_FUNCTION(mod_snmp_load)
 {
         switch_status_t status = SWITCH_STATUS_SUCCESS;
<span style="color: #00A000">+        switch_management_interface_t *management_interface;</span>
 
         load_config(pool);
 
         *module_interface = switch_loadable_module_create_module_interface(pool, modname);
<span style="color: #00A000">+        management_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_MANAGEMENT_INTERFACE);</span>
<span style="color: #00A000">+        management_interface-&gt;relative_oid = &quot;1000&quot;;</span>
<span style="color: #00A000">+        management_interface-&gt;management_function = snmp_manage;</span>
 
         /* Register callback function so we get Net-SNMP logging handled by FreeSWITCH */
         snmp_register_callback(SNMP_CALLBACK_LIBRARY, SNMP_CALLBACK_LOGGING, snmp_callback_log, NULL);
<span style="color: #800080; font-weight: bold">@@ -86,10 +104,10 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_snmp_load)</span>
         init_agent(&quot;mod_snmp&quot;);
 
         /*
<span style="color: #A00000">-         * Override master/subagent ping interval to 5s, to ensure that</span>
<span style="color: #00A000">+         * Override master/subagent ping interval to 2s, to ensure that</span>
          * agent_check_and_process() never blocks for longer than that.
          */
<span style="color: #A00000">-        netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL, 5);</span>
<span style="color: #00A000">+        netsnmp_ds_set_int(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_AGENTX_PING_INTERVAL, 2);</span>
 
         init_subagent();  
         init_snmp(&quot;mod_snmp&quot;);
<span style="color: #800080; font-weight: bold">@@ -107,6 +125,8 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_snmp_runtime)</span>
                 switch_mutex_unlock(globals.mutex);
         }
 
<span style="color: #00A000">+        switch_yield(5000);</span>
<span style="color: #00A000">+</span>
         return SWITCH_STATUS_SUCCESS;
 }
 
</pre></div>
========================================================================<pre>

Summary of changes:
 src/mod/applications/mod_spandsp/mod_spandsp_fax.c |   89 ++++++++------
 src/mod/event_handlers/mod_snmp/mod_snmp.c         |   24 ++++-
 src/mod/languages/mod_managed/freeswitch_wrap.cxx  |  127 +++++++++++++++++++
 src/mod/languages/mod_managed/managed/swig.cs      |  134 +++++++++++++++++++-
 4 files changed, 331 insertions(+), 43 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>