BSSGP: Define symbolic names for Cause values
diff --git a/gprs_gb/BSSGP_Types.ttcn b/gprs_gb/BSSGP_Types.ttcn
index 94d9cd0..ec0ae4d 100644
--- a/gprs_gb/BSSGP_Types.ttcn
+++ b/gprs_gb/BSSGP_Types.ttcn
@@ -3,6 +3,7 @@
 	import from General_Types all;
 	import from Osmocom_Types all;
 	import from GSM_Types all;
+	import from BSSGP_Helper_Functions all;
 
 	type enumerated BssgpPduType {
 		DL_UNITDATA		('00'H),
@@ -120,6 +121,51 @@
 		EXTENDED_FEATURE_BITMAP		('69'H)
 	} with { variant "FIELDLENGTH(8)" };
 
+	type enumerated BssgpCause {
+		BSSGP_CAUSE_PROC_OVERLOAD			('00'H),
+		BSSGP_CAUSE_EQUIMENT_FAILURE			('01'H),
+		BSSGP_CAUSE_TRANSIT_NETWORK_FAILURE		('02'H),
+		BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS		('03'H),
+		BSSGP_CAUSE_UNKNOWN_MS				('04'H),
+		BSSGP_CAUSE_BVCI_UNKNOWN			('05'H),
+		BSSGP_CAUSE_CELL_TRAFFIC_CONGESTION		('06'H),
+		BSSGP_CAUSE_SGSN_CONGESTION			('07'H),
+		BSSGP_CAUSE_OM_INTERVENTION			('08'H),
+		BSSGP_CAUSE_BVCI_BLOCKED			('09'H),
+		BSSGP_CAUSE_PFC_CREATE_FAILURE			('0a'H),
+		BSSGP_CAUSE_PFC_PREEMPTED			('0b'H),
+		BSSGP_CAUSE_ABQP_NO_MORE_SUPPORTED		('0c'H),
+		BSSGP_CAUSE_SEMANTICALLY_INCORRECT_PDU		('20'H),
+		BSSGP_CAUSE_INVALID_MANDATORY_IE		('21'H),
+		BSSGP_CAUSE_MISSING_MANDATORY_IE		('22'H),
+		BSSGP_CAUSE_MISSING_CONDITIONAL_IE		('23'H),
+		BSSGP_CAUSE_UNEXPECTED_CONDITIONAL_IE		('24'H),
+		BSSGP_CAUSE_CONDITIONAL_IE_ERROR		('25'H),
+		BSSGP_CAUSE_PDU_NOT_COMPATIBLE_WITH_PROTOCOL_STATE ('26'H),
+		BSSGP_CAUSE_PROTOCOL_ERROR_UNSPECIFIED		('27'H),
+		BSSGP_CAUSE_PDU_NOT_COMPATIBLE_WITH_FEATURE_SET	('28'H),
+		BSSGP_CAUSE_REQUESTED_INFO_NOT_AVAILABLE	('29'H),
+		BSSGP_CAUSE_UNKNOWN_DESTINATION_ADDRESS		('2a'H),
+		BSSGP_CAUSE_UNKNOWN_RIM_APP_IDENTITY		('2b'H),
+		BSSGP_CAUSE_INVALID_CONTAINER_UNIT_INFO		('2c'H),
+		BSSGP_CAUSE_PFC_QUEUING				('2d'H),
+		BSSGP_CAUSE_PFC_CREATED_SUCCESSFULLY		('2e'H),
+		BSSGP_CAUSE_T12_EXPIRY				('2f'H),
+		BSSGP_CAUSE_MS_UNDER_PS_HANDOVER_TREATMENT	('30'H),
+		BSSGP_CAUSE_UPLINK_QUALITY			('31'H),
+		BSSGP_CAUSE_UPLINK_STRENGTH			('32'H),
+		BSSGP_CAUSE_DOWNLINK_QUALITY			('33'H),
+		BSSGP_CAUSE_DOWNLINK_STRENGTH			('34'H),
+		BSSGP_CAUSE_DISTANCE				('35'H),
+		BSSGP_CAUSE_BETTER_CELL				('36'H),
+		BSSGP_CAUSE_TRAFFIC				('37'H),
+		BSSGP_CAUSE_OM_INTERVENTION2			('38'H),
+		BSSGP_CAUSE_MS_BACK_ON_OLD_CHANNEL		('39'H),
+		BSSGP_CAUSE_T13_EXPIRY				('3a'H),
+		BSSGP_CAUSE_T14_EXPIRY				('3b'H),
+		BSSGP_CAUSE_NOT_ALL_REQUESTED_PFC_CREATED	('3c'H)
+	} with { variant "FIELDLENGTH(8)" };
+
 	/* 11.3.28 */
 	type record BssgpQosProfile {
 		uint16_t	r,
@@ -173,7 +219,6 @@
 	type uint32_t BssgpTlli;
 
 	type uint16_t BssgpBvci;
-	type uint8_t BssgpCause;
 
 	type record BssgpCellId {
 		RoutingAreaIdentification	ra_id,