]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Add new option to request TEP to be used for an outbound fax call
authorPatrice Fournier <patrice.fournier@ifax.com>
Mon, 30 Jun 2014 20:34:18 +0000 (16:34 -0400)
committerPatrice Fournier <patrice.fournier@ifax.com>
Tue, 8 Jul 2014 05:06:32 +0000 (01:06 -0400)
src/mod/applications/mod_spandsp/mod_spandsp.c
src/mod/applications/mod_spandsp/mod_spandsp.h
src/mod/applications/mod_spandsp/mod_spandsp_fax.c

index b3a4eeec8c8d45f13f48abd37f781422043906c1..5cd3b1ebf8b0e9409dfe23cc10dc93e413022e55 100644 (file)
@@ -508,6 +508,7 @@ switch_status_t load_configuration(switch_bool_t reload)
 
 
        spandsp_globals.enable_t38 = 1;
+       spandsp_globals.enable_tep = 0;
        spandsp_globals.total_sessions = 0;
        spandsp_globals.verbose = 0;
        spandsp_globals.use_ecm = 1;
@@ -608,6 +609,12 @@ switch_status_t load_configuration(switch_bool_t reload)
                                                spandsp_globals.enable_grayscale_to_bilevel = 1;
                                        else
                                                spandsp_globals.enable_grayscale_to_bilevel = 0;
+                               } else if (!strcmp(name, "enable-tep")) {
+                                       if (switch_true(value)) {
+                                               spandsp_globals.enable_tep= 1;
+                                       } else {
+                                               spandsp_globals.enable_tep = 0;
+                                       }
                                } else if (!strcmp(name, "enable-t38")) {
                                        if (switch_true(value)) {
                                                spandsp_globals.enable_t38= 1;
index ca4aa8406017512acdce3540defdb302f0801542..c732c7b357e5a0c73bafe1589a65684b26e5409e 100644 (file)
@@ -60,6 +60,7 @@ struct spandsp_globals {
        short int use_ecm;
        short int verbose;
        short int disable_v17;
+       short int enable_tep;
        short int enable_colour_fax;
        short int enable_image_resizing;
        short int enable_colour_to_bilevel;
index 09378d71f59dc206f01aca62c695b94fe4b8f9ef..62b32c1701faab23ad5d39c79ba509d8c1e384a8 100644 (file)
@@ -90,6 +90,7 @@ struct pvt_s {
 
        int use_ecm;
        int disable_v17;
+       int enable_tep;
        int enable_colour_fax;
        int enable_image_resizing;
        int enable_colour_to_bilevel;
@@ -835,6 +836,8 @@ static switch_status_t spanfax_init(pvt_t *pvt, transport_mode_t trans_mode)
                        t38_gateway_set_supported_modems(pvt->t38_gateway_state, T30_SUPPORT_V17 | T30_SUPPORT_V29 | T30_SUPPORT_V27TER);
                }
 
+               t38_gateway_set_tep_mode(pvt->t38_gateway_state, pvt->enable_tep);
+
                t38_gateway_set_ecm_capability(pvt->t38_gateway_state, pvt->use_ecm);
                switch_channel_set_variable(channel, "fax_ecm_requested", pvt->use_ecm ? "true" : "false");
 
@@ -1240,6 +1243,12 @@ static pvt_t *pvt_init(switch_core_session_t *session, mod_spandsp_fax_applicati
                pvt->use_ecm = spandsp_globals.use_ecm;
        }
 
+       if ((tmp = switch_channel_get_variable(channel, "fax_enable_tep"))) {
+               pvt->enable_tep = switch_true(tmp);
+       } else {
+               pvt->enable_tep = spandsp_globals.enable_tep;
+       }
+
        if ((tmp = switch_channel_get_variable(channel, "fax_disable_v17"))) {
                pvt->disable_v17 = switch_true(tmp);
        } else {