]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm:Changes to transmit facilityStr in PROGRESS and ALERT messages
authorDavid Yat Sin <dyatsin@sangoma.com>
Tue, 7 Dec 2010 16:33:51 +0000 (11:33 -0500)
committerDavid Yat Sin <dyatsin@sangoma.com>
Tue, 7 Dec 2010 16:33:51 +0000 (11:33 -0500)
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c
libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c

index 08b14a08cea27a560846643e9485c7a5424afc3f..752ac40641982c8e552d9f2dc39fab5ad6b26b8f 100644 (file)
@@ -341,6 +341,7 @@ void sngisdn_snd_progress(ftdm_channel_t *ftdmchan, ftdm_sngisdn_progind_t prog_
 
        memset(&cnStEvnt, 0, sizeof(cnStEvnt)); 
        set_prog_ind_ie(ftdmchan, &cnStEvnt.progInd, prog_ind);
+       set_facility_ie(ftdmchan, &cnStEvnt.facilityStr);
 
        ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending PROGRESS (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
        if(sng_isdn_con_status(signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId,&cnStEvnt, MI_PROGRESS, signal_data->dchan_id, sngisdn_info->ces)) {
@@ -366,6 +367,7 @@ void sngisdn_snd_alert(ftdm_channel_t *ftdmchan, ftdm_sngisdn_progind_t prog_ind
        memset(&cnStEvnt, 0, sizeof(cnStEvnt));
 
        set_prog_ind_ie(ftdmchan, &cnStEvnt.progInd, prog_ind);
+       set_facility_ie(ftdmchan, &cnStEvnt.facilityStr);
 
        ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending ALERT (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
 
@@ -424,6 +426,7 @@ void sngisdn_snd_connect(ftdm_channel_t *ftdmchan)
        }
 
        set_prog_ind_ie(ftdmchan, &cnStEvnt.progInd, prog_ind);
+       set_facility_ie(ftdmchan, &cnStEvnt.facilityStr);
 
        ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending CONNECT (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
        if (sng_isdn_con_response(signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, &cnStEvnt, signal_data->dchan_id, sngisdn_info->ces)) {
@@ -522,7 +525,8 @@ void sngisdn_snd_disconnect(ftdm_channel_t *ftdmchan)
        
        memset(&discEvnt, 0, sizeof(discEvnt));
        
-       /* Fill discEvnt here */        
+       /* Fill discEvnt here */
+       /* TODO move this to set_cause_ie function */
        discEvnt.causeDgn[0].eh.pres = PRSNT_NODEF;
        discEvnt.causeDgn[0].location.pres = PRSNT_NODEF;
        discEvnt.causeDgn[0].location.val = IN_LOC_PRIVNETLU;
@@ -559,7 +563,7 @@ void sngisdn_snd_release(ftdm_channel_t *ftdmchan, uint8_t glare)
        
        memset(&relEvnt, 0, sizeof(relEvnt));
        
-       /* Fill discEvnt here */        
+       /* Fill relEvnt here */
        relEvnt.causeDgn[0].eh.pres = PRSNT_NODEF;
        relEvnt.causeDgn[0].location.pres = PRSNT_NODEF;
        relEvnt.causeDgn[0].location.val = IN_LOC_PRIVNETLU;
index 42bcd1e20ad7e7e06068164c09e33f60d1b525a6..565781aa41fb397769608cc347bf9c40be1e9fe1 100644 (file)
@@ -560,9 +560,8 @@ ftdm_status_t set_facility_ie(ftdm_channel_t *ftdmchan, FacilityStr *facilityStr
 ftdm_status_t set_facility_ie_str(ftdm_channel_t *ftdmchan, uint8_t *data, ftdm_size_t *data_len)
 {
        ftdm_caller_data_t *caller_data = &ftdmchan->caller_data;
-       
-       if (caller_data->raw_data_len > 0 && caller_data->raw_data[0] == SNGISDN_Q931_FACILITY_IE_ID) {
 
+       if (caller_data->raw_data_len > 0 && caller_data->raw_data[0] == SNGISDN_Q931_FACILITY_IE_ID) {
                *data_len = caller_data->raw_data[1];
                memcpy(data, &caller_data->raw_data[2], *data_len);
                return FTDM_SUCCESS;