Update AVP dissection.
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 9 Jul 2012 14:10:40 +0000 (14:10 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 9 Jul 2012 14:10:40 +0000 (14:10 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@43625 f5534014-38df-0310-8fa8-9805f1628bb7

diameter/dictionary.xml
epan/dissectors/packet-diameter_3gpp.c

index f5d35e85d3aca5061f5772afcb4bc0d40c9693c1..5ce4662395c59211f050c6524014f2199ffdd3c7 100644 (file)
                        <type type-name="Unsigned32"/>
                </avp>
 
-               <!--
+    <avp name="UE-Time-Zone" code="1641" vendor-bit="must" vendor-id="TGPP">
+      <type type-name="UTF8String"/>
+    </avp>
+
+    <!--
                Note: The AVP codes from 1638 to 1699 are reserved for TS 29.272.
                -->
 
index 6d53cc6d77b76e4554f4aa16077a9b7c08c36135..6cef97932aa3e9334890bc8ce44b382af2d4212a 100644 (file)
@@ -87,6 +87,8 @@ static int hf_diameter_3gpp_dsr_flags_bit10 = -1;
 static int hf_diameter_3gpp_dsr_flags_bit11 = -1;
 static int hf_diameter_3gpp_dsr_flags_bit12 = -1;
 static int hf_diameter_3gpp_dsr_flags_bit13 = -1;
+static int hf_diameter_3gpp_dsr_flags_bit14 = -1;
+static int hf_diameter_3gpp_dsr_flags_bit15 = -1;
 static int hf_diameter_3gpp_dsa_flags = -1;
 static int hf_diameter_3gpp_dsa_flags_bit0 = -1;
 static int hf_diameter_3gpp_ida_flags = -1;
@@ -100,6 +102,8 @@ static int hf_diameter_3gpp_nor_flags_bit1 = -1;
 static int hf_diameter_3gpp_nor_flags_bit2 = -1;
 static int hf_diameter_3gpp_nor_flags_bit3 = -1;
 static int hf_diameter_3gpp_nor_flags_bit4 = -1;
+static int hf_diameter_3gpp_nor_flags_bit5 = -1;
+static int hf_diameter_3gpp_nor_flags_bit6 = -1;
 static int hf_diameter_3gpp_idr_flags = -1;
 static int hf_diameter_3gpp_idr_flags_bit0 = -1;
 static int hf_diameter_3gpp_idr_flags_bit1 = -1;
@@ -478,8 +482,12 @@ dissect_diameter_3gpp_dsr_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
        item = proto_tree_add_item(tree, hf_diameter_3gpp_dsr_flags, tvb, offset, 4, ENC_BIG_ENDIAN);
        sub_tree = proto_item_add_subtree(item, diameter_3gpp_dsr_flags_ett);
        bit_offset = 0;
-       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_spare_bits, tvb, bit_offset, 18, ENC_BIG_ENDIAN);
-       bit_offset+=18;
+       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_spare_bits, tvb, bit_offset, 16, ENC_BIG_ENDIAN);
+       bit_offset+=16;
+       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_dsr_flags_bit14, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
+       bit_offset++;
+       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_dsr_flags_bit14, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
+       bit_offset++;
        proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_dsr_flags_bit13, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
        bit_offset++;
        proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_dsr_flags_bit12, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
@@ -595,8 +603,12 @@ dissect_diameter_3gpp_nor_flags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tre
        item = proto_tree_add_item(tree, hf_diameter_3gpp_nor_flags, tvb, offset, 4, ENC_BIG_ENDIAN);
        sub_tree = proto_item_add_subtree(item, diameter_3gpp_nor_flags_ett);
        bit_offset = 0;
-       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_spare_bits, tvb, bit_offset, 27, ENC_BIG_ENDIAN);
-       bit_offset+=27;
+       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_spare_bits, tvb, bit_offset, 25, ENC_BIG_ENDIAN);
+       bit_offset+=25;
+       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_nor_flags_bit6, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
+       bit_offset++;
+       proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_nor_flags_bit5, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
+       bit_offset++;
        proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_nor_flags_bit4, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
        bit_offset++;
        proto_tree_add_bits_item(sub_tree, hf_diameter_3gpp_nor_flags_bit3, tvb, bit_offset, 1, ENC_BIG_ENDIAN);
@@ -948,6 +960,16 @@ proto_register_diameter_3gpp(void)
                        FT_BOOLEAN, BASE_NONE, TFS(&tfs_set_notset), 0x0,
                        NULL, HFILL }
                },
+               { &hf_diameter_3gpp_dsr_flags_bit14,
+                       { "Subscribed VSRVCC Withdrawal", "diameter.3gpp.dsr_flags_bit14",
+                       FT_BOOLEAN, BASE_NONE, TFS(&tfs_set_notset), 0x0,
+                       NULL, HFILL }
+               },
+               { &hf_diameter_3gpp_dsr_flags_bit15,
+                       { "Subscribed periodic RAU-TAU Timer Withdrawal", "diameter.3gpp.dsr_flags_bit15",
+                       FT_BOOLEAN, BASE_NONE, TFS(&tfs_set_notset), 0x0,
+                       NULL, HFILL }
+               },
                { &hf_diameter_3gpp_dsa_flags,
                        { "DSA Flags", "diameter.3gpp.dsa_flags",
                        FT_UINT32, BASE_HEX, NULL, 0x0,
@@ -1013,6 +1035,16 @@ proto_register_diameter_3gpp(void)
                        FT_BOOLEAN, BASE_NONE, TFS(&tfs_set_notset), 0x0,
                        NULL, HFILL }
                },
+               { &hf_diameter_3gpp_nor_flags_bit5,
+                       { "UE Reachable from SGSN", "diameter.3gpp.nor_flags_bit5",
+                       FT_BOOLEAN, BASE_NONE, TFS(&tfs_set_notset), 0x0,
+                       NULL, HFILL }
+               },
+               { &hf_diameter_3gpp_nor_flags_bit6,
+                       { "Ready for SM from MME", "diameter.3gpp.nor_flags_bit6",
+                       FT_BOOLEAN, BASE_NONE, TFS(&tfs_set_notset), 0x0,
+                       NULL, HFILL }
+               },
                { &hf_diameter_3gpp_idr_flags,
                        { "IDR Flags", "diameter.3gpp.idr_flags",
                        FT_UINT32, BASE_HEX, NULL, 0x0,