aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-12-25 15:35:01 +0100
committerHarald Welte <laforge@gnumonks.org>2015-12-25 15:35:01 +0100
commitefef6fb4deedbfdc61e6aa2ca9f8e8625532bfc5 (patch)
treed2f6d0ced50200cb0d672581563e086def7faaee
parent87ffeb91dc52db2a9aac26b9cd851b3f8ffd0beb (diff)
ranap_common: Add value_string for procedure code and presence
-rw-r--r--src/ranap_common.c59
-rw-r--r--src/ranap_common.h4
2 files changed, 63 insertions, 0 deletions
diff --git a/src/ranap_common.c b/src/ranap_common.c
index 45ab225..3d8b808 100644
--- a/src/ranap_common.c
+++ b/src/ranap_common.c
@@ -27,6 +27,65 @@
extern int asn1_xer_print;
+const struct value_string ranap_presence_vals[5] = {
+ { RANAP_RANAP_PDU_PR_initiatingMessage, "Initiating" },
+ { RANAP_RANAP_PDU_PR_successfulOutcome, "Successful Outcome" },
+ { RANAP_RANAP_PDU_PR_unsuccessfulOutcome, "Unsuccessful Outcome" },
+ { RANAP_RANAP_PDU_PR_outcome, "(Intermediate) Outcome" },
+ { 0, NULL }
+};
+
+const struct value_string ranap_procedure_code_vals[48] = {
+ { RANAP_ProcedureCode_id_RAB_Assignment, "RAB Assignment" },
+ { RANAP_ProcedureCode_id_Iu_Release, "Iu Release" },
+ { RANAP_ProcedureCode_id_RelocationPreparation, "Relocation Preparation" },
+ { RANAP_ProcedureCode_id_RelocationResourceAllocation, "Relocation Resource Allocation" },
+ { RANAP_ProcedureCode_id_RelocationCancel, "Relocation Cancel" },
+ { RANAP_ProcedureCode_id_SRNS_ContextTransfer, "SRNS Context Transfer" },
+ { RANAP_ProcedureCode_id_SecurityModeControl, "Security Mode Control" },
+ { RANAP_ProcedureCode_id_DataVolumeReport, "Data Volume Report" },
+ { RANAP_ProcedureCode_id_Reset, "Reset" },
+ { RANAP_ProcedureCode_id_RAB_ReleaseRequest, "RAB Release Request" },
+ { RANAP_ProcedureCode_id_Iu_ReleaseRequest, "Iu Release Request" },
+ { RANAP_ProcedureCode_id_RelocationDetect, "Relocation Detect" },
+ { RANAP_ProcedureCode_id_RelocationComplete, "Relocation Complete" },
+ { RANAP_ProcedureCode_id_Paging, "Paging" },
+ { RANAP_ProcedureCode_id_CommonID, "Common ID" },
+ { RANAP_ProcedureCode_id_CN_InvokeTrace, "CN Invoke Trace" },
+ { RANAP_ProcedureCode_id_LocationReportingControl, "Location Reporting Control" },
+ { RANAP_ProcedureCode_id_LocationReport, "Location Report" },
+ { RANAP_ProcedureCode_id_InitialUE_Message, "Initial UE Message" },
+ { RANAP_ProcedureCode_id_DirectTransfer, "Direct Transfer" },
+ { RANAP_ProcedureCode_id_OverloadControl, "Overload Control" },
+ { RANAP_ProcedureCode_id_ErrorIndication, "Error Indication" },
+ { RANAP_ProcedureCode_id_SRNS_DataForward, "SRNS Data Forward" },
+ { RANAP_ProcedureCode_id_ForwardSRNS_Context, "Forward SRNS Context" },
+ { RANAP_ProcedureCode_id_privateMessage, "Private Message" },
+ { RANAP_ProcedureCode_id_CN_DeactivateTrace, "CN Deactivate Trace" },
+ { RANAP_ProcedureCode_id_ResetResource, "Reset Resource" },
+ { RANAP_ProcedureCode_id_RANAP_Relocation, "RANAP Relocation" },
+ { RANAP_ProcedureCode_id_RAB_ModifyRequest, "RAB Modify Request" },
+ { RANAP_ProcedureCode_id_LocationRelatedData, "Location Related Data" },
+ { RANAP_ProcedureCode_id_InformationTransfer, "Information Transfer" },
+ { RANAP_ProcedureCode_id_UESpecificInformation, "UE Specific Information" },
+ { RANAP_ProcedureCode_id_UplinkInformationExchange, "Uplink Information Transfer" },
+ { RANAP_ProcedureCode_id_DirectInformationTransfer, "Direct Information Transfer" },
+ { RANAP_ProcedureCode_id_MBMSSessionStart, "MBMS Session Start" },
+ { RANAP_ProcedureCode_id_MBMSSessionUpdate, "MBMS Session Update" },
+ { RANAP_ProcedureCode_id_MBMSSessionStop, "MBMS Session Stop" },
+ { RANAP_ProcedureCode_id_MBMSUELinking, "MBMS UE Linking" },
+ { RANAP_ProcedureCode_id_MBMSRegistration, "MBMS Registration" },
+ { RANAP_ProcedureCode_id_MBMSCNDe_Registration_Procedure, "MBMS CN De-Registration" },
+ { RANAP_ProcedureCode_id_MBMSRABEstablishmentIndication, "MBMS RAB Establishment Indication" },
+ { RANAP_ProcedureCode_id_MBMSRABRelease, "MBMS RAB Release" },
+ { RANAP_ProcedureCode_id_enhancedRelocationComplete, "Enhanced Relocation Complete" },
+ { RANAP_ProcedureCode_id_enhancedRelocationCompleteConfirm, "Enhanced Relocation Complete Confirm" },
+ { RANAP_ProcedureCode_id_RANAPenhancedRelocation, "RANAP Enhanced Relocation" },
+ { RANAP_ProcedureCode_id_SRVCCPreparation, "SRVCC Preparation" },
+ { RANAP_ProcedureCode_id_UeRadioCapabilityMatch, "UE Radio Capability Match" },
+ { 0, NULL }
+};
+
static const struct value_string ranap_cause_radio_vals[] = {
{ RANAP_CauseRadioNetwork_rab_pre_empted, "RAB pre-empted" },
{ RANAP_CauseRadioNetwork_trelocoverall_expiry, "Treloc_overall expiry" },
diff --git a/src/ranap_common.h b/src/ranap_common.h
index 78d729e..f3791b0 100644
--- a/src/ranap_common.h
+++ b/src/ranap_common.h
@@ -588,11 +588,15 @@
#endif
#include <osmocom/core/logging.h>
+#include <osmocom/core/utils.h>
#define RANAP_DEBUG(x, args ...) DEBUGP(0, x, ## args)
extern int asn1_xer_print;
+extern const struct value_string ranap_presence_vals[5];
+extern const struct value_string ranap_procedure_code_vals[48];
+
char *ranap_cause_str(const RANAP_Cause_t *cause);
struct msgb *ranap_generate_initiating_message(e_RANAP_ProcedureCode procedureCode,