/*
 * cause.h
 *
 * 
 */

#ifndef _OpenAPI_cause_H_
#define _OpenAPI_cause_H_

#include <string.h>
#include "third-party/cjson/cJSON.h"
#include "../include/list.h"
#include "../include/keyValuePair.h"
#include "../include/binary.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef enum { OpenAPI_cause_NULL = 0, OpenAPI_cause_REL_DUE_TO_HO, OpenAPI_cause_EPS_FALLBACK, OpenAPI_cause_REL_DUE_TO_UP_SEC, OpenAPI_cause_DNN_CONGESTION, OpenAPI_cause_S_NSSAI_CONGESTION, OpenAPI_cause_REL_DUE_TO_REACTIVATION, OpenAPI_cause__5G_AN_NOT_RESPONDING, OpenAPI_cause_REL_DUE_TO_SLICE_NOT_AVAILABLE, OpenAPI_cause_REL_DUE_TO_DUPLICATE_SESSION_ID, OpenAPI_cause_PDU_SESSION_STATUS_MISMATCH, OpenAPI_cause_HO_FAILURE, OpenAPI_cause_INSUFFICIENT_UP_RESOURCES, OpenAPI_cause_PDU_SESSION_HANDED_OVER, OpenAPI_cause_PDU_SESSION_RESUMED, OpenAPI_cause_CN_ASSISTED_RAN_PARAMETER_TUNING, OpenAPI_cause_ISMF_CONTEXT_TRANSFER, OpenAPI_cause_SMF_CONTEXT_TRANSFER, OpenAPI_cause_REL_DUE_TO_PS_TO_CS_HO, OpenAPI_cause_REL_DUE_TO_SUBSCRIPTION_CHANGE, OpenAPI_cause_HO_CANCEL, OpenAPI_cause_REL_DUE_TO_SLICE_NOT_AUTHORIZED, OpenAPI_cause_PDU_SESSION_HAND_OVER_FAILURE, OpenAPI_cause_DDN_FAILURE_STATUS, OpenAPI_cause_REL_DUE_TO_CP_ONLY_NOT_APPLICABLE, OpenAPI_cause_NOT_SUPPORTED_WITH_ISMF, OpenAPI_cause_CHANGED_ANCHOR_SMF, OpenAPI_cause_CHANGED_INTERMEDIATE_SMF, OpenAPI_cause_TARGET_DNAI_NOTIFICATION, OpenAPI_cause_REL_DUE_TO_VPLMN_QOS_FAILURE, OpenAPI_cause_REL_DUE_TO_SMF_NOT_SUPPORT_PSETR, OpenAPI_cause_REL_DUE_TO_SNPN_SNPN_MOBILITY, OpenAPI_cause_REL_DUE_TO_NO_HR_AGREEMENT, OpenAPI_cause_REL_DUE_TO_UNSPECIFIED_REASON, OpenAPI_cause_REL_DUE_TO_MOB_ACCESS_RESTRICTIONS, OpenAPI_cause_REL_DUE_TO_SLICE_INACTIVITY, OpenAPI_cause_REL_DUE_TO_NSI_NOT_AVAILABLE, OpenAPI_cause_REL_DUE_TO_SNSSAI_DENIED, OpenAPI_cause_REL_DUE_TO_DNN_DENIED, OpenAPI_cause_REL_DUE_TO_PDUTYPE_DENIED, OpenAPI_cause_REL_DUE_TO_SSC_DENIED, OpenAPI_cause_REL_DUE_TO_SUBSCRIPTION_DENIED, OpenAPI_cause_REL_DUE_TO_DNN_NOT_SUPPORTED, OpenAPI_cause_REL_DUE_TO_PDUTYPE_NOT_SUPPORTED, OpenAPI_cause_REL_DUE_TO_SSC_NOT_SUPPORTED, OpenAPI_cause_REL_DUE_TO_INSUFFICIENT_RESOURCES_SLICE, OpenAPI_cause_REL_DUE_TO_INSUFFICIENT_RESOURCES_SLICE_DNN, OpenAPI_cause_REL_DUE_TO_DNN_CONGESTION, OpenAPI_cause_REL_DUE_TO_S_NSSAI_CONGESTION, OpenAPI_cause_REL_DUE_TO_PEER_NOT_RESPONDING, OpenAPI_cause_REL_DUE_TO_NETWORK_FAILURE, OpenAPI_cause_REL_DUE_TO_UPF_NOT_RESPONDING, OpenAPI_cause_REL_DUE_TO_NO_EPS_5GS_CONTINUITY, OpenAPI_cause_REL_DUE_TO_NOT_SUPPORTED_WITH_ISMF, OpenAPI_cause_REL_DUE_TO_EXCEEDED_UE_SLICE_DATA_RATE, OpenAPI_cause_REL_DUE_TO_EXCEEDED_SLICE_DATA_RATE, OpenAPI_cause_REL_DUE_TO_CONTEXT_NOT_FOUND, OpenAPI_cause_REL_DUE_TO_MBSR_NOT_AUTHORIZED, OpenAPI_cause_DEACT_DUE_TO_UE_OUT_OF_SLICE_SUPPORT_AREA, OpenAPI_cause_REJECT_DUE_TO_N1_SM_ERROR, OpenAPI_cause_REL_DUE_TO_DUPLICATE_SESSION_EPDG, OpenAPI_cause_REL_DUE_TO_AF_REQUESTED_SLICE_REPLACEMENT } OpenAPI_cause_e;

char* OpenAPI_cause_ToString(OpenAPI_cause_e cause);

OpenAPI_cause_e OpenAPI_cause_FromString(char* cause);

#ifdef __cplusplus
}
#endif

#endif /* _OpenAPI_cause_H_ */

