]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
mod_freetdm: Expose new ringback E&M parameters in the XML config
authorMoises Silva <moy@sangoma.com>
Wed, 26 Jun 2013 03:41:30 +0000 (23:41 -0400)
committerMoises Silva <moy@sangoma.com>
Wed, 26 Jun 2013 03:41:59 +0000 (23:41 -0400)
libs/freetdm/mod_freetdm/mod_freetdm.c
libs/freetdm/src/ftmod/ftmod_analog_em/ftmod_analog_em.c

index 316f5607c2189c5e8638a9c4416577d44efb85ae..f980930f94bb5133d4fbd09bc36fc1a41ffd713e 100755 (executable)
@@ -3785,7 +3785,10 @@ static switch_status_t load_config(void)
                        char *hold_music = NULL;
                        char *fail_dial_regex = NULL;
                        char str_false[] = "false";
+                       char str_empty[] = "";
                        char *answer_supervision = str_false;
+                       char *ringback_during_collect = str_false;
+                       char *ringback_file = str_empty;
                        uint32_t span_id = 0, to = 0, max = 0, dial_timeout_int = 0;
                        ftdm_span_t *span = NULL;
                        analog_option_t analog_options = ANALOG_OPTION_NONE;
@@ -3814,6 +3817,10 @@ static switch_status_t load_config(void)
                                        max_digits = val;
                                } else if (!strcasecmp(var, "answer-supervision")) {
                                        answer_supervision = val;
+                               } else if (!strcasecmp(var, "ringback-during-collect")) {
+                                       ringback_during_collect = val;
+                               } else if (!strcasecmp(var, "ringback-file")) {
+                                       ringback_file = val;
                                } else if (!strcasecmp(var, "enable-analog-option")) {
                                        analog_options = enable_analog_option(val, analog_options);
                                }
@@ -3867,6 +3874,8 @@ static switch_status_t load_config(void)
                        if (ftdm_configure_span(span, "analog_em", on_analog_signal,
                                                                   "tonemap", tonegroup,
                                                                   "answer_supervision", answer_supervision,
+                                                                  "ringback_during_collect", ringback_during_collect,
+                                                                  "ringback_file", ringback_file,
                                                                   "digit_timeout", &to,
                                                                   "dial_timeout", &dial_timeout_int,
                                                                   "max_dialstr", &max,
index 13160ca8e668a86e12a5f46f2df90c9c225b9960..c8bb5fddbd8b0d28050245a83ed63113ac72e734 100644 (file)
@@ -741,7 +741,7 @@ read_try:
                        rlen = fread(frame, 1, len, ringback_f);
                        if (rlen != len) {
                                if (!feof(ringback_f)) {
-                                       ftdm_log(FTDM_LOG_ERROR, "Error reading from ringback file");
+                                       ftdm_log(FTDM_LOG_ERROR, "Error reading from ringback file: %zd != %zd\n", rlen, len);
                                }
                                if (failed_read) {
                                        continue;