freetdm:Changes to transmit facilityStr in PROGRESS and ALERT messages
This commit is contained in:
parent
71e8ed8180
commit
b4cb165115
|
@ -341,6 +341,7 @@ void sngisdn_snd_progress(ftdm_channel_t *ftdmchan, ftdm_sngisdn_progind_t prog_
|
||||||
|
|
||||||
memset(&cnStEvnt, 0, sizeof(cnStEvnt));
|
memset(&cnStEvnt, 0, sizeof(cnStEvnt));
|
||||||
set_prog_ind_ie(ftdmchan, &cnStEvnt.progInd, prog_ind);
|
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);
|
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)) {
|
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));
|
memset(&cnStEvnt, 0, sizeof(cnStEvnt));
|
||||||
|
|
||||||
set_prog_ind_ie(ftdmchan, &cnStEvnt.progInd, prog_ind);
|
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);
|
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_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);
|
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)) {
|
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));
|
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].eh.pres = PRSNT_NODEF;
|
||||||
discEvnt.causeDgn[0].location.pres = PRSNT_NODEF;
|
discEvnt.causeDgn[0].location.pres = PRSNT_NODEF;
|
||||||
discEvnt.causeDgn[0].location.val = IN_LOC_PRIVNETLU;
|
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));
|
memset(&relEvnt, 0, sizeof(relEvnt));
|
||||||
|
|
||||||
/* Fill discEvnt here */
|
/* Fill relEvnt here */
|
||||||
relEvnt.causeDgn[0].eh.pres = PRSNT_NODEF;
|
relEvnt.causeDgn[0].eh.pres = PRSNT_NODEF;
|
||||||
relEvnt.causeDgn[0].location.pres = PRSNT_NODEF;
|
relEvnt.causeDgn[0].location.pres = PRSNT_NODEF;
|
||||||
relEvnt.causeDgn[0].location.val = IN_LOC_PRIVNETLU;
|
relEvnt.causeDgn[0].location.val = IN_LOC_PRIVNETLU;
|
||||||
|
|
|
@ -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_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;
|
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];
|
*data_len = caller_data->raw_data[1];
|
||||||
memcpy(data, &caller_data->raw_data[2], *data_len);
|
memcpy(data, &caller_data->raw_data[2], *data_len);
|
||||||
return FTDM_SUCCESS;
|
return FTDM_SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue