3GPP NAS: add dissection of MSISDN in PCO

Change-Id: Ie8dac8c898ff94e955a4c0fdde7f4ffff496e97f
Reviewed-on: https://code.wireshark.org/review/2098
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
Pascal Quantin 2014-06-10 12:34:18 +02:00
parent 5d7b59aec4
commit e7fbf05b48
1 changed files with 9 additions and 2 deletions

View File

@ -85,6 +85,7 @@
#include "packet-e212.h"
#include "packet-ppp.h"
#include "ipproto.h"
#include "packet-gsm_map.h"
void proto_register_gsm_a_gm(void);
void proto_reg_handoff_gsm_a_gm(void);
@ -4055,7 +4056,7 @@ de_sm_pco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g
case 0x0008:
if ((link_dir == P2P_DIR_DL) && (e_len > 0)) {
tvb_get_ipv6(tvb, curr_offset, &ipv6_addrx);
proto_tree_add_text(pco_tree, tvb, curr_offset, 16, "IPv6: %s", ip6_to_str(&ipv6_addrx));
proto_tree_add_text(pco_tree, tvb, curr_offset, 16, "IPv6: %s", ip6_to_str(&ipv6_addrx));
oct = tvb_get_guint8(tvb, curr_offset+16);
proto_tree_add_text(pco_tree, tvb, curr_offset+16, 1, "Prefix length: %u", oct);
}
@ -4065,10 +4066,16 @@ de_sm_pco(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, g
case 0x000D:
if ((link_dir == P2P_DIR_DL) && (e_len > 0)) {
ipv4_addrx = tvb_get_ipv4(tvb, curr_offset);
proto_tree_add_text(pco_tree, tvb, curr_offset, 4, "IPv4: %s",
proto_tree_add_text(pco_tree, tvb, curr_offset, 4, "IPv4: %s",
ip_to_str((guint8 *)&ipv4_addrx));
}
break;
case 0x000E:
if ((link_dir == P2P_DIR_DL) && (e_len > 0)) {
l3_tvb = tvb_new_subset_length(tvb, curr_offset, e_len);
dissect_gsm_map_msisdn(l3_tvb, pinfo, pco_tree);
}
break;
case 0x0010:
if ((link_dir == P2P_DIR_DL) && (e_len == 2)) {
guint16 word = tvb_get_ntohs(tvb, curr_offset);