]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Added a retry on configuraiton.
authorNenad Corbic <ncorbic@sangoma.com>
Thu, 15 Dec 2011 20:47:41 +0000 (15:47 -0500)
committerNenad Corbic <ncorbic@sangoma.com>
Thu, 15 Dec 2011 20:47:41 +0000 (15:47 -0500)
Its possible to timeout on ISUP ckt config in scenarios
of huge load.

libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c

index 5edf7d48510bb398c796f95ad5f013870d94232b..a98f2ee2098d5ee4d7da0542624ccf360867152a 100644 (file)
@@ -1878,6 +1878,7 @@ static ftdm_status_t ftdm_sangoma_ss7_stop(ftdm_span_t * span)
 static FIO_CONFIGURE_SPAN_SIGNALING_FUNCTION(ftdm_sangoma_ss7_span_config)
 {
        sngss7_span_data_t      *ss7_span_info;
+       int sngss7_retry_cnt=5;
 
        ftdm_log (FTDM_LOG_INFO, "Configuring ftmod_sangoma_ss7 span = %s(%d)...\n",
                                                                span->name,
@@ -1932,7 +1933,13 @@ static FIO_CONFIGURE_SPAN_SIGNALING_FUNCTION(ftdm_sangoma_ss7_span_config)
        }
 
        /* configure libsngss7 */
+try_cfg_again:
        if (ft_to_sngss7_cfg_all()) {
+               if (sngss7_retry_cnt--) {
+                       ftdm_sleep (500);
+                       ftdm_log (FTDM_LOG_DEBUG, "Failed to configure LibSngSS7 - retrying!\n");
+                       goto try_cfg_again;
+               }
                ftdm_log (FTDM_LOG_CRIT, "Failed to configure LibSngSS7!\n");
                ftdm_sleep (1000);
                return FTDM_FAIL;