Improve "eHRPD Indicator" NVSE dissection in 3GPP2 A11 Registration Request. Bug...
authormmann <mmann@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 6 Oct 2013 15:38:32 +0000 (15:38 +0000)
committermmann <mmann@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 6 Oct 2013 15:38:32 +0000 (15:38 +0000)
From Masayuki Takemura

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@52403 f5534014-38df-0310-8fa8-9805f1628bb7

AUTHORS
epan/dissectors/packet-3g-a11.c

diff --git a/AUTHORS b/AUTHORS
index fbc66356c0a1b87e5190008b31aa292aa47caea6..43c2e481b8857acec484f96aaffe6ccb43c6925a 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -3774,6 +3774,7 @@ Peter Wu                  <lekensteyn[AT]gmail.com>
 Jerry Negele           <jerry.negele[AT]arrisi.com>
 Hannes Hofer           <hhofer[AT]barracuda.com>
 Luca Coelho                    <luca[AT]coelho.fi>
+Masayuki Takemura      <masayuki.takemura[AT]gmail.com>
 
 Dan Lasley <dlasley[AT]promus.com> gave permission for his
 dumpit() hex-dump routine to be used.
index 72fd32695cd60dcb94a71d4262f406071f245219..57ab7e20cbbea499257eda52a31a0c7d8d92bdac 100644 (file)
@@ -37,6 +37,7 @@
  * http://www.3gpp2.org/public_html/specs/A.S0017-D_v2.0_090825.pdf
  * http://www.3gpp2.org/public_html/specs/A.S0017-D%20v3.0_Interoperability%20Specification%20%28IOS%29%20for%20cdma2000%20Access%20Network%20Interfaces%20-%20Part%207%20%28A10%20and%20A11%20Interfaces%29_20110701.pdf
  * http://www.3gpp2.org/Public_html/specs/A00-20110419-002Er0%20A.S0008-C%20v4.0%20HRPD%20IOS-Pub_20110513.pdf
+ * http://www.3gpp2.org/Public_html/specs/A.S0022-0_v2.0_100426.pdf
  */
 
 #include "config.h"
@@ -102,6 +103,8 @@ static int hf_a11_vse_code = -1;
 static int hf_a11_vse_dormant = -1;
 static int hf_a11_vse_ehrpd_mode = -1;
 static int hf_a11_vse_ehrpd_pmk = -1;
+static int hf_a11_vse_ehrpd_handoff_info = -1;
+static int hf_a11_vse_ehrpd_tunnel_mode = -1;
 static int hf_a11_vse_ppaddr = -1;
 
 /* Additional Session Information */
@@ -407,6 +410,24 @@ static const true_false_string a11_tfs_ehrpd_mode = {
        "eAT is operating in legacy mode"
 };
 
+/* 3GPP2 A.S0022-0 v2.0, section 4.2.14 */
+static const true_false_string a11_tfs_ehrpd_pmk = {
+    "eAT is requesting PMK information",
+    "eAT is not requesting PMK information",
+};
+
+/* 3GPP2 A.S0022-0 v2.0, section 4.2.14 */
+static const true_false_string a11_tfs_ehrpd_handoff_info = {
+    "eAT is requesting information for E-UTRAN handoff",
+    "eAT is not requesting information for E-UTRAN handoff",
+};
+
+/* 3GPP2 A.S0022-0 v2.0, section 4.2.14 */
+static const true_false_string a11_tfs_ehrpd_tunnel_mode = {
+    "eAT is communicating via tunnel from non-eHRPD",
+    "eAT is communicating directly via eHRPD",
+};
+
 static const value_string a11_ext_app[]= {
     {0x0101, "Accounting (RADIUS)"},
     {0x0102, "Accounting (DIAMETER)"},
@@ -1505,6 +1526,8 @@ dissect_a11_extensions( tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tre
                 if (ext_len < 1)
                     break;
                 proto_tree_add_item(ext_tree, hf_a11_vse_ehrpd_pmk, tvb, offset, 1, ENC_BIG_ENDIAN);
+                proto_tree_add_item(ext_tree, hf_a11_vse_ehrpd_handoff_info, tvb, offset, 1, ENC_BIG_ENDIAN);
+                proto_tree_add_item(ext_tree, hf_a11_vse_ehrpd_tunnel_mode, tvb, offset, 1, ENC_BIG_ENDIAN);
                 break;
             case 0x0701:
                 if (ext_len < 1)
@@ -2279,7 +2302,17 @@ proto_register_a11(void)
         },
         { &hf_a11_vse_ehrpd_pmk,
           { "PMK",           "a11.ext.ehrpd.pmk",
-            FT_BOOLEAN, 8, NULL, 0,
+            FT_BOOLEAN, 8, TFS(&a11_tfs_ehrpd_pmk), 0x04,
+            NULL, HFILL }
+        },
+        { &hf_a11_vse_ehrpd_handoff_info,
+          { "E-UTRAN Handoff Info",           "a11.ext.ehrpd.handoff_info",
+            FT_BOOLEAN, 8, TFS(&a11_tfs_ehrpd_handoff_info), 0x02,
+            NULL, HFILL }
+        },
+        { &hf_a11_vse_ehrpd_tunnel_mode,
+          { "Tunnel Mode",           "a11.ext.ehrpd.tunnel_mode",
+            FT_BOOLEAN, 8, TFS(&a11_tfs_ehrpd_tunnel_mode), 0x01,
             NULL, HFILL }
         },
         { &hf_a11_vse_code,