gsm_rlcmac: add dissection of NAS container

Port from wireshark.git 575e4df4aa3392ffd09ca372859573f09f0a5c57

Ported-by: Pau Espin Pedrol <pespin@sysmocom.de>
Change-Id: I2a05a057b6f441364502a96f9f34872c7e251a36
diff --git a/src/gsm_rlcmac.cpp b/src/gsm_rlcmac.cpp
index 39f328d..4550c47 100644
--- a/src/gsm_rlcmac.cpp
+++ b/src/gsm_rlcmac.cpp
@@ -4024,10 +4024,16 @@
 CSN_DESCR_END  (PHO_TimingAdvance_t)
 
 static const
-CSN_DESCR_BEGIN(NAS_Container_t)
-  M_UINT       (NAS_Container_t,  NAS_ContainerLength,  7),
-  M_VAR_ARRAY  (NAS_Container_t, NAS_Container, NAS_ContainerLength, 0),
-CSN_DESCR_END  (NAS_Container_t)
+CSN_DESCR_BEGIN(NAS_Container_For_PS_HO_t)
+  M_UINT         (NAS_Container_For_PS_HO_t,  NAS_ContainerLength, 7),
+  M_UINT         (NAS_Container_For_PS_HO_t,  Spare_1a, 1),
+  M_UINT         (NAS_Container_For_PS_HO_t,  Spare_1b, 1),
+  M_UINT         (NAS_Container_For_PS_HO_t,  Spare_1c, 1),
+  M_UINT         (NAS_Container_For_PS_HO_t,  Old_XID, 1),
+  M_UINT         (NAS_Container_For_PS_HO_t,  Spare_1e, 1),
+  M_UINT         (NAS_Container_For_PS_HO_t,  Type_of_Ciphering_Algo, 3),
+  M_UINT         (NAS_Container_For_PS_HO_t,  IOV_UI_value,  32),
+CSN_DESCR_END  (NAS_Container_For_PS_HO_t)
 
 static const
 CSN_DESCR_BEGIN(PS_HandoverTo_UTRAN_Payload_t)
@@ -4080,7 +4086,7 @@
   M_TYPE       (PS_HandoverTo_A_GB_ModePayload_t, PHO_RadioResources, PHO_RadioResources_t),
 
   M_NEXT_EXIST (PS_HandoverTo_A_GB_ModePayload_t, Exist_NAS_Container, 1),
-  M_TYPE       (PS_HandoverTo_A_GB_ModePayload_t, NAS_Container, NAS_Container_t),
+  M_TYPE       (PS_HandoverTo_A_GB_ModePayload_t, NAS_Container, NAS_Container_For_PS_HO_t),
 CSN_DESCR_END  (PS_HandoverTo_A_GB_ModePayload_t)
 
 static const
diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h
index b05483c..461fda3 100644
--- a/src/gsm_rlcmac.h
+++ b/src/gsm_rlcmac.h
@@ -415,7 +415,6 @@
 #define MAX_ALLOCATION_BITMAP_LENGTH   128 /* max length of Fixed Allocation bitmap in BITS (2^7) */
 #define MAX_VAR_LENGTH_BITMAP_LENGTH   176 /* max length ever possible for variable length fixed allocation bitmap */
 #define MAX_RRC_CONTAINER_LENGTH       255
-#define MAX_NAS_CONTAINER_LENGTH       127
 
 
 typedef struct
@@ -4693,8 +4692,14 @@
 typedef struct
 {
   guint8 NAS_ContainerLength;
-  guint8 NAS_Container[MAX_NAS_CONTAINER_LENGTH];
-} NAS_Container_t;
+  guint8 Spare_1a;
+  guint8 Spare_1b;
+  guint8 Spare_1c;
+  guint8 Old_XID;
+  guint8 Spare_1e;
+  guint8 Type_of_Ciphering_Algo;
+  guint32 IOV_UI_value;
+} NAS_Container_For_PS_HO_t;
 
 typedef struct
 {
@@ -4740,7 +4745,7 @@
 {
   PHO_RadioResources_t PHO_RadioResources;
   guint8 Exist_NAS_Container;
-  NAS_Container_t NAS_Container;
+  NAS_Container_For_PS_HO_t NAS_Container;
 } PS_HandoverTo_A_GB_ModePayload_t;
 
 typedef struct