diff options
author | Binh Trinh <beango@gmail.com> | 2017-04-16 10:14:50 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-04-16 16:19:00 +0000 |
commit | ef9150acee2131ee31e851ff7fff42c369a16893 (patch) | |
tree | ae7c90981fb93c7e571c401dea093cff0c076154 /epan/dissectors/packet-gtpv2.c | |
parent | b2219bbccb9dbde0959d2e46bc8568dafeff2d0b (diff) |
[GTPv2]: Add Request/Response Lookups for SRVCC PS-to-CS Messages
Change-Id: I12fcb180fd361f1df4e6d0f78f8f34f01284d7a4
Reviewed-on: https://code.wireshark.org/review/21129
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-gtpv2.c')
-rw-r--r-- | epan/dissectors/packet-gtpv2.c | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/epan/dissectors/packet-gtpv2.c b/epan/dissectors/packet-gtpv2.c index 3414cfe5ce..c491c89232 100644 --- a/epan/dissectors/packet-gtpv2.c +++ b/epan/dissectors/packet-gtpv2.c @@ -662,6 +662,10 @@ static expert_field ei_gtpv2_int_size_not_handled = EI_INIT; #define GTPV2_SRVCC_PS_TO_CS_REQUEST 25 #define GTPV2_SRVCC_PS_TO_CS_RESPONSE 26 +#define GTPV2_SRVCC_PS_TO_CS_COMPLETE_NOTIFICATION 27 +#define GTPV2_SRVCC_PS_TO_CS_COMPLETE_ACKNOWLEDGE 28 +#define GTPV2_SRVCC_PS_TO_CS_CANCEL_NOTIFICATION 29 +#define GTPV2_SRVCC_PS_TO_CS_CANCEL_ACKNOWLEDGE 30 #define GTPV2_CREATE_SESSION_REQUEST 32 #define GTPV2_CREATE_SESSION_RESPONSE 33 #define GTPV2_MODIFY_BEARER_REQUEST 34 @@ -6680,6 +6684,9 @@ gtpv2_match_response(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gin case GTPV2_MODIFY_BEARER_COMMAND: case GTPV2_DELETE_BEARER_COMMAND: case GTPV2_BEARER_RESOURCE_COMMAND: + case GTPV2_SRVCC_PS_TO_CS_REQUEST: + case GTPV2_SRVCC_PS_TO_CS_COMPLETE_NOTIFICATION: + case GTPV2_SRVCC_PS_TO_CS_CANCEL_NOTIFICATION: gcr.is_request = TRUE; gcr.req_frame = pinfo->num; gcr.rep_frame = 0; @@ -6693,6 +6700,10 @@ gtpv2_match_response(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gin case GTPV2_MODIFY_BEARER_FAILURE_INDICATION: case GTPV2_DELETE_BEARER_FAILURE_INDICATION: case GTPV2_BEARER_RESOURCE_FAILURE_INDICATION: + case GTPV2_SRVCC_PS_TO_CS_RESPONSE: + case GTPV2_SRVCC_PS_TO_CS_COMPLETE_ACKNOWLEDGE: + case GTPV2_SRVCC_PS_TO_CS_CANCEL_ACKNOWLEDGE: + gcr.is_request = FALSE; gcr.req_frame = 0; gcr.rep_frame = pinfo->num; @@ -6720,6 +6731,10 @@ gtpv2_match_response(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gin case GTPV2_MODIFY_BEARER_COMMAND: case GTPV2_DELETE_BEARER_COMMAND: case GTPV2_BEARER_RESOURCE_COMMAND: + case GTPV2_SRVCC_PS_TO_CS_REQUEST: + case GTPV2_SRVCC_PS_TO_CS_COMPLETE_NOTIFICATION: + case GTPV2_SRVCC_PS_TO_CS_CANCEL_NOTIFICATION: + gcr.seq_nr = seq_nr; gcrp = (gtpv2_msg_hash_t *)wmem_map_lookup(gtpv2_info->unmatched, &gcr); @@ -6739,15 +6754,19 @@ gtpv2_match_response(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, gin wmem_map_insert(gtpv2_info->unmatched, gcrp, gcrp); return NULL; break; - case GTPV2_CREATE_SESSION_RESPONSE: - case GTPV2_CREATE_BEARER_RESPONSE: - case GTPV2_UPDATE_BEARER_RESPONSE: - case GTPV2_MODIFY_BEARER_RESPONSE: - case GTPV2_DELETE_BEARER_RESPONSE: - case GTPV2_DELETE_SESSION_RESPONSE: - case GTPV2_MODIFY_BEARER_FAILURE_INDICATION: - case GTPV2_DELETE_BEARER_FAILURE_INDICATION: - case GTPV2_BEARER_RESOURCE_FAILURE_INDICATION: + case GTPV2_CREATE_SESSION_RESPONSE: + case GTPV2_CREATE_BEARER_RESPONSE: + case GTPV2_UPDATE_BEARER_RESPONSE: + case GTPV2_MODIFY_BEARER_RESPONSE: + case GTPV2_DELETE_BEARER_RESPONSE: + case GTPV2_DELETE_SESSION_RESPONSE: + case GTPV2_MODIFY_BEARER_FAILURE_INDICATION: + case GTPV2_DELETE_BEARER_FAILURE_INDICATION: + case GTPV2_BEARER_RESOURCE_FAILURE_INDICATION: + case GTPV2_SRVCC_PS_TO_CS_RESPONSE: + case GTPV2_SRVCC_PS_TO_CS_COMPLETE_ACKNOWLEDGE: + case GTPV2_SRVCC_PS_TO_CS_CANCEL_ACKNOWLEDGE: + gcr.seq_nr = seq_nr; gcrp = (gtpv2_msg_hash_t *)wmem_map_lookup(gtpv2_info->unmatched, &gcr); |