aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2009-10-31 23:21:08 +0000
committerAnders Broman <anders.broman@ericsson.com>2009-10-31 23:21:08 +0000
commitf03a629ddc748de1d05a2af75ee1e26c071c0d41 (patch)
treef290ef98a4eb66c608d8ba991176b1facea2ca5d
parent0100407124163009ca2d433c6f20cae854fca364 (diff)
downloadwireshark-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.c5
-rw-r--r--asn1/ranap/ranap.cnf9
-rw-r--r--epan/dissectors/packet-ranap.c20
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 = &parameter_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);
}