]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm - ISDN: Added API command to print Trillium memory info
authorDavid Yat Sin <dyatsin@sangoma.com>
Mon, 30 May 2011 21:07:59 +0000 (17:07 -0400)
committerDavid Yat Sin <dyatsin@sangoma.com>
Mon, 30 May 2011 21:10:38 +0000 (17:10 -0400)
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c

index 94e816e0d0deb13d48f3e5684267acec17a44bea..103cb869a5f3c722c92ecd657d81114d4f5e0898 100644 (file)
@@ -1297,6 +1297,9 @@ static FIO_API_FUNCTION(ftdm_sangoma_isdn_api)
                status = sngisdn_check_free_ids();
                goto done;
        }
+       if (!strcasecmp(argv[0], "check_mem")) {
+               sngisdn_get_memory_info();
+       }
 done:
        switch (status) {
                case FTDM_SUCCESS:
index ac69fa8d660a8d64f99ce4edb2936e7db180b3d5..7930a827f356470df027ebdef566f3e2226c74d2 100644 (file)
@@ -394,7 +394,7 @@ void sngisdn_trace_interpreted_q931(sngisdn_span_data_t *signal_data, ftdm_trace
 void sngisdn_trace_raw_q921(sngisdn_span_data_t *signal_data, ftdm_trace_dir_t dir, uint8_t *data, uint32_t data_len);
 void sngisdn_trace_raw_q931(sngisdn_span_data_t *signal_data, ftdm_trace_dir_t dir, uint8_t *data, uint32_t data_len);
 
-void get_memory_info(void);
+void sngisdn_get_memory_info(void);
 
 ftdm_status_t sng_isdn_activate_trace(ftdm_span_t *span, sngisdn_tracetype_t trace_opt);
 ftdm_status_t sngisdn_check_free_ids(void);
index e9d0fdc58aaa229c7c2b2087ffd6a37dbda5c31e..242963ec9c89d59b77b20493f09f0c6f068fb7c9 100644 (file)
@@ -1134,10 +1134,9 @@ static void sngisdn_process_restart_confirm(ftdm_channel_t *ftdmchan)
 static ftdm_status_t sngisdn_force_down(ftdm_channel_t *ftdmchan)
 {
        sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*)ftdmchan->call_data;
+       ftdm_status_t status = FTDM_SUCCESS;
        
        ftdm_log_chan(ftdmchan, FTDM_LOG_NOTICE, "Forcing channel to DOWN state (%s)\n", ftdm_channel_state2str(ftdmchan->state));
-       
-       ftdm_status_t status = FTDM_SUCCESS;
        switch (ftdmchan->state) {
                case FTDM_CHANNEL_STATE_DOWN:
                        /* Do nothing */
@@ -1257,11 +1256,18 @@ void sngisdn_process_rst_ind (sngisdn_event_data_t *sngisdn_event)
        int16_t dChan = sngisdn_event->dChan;
        uint8_t ces = sngisdn_event->ces;
        uint8_t evntType = sngisdn_event->evntType;
+       Rst *rstEvnt = NULL;
+       sngisdn_span_data_t     *signal_data = NULL;
 
        ISDN_FUNC_TRACE_ENTER(__FUNCTION__);
 
-       Rst *rstEvnt = &sngisdn_event->event.rstEvnt;
-       sngisdn_span_data_t     *signal_data = g_sngisdn_data.dchans[dChan].spans[1];
+       rstEvnt = &sngisdn_event->event.rstEvnt;
+
+       /* TODO: readjust this when NFAS is implemented as signal_data will not always be the first
+        * span for that d-channel */
+
+       signal_data = g_sngisdn_data.dchans[dChan].spans[1];
+
        if (!signal_data) {
                ftdm_log(FTDM_LOG_CRIT, "Received RESTART IND on unconfigured span (suId:%d)\n", suId);
                return;
index 67de893f5d0d09f110476b0afb3c694492cea7b2..d1b202e77d13fc845fa00c2dbc690750e6160211 100644 (file)
@@ -708,7 +708,7 @@ void sngisdn_rcv_q921_ind(BdMngmt *status)
 void sngisdn_rcv_q931_ind(InMngmt *status)
 {      
        if (status->t.usta.alarm.cause == 287) {
-               get_memory_info();
+               sngisdn_get_memory_info();
                return;
        }
 
index 3ba776928dabe684b72a841e6944b7a2631de192..62ff830b20e987fdf28acae12ab3cb967ea0a8e7 100644 (file)
@@ -47,7 +47,6 @@ static uint8_t get_trillium_val(ftdm2trillium_t *vals, uint8_t ftdm_val, uint8_t
 static uint8_t get_ftdm_val(ftdm2trillium_t *vals, uint8_t trillium_val, uint8_t default_val);
 
 extern ftdm_sngisdn_data_t     g_sngisdn_data;
-void get_memory_info(void);
 
 ftdm2trillium_t npi_codes[] = {
        {FTDM_NPI_UNKNOWN,      IN_NP_UNK},
@@ -1085,7 +1084,7 @@ ftdm_status_t sngisdn_check_free_ids(void)
        return FTDM_SUCCESS;
 }
 
-void get_memory_info(void)
+void sngisdn_get_memory_info(void)
 {
        U32 availmen = 0;
        SRegInfoShow(S_REG, &availmen);