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

<h2>branch: master updated</h2>
<pre>
       via: f113c323fce749e1cc78caecef085f52957ef10e (commit)
       via: e281aca3463da39e3b0a339459d390b7c2f3ceab (commit)
       via: 86884e52568eb7cdca89995fa82f407d4c4059c9 (commit)
       via: 642882727f015be345501f6f7c727ef23ec70c9f (commit)
       via: d8add09a352cdfca64fa94688285ce6c96e6f6dc (commit)
       via: c81bf01fc977fd1a12b521cf29abb5b466f1fda2 (commit)
       via: 25f9bba3743c72970c3285509129b09d93b6c22b (commit)
       via: c467886267db6b842b9bed9f50ee812d4ee427e4 (commit)
       via: 6cecbca2bbb8dc7cc4511e91a992ce77cb126d17 (commit)
       via: b6afdadc82a3d9c95ff61bad4a7f869d220cd0f9 (commit)
       via: c339d6f2e1e8111da4150974ca324d3c3b9393c0 (commit)
       via: 14e931ffbb1d0e3196420b0eceb7a21fcd09abf4 (commit)
      from: c9ee4fab736d1d0db6638468598bab11b1648c87 (commit)


</pre>= COMMIT LOG ===========================================================
<div class="highlight"><pre>committer: Moises Silva
comments: 
Merge branch &#39;master&#39; of git.sangoma.com:smg_freeswitch
</pre></div>
<div class="highlight"><pre>committer: Moises Silva
comments: 
Merge branch &#39;netborder&#39; of git.sangoma.com:smg_freeswitch into netborder
</pre></div>
<div class="highlight"><pre>committer: Moises Silva
comments: 
Merge branch &#39;master&#39; into netborder
</pre></div>
<div class="highlight"><pre>committer: Moises Silva
comments: 
freetdm: added CLI completion for core commands

<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/mod_freetdm/mod_freetdm.c b/libs/freetdm/mod_freetdm/mod_freetdm.c</span>
<span style="color: #000080; font-weight: bold">index c0fdaa6..3cb7dce 100755</span>
<span style="color: #A00000">--- a/libs/freetdm/mod_freetdm/mod_freetdm.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/mod_freetdm/mod_freetdm.c</span>
<span style="color: #800080; font-weight: bold">@@ -4269,7 +4269,9 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_freetdm_load)</span>
         switch_console_set_complete(&quot;add ftdm gains&quot;);
         switch_console_set_complete(&quot;add ftdm dtmf on&quot;);
         switch_console_set_complete(&quot;add ftdm dtmf off&quot;);
<span style="color: #A00000">-</span>
<span style="color: #00A000">+        switch_console_set_complete(&quot;add ftdm core state&quot;);</span>
<span style="color: #00A000">+        switch_console_set_complete(&quot;add ftdm core flag&quot;);</span>
<span style="color: #00A000">+        switch_console_set_complete(&quot;add ftdm core calls&quot;);</span>
 
         SWITCH_ADD_APP(app_interface, &quot;disable_ec&quot;, &quot;Disable Echo Canceller&quot;, &quot;Disable Echo Canceller&quot;, disable_ec_function, &quot;&quot;, SAF_NONE);
         SWITCH_ADD_APP(app_interface, &quot;disable_dtmf&quot;, &quot;Disable DTMF Detection&quot;, &quot;Disable DTMF Detection&quot;, disable_dtmf_function, &quot;&quot;, SAF_NONE);
</pre></div>
<div class="highlight"><pre>committer: Moises Silva
comments: 
freetdm: ftmod_r2 - Disable MF dump on call accepted          core - Do not start DTMF debugging until media is available

<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #000080; font-weight: bold">index 906fbfe..3ef2278 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #800080; font-weight: bold">@@ -5536,10 +5536,6 @@ FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t</span>
                         }
                         ftdm_set_flag(sigmsg-&gt;channel, FTDM_CHANNEL_CALL_STARTED);
                         ftdm_call_set_call_id(sigmsg-&gt;channel, &amp;sigmsg-&gt;channel-&gt;caller_data);
<span style="color: #A00000">-                        if (sigmsg-&gt;channel-&gt;dtmfdbg.requested) {</span>
<span style="color: #A00000">-                                ftdm_channel_command(sigmsg-&gt;channel, FTDM_COMMAND_ENABLE_DEBUG_DTMF, NULL);</span>
<span style="color: #A00000">-                        }</span>
<span style="color: #A00000">-</span>
                         /* when cleaning up the public API I added this because mod_freetdm.c on_fxs_signal was
                         * doing it during SIGEVENT_START, but now that flags are private they can&#39;t, wonder if
                         * is needed at all?
<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c b/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c</span>
<span style="color: #000080; font-weight: bold">index 83705d9..4265c9b 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c</span>
<span style="color: #800080; font-weight: bold">@@ -676,12 +676,6 @@ static void ftdm_r2_on_call_offered(openr2_chan_t *r2chan, const char *ani, cons</span>
         ftdm_log_chan(ftdmchan, FTDM_LOG_NOTICE, &quot;Call offered with ANI = %s, DNIS = %s, Category = %d, ANI restricted = %s\n&quot;, 
                         ani, dnis, category, ani_restricted ? &quot;Yes&quot; : &quot;No&quot;);
 
<span style="color: #A00000">-        /* nothing went wrong during call setup, MF has ended, we can and must disable the MF dump */</span>
<span style="color: #A00000">-        if (r2data-&gt;mf_dump_size) {</span>
<span style="color: #A00000">-                ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_INPUT_DUMP, NULL);</span>
<span style="color: #A00000">-                ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_OUTPUT_DUMP, NULL);</span>
<span style="color: #A00000">-        }</span>
<span style="color: #A00000">-</span>
         /* check if this is a collect call and if we should accept it */
         if (!r2data-&gt;allow_collect_calls &amp;&amp; category == OR2_CALLING_PARTY_CATEGORY_COLLECT_CALL) {
                 ftdm_log_chan_msg(ftdmchan, FTDM_LOG_NOTICE, &quot;Rejecting collect call\n&quot;);
<span style="color: #800080; font-weight: bold">@@ -770,6 +764,12 @@ static void ftdm_r2_on_call_accepted(openr2_chan_t *r2chan, openr2_call_mode_t m</span>
         
         R2CALL(ftdmchan)-&gt;accepted = 1;
 
<span style="color: #00A000">+        /* nothing went wrong during call setup, MF has ended, we can and must disable the MF dump */</span>
<span style="color: #00A000">+        if (r2data-&gt;mf_dump_size) {</span>
<span style="color: #00A000">+                ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_INPUT_DUMP, NULL);</span>
<span style="color: #00A000">+                ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_OUTPUT_DUMP, NULL);</span>
<span style="color: #00A000">+        }</span>
<span style="color: #00A000">+</span>
         if (OR2_DIR_BACKWARD == openr2_chan_get_direction(r2chan)) {
                 if (R2CALL(ftdmchan)-&gt;answer_pending) {
                         ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, &quot;Answer was pending, answering now.\n&quot;);
<span style="color: #800080; font-weight: bold">@@ -778,11 +778,6 @@ static void ftdm_r2_on_call_accepted(openr2_chan_t *r2chan, openr2_call_mode_t m</span>
                         return;
                 }
         } else {
<span style="color: #A00000">-                /* nothing went wrong during call setup, MF has ended, we can and must disable the MF dump */</span>
<span style="color: #A00000">-                if (r2data-&gt;mf_dump_size) {</span>
<span style="color: #A00000">-                        ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_INPUT_DUMP, NULL);</span>
<span style="color: #A00000">-                        ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_OUTPUT_DUMP, NULL);</span>
<span style="color: #A00000">-                }</span>
                 ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
         }
 }
<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/include/private/ftdm_core.h b/libs/freetdm/src/include/private/ftdm_core.h</span>
<span style="color: #000080; font-weight: bold">index ba16c7c..7b26d65 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/include/private/ftdm_core.h</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/include/private/ftdm_core.h</span>
<span style="color: #800080; font-weight: bold">@@ -688,6 +688,9 @@ FT_DECLARE(void) ftdm_set_echocancel_call_end(ftdm_channel_t *chan);</span>
                         if (!ftdm_test_flag((fchan), FTDM_CHANNEL_MEDIA)) { \
                                 ftdm_set_flag((fchan), FTDM_CHANNEL_MEDIA); \
                                 ftdm_set_echocancel_call_begin((fchan)); \
<span style="color: #00A000">+                                if ((fchan)-&gt;dtmfdbg.requested) { \</span>
<span style="color: #00A000">+                                        ftdm_channel_command((fchan), FTDM_COMMAND_ENABLE_DEBUG_DTMF, NULL); \</span>
<span style="color: #00A000">+                                } \</span>
                         } \
                 } while (0);
 
</pre></div>
<div class="highlight"><pre>committer: Moises Silva
comments: 
freetdm: ftmod_r2 - set MF dump directory default to logdir

<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c b/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c</span>
<span style="color: #000080; font-weight: bold">index d86fb43..83705d9 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c</span>
<span style="color: #800080; font-weight: bold">@@ -725,9 +725,10 @@ static void dump_mf(openr2_chan_t *r2chan)</span>
         if (r2data-&gt;mf_dump_size) {
                 char *logname = R2CALL(ftdmchan)-&gt;logname;
                 
<span style="color: #A00000">-                ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, &quot;Dumping IO output in prefix %s\n&quot;, logname);</span>
<span style="color: #A00000">-                snprintf(dfile, sizeof(dfile), logname ? &quot;%s.s%dc%d.input.alaw&quot; : &quot;%s/s%dc%d.input.alaw&quot;, </span>
<span style="color: #A00000">-                                logname ? logname : r2data-&gt;logdir, ftdmchan-&gt;span_id, ftdmchan-&gt;chan_id);</span>
<span style="color: #00A000">+                ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, &quot;Dumping IO output in prefix %s\n&quot;, !ftdm_strlen_zero(logname)</span>
<span style="color: #00A000">+                                ? logname : r2data-&gt;logdir);</span>
<span style="color: #00A000">+                snprintf(dfile, sizeof(dfile), !ftdm_strlen_zero(logname) ? &quot;%s.s%dc%d.input.alaw&quot; : &quot;%s/s%dc%d.input.alaw&quot;, </span>
<span style="color: #00A000">+                                !ftdm_strlen_zero(logname) ? logname : r2data-&gt;logdir, ftdmchan-&gt;span_id, ftdmchan-&gt;chan_id);</span>
                 f = fopen(dfile, &quot;wb&quot;);
                 if (f) {
                         ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, &quot;Dumping IO input in file %s\n&quot;, dfile);
<span style="color: #800080; font-weight: bold">@@ -737,8 +738,8 @@ static void dump_mf(openr2_chan_t *r2chan)</span>
                         ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, &quot;Could not dump IO input in file %s, error: %s&quot;, dfile, strerror(errno));
                 }
 
<span style="color: #A00000">-                snprintf(dfile, sizeof(dfile), logname ? &quot;%s.s%dc%d.output.alaw&quot; : &quot;%s/s%dc%d.output.alaw&quot;, </span>
<span style="color: #A00000">-                                logname ? logname : r2data-&gt;logdir, ftdmchan-&gt;span_id, ftdmchan-&gt;chan_id);</span>
<span style="color: #00A000">+                snprintf(dfile, sizeof(dfile), !ftdm_strlen_zero(logname) ? &quot;%s.s%dc%d.output.alaw&quot; : &quot;%s/s%dc%d.output.alaw&quot;, </span>
<span style="color: #00A000">+                                !ftdm_strlen_zero(logname) ? logname : r2data-&gt;logdir, ftdmchan-&gt;span_id, ftdmchan-&gt;chan_id);</span>
                 f = fopen(dfile, &quot;wb&quot;);
                 if (f) {
                         ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, &quot;Dumping IO output in file %s\n&quot;, dfile);
</pre></div>
<div class="highlight"><pre>committer: David Yat Sin
comments: 
Merge branch &#39;master&#39; into netborder
</pre></div>
<div class="highlight"><pre>committer: David Yat Sin
comments: 
freetdm: Added sigmsg-&gt;call_priv member that contains caller_data.priv originally set by user

<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #000080; font-weight: bold">index c9000de..906fbfe 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #800080; font-weight: bold">@@ -5504,6 +5504,7 @@ FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t</span>
                 sigmsg-&gt;chan_id = sigmsg-&gt;channel-&gt;chan_id;
                 sigmsg-&gt;span_id = sigmsg-&gt;channel-&gt;span_id;
                 sigmsg-&gt;call_id = sigmsg-&gt;channel-&gt;caller_data.call_id;
<span style="color: #00A000">+                sigmsg-&gt;call_priv = sigmsg-&gt;channel-&gt;caller_data.priv;</span>
         }
         
         /* some core things to do on special events */
<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/include/freetdm.h b/libs/freetdm/src/include/freetdm.h</span>
<span style="color: #000080; font-weight: bold">index 588dc31..77abf6a 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/include/freetdm.h</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/include/freetdm.h</span>
<span style="color: #800080; font-weight: bold">@@ -554,6 +554,7 @@ struct ftdm_sigmsg {</span>
         uint32_t chan_id; /*!&lt; easy access to chan id */
         uint32_t span_id; /*!&lt; easy access to span_id */
         uint32_t call_id; /*!&lt; unique call id for this call */
<span style="color: #00A000">+        void *call_priv; /*!&lt; Private data for the FreeTDM user from ftdm_caller_data-&gt;priv */</span>
         union {
                 ftdm_event_sigstatus_t sigstatus; /*!&lt; valid if event_id is FTDM_SIGEVENT_SIGSTATUS_CHANGED */
                 ftdm_event_trace_t trace;        /*!&lt; valid if event_id is FTDM_SIGEVENT_TRACE or FTDM_SIGEVENT_TRACE_RAW */
</pre></div>
<div class="highlight"><pre>committer: David Yat Sin
comments: 
freetdm: ISDN - Removed unnecessay locks since lock is now done by ftdm core

<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c</span>
<span style="color: #000080; font-weight: bold">index 5702b72..608b0b6 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c</span>
<span style="color: #800080; font-weight: bold">@@ -912,9 +912,6 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(ftdm_sangoma_isdn_outgoing_call)</span>
         sngisdn_chan_data_t  *sngisdn_info = ftdmchan-&gt;call_data;
         ftdm_status_t status = FTDM_FAIL;        
         
<span style="color: #A00000">-        /* lock the channel while we check whether it is availble */</span>
<span style="color: #A00000">-        ftdm_channel_lock(ftdmchan);</span>
<span style="color: #A00000">-</span>
         switch (ftdmchan-&gt;state) {
 
                 case FTDM_CHANNEL_STATE_DOWN:
<span style="color: #800080; font-weight: bold">@@ -939,10 +936,9 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(ftdm_sangoma_isdn_outgoing_call)</span>
                         ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, &quot;Outgoing call requested channel in already in use\n&quot;);
                         status = FTDM_BREAK;
                 }
<span style="color: #A00000">-                break;                  </span>
<span style="color: #00A000">+                break;</span>
         }
 
<span style="color: #A00000">-        ftdm_channel_unlock(ftdmchan);</span>
         return status;
 }
 static FIO_CHANNEL_GET_SIG_STATUS_FUNCTION(ftdm_sangoma_isdn_get_chan_sig_status)
</pre></div>
<div class="highlight"><pre>committer: Moises Silva
comments: 
no test

<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #000080; font-weight: bold">index 3ac9f4c..529a30f 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #800080; font-weight: bold">@@ -37,10 +37,6 @@</span>
  *
  */
 
<span style="color: #A00000">-#ifdef MOYTEST</span>
<span style="color: #A00000">-crap</span>
<span style="color: #A00000">-#endif</span>
<span style="color: #A00000">-</span>
 #define _GNU_SOURCE
 #include &quot;private/ftdm_core.h&quot;
 #include &lt;stdarg.h&gt;
</pre></div>
<div class="highlight"><pre>committer: Moises Silva
comments: 
test

<span style="color: #000080; font-weight: bold">diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #000080; font-weight: bold">index 529a30f..3ac9f4c 100644</span>
<span style="color: #A00000">--- a/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #00A000">+++ b/libs/freetdm/src/ftdm_io.c</span>
<span style="color: #800080; font-weight: bold">@@ -37,6 +37,10 @@</span>
  *
  */
 
<span style="color: #00A000">+#ifdef MOYTEST</span>
<span style="color: #00A000">+crap</span>
<span style="color: #00A000">+#endif</span>
<span style="color: #00A000">+</span>
 #define _GNU_SOURCE
 #include &quot;private/ftdm_core.h&quot;
 #include &lt;stdarg.h&gt;
</pre></div>
<div class="highlight"><pre>committer: David Yat Sin
comments: 
Merge branch &#39;master&#39; of git://git.freeswitch.org/freeswitch into netborder
</pre></div>
========================================================================<pre>

Summary of changes:
 libs/freetdm/mod_freetdm/mod_freetdm.c             |    4 ++-
 libs/freetdm/src/ftdm_io.c                         |    5 +---
 libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c         |   28 ++++++++-----------
 .../ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c  |    6 +---
 libs/freetdm/src/include/freetdm.h                 |    1 +
 libs/freetdm/src/include/private/ftdm_core.h       |    3 ++
 6 files changed, 21 insertions(+), 26 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>