Ethereal-dev: [Ethereal-dev] patch for gtk assertion and compiling error with MSVC6

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Lars Roland" <Lars.Roland@xxxxxxx>
Date: Sun, 5 Oct 2003 20:21:38 +0200 (MEST)
Hello all,

the attached patches fix two errors:

1.
packet-ansi_map.c doesn't compile with MSVC6. 
It doesn't like static const value_string arrays with unknown size, like in
line 127, 128 and 129.
You have to initialize them. 

2.
A GTK assertion was thrown, when I tried to use the new RTP Statistics on
Win32.

Best Regards,

Lars Roland
Index: ethereal/gtk/rtp_stream_dlg.c
===================================================================
RCS file: /cvsroot/ethereal/gtk/rtp_stream_dlg.c,v
retrieving revision 1.3
diff -u -r1.3 rtp_stream_dlg.c
--- ethereal/gtk/rtp_stream_dlg.c	26 Sep 2003 22:29:42 -0000	1.3
+++ ethereal/gtk/rtp_stream_dlg.c	5 Oct 2003 17:15:59 -0000
@@ -470,6 +470,7 @@
 	rtpstream_dlg_w = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 	gtk_window_set_title (GTK_WINDOW (rtpstream_dlg_w), "Ethereal: RTP Streams");
 	
+	rtpstream_dlg_w = gtk_dialog_new();
 	dialog_vbox1 = GTK_DIALOG (rtpstream_dlg_w)->vbox;
 	gtk_widget_show (dialog_vbox1);
 	
Index: ethereal/packet-ansi_map.c
===================================================================
RCS file: /cvsroot/ethereal/packet-ansi_map.c,v
retrieving revision 1.1
diff -u -r1.1 packet-ansi_map.c
--- ethereal/packet-ansi_map.c	3 Oct 2003 23:10:00 -0000	1.1
+++ ethereal/packet-ansi_map.c	5 Oct 2003 17:15:56 -0000
@@ -124,9 +124,340 @@
 /* PROTOTYPES/FORWARDS */
 
 static gboolean dissect_ansi_param(ASN1_SCK *asn1, proto_tree *tree);
-static const value_string ansi_param_1_strings[];
-static const value_string ansi_param_2_strings[];
-static const value_string ansi_param_3_strings[];
+
+/* ANSI PARAM STRINGS */
+static const value_string ansi_param_1_strings[] = {
+    { 0x81,	"Billing ID" },
+    { 0x82,	"Serving Cell ID" },
+    { 0x83,	"Target Cell ID" },
+    { 0x84,	"Digits" },
+    { 0x85,	"Channel Data" },
+    { 0x86,	"Inter MSC Circuit ID" },
+    { 0x87,	"Inter Switch Count" },
+    { 0x88,	"Mobile Identification Number" },
+    { 0x89,	"Electronic Serial Number" },
+    { 0x8A,	"Release Reason" },
+    { 0x8B,	"Signal Quality" },
+    { 0x8C,	"Station Class Mark" },
+    { 0x8D,	"Authorization Denied" },
+    { 0x8E,	"Authorization Period" },
+    { 0x8F,	"Seizure Type" },
+    { 0x90,	"Trunk Status" },
+    { 0x91,	"Qualification Information Code" },
+    { 0x92,	"Feature Result" },
+    { 0x93,	"Redirection Reason" },
+    { 0x94,	"Access Denied Reason" },
+    { 0x95,	"MSCID" },
+    { 0x96,	"System My Type Code" },
+    { 0x97,	"Origination Indicator" },
+    { 0x98,	"Termination Restriction Code" },
+    { 0x99,	"Calling Features Indicator" },
+    { 0x9A,	"Faulty Parameter" },
+    { 0x9B,	"Usage Indicator" },
+    { 0x9C,	"TDMA Channel Data" },
+    { 0x9D,	"TDMA Call Mode" },
+    { 0x9E,	"Handoff Reason" },
+    { 0, NULL },
+};
+
+static const value_string ansi_param_2_strings[] = {
+    { 0x9F1F,	"TDMA Burst Indicator" },
+    { 0x9F20,	"PC_SSN" },
+    { 0x9F21,	"Location Area ID" },
+    { 0x9F22,	"System Access Type" },
+    { 0x9F23,	"Authentication Response" },
+    { 0x9F24,	"Authentication Response Base Station" },
+    { 0x9F25,	"Authentication Response Unique Challenge" },
+    { 0x9F26,	"Call History Count" },
+    { 0x9F27,	"Confidentiality Modes" },
+    { 0x9F28,	"Random Variable" },
+    { 0x9F29,	"Random Variable Base Station" },
+    { 0x9F2A,	"Random Variable SSD" },
+    { 0x9F2B,	"Random Variable Unique Challenge" },
+    { 0x9F2C,	"Report Type" },
+    { 0x9F2D,	"Signaling Message Encryption Key" },
+    { 0x9F2E,	"Shared Secret Data" },
+    { 0x9F2F,	"Terminal Type" },
+    { 0x9F30,	"Voice Privacy Mask" },
+    { 0x9F31,	"System Capabilities" },
+    { 0x9F32,	"Deny Access" },
+    { 0x9F33,	"Update Count" },
+    { 0x9F34,	"SSD Not Shared" },
+    { 0x9F35,	"Extended MSCID" },
+    { 0x9F36,	"Extended System My Type Code" },
+    { 0x9F37,	"Control Channel Data" },
+    { 0x9F38,	"System Access Data" },
+    { 0x9F39,	"Cancellation Denied" },
+    { 0x9F3A,	"Border Cell Access" },
+    { 0x9F3B,	"CDMA Station Class Mark" },
+    { 0x9F3C,	"CDMA Serving One Way Delay" },
+    { 0x9F3D,	"CDMA Target One Way Delay" },
+    { 0x9F3E,	"CDMA Call Mode" },
+    { 0x9F3F,	"CDMA Channel Data" },
+    { 0x9F40,	"CDMA Signal Quality" },
+    { 0x9F41,	"CDMA Pilot Strength" },
+    { 0x9F42,	"CDMA Mobile Protocol Revision" },
+    { 0x9F43,	"CDMA Private Long Code Mask" },
+    { 0x9F44,	"CDMA Code Channel" },
+    { 0x9F45,	"CDMA Search Window" },
+    { 0x9F46,	"MS Location" },
+    { 0x9F47,	"Page Indicator" },
+    { 0x9F48,	"Received Signal Quality" },
+    { 0x9F49,	"Deregistration Type" },
+    { 0x9F4A,	"NAMPS Channel Data" },
+    { 0x9F4B,	"Alert Code" },
+    { 0x9F4C,	"Announcement Code" },
+    { 0x9F4D,	"Authentication Algorithm Version" },
+    { 0x9F4E,	"Authentication Capability" },
+    { 0x9F4F,	"Call History Count Expected" },
+    { 0x9F50,	"Calling Party Number Digits 1" },
+    { 0x9F51,	"Calling Party Number Digits 2" },
+    { 0x9F52,	"Calling Party Number String 1" },
+    { 0x9F53,	"Calling Party Number String 2" },
+    { 0x9F54,	"Calling Party Subaddress" },
+    { 0x9F55,	"Cancellation Type" },
+    { 0x9F56,	"Carrier Digits" },
+    { 0x9F57,	"Destination Digits" },
+    { 0x9F58,	"DMH Redirection Indicator" },
+    { 0x9F59,	"Inter System Termination" },
+    { 0x9F5A,	"Availability Type" },
+    { 0x9F5B,	"Local Termination" },
+    { 0x9F5C,	"Message Waiting Notification Count" },
+    { 0x9F5D,	"Mobile Directory Number" },
+    { 0x9F5E,	"MSCID Number" },
+    { 0x9F5F,	"PSTN Termination" },
+    { 0x9F60,	"No Answer Time" },
+    { 0x9F61,	"One Time Feature Indicator" },
+    { 0x9F62,	"Origination Triggers" },
+    { 0x9F63,	"RANDC" },
+    { 0x9F64,	"Redirecting Number Digits" },
+    { 0x9F65,	"Redirecting Number String" },
+    { 0x9F66,	"Redirecting Number Subaddress" },
+    { 0x9F67,	"Sender Identification Number" },
+    { 0x9F68,	"SMS Address" },
+    { 0x9F69,	"SMS Bearer Data" },
+    { 0x9F6A,	"SMS Charge Indicator" },
+    { 0x9F6B,	"SMS Destination Address" },
+    { 0x9F6C,	"SMS Message Count" },
+    { 0x9F6D,	"SMS Notification Indicator" },
+    { 0x9F6E,	"SMS Original Destination Address" },
+    { 0x9F6F,	"SMS Original Destination Subaddress" },
+    { 0x9F70,	"SMS Original Originating Address" },
+    { 0x9F71,	"SMS Original Originating Subaddress" },
+    { 0x9F72,	"SMS Originating Address" },
+    { 0x9F73,	"SMS Originating Restrictions" },
+    { 0x9F74,	"SMS Teleservice Identifier" },
+    { 0x9F75,	"SMS Termination Restrictions" },
+    { 0x9F76,	"SMS Message Waiting Indicator" },
+    { 0x9F77,	"Termination Access Type" },
+    { 0x9F78,	"Termination List" },
+    { 0x9F79,	"Termination Treatment" },
+    { 0x9F7A,	"Termination Triggers" },
+    { 0x9F7B,	"Transaction Capability" },
+    { 0x9F7C,	"Unique Challenge Report" },
+    { 0, NULL },
+};
+
+static const value_string ansi_param_3_strings[] = {
+    { 0x9F8100,	"Action Code" },
+    { 0x9F8101,	"Alert Result" },
+    { 0xBF8102,	"Announcement List" },
+    { 0xBF8103,	"CDMA Code Channel Information" },
+    { 0xBF8104,	"CDMA Code Channel List" },
+    { 0xBF8105,	"CDMA Target Measurement Information" },
+    { 0xBF8106,	"CDMA Target Measurement List" },
+    { 0xBF8107,	"CDMA Target MAHO Information" },
+    { 0xBF8108,	"CDMA Target MAHO List" },
+    { 0x9F8109,	"Conference Calling Indicator" },
+    { 0x9F810A,	"Count Update Report" },
+    { 0x9F810B,	"Digit Collection Control" },
+    { 0x9F810C,	"DMH Account Code Digits" },
+    { 0x9F810D,	"DMH Alternate Billing Digits" },
+    { 0x9F810E,	"DMH Billing Digits" },
+    { 0x9F810F,	"Geographic Authorization" },
+    { 0x9F8110,	"Leg Information" },
+    { 0x9F8111,	"Message Waiting Notification Type" },
+    { 0x9F8112,	"PACA Indicator" },
+    { 0x9F8113,	"Preferred Language Indicator" },
+    { 0x9F8114,	"Random Valid Time" },
+    { 0x9F8115,	"Restriction Digits" },
+    { 0x9F8116,	"Routing Digits" },
+    { 0x9F8117,	"Setup Result" },
+    { 0x9F8118,	"SMS Access Denied Reason" },
+    { 0x9F8119,	"SMS Cause Code" },
+    { 0x9F811A,	"SPINI PIN" },
+    { 0x9F811B,	"SPINI Triggers" },
+    { 0x9F811C,	"SSD Update Report" },
+    { 0x9F811D,	"Target Measurement Information" },
+    { 0x9F811E,	"Target Measurement List" },
+    { 0x9F811F,	"Voice Mailbox PIN" },
+    { 0x9F8120,	"Voice Mailbox Number" },
+    { 0x9F8121,	"Authentication Data" },
+    { 0x9F8122,	"Conditionally Denied Reason" },
+    { 0x9F8123,	"Group Information" },
+    { 0x9F8124,	"Handoff State" },
+    { 0x9F8125,	"NAMPS Call Mode" },
+    { 0x9F8126,	"CDMA Slot Cycle Index" },
+    { 0x9F8127,	"Denied Authorization Period" },
+    { 0x9F8128,	"Pilot Number" },
+    { 0x9F8129,	"Pilot Billing ID" },
+    { 0x9F812A,	"CDMA Band Class" },
+    { 0x9F8113,	"Preferred Language" },
+    { 0x9F8172,	"International Mobile Subscriber Identity" },
+    { 0x9F8173,	"Calling Party Name" },
+    { 0x9F8174,	"Display Text" },
+    { 0x9F8175,	"Redirecting Party Name" },
+    { 0x9F8176,	"Service ID" },
+    { 0x9F8177,	"All Or None" },
+    { 0x9F8178,	"Change" },
+    { 0xBF8179,	"Data Access Element" },
+    { 0xBF817A,	"Data Access Element List" },
+    { 0xBF817E,	"Data Update Result" },
+    { 0xBF817F,	"Data Update Result List" },
+    { 0x9F812D,	"CDMA Pilot PN" },
+    { 0x9F812E,	"CDMA Service Configuration Record" },
+    { 0x9F812F,	"CDMA Service Option" },
+    { 0x9F8131,	"CDMA Station Class Mark 2" },
+    { 0x9F8132,	"TDMA Service Code" },
+    { 0x9F8133,	"TDMA Terminal Capability" },
+    { 0x9F8134,	"TDMA Voice Coder" },
+    { 0x9F8135,	"A-Key Protocol Version" },
+    { 0x9F8136,	"Authentication Response Reauthentication" },
+    { 0x9F8137,	"Base Station Partial Key" },
+    { 0x9F8138,	"Mobile Station MIN" },
+    { 0x9F8139,	"Mobile Station Partial Key" },
+    { 0x9F813A,	"Modulus Value" },
+    { 0x9F813B,	"Newly Assigned MIN" },
+    { 0x9F813D,	"OTASP Result Code" },
+    { 0x9F813E,	"Primitive Value" },
+    { 0x9F813F,	"Random Variable Reauthentication" },
+    { 0x9F8140,	"Reauthentication Report" },
+    { 0x9F8141,	"Service Indicator" },
+    { 0x9F8142,	"Signaling Message Encryption Report" },
+    { 0x9F8143,	"Temporary Reference Number" },
+    { 0x9F8144,	"Voice Privacy Report" },
+    { 0x9F8147,	"Control Channel Mode" },
+    { 0x9F8152,	"CDMA Connection Reference" },
+    { 0x9F8153,	"CDMA Connection Reference Information" },
+    { 0x9F8154,	"CDMA Connection Reference List" },
+    { 0x9F8156,	"Change Service Attributes" },
+    { 0x9F8157,	"Data Key" },
+    { 0x9F8158,	"Data Privacy Parameters" },
+    { 0x9F8159,	"ISLP Information" }, /* IS-737 *SPEC CONFLICT* */
+    { 0x9F815A,	"Reason List" },
+    { 0x9F815C,	"TDMA Bandwidth" },
+    { 0x9F815D,	"TDMA Data Features Indicator" },
+    { 0x9F815E,	"TDMA Data Mode" },
+    { 0x9F815F,	"TDMA Voice Mode" },
+    { 0x9F8160,	"Analog Redirect Info" },
+    { 0xBF812B,	"CDMA Band Class Information" },
+    { 0xBF812C,	"CDMA Band Class List" },
+    { 0xBF8130,	"CDMA Service Option List" },
+    { 0xBF8153,	"CDMA Connection Reference Information" },
+    { 0xBF8154,	"CDMA Connection Reference List" },
+    { 0xBF8161,	"Analog Redirect Record" },
+    { 0xBF8202,	"Execute Script" },
+    { 0xBF8206,	"Modification Request" },
+    { 0xBF8207,	"Modification Request List" },
+    { 0xBF8208,	"Modification Result List" },
+    { 0xBF820E,	"Service Data Access Element" },
+    { 0xBF820F,	"Service Data Access Element List" },
+    { 0xBF8210,	"Service Data Result" },
+    { 0xBF8211,	"Service Data Result List" },
+    { 0xBF8214,	"Trigger Address List" },
+    { 0xBF8216,	"Trigger List" },
+    { 0xBF8218,	"WIN Capability" },
+    { 0xBF822F,	"Call Recovery ID" },
+    { 0xBF8230,	"Call Recovery ID List" },
+    { 0xBF8250,	"Position Information" },
+    { 0xBF825A,	"CDMA PSMM List" },
+    { 0x9F8162,	"CDMA Channel Number" },
+    { 0xBF8163,	"CDMA Channel Number List" },
+    { 0x9F8164,	"CDMA Power Combined Indicator" },
+    { 0x9F8165,	"CDMA Redirect Record" },
+    { 0x9F8166,	"CDMA Search Parameters" },
+    { 0x9F8168,	"CDMA Network Identification" },
+    { 0x9F8169,	"Network TMSI" },
+    { 0x9F816A,	"Network TMSI Expiration Time" },
+    { 0x9F816B,	"New Network TMSI" },
+    { 0x9F816C,	"Required Parameters Mask" },
+    { 0x9F816D,	"Service Redirection Cause" },
+    { 0x9F816E,	"Service Redirection Info" },
+    { 0x9F816F,	"Roaming Indication" },
+    { 0x9F8170,	"MSID" },
+    { 0x9F817B,	"Data ID" },
+    { 0x9F817C,	"Database Key" },
+    { 0x9F817D,	"Data Result" },
+    { 0x9F8200,	"Data Value" },
+    { 0x9F8203,	"Failure Cause" },
+    { 0x9F8204,	"Failure Type" },
+    { 0x9F8205,	"Global Title" },
+    { 0x9F8209,	"Private Specialized Resource" },
+    { 0x9F820A,	"Resume PIC" },
+    { 0x9F820B,	"Script Argument" },
+    { 0x9F820C,	"Script Name" },
+    { 0x9F820D,	"Script Result" },
+    { 0x9F8212,	"Specialized Resource" },
+    { 0x9F8213,	"Time Date Offset" },
+    { 0x9F8215,	"Trigger Capability" },
+    { 0x9F8217,	"Trigger Type" },
+    { 0x9F8219,	"WIN Operations Capability" },
+    { 0x9F821B,	"WIN Trigger List" },
+    { 0x9F821C,	"MSC Address" },
+    { 0x9F821D,	"Suspicious Access" },
+    { 0x9F821E,	"Mobile Station IMSI" },
+    { 0x9F821F,	"Newly Assigned IMSI" },
+    { 0x9F822A,	"Command Code" },
+    { 0x9F822B,	"Display Text 2" },
+    { 0x9F822C,	"Page Count" },
+    { 0x9F822D,	"Page Response Time" },
+    { 0x9F822E,	"SMS Transaction ID" },
+    { 0x9F8231,	"DMH Service ID" },
+    { 0x9F8232,	"Feature Indicator" },
+    { 0x9F8233,	"Control Network ID" },
+    { 0x9F8234,	"Release Cause" },
+    { 0x9F8235,	"Time Of Day" },
+    { 0x9F8236,	"Call Status" },
+    { 0x9F8237,	"DMH Charge Information" },
+    { 0x9F8238,	"DMH Billing Indicator" },
+    { 0x9F8239,	"MS Status" },
+    { 0x9F823B,	"Position Information Code" },
+    { 0x9F8246,	"Inter Message Time" },
+    { 0x9F8247,	"MSID Usage" },
+    { 0x9F8248,	"New MIN Extension" },
+    { 0x9F8249,	"DTX Indication" },
+    { 0x9F824A,	"CDMA Mobile Capabilities" },
+    { 0x9F824B,	"Generalized Time" },
+    { 0x9F824C,	"Generic Digits" },
+    { 0x9F824D,	"Geographic Position" },
+    { 0x9F824E,	"Mobile Call Status" },
+    { 0x9F824F,	"Mobile Position Capability" },
+    { 0x9F8251,	"Position Request Type" },
+    { 0x9F8252,	"Position Result" },
+    { 0x9F8253,	"Position Source" },
+    { 0x9F8254,	"ACG Encountered" },
+    { 0x9F8255,	"CDMA State/Control Type *" },	/* PN-3590 (ANSI-41-E)/ACG *SPEC CONFLICT* */
+    { 0x9F8256,	"Gap Duration" },
+    { 0x9F8257,	"SCF Overload Gap Interval" },
+    { 0x9F8258,	"Service Management System Gap Interval" },
+    { 0x9F8259,	"CDMA PSMM Count" },
+    { 0x9F825B,	"CDMA Serving One Way Delay 2" },
+    { 0x9F825C,	"QoS Priority" },
+    { 0x9F825D,	"PDSN Address" },
+    { 0x9F825E,	"PDSN Protocol Type" },
+    { 0x9F825F,	"CDMA MS Measured Channel Identity" },
+    { 0x9F8261,	"Range" },
+    { 0x9F8263,	"Calling Party Category" },
+    { 0x9F8264,	"cdma2000 Handoff Invoke IOS Data" },
+    { 0x9F8265,	"cdma2000 Handoff Response IOS Data" },
+    { 0x9F8266,	"LCS Client ID" },
+    { 0x9F8267,	"TDMA MAHO Cell ID" },
+    { 0x9F8268,	"TDMA MAHO Channel" },
+    { 0x9F8269,	"CDMA Service Option Connection Identifier" },
+    { 0x9F826A,	"TDMA Time Alignment" },
+    { 0x9F826C,	"TDMA MAHO Request" },
+    { 0, NULL },
+};
 
 /* ANSI TCAP component type */
 #define ANSI_TC_INVOKE_L 0xe9
@@ -11349,190 +11680,62 @@
 
 static void
 param_list(ASN1_SCK *asn1, proto_tree *tree, guint len)
-{
-    guint saved_offset;
-
-    saved_offset = asn1->offset;
-
-    while (len > (asn1->offset - saved_offset))
-    {
-	if (!dissect_ansi_param(asn1, tree))
-	{
-	    proto_tree_add_none_format(tree, hf_ansi_map_none, asn1->tvb,
-		asn1->offset, len - (asn1->offset - saved_offset),
-		"Unknown Parameter Data");
-	    asn1->offset = saved_offset + len;
-	    break;
-	}
-    }
-}
-
-static const value_string ansi_param_1_strings[] = {
-    { 0x81,	"Billing ID" },
-    { 0x82,	"Serving Cell ID" },
-    { 0x83,	"Target Cell ID" },
-    { 0x84,	"Digits" },
-    { 0x85,	"Channel Data" },
-    { 0x86,	"Inter MSC Circuit ID" },
-    { 0x87,	"Inter Switch Count" },
-    { 0x88,	"Mobile Identification Number" },
-    { 0x89,	"Electronic Serial Number" },
-    { 0x8A,	"Release Reason" },
-    { 0x8B,	"Signal Quality" },
-    { 0x8C,	"Station Class Mark" },
-    { 0x8D,	"Authorization Denied" },
-    { 0x8E,	"Authorization Period" },
-    { 0x8F,	"Seizure Type" },
-    { 0x90,	"Trunk Status" },
-    { 0x91,	"Qualification Information Code" },
-    { 0x92,	"Feature Result" },
-    { 0x93,	"Redirection Reason" },
-    { 0x94,	"Access Denied Reason" },
-    { 0x95,	"MSCID" },
-    { 0x96,	"System My Type Code" },
-    { 0x97,	"Origination Indicator" },
-    { 0x98,	"Termination Restriction Code" },
-    { 0x99,	"Calling Features Indicator" },
-    { 0x9A,	"Faulty Parameter" },
-    { 0x9B,	"Usage Indicator" },
-    { 0x9C,	"TDMA Channel Data" },
-    { 0x9D,	"TDMA Call Mode" },
-    { 0x9E,	"Handoff Reason" },
-    { 0, NULL },
-};
-#define	NUM_PARAM_1 (sizeof(ansi_param_1_strings)/sizeof(value_string))
-static gint ett_ansi_param_1[NUM_PARAM_1];
-static void (*param_1_fcn[])(ASN1_SCK *asn1, proto_tree *tree, guint len) = {
-    param_bill_id,	/* Billing ID */
-    param_int,	/* Serving Cell ID */
-    param_int,	/* Target Cell ID */
-    param_digits,	/* Digits */
-    param_chan_data,	/* Channel Data */
-    param_cic,	/* Inter MSC Circuit ID */
-    param_int,	/* Inter Switch Count */
-    param_min,	/* Mobile Identification Number */
-    param_esn,	/* Electronic Serial Number */
-    param_rel_reason,	/* Release Reason */
-    param_sig_qual,	/* Signal Quality */
-    param_scm,	/* Station Class Mark */
-    param_auth_den,	/* Authorization Denied */
-    param_auth_per,	/* Authorization Period */
-    param_seizure,	/* Seizure Type */
-    param_trunk_stat,	/* Trunk Status */
-    param_qic,	/* Qualification Information Code */
-    param_feat_result,	/* Feature Result */
-    param_red_reason,	/* Redirection Reason */
-    param_acc_den,	/* Access Denied Reason */
-    param_mscid,	/* MSCID */
-    param_sys_type_code,	/* System My Type Code */
-    param_orig_ind,	/* Origination Indicator */
-    param_term_res,	/* Termination Restriction Code */
-    param_calling_feat_ind,	/* Calling Features Indicator */
-    param_faulty,	/* Faulty Parameter */
-    NULL/* XXX what spec ? */,	/* Usage Indicator */
-    param_tdma_chan_data,	/* TDMA Channel Data */
-    param_tdma_call_mode,	/* TDMA Call Mode */
-    param_ho_reason,	/* Handoff Reason */
-    NULL,	/* NONE */
-};
-
-static const value_string ansi_param_2_strings[] = {
-    { 0x9F1F,	"TDMA Burst Indicator" },
-    { 0x9F20,	"PC_SSN" },
-    { 0x9F21,	"Location Area ID" },
-    { 0x9F22,	"System Access Type" },
-    { 0x9F23,	"Authentication Response" },
-    { 0x9F24,	"Authentication Response Base Station" },
-    { 0x9F25,	"Authentication Response Unique Challenge" },
-    { 0x9F26,	"Call History Count" },
-    { 0x9F27,	"Confidentiality Modes" },
-    { 0x9F28,	"Random Variable" },
-    { 0x9F29,	"Random Variable Base Station" },
-    { 0x9F2A,	"Random Variable SSD" },
-    { 0x9F2B,	"Random Variable Unique Challenge" },
-    { 0x9F2C,	"Report Type" },
-    { 0x9F2D,	"Signaling Message Encryption Key" },
-    { 0x9F2E,	"Shared Secret Data" },
-    { 0x9F2F,	"Terminal Type" },
-    { 0x9F30,	"Voice Privacy Mask" },
-    { 0x9F31,	"System Capabilities" },
-    { 0x9F32,	"Deny Access" },
-    { 0x9F33,	"Update Count" },
-    { 0x9F34,	"SSD Not Shared" },
-    { 0x9F35,	"Extended MSCID" },
-    { 0x9F36,	"Extended System My Type Code" },
-    { 0x9F37,	"Control Channel Data" },
-    { 0x9F38,	"System Access Data" },
-    { 0x9F39,	"Cancellation Denied" },
-    { 0x9F3A,	"Border Cell Access" },
-    { 0x9F3B,	"CDMA Station Class Mark" },
-    { 0x9F3C,	"CDMA Serving One Way Delay" },
-    { 0x9F3D,	"CDMA Target One Way Delay" },
-    { 0x9F3E,	"CDMA Call Mode" },
-    { 0x9F3F,	"CDMA Channel Data" },
-    { 0x9F40,	"CDMA Signal Quality" },
-    { 0x9F41,	"CDMA Pilot Strength" },
-    { 0x9F42,	"CDMA Mobile Protocol Revision" },
-    { 0x9F43,	"CDMA Private Long Code Mask" },
-    { 0x9F44,	"CDMA Code Channel" },
-    { 0x9F45,	"CDMA Search Window" },
-    { 0x9F46,	"MS Location" },
-    { 0x9F47,	"Page Indicator" },
-    { 0x9F48,	"Received Signal Quality" },
-    { 0x9F49,	"Deregistration Type" },
-    { 0x9F4A,	"NAMPS Channel Data" },
-    { 0x9F4B,	"Alert Code" },
-    { 0x9F4C,	"Announcement Code" },
-    { 0x9F4D,	"Authentication Algorithm Version" },
-    { 0x9F4E,	"Authentication Capability" },
-    { 0x9F4F,	"Call History Count Expected" },
-    { 0x9F50,	"Calling Party Number Digits 1" },
-    { 0x9F51,	"Calling Party Number Digits 2" },
-    { 0x9F52,	"Calling Party Number String 1" },
-    { 0x9F53,	"Calling Party Number String 2" },
-    { 0x9F54,	"Calling Party Subaddress" },
-    { 0x9F55,	"Cancellation Type" },
-    { 0x9F56,	"Carrier Digits" },
-    { 0x9F57,	"Destination Digits" },
-    { 0x9F58,	"DMH Redirection Indicator" },
-    { 0x9F59,	"Inter System Termination" },
-    { 0x9F5A,	"Availability Type" },
-    { 0x9F5B,	"Local Termination" },
-    { 0x9F5C,	"Message Waiting Notification Count" },
-    { 0x9F5D,	"Mobile Directory Number" },
-    { 0x9F5E,	"MSCID Number" },
-    { 0x9F5F,	"PSTN Termination" },
-    { 0x9F60,	"No Answer Time" },
-    { 0x9F61,	"One Time Feature Indicator" },
-    { 0x9F62,	"Origination Triggers" },
-    { 0x9F63,	"RANDC" },
-    { 0x9F64,	"Redirecting Number Digits" },
-    { 0x9F65,	"Redirecting Number String" },
-    { 0x9F66,	"Redirecting Number Subaddress" },
-    { 0x9F67,	"Sender Identification Number" },
-    { 0x9F68,	"SMS Address" },
-    { 0x9F69,	"SMS Bearer Data" },
-    { 0x9F6A,	"SMS Charge Indicator" },
-    { 0x9F6B,	"SMS Destination Address" },
-    { 0x9F6C,	"SMS Message Count" },
-    { 0x9F6D,	"SMS Notification Indicator" },
-    { 0x9F6E,	"SMS Original Destination Address" },
-    { 0x9F6F,	"SMS Original Destination Subaddress" },
-    { 0x9F70,	"SMS Original Originating Address" },
-    { 0x9F71,	"SMS Original Originating Subaddress" },
-    { 0x9F72,	"SMS Originating Address" },
-    { 0x9F73,	"SMS Originating Restrictions" },
-    { 0x9F74,	"SMS Teleservice Identifier" },
-    { 0x9F75,	"SMS Termination Restrictions" },
-    { 0x9F76,	"SMS Message Waiting Indicator" },
-    { 0x9F77,	"Termination Access Type" },
-    { 0x9F78,	"Termination List" },
-    { 0x9F79,	"Termination Treatment" },
-    { 0x9F7A,	"Termination Triggers" },
-    { 0x9F7B,	"Transaction Capability" },
-    { 0x9F7C,	"Unique Challenge Report" },
-    { 0, NULL },
+{
+    guint saved_offset;
+
+    saved_offset = asn1->offset;
+
+    while (len > (asn1->offset - saved_offset))
+    {
+	if (!dissect_ansi_param(asn1, tree))
+	{
+	    proto_tree_add_none_format(tree, hf_ansi_map_none, asn1->tvb,
+		asn1->offset, len - (asn1->offset - saved_offset),
+		"Unknown Parameter Data");
+	    asn1->offset = saved_offset + len;
+	    break;
+	}
+    }
+}
+
+
+#define	NUM_PARAM_1 (sizeof(ansi_param_1_strings)/sizeof(value_string))
+static gint ett_ansi_param_1[NUM_PARAM_1];
+static void (*param_1_fcn[])(ASN1_SCK *asn1, proto_tree *tree, guint len) = {
+    param_bill_id,	/* Billing ID */
+    param_int,	/* Serving Cell ID */
+    param_int,	/* Target Cell ID */
+    param_digits,	/* Digits */
+    param_chan_data,	/* Channel Data */
+    param_cic,	/* Inter MSC Circuit ID */
+    param_int,	/* Inter Switch Count */
+    param_min,	/* Mobile Identification Number */
+    param_esn,	/* Electronic Serial Number */
+    param_rel_reason,	/* Release Reason */
+    param_sig_qual,	/* Signal Quality */
+    param_scm,	/* Station Class Mark */
+    param_auth_den,	/* Authorization Denied */
+    param_auth_per,	/* Authorization Period */
+    param_seizure,	/* Seizure Type */
+    param_trunk_stat,	/* Trunk Status */
+    param_qic,	/* Qualification Information Code */
+    param_feat_result,	/* Feature Result */
+    param_red_reason,	/* Redirection Reason */
+    param_acc_den,	/* Access Denied Reason */
+    param_mscid,	/* MSCID */
+    param_sys_type_code,	/* System My Type Code */
+    param_orig_ind,	/* Origination Indicator */
+    param_term_res,	/* Termination Restriction Code */
+    param_calling_feat_ind,	/* Calling Features Indicator */
+    param_faulty,	/* Faulty Parameter */
+    NULL/* XXX what spec ? */,	/* Usage Indicator */
+    param_tdma_chan_data,	/* TDMA Channel Data */
+    param_tdma_call_mode,	/* TDMA Call Mode */
+    param_ho_reason,	/* Handoff Reason */
+    NULL,	/* NONE */
 };
+
+
 #define	NUM_PARAM_2 (sizeof(ansi_param_2_strings)/sizeof(value_string))
 static gint ett_ansi_param_2[NUM_PARAM_2];
 static void (*param_2_fcn[])(ASN1_SCK *asn1, proto_tree *tree, guint len) = {
@@ -11633,206 +11836,7 @@
     NULL,	/* NONE */
 };
 
-static const value_string ansi_param_3_strings[] = {
-    { 0x9F8100,	"Action Code" },
-    { 0x9F8101,	"Alert Result" },
-    { 0xBF8102,	"Announcement List" },
-    { 0xBF8103,	"CDMA Code Channel Information" },
-    { 0xBF8104,	"CDMA Code Channel List" },
-    { 0xBF8105,	"CDMA Target Measurement Information" },
-    { 0xBF8106,	"CDMA Target Measurement List" },
-    { 0xBF8107,	"CDMA Target MAHO Information" },
-    { 0xBF8108,	"CDMA Target MAHO List" },
-    { 0x9F8109,	"Conference Calling Indicator" },
-    { 0x9F810A,	"Count Update Report" },
-    { 0x9F810B,	"Digit Collection Control" },
-    { 0x9F810C,	"DMH Account Code Digits" },
-    { 0x9F810D,	"DMH Alternate Billing Digits" },
-    { 0x9F810E,	"DMH Billing Digits" },
-    { 0x9F810F,	"Geographic Authorization" },
-    { 0x9F8110,	"Leg Information" },
-    { 0x9F8111,	"Message Waiting Notification Type" },
-    { 0x9F8112,	"PACA Indicator" },
-    { 0x9F8113,	"Preferred Language Indicator" },
-    { 0x9F8114,	"Random Valid Time" },
-    { 0x9F8115,	"Restriction Digits" },
-    { 0x9F8116,	"Routing Digits" },
-    { 0x9F8117,	"Setup Result" },
-    { 0x9F8118,	"SMS Access Denied Reason" },
-    { 0x9F8119,	"SMS Cause Code" },
-    { 0x9F811A,	"SPINI PIN" },
-    { 0x9F811B,	"SPINI Triggers" },
-    { 0x9F811C,	"SSD Update Report" },
-    { 0x9F811D,	"Target Measurement Information" },
-    { 0x9F811E,	"Target Measurement List" },
-    { 0x9F811F,	"Voice Mailbox PIN" },
-    { 0x9F8120,	"Voice Mailbox Number" },
-    { 0x9F8121,	"Authentication Data" },
-    { 0x9F8122,	"Conditionally Denied Reason" },
-    { 0x9F8123,	"Group Information" },
-    { 0x9F8124,	"Handoff State" },
-    { 0x9F8125,	"NAMPS Call Mode" },
-    { 0x9F8126,	"CDMA Slot Cycle Index" },
-    { 0x9F8127,	"Denied Authorization Period" },
-    { 0x9F8128,	"Pilot Number" },
-    { 0x9F8129,	"Pilot Billing ID" },
-    { 0x9F812A,	"CDMA Band Class" },
-    { 0x9F8113,	"Preferred Language" },
-    { 0x9F8172,	"International Mobile Subscriber Identity" },
-    { 0x9F8173,	"Calling Party Name" },
-    { 0x9F8174,	"Display Text" },
-    { 0x9F8175,	"Redirecting Party Name" },
-    { 0x9F8176,	"Service ID" },
-    { 0x9F8177,	"All Or None" },
-    { 0x9F8178,	"Change" },
-    { 0xBF8179,	"Data Access Element" },
-    { 0xBF817A,	"Data Access Element List" },
-    { 0xBF817E,	"Data Update Result" },
-    { 0xBF817F,	"Data Update Result List" },
-    { 0x9F812D,	"CDMA Pilot PN" },
-    { 0x9F812E,	"CDMA Service Configuration Record" },
-    { 0x9F812F,	"CDMA Service Option" },
-    { 0x9F8131,	"CDMA Station Class Mark 2" },
-    { 0x9F8132,	"TDMA Service Code" },
-    { 0x9F8133,	"TDMA Terminal Capability" },
-    { 0x9F8134,	"TDMA Voice Coder" },
-    { 0x9F8135,	"A-Key Protocol Version" },
-    { 0x9F8136,	"Authentication Response Reauthentication" },
-    { 0x9F8137,	"Base Station Partial Key" },
-    { 0x9F8138,	"Mobile Station MIN" },
-    { 0x9F8139,	"Mobile Station Partial Key" },
-    { 0x9F813A,	"Modulus Value" },
-    { 0x9F813B,	"Newly Assigned MIN" },
-    { 0x9F813D,	"OTASP Result Code" },
-    { 0x9F813E,	"Primitive Value" },
-    { 0x9F813F,	"Random Variable Reauthentication" },
-    { 0x9F8140,	"Reauthentication Report" },
-    { 0x9F8141,	"Service Indicator" },
-    { 0x9F8142,	"Signaling Message Encryption Report" },
-    { 0x9F8143,	"Temporary Reference Number" },
-    { 0x9F8144,	"Voice Privacy Report" },
-    { 0x9F8147,	"Control Channel Mode" },
-    { 0x9F8152,	"CDMA Connection Reference" },
-    { 0x9F8153,	"CDMA Connection Reference Information" },
-    { 0x9F8154,	"CDMA Connection Reference List" },
-    { 0x9F8156,	"Change Service Attributes" },
-    { 0x9F8157,	"Data Key" },
-    { 0x9F8158,	"Data Privacy Parameters" },
-    { 0x9F8159,	"ISLP Information" }, /* IS-737 *SPEC CONFLICT* */
-    { 0x9F815A,	"Reason List" },
-    { 0x9F815C,	"TDMA Bandwidth" },
-    { 0x9F815D,	"TDMA Data Features Indicator" },
-    { 0x9F815E,	"TDMA Data Mode" },
-    { 0x9F815F,	"TDMA Voice Mode" },
-    { 0x9F8160,	"Analog Redirect Info" },
-    { 0xBF812B,	"CDMA Band Class Information" },
-    { 0xBF812C,	"CDMA Band Class List" },
-    { 0xBF8130,	"CDMA Service Option List" },
-    { 0xBF8153,	"CDMA Connection Reference Information" },
-    { 0xBF8154,	"CDMA Connection Reference List" },
-    { 0xBF8161,	"Analog Redirect Record" },
-    { 0xBF8202,	"Execute Script" },
-    { 0xBF8206,	"Modification Request" },
-    { 0xBF8207,	"Modification Request List" },
-    { 0xBF8208,	"Modification Result List" },
-    { 0xBF820E,	"Service Data Access Element" },
-    { 0xBF820F,	"Service Data Access Element List" },
-    { 0xBF8210,	"Service Data Result" },
-    { 0xBF8211,	"Service Data Result List" },
-    { 0xBF8214,	"Trigger Address List" },
-    { 0xBF8216,	"Trigger List" },
-    { 0xBF8218,	"WIN Capability" },
-    { 0xBF822F,	"Call Recovery ID" },
-    { 0xBF8230,	"Call Recovery ID List" },
-    { 0xBF8250,	"Position Information" },
-    { 0xBF825A,	"CDMA PSMM List" },
-    { 0x9F8162,	"CDMA Channel Number" },
-    { 0xBF8163,	"CDMA Channel Number List" },
-    { 0x9F8164,	"CDMA Power Combined Indicator" },
-    { 0x9F8165,	"CDMA Redirect Record" },
-    { 0x9F8166,	"CDMA Search Parameters" },
-    { 0x9F8168,	"CDMA Network Identification" },
-    { 0x9F8169,	"Network TMSI" },
-    { 0x9F816A,	"Network TMSI Expiration Time" },
-    { 0x9F816B,	"New Network TMSI" },
-    { 0x9F816C,	"Required Parameters Mask" },
-    { 0x9F816D,	"Service Redirection Cause" },
-    { 0x9F816E,	"Service Redirection Info" },
-    { 0x9F816F,	"Roaming Indication" },
-    { 0x9F8170,	"MSID" },
-    { 0x9F817B,	"Data ID" },
-    { 0x9F817C,	"Database Key" },
-    { 0x9F817D,	"Data Result" },
-    { 0x9F8200,	"Data Value" },
-    { 0x9F8203,	"Failure Cause" },
-    { 0x9F8204,	"Failure Type" },
-    { 0x9F8205,	"Global Title" },
-    { 0x9F8209,	"Private Specialized Resource" },
-    { 0x9F820A,	"Resume PIC" },
-    { 0x9F820B,	"Script Argument" },
-    { 0x9F820C,	"Script Name" },
-    { 0x9F820D,	"Script Result" },
-    { 0x9F8212,	"Specialized Resource" },
-    { 0x9F8213,	"Time Date Offset" },
-    { 0x9F8215,	"Trigger Capability" },
-    { 0x9F8217,	"Trigger Type" },
-    { 0x9F8219,	"WIN Operations Capability" },
-    { 0x9F821B,	"WIN Trigger List" },
-    { 0x9F821C,	"MSC Address" },
-    { 0x9F821D,	"Suspicious Access" },
-    { 0x9F821E,	"Mobile Station IMSI" },
-    { 0x9F821F,	"Newly Assigned IMSI" },
-    { 0x9F822A,	"Command Code" },
-    { 0x9F822B,	"Display Text 2" },
-    { 0x9F822C,	"Page Count" },
-    { 0x9F822D,	"Page Response Time" },
-    { 0x9F822E,	"SMS Transaction ID" },
-    { 0x9F8231,	"DMH Service ID" },
-    { 0x9F8232,	"Feature Indicator" },
-    { 0x9F8233,	"Control Network ID" },
-    { 0x9F8234,	"Release Cause" },
-    { 0x9F8235,	"Time Of Day" },
-    { 0x9F8236,	"Call Status" },
-    { 0x9F8237,	"DMH Charge Information" },
-    { 0x9F8238,	"DMH Billing Indicator" },
-    { 0x9F8239,	"MS Status" },
-    { 0x9F823B,	"Position Information Code" },
-    { 0x9F8246,	"Inter Message Time" },
-    { 0x9F8247,	"MSID Usage" },
-    { 0x9F8248,	"New MIN Extension" },
-    { 0x9F8249,	"DTX Indication" },
-    { 0x9F824A,	"CDMA Mobile Capabilities" },
-    { 0x9F824B,	"Generalized Time" },
-    { 0x9F824C,	"Generic Digits" },
-    { 0x9F824D,	"Geographic Position" },
-    { 0x9F824E,	"Mobile Call Status" },
-    { 0x9F824F,	"Mobile Position Capability" },
-    { 0x9F8251,	"Position Request Type" },
-    { 0x9F8252,	"Position Result" },
-    { 0x9F8253,	"Position Source" },
-    { 0x9F8254,	"ACG Encountered" },
-    { 0x9F8255,	"CDMA State/Control Type *" },	/* PN-3590 (ANSI-41-E)/ACG *SPEC CONFLICT* */
-    { 0x9F8256,	"Gap Duration" },
-    { 0x9F8257,	"SCF Overload Gap Interval" },
-    { 0x9F8258,	"Service Management System Gap Interval" },
-    { 0x9F8259,	"CDMA PSMM Count" },
-    { 0x9F825B,	"CDMA Serving One Way Delay 2" },
-    { 0x9F825C,	"QoS Priority" },
-    { 0x9F825D,	"PDSN Address" },
-    { 0x9F825E,	"PDSN Protocol Type" },
-    { 0x9F825F,	"CDMA MS Measured Channel Identity" },
-    { 0x9F8261,	"Range" },
-    { 0x9F8263,	"Calling Party Category" },
-    { 0x9F8264,	"cdma2000 Handoff Invoke IOS Data" },
-    { 0x9F8265,	"cdma2000 Handoff Response IOS Data" },
-    { 0x9F8266,	"LCS Client ID" },
-    { 0x9F8267,	"TDMA MAHO Cell ID" },
-    { 0x9F8268,	"TDMA MAHO Channel" },
-    { 0x9F8269,	"CDMA Service Option Connection Identifier" },
-    { 0x9F826A,	"TDMA Time Alignment" },
-    { 0x9F826C,	"TDMA MAHO Request" },
-    { 0, NULL },
-};
+
 #define	NUM_PARAM_3 (sizeof(ansi_param_3_strings)/sizeof(value_string))
 static gint ett_ansi_param_3[NUM_PARAM_3];
 static void (*param_3_fcn[])(ASN1_SCK *asn1, proto_tree *tree, guint len) = {