aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-diameter_3gpp.c
diff options
context:
space:
mode:
authorJoakim Karlsson <oakimk@gmail.com>2016-10-27 21:18:13 +0200
committerAnders Broman <a.broman58@gmail.com>2016-10-28 11:05:51 +0000
commit3c55e120dbe84cece70a40440b27b897fabe0f04 (patch)
treecb3b8ecd5ff27681a9402d306cf46dfcdadef978 /epan/dissectors/packet-diameter_3gpp.c
parent33f8c27769d8f57a13c040c52e76f3e2392c9ca5 (diff)
diameter: improvement of AVP 18
Will now show country and operator Change-Id: Ic16623c226228ab0c3e31d33cda81953c80551d6 Reviewed-on: https://code.wireshark.org/review/18512 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/dissectors/packet-diameter_3gpp.c')
-rw-r--r--epan/dissectors/packet-diameter_3gpp.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/epan/dissectors/packet-diameter_3gpp.c b/epan/dissectors/packet-diameter_3gpp.c
index a70360f4a0..70de7b3bbc 100644
--- a/epan/dissectors/packet-diameter_3gpp.c
+++ b/epan/dissectors/packet-diameter_3gpp.c
@@ -402,6 +402,20 @@ dissect_diameter_3gpp_sgsn_ipv6_address(tvbuff_t *tvb, packet_info *pinfo, proto
}
+/*
+ * AVP Code: 18 SGSN-MNC-MCC
+ */
+static int
+dissect_diameter_3gpp_sgsn_mnc_mcc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
+{
+ guint32 str_len;
+
+ str_len = tvb_reported_length(tvb);
+ dissect_e212_mcc_mnc_in_utf8_address(tvb, pinfo, tree, 0);
+
+ return str_len;
+}
+
/* AVP Code: 20 3GPP-IMEISV
* 3GPP TS 29.061
*/
@@ -1865,6 +1879,9 @@ proto_reg_handoff_diameter_3gpp(void)
/* AVP Code: 15 3GPP-SGSN-IPv6-Address */
dissector_add_uint("diameter.3gpp", 15, create_dissector_handle(dissect_diameter_3gpp_sgsn_ipv6_address, proto_diameter_3gpp));
+ /* AVP Code: 18 3GPP-SGSN-MNC-MCC */
+ dissector_add_uint("diameter.3gpp", 18, create_dissector_handle(dissect_diameter_3gpp_sgsn_mnc_mcc, proto_diameter_3gpp));
+
/* AVP Code: 20 3GPP-IMEISV */
dissector_add_uint("diameter.3gpp", 20, create_dissector_handle(dissect_diameter_3gpp_imeisv, proto_diameter_3gpp));