ranap_common: Add value_string for procedure code and presence
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,