From aa6b5d0ea41078391898a858897bb3954ba60cf9 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Sun, 1 Sep 2019 23:56:41 +0200 Subject: packet-gmr1_rr: Update Request Reference IE to GMR-1 3G Change-Id: I248ad927f4616d172f955fb70d1a6abc46960aae Signed-off-by: Sylvain Munaut --- epan/dissectors/packet-gmr1_rr.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/epan/dissectors/packet-gmr1_rr.c b/epan/dissectors/packet-gmr1_rr.c index 984a3bdd49..e82e01c564 100644 --- a/epan/dissectors/packet-gmr1_rr.c +++ b/epan/dissectors/packet-gmr1_rr.c @@ -52,7 +52,7 @@ enum gmr1_ie_rr_idx { GMR1_IE_RR_CIPH_RESP, /* [4] 10.5.2.10 */ GMR1_IE_RR_L2_PSEUDO_LEN, /* [1] 11.5.2.19 */ GMR1_IE_RR_PAGE_MODE, /* [1] 11.5.2.26 */ - GMR1_IE_RR_REQ_REF, /* [1] 11.5.2.30 */ + GMR1_IE_RR_REQ_REF, /* [3] 11.5.2.30 */ GMR1_IE_RR_CAUSE, /* [1] 11.5.2.31 */ GMR1_IE_RR_TIMING_OFS, /* [1] 11.5.2.40 */ GMR1_IE_RR_TMSI_PTMSI, /* [4] 10.5.2.42 */ @@ -95,7 +95,7 @@ static const value_string gmr1_ie_rr_strings[] = { { GMR1_IE_RR_PAGE_MODE, "Page Mode" }, /* [1] 11.5.2.26 */ { GMR1_IE_RR_REQ_REF, - "Request Reference" }, /* [1] 11.5.2.30 */ + "Request Reference" }, /* [3] 11.5.2.30 */ { GMR1_IE_RR_CAUSE, "RR Cause" }, /* [1] 11.5.2.31 */ { GMR1_IE_RR_TIMING_OFS, @@ -170,6 +170,7 @@ static int hf_rr_page_mode = -1; static int hf_rr_page_mode_spare = -1; static int hf_rr_req_ref_est_cause = -1; static int hf_rr_req_ref_ra = -1; +static int hf_rr_req_ref_retry = -1; static int hf_rr_req_ref_fn = -1; static int hf_rr_cause = -1; static int hf_rr_timing_ofs_ti = -1; @@ -411,7 +412,7 @@ GMR1_IE_FUNC(gmr1_ie_rr_page_mode) return 1; } -/* [1] 11.5.2.30 - Request Reference */ +/* [3] 11.5.2.30 - Request Reference */ static const value_string rr_req_ref_est_cause_vals[] = { { 0, "MO call" }, { 1, "In response to paging/alerting" }, @@ -420,7 +421,7 @@ static const value_string rr_req_ref_est_cause_vals[] = { { 4, "Supplementary/short message service" }, { 5, "Position verification" }, { 6, "Any other valid cause" }, - { 7, "Reserved" }, + { 7, "Packet Switched Services" }, { 0, NULL } }; @@ -429,6 +430,7 @@ GMR1_IE_FUNC(gmr1_ie_rr_req_ref) /* Establishement Cause + RA */ proto_tree_add_item(tree, hf_rr_req_ref_est_cause, tvb, offset, 1, ENC_BIG_ENDIAN); proto_tree_add_item(tree, hf_rr_req_ref_ra, tvb, offset, 1, ENC_BIG_ENDIAN); + proto_tree_add_item(tree, hf_rr_req_ref_retry, tvb, offset, 1, ENC_BIG_ENDIAN); offset++; /* Frame number % 256 */ @@ -1218,7 +1220,7 @@ GMR1_MSG_FUNC(gmr1_rr_msg_imm_ass) ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_MES_INFO_FLG, NULL, ei_gmr1_missing_mandatory_element); - /* Request Reference 1 (MES1) [1] 11.5.2.30 - M V 2 */ + /* Request Reference 1 (MES1) [3] 11.5.2.30 - M V 2 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES1", ei_gmr1_missing_mandatory_element); /* GPS Discriminator [1] 11.5.2.101 - C V 2 */ @@ -1251,17 +1253,17 @@ GMR1_MSG_FUNC(gmr1_rr_msg_imm_ass) ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_POS_UPD_INFO, " - Dedicated Mode", ei_gmr1_missing_mandatory_element); } - /* Request Reference 2 (MES2) [1] 11.5.2.30 - C V 2 */ + /* Request Reference 2 (MES2) [3] 11.5.2.30 - C V 2 */ if (mif & 0x10) { ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES2", ei_gmr1_missing_mandatory_element); } - /* Request Reference 3 (MES3) [1] 11.5.2.30 - C V 2 */ + /* Request Reference 3 (MES3) [3] 11.5.2.30 - C V 2 */ if (mif & 0x20) { ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES3", ei_gmr1_missing_mandatory_element); } - /* Request Reference 4 (MES4) [1] 11.5.2.30 - C V 2 */ + /* Request Reference 4 (MES4) [3] 11.5.2.30 - C V 2 */ if (mif & 0x40) { ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES4", ei_gmr1_missing_mandatory_element); } @@ -1279,7 +1281,7 @@ GMR1_MSG_FUNC(gmr1_rr_msg_imm_ass_rej_1) GMR1_MSG_FUNC_BEGIN - /* Request Reference 1 (MES1) [1] 11.5.2.30 - M V 2 */ + /* Request Reference 1 (MES1) [3] 11.5.2.30 - M V 2 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES1", ei_gmr1_missing_mandatory_element); /* GPS Discriminator [1] 11.5.2.101 - M V 2 */ @@ -1295,19 +1297,19 @@ GMR1_MSG_FUNC(gmr1_rr_msg_imm_ass_rej_1) ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_WAIT_IND, " - MES1", ei_gmr1_missing_mandatory_element); } - /* Request Reference 2 (MES2) [1] 11.5.2.30 - M V 2 */ + /* Request Reference 2 (MES2) [3] 11.5.2.30 - M V 2 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES2", ei_gmr1_missing_mandatory_element); /* Wait Indication 2 (MES2) [4] 10.5.2.43 - M V 1 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_WAIT_IND, " - MES2", ei_gmr1_missing_mandatory_element); - /* Request Reference 3 (MES3) [1] 11.5.2.30 - M V 2 */ + /* Request Reference 3 (MES3) [3] 11.5.2.30 - M V 2 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES3", ei_gmr1_missing_mandatory_element); /* Wait Indication 3 (MES3) [4] 10.5.2.43 - M V 1 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_WAIT_IND, " - MES3", ei_gmr1_missing_mandatory_element); - /* Request Reference 4 (MES4) [1] 11.5.2.30 - M V 2 */ + /* Request Reference 4 (MES4) [3] 11.5.2.30 - M V 2 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, " - MES4", ei_gmr1_missing_mandatory_element); /* Wait Indication 4 (MES4) [4] 10.5.2.43 - M V 1 */ @@ -1337,7 +1339,7 @@ GMR1_MSG_FUNC(gmr1_rr_msg_pos_verif_notify) { GMR1_MSG_FUNC_BEGIN - /* Request Reference [1] 11.5.2.30 - M V 2 */ + /* Request Reference [3] 11.5.2.30 - M V 2 */ ELEM_MAND_V(GMR1_IE_RR, GMR1_IE_RR_REQ_REF, NULL, ei_gmr1_missing_mandatory_element); /* GPS Discriminator [1] 11.5.2.101 - M V 2 */ @@ -1987,6 +1989,11 @@ proto_register_gmr1_rr(void) FT_UINT8, BASE_HEX, NULL, 0x1f, NULL, HFILL } }, + { &hf_rr_req_ref_retry, + { "Retry Counter (chan req type 3)", "gmr1.rr.req_ref.retry", + FT_UINT8, BASE_HEX, NULL, 0x03, + NULL, HFILL } + }, { &hf_rr_req_ref_fn, { "Frame Number mod 256", "gmr1.rr.req_ref.fn", FT_UINT8, BASE_DEC, NULL, 0x00, -- cgit v1.2.3