From f201f232998ce67332b96fdd9a0f35dbd7eafd67 Mon Sep 17 00:00:00 2001 From: John Thacker Date: Tue, 1 Feb 2022 20:05:51 -0500 Subject: [PATCH] GTP: Use alternative GSN address decoders for Update PDP Resp The GGSN addresses for control plane and user traffic are both included or both not included in the Update PDP Context Response message (included if the Cause is Request Accepted), so we know which one is the control plane and which one is the user plane. Also fix the coment about the IEs for the alternative address, and that they are Conditional, not Optional. --- epan/dissectors/packet-gtp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epan/dissectors/packet-gtp.c b/epan/dissectors/packet-gtp.c index c84378fc27..c8c3c4d7d3 100644 --- a/epan/dissectors/packet-gtp.c +++ b/epan/dissectors/packet-gtp.c @@ -3494,10 +3494,10 @@ static _gtp_mess_items umts_mess_items[] = { {GTP_EXT_TEID_CP, GTP_CONDITIONAL, NULL}, {GTP_EXT_CHRG_ID, GTP_CONDITIONAL, NULL}, {GTP_EXT_PROTO_CONF, GTP_OPTIONAL, NULL}, /* Protocol Configuration Options Optional 7.7.31 */ - {GTP_EXT_GSN_ADDR, GTP_CONDITIONAL, NULL}, - {GTP_EXT_GSN_ADDR, GTP_CONDITIONAL, NULL}, - {GTP_EXT_GSN_ADDR, GTP_OPTIONAL, NULL}, /* Alternative SGSN Address for Control Plane Conditional GSN Address 7.7.32 */ - {GTP_EXT_GSN_ADDR, GTP_OPTIONAL, NULL}, /* Alternative SGSN Address for User Traffic Conditional GSN Address 7.7.32 */ + {GTP_EXT_GSN_ADDR, GTP_CONDITIONAL, decode_gtp_ggsn_addr_for_control_plane}, + {GTP_EXT_GSN_ADDR, GTP_CONDITIONAL, decode_gtp_ggsn_addr_for_user_plane}, + {GTP_EXT_GSN_ADDR, GTP_CONDITIONAL, NULL}, /* Alternative GGSN Address for Control Plane Conditional GSN Address 7.7.32 */ + {GTP_EXT_GSN_ADDR, GTP_CONDITIONAL, NULL}, /* Alternative GGSN Address for User Traffic Conditional GSN Address 7.7.32 */ {GTP_EXT_QOS_UMTS, GTP_CONDITIONAL, NULL}, {GTP_EXT_CHRG_ADDR, GTP_OPTIONAL, NULL}, {GTP_EXT_CHRG_ADDR, GTP_OPTIONAL, NULL}, /* Alternative Charging Gateway Address Optional 7.7.44 */