aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2012-10-16 21:30:24 +0000
committerPascal Quantin <pascal.quantin@gmail.com>2012-10-16 21:30:24 +0000
commitd7ae273d7a2373ab6fcc1c58d235b4a7dc4df0e9 (patch)
treecd84520687bb722b42eced4b3c9ba756ef07220a
parent304639682f83601d26c84b6c85977738565a2cda (diff)
Add dissection of ENVELOPE event download and timer expiration
svn path=/trunk/; revision=45600
-rw-r--r--epan/dissectors/packet-gsm_sim.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/epan/dissectors/packet-gsm_sim.c b/epan/dissectors/packet-gsm_sim.c
index 59f6a2377b..1a4d9a9e66 100644
--- a/epan/dissectors/packet-gsm_sim.c
+++ b/epan/dissectors/packet-gsm_sim.c
@@ -1101,6 +1101,8 @@ dissect_bertlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
subtvb = tvb_new_subset(tvb, pos, len, len);
switch (tag) {
case 0xD0: /* proactive command */
+ case 0xD6: /* event download */
+ case 0xD7: /* timer expiration */
call_dissector(sub_handle_cap, subtvb, pinfo, tree);
break;
}
@@ -1297,7 +1299,12 @@ dissect_gsm_apdu(guint8 ins, guint8 p1, guint8 p2, guint8 p3, tvbuff_t *tvb,
proto_tree_add_item(tree, hf_apdu_data, tvb, offset+DATA_OFFS, p3, ENC_NA);
}
break;
- /* FIXME: Missing SLEEP, ENVELOPE */
+ case 0xC2: /* ENVELOPE */
+ proto_tree_add_item(tree, hf_le, tvb, offset+P3_OFFS, 1, ENC_BIG_ENDIAN);
+ subtvb = tvb_new_subset(tvb, offset+DATA_OFFS, p3, p3);
+ dissect_bertlv(subtvb, pinfo, tree);
+ break;
+ /* FIXME: Missing SLEEP */
case 0x04: /* INVALIDATE */
case 0x44: /* REHABILITATE */
default: