ftdm_status_t handle_relay_disconnect_on_down(RyMngmt *sta)
{

	/* check if the channel is a server, means we just lost a MGW */
	if (g_ftdm_sngss7_data.cfg.relay[sta->t.usta.s.ryUpUsta.id].type == LRY_CT_TCP_SERVER) {
		block_all_ckts_for_relay(sta->t.usta.s.ryUpUsta.id);

		disable_all_sigs_for_relay(sta->t.usta.s.ryUpUsta.id);
	}

	return FTDM_SUCCESS;
}
示例#2
0
ftdm_status_t handle_relay_disconnect_on_error(RyMngmt *sta)
{

	/* check which procId is in error, if it is 1, disable the ckts */
	if (sta->t.usta.s.ryErrUsta.errPid == 1 ) {
		disable_all_ckts_for_relay();

		disble_all_mtp2_sigs_for_relay();
	}

	/* check if the channel is a server, means we just lost a MGW */
	if (g_ftdm_sngss7_data.cfg.relay[sta->t.usta.s.ryErrUsta.errPid].type == LRY_CT_TCP_SERVER) {
		block_all_ckts_for_relay(sta->t.usta.s.ryErrUsta.errPid);

		disable_all_sigs_for_relay(sta->t.usta.s.ryErrUsta.errPid);
	}

	return FTDM_SUCCESS;
}
ftdm_status_t handle_relay_disconnect_on_error(RyMngmt *sta)
{

	/* check which procId is in error, if it is 1, disable the ckts */
	if (sta->t.usta.s.ryErrUsta.errPid == 1 ) {
		/* we've lost the server, bring down the mtp2 links */
		disble_all_mtp2_sigs_for_relay();

		/* we've lost the server, bring the sig status down on all ckts */
		disable_all_ckts_for_relay();
	}

	/* check if the channel is a server, means we just lost a MGW */
	if (g_ftdm_sngss7_data.cfg.relay[sta->t.usta.s.ryErrUsta.errPid].type == LRY_CT_TCP_SERVER) {
		/* we've lost the client, bring down all mtp3 links for this procId */
		disable_all_sigs_for_relay(sta->t.usta.s.ryErrUsta.errPid);

		/* we've lost the client, bring down all the ckts for this procId */
		block_all_ckts_for_relay(sta->t.usta.s.ryErrUsta.errPid);
	}

	return FTDM_SUCCESS;
}