]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
chlog:Support for send-connect-ack parameter
authorDavid Yat Sin <dyatsin@sangoma.com>
Fri, 6 Jul 2012 16:04:52 +0000 (12:04 -0400)
committerDavid Yat Sin <dyatsin@sangoma.com>
Fri, 6 Jul 2012 16:15:48 +0000 (12:15 -0400)
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c

index 92054b88694e23544fa67e6ca1e68bfe015270e1..4e9c9dcadd23191e5f4685c5e71d7859ad597127 100644 (file)
@@ -275,7 +275,6 @@ typedef struct sngisdn_span_data {
        uint8_t                 force_sending_complete;
        uint8_t                 cid_name_method;
        uint8_t                 send_cid_name;
-
        int32_t                 timer_t301;
        int32_t                 timer_t302;
        int32_t                 timer_t303;
@@ -292,7 +291,7 @@ typedef struct sngisdn_span_data {
        int32_t                 timer_t318;
        int32_t                 timer_t319;
        int32_t                 timer_t322;
-       
+       uint8_t                 send_connect_ack;
        char*                   local_numbers[SNGISDN_NUM_LOCAL_NUMBERS];
        ftdm_timer_id_t timers[SNGISDN_NUM_SPAN_TIMERS];
        ftdm_sched_t    *sched;
index 5b3db934a5f8ba0ced7d40b074e73ab46c03d8ca..52c4ecd8de052670ec715cd21f8b7fcd87af392b 100644 (file)
@@ -302,6 +302,7 @@ ftdm_status_t ftmod_isdn_parse_cfg(ftdm_conf_parameter_t *ftdm_parameters, ftdm_
 
        signal_data->cid_name_method = SNGISDN_CID_NAME_AUTO;
        signal_data->send_cid_name = SNGISDN_OPT_DEFAULT;
+       signal_data->send_connect_ack = SNGISDN_OPT_DEFAULT;
        
        span->default_caller_data.dnis.plan = FTDM_NPI_INVALID;
        span->default_caller_data.dnis.type = FTDM_TON_INVALID;
@@ -465,6 +466,8 @@ ftdm_status_t ftmod_isdn_parse_cfg(ftdm_conf_parameter_t *ftdm_parameters, ftdm_
                        parse_timer(val, &signal_data->timer_t319);
                } else if (!strcasecmp(var, "timer-t322")) {
                        parse_timer(val, &signal_data->timer_t322);
+               } else if (!strcasecmp(var, "send-connect-ack")) {
+                       parse_yesno(var, val, &signal_data->send_connect_ack);
                } else {
                        ftdm_log(FTDM_LOG_WARNING, "Ignoring unknown parameter %s\n", ftdm_parameters[paramindex].var);
                }
index a1229dcab9629177d0df81bd3ceff6e660f4f390..0a45f2e562d799a9e250a951b9a33442a19b84ef 100644 (file)
@@ -695,6 +695,14 @@ ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span)
                }
        }
 
+       if (signal_data->send_connect_ack != SNGISDN_OPT_DEFAULT) {
+               if (signal_data->send_connect_ack == SNGISDN_OPT_TRUE) {
+                       cfg.t.cfg.s.inDLSAP.ackOpt = TRUE;
+               } else {
+                       cfg.t.cfg.s.inDLSAP.ackOpt = FALSE;
+               }
+       }
+
        /* Override the restart options if user selected that option */
        if (signal_data->restart_opt != SNGISDN_OPT_DEFAULT) {
                if (signal_data->restart_opt == SNGISDN_OPT_TRUE) {