[Gy] Follow-up PRs (#1479)

This commit is contained in:
Sukchan Lee 2022-04-09 10:41:02 +09:00
parent 2be12903cb
commit ff242cd6ea
8 changed files with 9 additions and 18 deletions

View File

@ -238,7 +238,8 @@ logger:
# o Gy interface parameters towards OCS. # o Gy interface parameters towards OCS.
# o enabled: # o enabled:
# o auto: Default. Use Gy only if OCS available among Diameter peers # o auto: Default. Use Gy only if OCS available among Diameter peers
# o yes: Use Gy always; reject subscribers if no OCS available among Diameter peers # o yes: Use Gy always;
# reject subscribers if no OCS available among Diameter peers
# o no: Don't use Gy interface if there is an OCS available # o no: Don't use Gy interface if there is an OCS available
# #
# ctf: # ctf:

View File

@ -56,7 +56,6 @@ struct dict_object *ogs_diam_rx_framed_ip_address = NULL;
struct dict_object *ogs_diam_rx_framed_ipv6_prefix = NULL; struct dict_object *ogs_diam_rx_framed_ipv6_prefix = NULL;
struct dict_object *ogs_diam_rx_ip_can_type = NULL; struct dict_object *ogs_diam_rx_ip_can_type = NULL;
struct dict_object *ogs_diam_rx_abort_cause = NULL; struct dict_object *ogs_diam_rx_abort_cause = NULL;
struct dict_object *ogs_diam_rx_termination_cause = NULL;
extern int ogs_dict_rx_entry(char *conffile); extern int ogs_dict_rx_entry(char *conffile);
@ -100,7 +99,6 @@ int ogs_diam_rx_init(void)
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Framed-IPv6-Prefix", &ogs_diam_rx_framed_ipv6_prefix); CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Framed-IPv6-Prefix", &ogs_diam_rx_framed_ipv6_prefix);
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "IP-CAN-Type", &ogs_diam_rx_ip_can_type); CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "IP-CAN-Type", &ogs_diam_rx_ip_can_type);
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Abort-Cause", &ogs_diam_rx_abort_cause); CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Abort-Cause", &ogs_diam_rx_abort_cause);
CHECK_dict_search(DICT_AVP, AVP_BY_NAME_ALL_VENDORS, "Termination-Cause", &ogs_diam_rx_termination_cause);
return 0; return 0;
} }

View File

@ -121,15 +121,6 @@ extern struct dict_object *ogs_diam_rx_ip_can_type;
#define OGS_DIAM_RX_ABORT_CAUSE_PS_TO_CS_HANDOVER 3 #define OGS_DIAM_RX_ABORT_CAUSE_PS_TO_CS_HANDOVER 3
#define OGS_DIAM_RX_ABORT_CAUSE_SPONSORED_DATA_CONNECTIVITY_DISALLOWED 4 #define OGS_DIAM_RX_ABORT_CAUSE_SPONSORED_DATA_CONNECTIVITY_DISALLOWED 4
extern struct dict_object *ogs_diam_rx_abort_cause; extern struct dict_object *ogs_diam_rx_abort_cause;
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_LOGOUT 1
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_SERVICE_NOT_PROVIDED 2
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_BAD_ANSWER 3
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_DIAMETER_ADMINISTRATIVE 4
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_LINK_BROKEN 5
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_AUTH_EXPIRED 6
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_USER_MOVED 7
#define OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_SESSION_TIMEOUT 8
extern struct dict_object *ogs_diam_rx_termination_cause;
typedef struct ogs_diam_rx_message_s { typedef struct ogs_diam_rx_message_s {
#define OGS_DIAM_RX_CMD_CODE_AA 265 #define OGS_DIAM_RX_CMD_CODE_AA 265

View File

@ -653,14 +653,14 @@ static int pcrf_rx_str_cb( struct msg **msg, struct avp *avp,
ogs_assert(ret == 0); ogs_assert(ret == 0);
/* Get Termination-Cause */ /* Get Termination-Cause */
ret = fd_msg_search_avp(qry, ogs_diam_rx_termination_cause, &avp); ret = fd_msg_search_avp(qry, ogs_diam_termination_cause, &avp);
ogs_assert(ret == 0); ogs_assert(ret == 0);
if (avp) { if (avp) {
ret = fd_msg_avp_hdr(avp, &hdr); ret = fd_msg_avp_hdr(avp, &hdr);
ogs_assert(ret == 0); ogs_assert(ret == 0);
sess_data->termination_cause = hdr->avp_value->i32; sess_data->termination_cause = hdr->avp_value->i32;
switch (sess_data->termination_cause) { switch (sess_data->termination_cause) {
case OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_LOGOUT: case OGS_DIAM_TERMINATION_CAUSE_DIAMETER_LOGOUT:
break; break;
default: default:
ogs_error("Termination-Cause Error : [%d]", ogs_error("Termination-Cause Error : [%d]",

View File

@ -50,6 +50,7 @@ static void urr_enable_total_volume_threshold(smf_sess_t *sess, ogs_pfcp_urr_t *
urr->rep_triggers.volume_threshold = 1; urr->rep_triggers.volume_threshold = 1;
urr->vol_threshold.tovol = 1; urr->vol_threshold.tovol = 1;
urr->vol_threshold.total_volume = total_volume_threshold; urr->vol_threshold.total_volume = total_volume_threshold;
ogs_assert(sess->pfcp_node);
if (sess->pfcp_node->up_function_features.mnop) if (sess->pfcp_node->up_function_features.mnop)
urr->meas_info.mnop = 1; urr->meas_info.mnop = 1;
} }

View File

@ -376,7 +376,7 @@ void smf_s5c_handle_delete_session_request(
break; break;
case OGS_GTP_RAT_TYPE_WLAN: case OGS_GTP_RAT_TYPE_WLAN:
smf_s6b_send_str(sess, xact, smf_s6b_send_str(sess, xact,
OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_LOGOUT); OGS_DIAM_TERMINATION_CAUSE_DIAMETER_LOGOUT);
break; break;
default: default:
ogs_error("Unknown RAT Type [%d]", sess->gtp_rat_type); ogs_error("Unknown RAT Type [%d]", sess->gtp_rat_type);

View File

@ -555,7 +555,7 @@ void smf_s6b_send_str(smf_sess_t *sess, ogs_gtp_xact_t *xact, uint32_t cause)
ogs_assert(ret == 0); ogs_assert(ret == 0);
/* Set the Termination-Cause AVP */ /* Set the Termination-Cause AVP */
ret = fd_msg_avp_new(ogs_diam_rx_termination_cause, 0, &avp); ret = fd_msg_avp_new(ogs_diam_termination_cause, 0, &avp);
ogs_assert(ret == 0); ogs_assert(ret == 0);
val.i32 = cause; val.i32 = cause;
ret = fd_msg_avp_setvalue(avp, &val); ret = fd_msg_avp_setvalue(avp, &val);

View File

@ -1941,9 +1941,9 @@ void test_rx_send_str(uint8_t *rx_sid)
ogs_assert(ret == 0); ogs_assert(ret == 0);
/* Set the Termination-Cause AVP */ /* Set the Termination-Cause AVP */
ret = fd_msg_avp_new(ogs_diam_rx_termination_cause, 0, &avp); ret = fd_msg_avp_new(ogs_diam_termination_cause, 0, &avp);
ogs_assert(ret == 0); ogs_assert(ret == 0);
val.i32 = OGS_DIAM_RX_TERMINATION_CAUSE_DIAMETER_LOGOUT; val.i32 = OGS_DIAM_TERMINATION_CAUSE_DIAMETER_LOGOUT;
ret = fd_msg_avp_setvalue(avp, &val); ret = fd_msg_avp_setvalue(avp, &val);
ogs_assert(ret == 0); ogs_assert(ret == 0);
ret = fd_msg_avp_add(req, MSG_BRW_LAST_CHILD, avp); ret = fd_msg_avp_add(req, MSG_BRW_LAST_CHILD, avp);