diff options
-rw-r--r-- | epan/dissectors/packet-gsm_sim.c | 9 |
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: |