diff options
author | AndersBroman <anders.broman@ericsson.com> | 2015-12-15 10:06:42 +0100 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2015-12-15 11:51:21 +0000 |
commit | 396c92a89c36d867a1f588883d0ed76d5d0d5779 (patch) | |
tree | e56f4c69e920fee79b406a49a52a8285fbf6c611 /epan | |
parent | 3efc87726ca29543efd1e413e414703dc87defa8 (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.c | 16 |
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); + + } } |