aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorAndersBroman <anders.broman@ericsson.com>2015-12-15 10:06:42 +0100
committerAnders Broman <a.broman58@gmail.com>2015-12-15 11:51:21 +0000
commit396c92a89c36d867a1f588883d0ed76d5d0d5779 (patch)
treee56f4c69e920fee79b406a49a52a8285fbf6c611 /epan
parent3efc87726ca29543efd1e413e414703dc87defa8 (diff)
[GTPv2] Add dissection of Source to Target Transparent Container
in SRVCC PS to CS Request Change-Id: I663d31f5e35d8264241f73fc4e33bce18fa31333 Reviewed-on: https://code.wireshark.org/review/12646 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-gtpv2.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/epan/dissectors/packet-gtpv2.c b/epan/dissectors/packet-gtpv2.c
index c85c488aac..eccc8e9e37 100644
--- a/epan/dissectors/packet-gtpv2.c
+++ b/epan/dissectors/packet-gtpv2.c
@@ -572,6 +572,7 @@ static expert_field ei_gtpv2_ie = EI_INIT;
#define GTPv2_ULI_ECGI_MASK 0x10
#define GTPv2_ULI_LAI_MASK 0x20
+#define GTPV2_SRVCC_PS_TO_CS_REQUEST 25
#define GTPV2_CREATE_SESSION_REQUEST 32
#define GTPV2_CREATE_SESSION_RESPONSE 33
#define GTPV2_MODIFY_BEARER_REQUEST 34
@@ -1333,7 +1334,10 @@ dissect_gtpv2_stn_sr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_
static void
dissect_gtpv2_src_tgt_trans_con(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, proto_item *item _U_, guint16 length, guint8 message_type _U_, guint8 instance _U_)
{
+ tvbuff_t *new_tvb;
+ proto_tree *sub_tree;
int offset = 0;
+
proto_tree_add_item(tree, hf_gtpv2_len_trans_con, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
/*ra_type_flag = 0;*/
@@ -1346,9 +1350,15 @@ dissect_gtpv2_src_tgt_trans_con(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
*/
proto_tree_add_item(tree, hf_gtpv2_transparent_container, tvb, offset, length-1, ENC_NA);
/*
- * bssmap_old_bss_to_new_bss_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo);
- * dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU
- */
+ * bssmap_old_bss_to_new_bss_info(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo);
+ * dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU
+ */
+ if (message_type == GTPV2_SRVCC_PS_TO_CS_REQUEST) {
+ sub_tree = proto_tree_add_subtree(tree, tvb, offset, length, ett_gtpv2_utran_con, NULL, "Source RNC to Target RNC Transparent Container");
+ new_tvb = tvb_new_subset_remaining(tvb, offset);
+ dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU(new_tvb, pinfo, sub_tree, NULL);
+
+ }
}