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>
This commit is contained in:
Joakim Karlsson 2016-10-27 21:18:13 +02:00 committed by Anders Broman
parent 33f8c27769
commit 3c55e120db
4 changed files with 22 additions and 1 deletions

View File

@ -321,6 +321,7 @@ libwireshark.so.0 libwireshark0 #MINVER#
dissect_e212_imsi@Base 1.99.0
dissect_e212_mcc_mnc@Base 1.9.1
dissect_e212_mcc_mnc_in_address@Base 1.9.1
dissect_e212_mcc_mnc_in_utf8_address@Base 2.3.0
dissect_e212_utf8_imsi@Base 1.99.0
dissect_gsm_map_GlobalCellId@Base 1.9.1
dissect_gsm_map_IMSI@Base 1.9.1

View File

@ -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));

View File

@ -3099,7 +3099,7 @@ dissect_e212_mcc_mnc_high_nibble(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
return 5;
}
static int
int
dissect_e212_mcc_mnc_in_utf8_address(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset)
{
guint16 mcc = 0, mnc = 0;

View File

@ -49,6 +49,9 @@ int dissect_e212_mcc_mnc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, in
WS_DLL_PUBLIC
int dissect_e212_mcc_mnc_in_address(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset);
WS_DLL_PUBLIC
int dissect_e212_mcc_mnc_in_utf8_address(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int offset);
/**
*
* Given a tvbuff, an offset into the tvbuff, and a length that starts