diff options
author | Anders Broman <anders.broman@ericsson.com> | 2009-10-31 23:21:08 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2009-10-31 23:21:08 +0000 |
commit | f03a629ddc748de1d05a2af75ee1e26c071c0d41 (patch) | |
tree | f290ef98a4eb66c608d8ba991176b1facea2ca5d | |
parent | 0100407124163009ca2d433c6f20cae854fca364 (diff) | |
download | wireshark-f03a629ddc748de1d05a2af75ee1e26c071c0d41.tar.gz wireshark-f03a629ddc748de1d05a2af75ee1e26c071c0d41.tar.bz2 wireshark-f03a629ddc748de1d05a2af75ee1e26c071c0d41.zip |
Dissect ToTargetRNC-Container.
svn path=/trunk/; revision=30787
-rw-r--r-- | asn1/ranap/packet-ranap-template.c | 5 | ||||
-rw-r--r-- | asn1/ranap/ranap.cnf | 9 | ||||
-rw-r--r-- | epan/dissectors/packet-ranap.c | 20 |
3 files changed, 26 insertions, 8 deletions
diff --git a/asn1/ranap/packet-ranap-template.c b/asn1/ranap/packet-ranap-template.c index d7b12a2ae8..1f219c40ec 100644 --- a/asn1/ranap/packet-ranap-template.c +++ b/asn1/ranap/packet-ranap-template.c @@ -132,6 +132,9 @@ static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, pro static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); + +static int dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index); + void proto_reg_handoff_ranap(void); #include "packet-ranap-fn.c" @@ -155,7 +158,7 @@ static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto /* no special handling */ ret = (dissector_try_port_new(ranap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; if (ret == 0) { - key = pdu_type || ProtocolIE_ID; + key = pdu_type | ProtocolIE_ID; ret = (dissector_try_port_new(ranap_ies_dissector_table, key, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } break; diff --git a/asn1/ranap/ranap.cnf b/asn1/ranap/ranap.cnf index f993ad23aa..71dd62c251 100644 --- a/asn1/ranap/ranap.cnf +++ b/asn1/ranap/ranap.cnf @@ -275,6 +275,15 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound") return offset; proto_tree_add_item(tree, saved_hf, parameter_tvb, 0, 4, FALSE); +#.FN_BODY Source-ToTarget-TransparentContainer VAL_PTR = ¶meter_tvb +# -- Note: In the current version of this specification, this IE may either carry the Source RNC to +#-- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as +# -- defined in [49] +# [49] 3GPP TS 36.413: "Evolved Universal Terrestrial Radio Access Network (E-UTRAN); S1 +# Application Protocol (S1AP)". + +dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU ); + #.TYPE_ATTR ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ranap_ProtocolIE_ID_vals) GTP-TEI TYPE = FT_UINT32 DISPLAY = BASE_HEX_DEC STRINGS = NULL diff --git a/epan/dissectors/packet-ranap.c b/epan/dissectors/packet-ranap.c index 9bd27edd5f..9228fbf01a 100644 --- a/epan/dissectors/packet-ranap.c +++ b/epan/dissectors/packet-ranap.c @@ -1373,6 +1373,9 @@ static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, pro static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); static int dissect_OutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree); + +static int dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index); + void proto_reg_handoff_ranap(void); @@ -6188,8 +6191,11 @@ dissect_ranap_Service_Handover(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_ranap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - NO_BOUND, NO_BOUND, FALSE, NULL); +#line 284 "ranap.cnf" + +dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer(tvb , offset, actx ,tree , hf_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU ); + + return offset; } @@ -11558,7 +11564,7 @@ static int dissect_RANAP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot /*--- End of included file: packet-ranap-fn.c ---*/ -#line 138 "packet-ranap-template.c" +#line 141 "packet-ranap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { @@ -11579,7 +11585,7 @@ static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto /* no special handling */ ret = (dissector_try_port_new(ranap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; if (ret == 0) { - key = pdu_type || ProtocolIE_ID; + key = pdu_type | ProtocolIE_ID; ret = (dissector_try_port_new(ranap_ies_dissector_table, key, tvb, pinfo, tree, FALSE)) ? tvb_length(tvb) : 0; } break; @@ -14207,7 +14213,7 @@ void proto_register_ranap(void) { "ranap.T_value", HFILL }}, /*--- End of included file: packet-ranap-hfarr.c ---*/ -#line 294 "packet-ranap-template.c" +#line 297 "packet-ranap-template.c" }; /* List of subtrees */ @@ -14511,7 +14517,7 @@ void proto_register_ranap(void) { &ett_ranap_Outcome, /*--- End of included file: packet-ranap-ettarr.c ---*/ -#line 301 "packet-ranap-template.c" +#line 304 "packet-ranap-template.c" }; @@ -14864,7 +14870,7 @@ proto_reg_handoff_ranap(void) /*--- End of included file: packet-ranap-dis-tab.c ---*/ -#line 345 "packet-ranap-template.c" +#line 348 "packet-ranap-template.c" } else { dissector_delete("sccp.ssn", local_ranap_sccp_ssn, ranap_handle); } |