mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-05 18:13:27 +00:00
freetdm: ss7 - added functions to clear flags for reset
This commit is contained in:
parent
dd529b0e3a
commit
bdcad14a46
libs/freetdm/src/ftmod/ftmod_sangoma_ss7
@ -1136,7 +1136,13 @@ void ftdm_sangoma_ss7_process_state_change (ftdm_channel_t * ftdmchan)
|
||||
if (sngss7_test_flag (sngss7_info, FLAG_CKT_UCIC_UNBLK)) {
|
||||
SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_UCIC_UNBLK flag %s\n", "");;
|
||||
|
||||
/* throw the channel into reset from our side since it is already in reset from the remote side */
|
||||
/* remove the UCIC block flag */
|
||||
sngss7_clear_flag(sngss7_info, FLAG_CKT_UCIC_BLOCK);
|
||||
|
||||
/* remove the UCIC unblock flag */
|
||||
sngss7_clear_flag(sngss7_info, FLAG_CKT_UCIC_UNBLK);
|
||||
|
||||
/* throw the channel into reset to sync states */
|
||||
sngss7_set_flag(sngss7_info, FLAG_RESET_TX);
|
||||
|
||||
/* bring the channel into restart again */
|
||||
|
@ -61,6 +61,11 @@ ftdm_status_t check_if_rx_grs_started(ftdm_span_t *ftdmspan);
|
||||
ftdm_status_t check_if_rx_grs_processed(ftdm_span_t *ftdmspan);
|
||||
ftdm_status_t check_if_rx_gra_started(ftdm_span_t *ftdmspan);
|
||||
ftdm_status_t check_for_res_sus_flag(ftdm_span_t *ftdmspan);
|
||||
|
||||
ftdm_status_t clear_rx_grs_flags(sngss7_chan_data_t *sngss7_info);
|
||||
ftdm_status_t clear_tx_grs_flags(sngss7_chan_data_t *sngss7_info);
|
||||
ftdm_status_t clear_rx_rsc_flags(sngss7_chan_data_t *sngss7_info);
|
||||
ftdm_status_t clear_tx_rsc_flags(sngss7_chan_data_t *sngss7_info);
|
||||
/******************************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
@ -752,7 +757,49 @@ ftdm_status_t check_for_res_sus_flag(ftdm_span_t *ftdmspan)
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
ftdm_status_t clear_rx_grs_flags(sngss7_chan_data_t *sngss7_info)
|
||||
{
|
||||
/* clear all the flags related to an incoming GRS */
|
||||
sngss7_clear_flag(sngss7_info, FLAG_GRP_RESET_RX);
|
||||
sngss7_clear_flag(sngss7_info, FLAG_GRP_RESET_RX_DN);
|
||||
sngss7_clear_flag(sngss7_info, FLAG_GRP_RESET_RX_CMPLT);
|
||||
|
||||
return FTDM_SUCCESS;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
ftdm_status_t clear_tx_grs_flags(sngss7_chan_data_t *sngss7_info)
|
||||
{
|
||||
/* clear all the flags related to an outgoing GRS */
|
||||
sngss7_clear_flag(sngss7_info, FLAG_GRP_RESET_BASE);
|
||||
sngss7_clear_flag(sngss7_info, FLAG_GRP_RESET_TX);
|
||||
sngss7_clear_flag(sngss7_info, FLAG_GRP_RESET_SENT);
|
||||
sngss7_clear_flag(sngss7_info, FLAG_GRP_RESET_TX_RSP);
|
||||
|
||||
return FTDM_SUCCESS;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
ftdm_status_t clear_rx_rsc_flags(sngss7_chan_data_t *sngss7_info)
|
||||
{
|
||||
/* clear all the flags related to an incoming RSC */
|
||||
sngss7_clear_flag(sngss7_info, FLAG_RESET_RX);
|
||||
|
||||
return FTDM_SUCCESS;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
ftdm_status_t clear_tx_rsc_flags(sngss7_chan_data_t *sngss7_info)
|
||||
{
|
||||
/* clear all the flags related to an outgoing RSC */
|
||||
sngss7_clear_flag(sngss7_info, FLAG_RESET_TX);
|
||||
sngss7_clear_flag(sngss7_info, FLAG_RESET_SENT);
|
||||
sngss7_clear_flag(sngss7_info, FLAG_RESET_TX_RSP);
|
||||
|
||||
return FTDM_SUCCESS;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
/******************************************************************************/
|
||||
/* For Emacs:
|
||||
|
Loading…
x
Reference in New Issue
Block a user