summaryrefslogtreecommitdiff
path: root/asn1
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-05-30 11:48:05 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-05-30 11:48:05 +0000
commita307c8318d59eab44120af2ba6d9c3d5d703c9e3 (patch)
treedbae3a7ff8244bfabfee3fda851942b7b27c1ca9 /asn1
parentd9b845534da70449aff896363c8ad919b4e89732 (diff)
downloadwireshark-a307c8318d59eab44120af2ba6d9c3d5d703c9e3.tar.gz
Dissect non segmented MiB and SiB:s
svn path=/trunk/; revision=42914
Diffstat (limited to 'asn1')
-rw-r--r--asn1/nbap/nbap.cnf55
-rw-r--r--asn1/nbap/packet-nbap-template.c4
-rw-r--r--asn1/rrc/rrc.cnf6
3 files changed, 65 insertions, 0 deletions
diff --git a/asn1/nbap/nbap.cnf b/asn1/nbap/nbap.cnf
index f727703cf1..3042ac6660 100644
--- a/asn1/nbap/nbap.cnf
+++ b/asn1/nbap/nbap.cnf
@@ -450,6 +450,61 @@ actx->pinfo->link_dir=P2P_DIR_UL;
# SecondaryULFrequencyReport
# SecondaryULFrequencyUpdateIndication
+#.FN_BODY IB-Type VAL_PTR = &ib_type
+%(DEFAULT_BODY)s
+
+#.FN_BODY Segment-Type VAL_PTR = &segment_type
+%(DEFAULT_BODY)s
+
+#.FN_BODY MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst
+
+ ib_type = 10; /* not-Used-sIB8 */
+ segment_type = 0;
+
+%(DEFAULT_BODY)s
+
+#.FN_BODY IB-SG-DATA VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if(!parameter_tvb)
+ return offset;
+ if((segment_type == 5 /*complete-SIB */)||(segment_type == 6 /*complete-SIB-short */)){
+ subtree = proto_item_add_subtree(actx->created_item, ett_nbap_ib_sg_data);
+ }else{
+ return offset;
+ }
+
+ switch(ib_type){
+ case 0:
+ /* mIB */
+ dissect_rrc_MasterInformationBlock_PDU(parameter_tvb, actx->pinfo, subtree);
+ break;
+ case 3:
+ /* iB-Type: sIB1 (3) */
+ dissect_rrc_SysInfoType1_PDU(parameter_tvb, actx->pinfo, subtree);
+ break;
+ case 4:
+ /* iB-Type: sIB2 (4) */
+ dissect_rrc_SysInfoType2_PDU(parameter_tvb, actx->pinfo, subtree);
+ break;
+ case 5:
+ /* iB-Type: sIB3 (5) */
+ dissect_rrc_SysInfoType3_PDU(parameter_tvb, actx->pinfo, subtree);
+ break;
+ case 9:
+ /* iB-Type: sIB7 (9) */
+ dissect_rrc_SysInfoType7_PDU(parameter_tvb, actx->pinfo, subtree);
+ break;
+ case 14:
+ /* iB-Type: sIB12 (14) */
+ dissect_rrc_SysInfoType12_PDU(parameter_tvb, actx->pinfo, subtree);
+ break;
+ default:
+ break;
+ }
#.FN_BODY TransportLayerAddress VAL_PTR = &parameter_tvb
tvbuff_t *parameter_tvb=NULL;
diff --git a/asn1/nbap/packet-nbap-template.c b/asn1/nbap/packet-nbap-template.c
index 048d2185ba..f548f318e7 100644
--- a/asn1/nbap/packet-nbap-template.c
+++ b/asn1/nbap/packet-nbap-template.c
@@ -39,6 +39,7 @@
#include "packet-per.h"
#include "packet-isup.h"
#include "packet-umts_fp.h"
+#include "packet-rrc.h"
#ifdef _MSC_VER
/* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
@@ -81,6 +82,7 @@ static int hf_nbap_transportLayerAddress_nsap = -1;
static int ett_nbap = -1;
static int ett_nbap_TransportLayerAddress = -1;
static int ett_nbap_TransportLayerAddress_nsap = -1;
+static int ett_nbap_ib_sg_data = -1;
#include "packet-nbap-ett.c"
@@ -156,6 +158,7 @@ static guint32 t_dch_id, dch_id, prev_dch_id, commonphysicalchannelid, e_dch_mac
static guint32 MACdPDU_Size, commontransportchannelid;
static guint num_items;
static gint paging_indications;
+static guint32 ib_type, segment_type;
enum TransportFormatSet_type_enum
{
@@ -253,6 +256,7 @@ void proto_register_nbap(void) {
&ett_nbap,
&ett_nbap_TransportLayerAddress,
&ett_nbap_TransportLayerAddress_nsap,
+ &ett_nbap_ib_sg_data,
#include "packet-nbap-ettarr.c"
};
diff --git a/asn1/rrc/rrc.cnf b/asn1/rrc/rrc.cnf
index 4901e851d1..50fdc711fb 100644
--- a/asn1/rrc/rrc.cnf
+++ b/asn1/rrc/rrc.cnf
@@ -14,6 +14,12 @@ InterRATHandoverInfo_PDU
ToTargetRNC-Container_PDU
TargetRNC-ToSourceRNC-Container_PDU
HandoverToUTRANCommand_PDU
+SysInfoType1_PDU
+SysInfoType2_PDU
+SysInfoType3_PDU
+SysInfoType7_PDU
+SysInfoType12_PDU
+MasterInformationBlock_PDU
#.OMIT_ASSIGNMENT
# Omit System-Information-Container for now it messes up the