Project "FreeSWITCH Source" received a push.

branch: master updated

       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)


= COMMIT LOG ===========================================================
committer: Moises Silva
comments: 
Merge branch 'master' of git.sangoma.com:smg_freeswitch
committer: Moises Silva
comments: 
Merge branch 'netborder' of git.sangoma.com:smg_freeswitch into netborder
committer: Moises Silva
comments: 
Merge branch 'master' into netborder
committer: Moises Silva
comments: 
freetdm: added CLI completion for core commands

diff --git a/libs/freetdm/mod_freetdm/mod_freetdm.c b/libs/freetdm/mod_freetdm/mod_freetdm.c
index c0fdaa6..3cb7dce 100755
--- a/libs/freetdm/mod_freetdm/mod_freetdm.c
+++ b/libs/freetdm/mod_freetdm/mod_freetdm.c
@@ -4269,7 +4269,9 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_freetdm_load)
 	switch_console_set_complete("add ftdm gains");
 	switch_console_set_complete("add ftdm dtmf on");
 	switch_console_set_complete("add ftdm dtmf off");
-
+	switch_console_set_complete("add ftdm core state");
+	switch_console_set_complete("add ftdm core flag");
+	switch_console_set_complete("add ftdm core calls");
 
 	SWITCH_ADD_APP(app_interface, "disable_ec", "Disable Echo Canceller", "Disable Echo Canceller", disable_ec_function, "", SAF_NONE);
 	SWITCH_ADD_APP(app_interface, "disable_dtmf", "Disable DTMF Detection", "Disable DTMF Detection", disable_dtmf_function, "", SAF_NONE);
committer: Moises Silva
comments: 
freetdm: ftmod_r2 - Disable MF dump on call accepted          core - Do not start DTMF debugging until media is available

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

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

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

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
index 5702b72..608b0b6 100644
--- a/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
+++ b/libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
@@ -912,9 +912,6 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(ftdm_sangoma_isdn_outgoing_call)
 	sngisdn_chan_data_t  *sngisdn_info = ftdmchan->call_data;
 	ftdm_status_t status = FTDM_FAIL;	
 	
-	/* lock the channel while we check whether it is availble */
-	ftdm_channel_lock(ftdmchan);
-
 	switch (ftdmchan->state) {
 
 		case FTDM_CHANNEL_STATE_DOWN:
@@ -939,10 +936,9 @@ static FIO_CHANNEL_OUTGOING_CALL_FUNCTION(ftdm_sangoma_isdn_outgoing_call)
 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Outgoing call requested channel in already in use\n");
 			status = FTDM_BREAK;
 		}
-		break;		  
+		break;
 	}
 
-	ftdm_channel_unlock(ftdmchan);
 	return status;
 }
 static FIO_CHANNEL_GET_SIG_STATUS_FUNCTION(ftdm_sangoma_isdn_get_chan_sig_status)
committer: Moises Silva
comments: 
no test

diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c
index 3ac9f4c..529a30f 100644
--- a/libs/freetdm/src/ftdm_io.c
+++ b/libs/freetdm/src/ftdm_io.c
@@ -37,10 +37,6 @@
  *
  */
 
-#ifdef MOYTEST
-crap
-#endif
-
 #define _GNU_SOURCE
 #include "private/ftdm_core.h"
 #include <stdarg.h>
committer: Moises Silva
comments: 
test

diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c
index 529a30f..3ac9f4c 100644
--- a/libs/freetdm/src/ftdm_io.c
+++ b/libs/freetdm/src/ftdm_io.c
@@ -37,6 +37,10 @@
  *
  */
 
+#ifdef MOYTEST
+crap
+#endif
+
 #define _GNU_SOURCE
 #include "private/ftdm_core.h"
 #include <stdarg.h>
committer: David Yat Sin
comments: 
Merge branch 'master' of git://git.freeswitch.org/freeswitch into netborder
========================================================================

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(-)

this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email
For more info, see http://blog.chomperstomp.com/?p=630 --
FreeSWITCH Source