diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-05-30 11:48:05 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-05-30 11:48:05 +0000 |
commit | a307c8318d59eab44120af2ba6d9c3d5d703c9e3 (patch) | |
tree | dbae3a7ff8244bfabfee3fda851942b7b27c1ca9 /asn1 | |
parent | d9b845534da70449aff896363c8ad919b4e89732 (diff) | |
download | wireshark-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.cnf | 55 | ||||
-rw-r--r-- | asn1/nbap/packet-nbap-template.c | 4 | ||||
-rw-r--r-- | asn1/rrc/rrc.cnf | 6 |
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 = ¶meter_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 = ¶meter_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 |