Second step in introducing asn context to BER dissectors just like in PER.
[obnox/wireshark/wip.git] / epan / dissectors / packet-cmip.c
index 5da2467896ca851b7ef274ed25358413f9778880..d7cf1e53ab58b26660e79b0971f9e5725eb689cc 100644 (file)
@@ -1,18 +1,19 @@
 /* Do not modify this file.                                                   */
-/* It is created automatically by the ASN.1 to Ethereal dissector compiler    */
+/* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
 /* .\packet-cmip.c                                                            */
-/* ../../tools/asn2eth.py -X -b -e -p cmip -c cmip.cnf -s packet-cmip-template CMIP.asn */
+/* ../../tools/asn2wrs.py -b -e -p cmip -c cmip.cnf -s packet-cmip-template CMIP.asn */
 
 /* Input file: packet-cmip-template.c */
 
+#line 1 "packet-cmip-template.c"
 /* packet-cmip.c
  * Routines for X.711 CMIP packet dissection
  *   Ronnie Sahlberg 2004
  *
  * $Id$
  *
- * Ethereal - Network traffic analyzer
- * By Gerald Combs <gerald@ethereal.com>
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
  * Copyright 1998 Gerald Combs
  *
  * This program is free software; you can redistribute it and/or
@@ -37,6 +38,8 @@
 #include <glib.h>
 #include <epan/packet.h>
 #include <epan/conversation.h>
+#include <epan/oid_resolv.h>
+#include <epan/asn1.h>
 
 #include <stdio.h>
 #include <string.h>
@@ -67,7 +70,12 @@ static int hf_ObjectClass = -1;
 static int hf_OperationalState = -1;
 
 /*--- Included file: packet-cmip-hf.c ---*/
-
+#line 1 "packet-cmip-hf.c"
+static int hf_cmip_ObjectClass_PDU = -1;          /* ObjectClass */
+static int hf_cmip_DiscriminatorConstruct_PDU = -1;  /* DiscriminatorConstruct */
+static int hf_cmip_Destination_PDU = -1;          /* Destination */
+static int hf_cmip_OperationalState_PDU = -1;     /* OperationalState */
+static int hf_cmip_NameBinding_PDU = -1;          /* NameBinding */
 static int hf_cmip_modifyOperator = -1;           /* ModifyOperator */
 static int hf_cmip_attributeId = -1;              /* T_attributeId */
 static int hf_cmip_attributeValue = -1;           /* T_attributeValue */
@@ -197,10 +205,10 @@ static int hf_cmip_returnResult = -1;             /* ReturnResult */
 static int hf_cmip_returnError = -1;              /* ReturnError */
 static int hf_cmip_reject = -1;                   /* Reject */
 static int hf_cmip_abortSource = -1;              /* CMIPAbortSource */
-static int hf_cmip_userInfo = -1;                 /* EXTERNAL */
+static int hf_cmip_userInfo = -1;                 /* EXTERNALt */
 static int hf_cmip_protocolVersion = -1;          /* ProtocolVersion */
 static int hf_cmip_functionalUnits = -1;          /* FunctionalUnits */
-static int hf_cmip_accessControl1 = -1;           /* EXTERNAL */
+static int hf_cmip_accessControl1 = -1;           /* EXTERNALt */
 /* named bits */
 static int hf_cmip_FunctionalUnits_multipleObjectSelection = -1;
 static int hf_cmip_FunctionalUnits_filter = -1;
@@ -211,13 +219,13 @@ static int hf_cmip_ProtocolVersion_version1 = -1;
 static int hf_cmip_ProtocolVersion_version2 = -1;
 
 /*--- End of included file: packet-cmip-hf.c ---*/
-
+#line 64 "packet-cmip-template.c"
 
 /* Initialize the subtree pointers */
 static gint ett_cmip = -1;
 
 /*--- Included file: packet-cmip-ett.c ---*/
-
+#line 1 "packet-cmip-ett.c"
 static gint ett_cmip_ModificationItem = -1;
 static gint ett_cmip_GetListError = -1;
 static gint ett_cmip_SET_OF_GetInfoStatus = -1;
@@ -290,7 +298,7 @@ static gint ett_cmip_CMIPUserInfo = -1;
 static gint ett_cmip_ProtocolVersion = -1;
 
 /*--- End of included file: packet-cmip-ett.c ---*/
-
+#line 68 "packet-cmip-template.c"
 
 static guint32 opcode;
 
@@ -303,47 +311,47 @@ static int opcode_type;
 static int attributeform;
 #define ATTRIBUTE_LOCAL_FORM  0
 #define ATTRIBUTE_GLOBAL_FORM 1
-static char attribute_identifier_id[BER_MAX_OID_STR_LEN];
+static const char *attribute_identifier_id;
 
-static char attributevalueassertion_id[BER_MAX_OID_STR_LEN];
+static const char *attributevalueassertion_id;
 
-static char object_identifier_id[BER_MAX_OID_STR_LEN];
+static const char *object_identifier_id;
 
 static int objectclassform;
 #define OBJECTCLASS_LOCAL_FORM  0
 #define OBJECTCLASS_GLOBAL_FORM 1
-static char objectclass_identifier_id[BER_MAX_OID_STR_LEN];
+static const char *objectclass_identifier_id;
 
 
 /*--- Included file: packet-cmip-fn.c ---*/
-
+#line 1 "packet-cmip-fn.c"
 /*--- Cyclic dependencies ---*/
 
 /* CMISFilter -> CMISFilter/and -> CMISFilter */
 /* CMISFilter -> CMISFilter */
-static int dissect_cmip_CMISFilter(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+static int dissect_cmip_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
 
-static int dissect_filter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_filter);
+static int dissect_filter(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_CMISFilter(FALSE, tvb, offset, actx, tree, hf_cmip_filter);
 }
-static int dissect_and_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_and_item);
+static int dissect_and_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_CMISFilter(FALSE, tvb, offset, actx, tree, hf_cmip_and_item);
 }
-static int dissect_or_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_or_item);
+static int dissect_or_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_CMISFilter(FALSE, tvb, offset, actx, tree, hf_cmip_or_item);
 }
-static int dissect_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_CMISFilter(FALSE, tvb, offset, pinfo, tree, hf_cmip_not);
+static int dissect_not(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_CMISFilter(FALSE, tvb, offset, actx, tree, hf_cmip_not);
 }
 
 
 /*--- Fields for imported types ---*/
 
-static int dissect_userInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_acse_EXTERNAL(FALSE, tvb, offset, pinfo, tree, hf_cmip_userInfo);
+static int dissect_userInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_acse_EXTERNALt(FALSE, tvb, offset, actx, tree, hf_cmip_userInfo);
 }
-static int dissect_accessControl1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_acse_EXTERNAL(FALSE, tvb, offset, pinfo, tree, hf_cmip_accessControl1);
+static int dissect_accessControl1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_acse_EXTERNALt(FALSE, tvb, offset, actx, tree, hf_cmip_accessControl1);
 }
 
 
@@ -357,42 +365,41 @@ static const value_string cmip_ModifyOperator_vals[] = {
 
 
 static int
-dissect_cmip_ModifyOperator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_ModifyOperator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_modifyOperator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ModifyOperator(TRUE, tvb, offset, pinfo, tree, hf_cmip_modifyOperator);
+static int dissect_modifyOperator_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ModifyOperator(TRUE, tvb, offset, actx, tree, hf_cmip_modifyOperator);
 }
 
 
 
 static int
-dissect_cmip_T_attributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_attributeId_OID, object_identifier_id);
-
+dissect_cmip_T_attributeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_attributeId_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_attributeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_attributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId);
+static int dissect_attributeId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_attributeId(FALSE, tvb, offset, actx, tree, hf_cmip_attributeId);
 }
 
 
 
 static int
-dissect_cmip_T_attributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_attributeValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 218 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
 
 
 
   return offset;
 }
-static int dissect_attributeValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_attributeValue(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeValue);
+static int dissect_attributeValue(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_attributeValue(FALSE, tvb, offset, actx, tree, hf_cmip_attributeValue);
 }
 
 
@@ -404,43 +411,46 @@ static const ber_sequence_t ModificationItem_sequence[] = {
 };
 
 static int
-dissect_cmip_ModificationItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ModificationItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ModificationItem_sequence, hf_index, ett_cmip_ModificationItem);
 
   return offset;
 }
-static int dissect_modificationList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ModificationItem(FALSE, tvb, offset, pinfo, tree, hf_cmip_modificationList_item);
+static int dissect_modificationList_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ModificationItem(FALSE, tvb, offset, actx, tree, hf_cmip_modificationList_item);
 }
 
 
 
 static int
-dissect_cmip_T_ocglobalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_T_ocglobalForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 183 "cmip.cnf"
   objectclassform = OBJECTCLASS_GLOBAL_FORM;
-  offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset,
-                                         hf_cmip_ocglobalForm, objectclass_identifier_id);
 
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index, &objectclass_identifier_id);
 
   return offset;
 }
-static int dissect_ocglobalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_ocglobalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_ocglobalForm);
+static int dissect_ocglobalForm_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_ocglobalForm(TRUE, tvb, offset, actx, tree, hf_cmip_ocglobalForm);
 }
 
 
 
 static int
-dissect_cmip_T_oclocalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_T_oclocalForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 188 "cmip.cnf"
   objectclassform = OBJECTCLASS_LOCAL_FORM;
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_oclocalForm, NULL);
 
 
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
+                                  NULL);
+
   return offset;
 }
-static int dissect_oclocalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_oclocalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_oclocalForm);
+static int dissect_oclocalForm_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_oclocalForm(TRUE, tvb, offset, actx, tree, hf_cmip_oclocalForm);
 }
 
 
@@ -457,44 +467,45 @@ static const ber_choice_t ObjectClass_choice[] = {
 };
 
 int
-dissect_cmip_ObjectClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_ObjectClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  ObjectClass_choice, hf_index, ett_cmip_ObjectClass,
                                  NULL);
 
   return offset;
 }
-static int dissect_managedObjectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ObjectClass(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedObjectClass);
+static int dissect_managedObjectClass(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ObjectClass(FALSE, tvb, offset, actx, tree, hf_cmip_managedObjectClass);
 }
-static int dissect_baseManagedObjectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ObjectClass(FALSE, tvb, offset, pinfo, tree, hf_cmip_baseManagedObjectClass);
+static int dissect_baseManagedObjectClass(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ObjectClass(FALSE, tvb, offset, actx, tree, hf_cmip_baseManagedObjectClass);
 }
 
 
 
 static int
-dissect_cmip_T_id(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
-                                            attributevalueassertion_id);
+dissect_cmip_T_id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index, &attributevalueassertion_id);
 
   return offset;
 }
-static int dissect_id1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_id(FALSE, tvb, offset, pinfo, tree, hf_cmip_id1);
+static int dissect_id1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_id(FALSE, tvb, offset, actx, tree, hf_cmip_id1);
 }
 
 
 
 static int
-dissect_cmip_T_value1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-    offset=call_ber_oid_callback(attributevalueassertion_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_value1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 106 "cmip.cnf"
+    offset=call_ber_oid_callback(attributevalueassertion_id, tvb, offset, actx->pinfo, tree);
+
 
 
   return offset;
 }
-static int dissect_value1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_value1(FALSE, tvb, offset, pinfo, tree, hf_cmip_value1);
+static int dissect_value1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_value1(FALSE, tvb, offset, actx, tree, hf_cmip_value1);
 }
 
 
@@ -505,14 +516,14 @@ static const ber_sequence_t AttributeValueAssertion_sequence[] = {
 };
 
 static int
-dissect_cmip_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    AttributeValueAssertion_sequence, hf_index, ett_cmip_AttributeValueAssertion);
 
   return offset;
 }
-static int dissect_RelativeDistinguishedName_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_cmip_RelativeDistinguishedName_item);
+static int dissect_RelativeDistinguishedName_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AttributeValueAssertion(FALSE, tvb, offset, actx, tree, hf_cmip_RelativeDistinguishedName_item);
 }
 
 
@@ -521,14 +532,14 @@ static const ber_sequence_t RelativeDistinguishedName_set_of[1] = {
 };
 
 static int
-dissect_cmip_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_RelativeDistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  RelativeDistinguishedName_set_of, hf_index, ett_cmip_RelativeDistinguishedName);
 
   return offset;
 }
-static int dissect_RDNSequence_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_RelativeDistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_cmip_RDNSequence_item);
+static int dissect_RDNSequence_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_RelativeDistinguishedName(FALSE, tvb, offset, actx, tree, hf_cmip_RDNSequence_item);
 }
 
 
@@ -537,42 +548,42 @@ static const ber_sequence_t RDNSequence_sequence_of[1] = {
 };
 
 int
-dissect_cmip_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_RDNSequence(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       RDNSequence_sequence_of, hf_index, ett_cmip_RDNSequence);
 
   return offset;
 }
-static int dissect_localDistinguishedName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_RDNSequence(TRUE, tvb, offset, pinfo, tree, hf_cmip_localDistinguishedName);
+static int dissect_localDistinguishedName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_RDNSequence(TRUE, tvb, offset, actx, tree, hf_cmip_localDistinguishedName);
 }
-static int dissect_rdnSequence(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_RDNSequence(FALSE, tvb, offset, pinfo, tree, hf_cmip_rdnSequence);
+static int dissect_rdnSequence(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_RDNSequence(FALSE, tvb, offset, actx, tree, hf_cmip_rdnSequence);
 }
 
 
 
 static int
-dissect_cmip_DistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_cmip_RDNSequence(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_cmip_DistinguishedName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_cmip_RDNSequence(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_distinguishedName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_DistinguishedName(TRUE, tvb, offset, pinfo, tree, hf_cmip_distinguishedName);
+static int dissect_distinguishedName_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_DistinguishedName(TRUE, tvb, offset, actx, tree, hf_cmip_distinguishedName);
 }
 
 
 
 static int
-dissect_cmip_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_octet_string(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                        NULL);
 
   return offset;
 }
-static int dissect_nonSpecificForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_cmip_nonSpecificForm);
+static int dissect_nonSpecificForm_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_OCTET_STRING(TRUE, tvb, offset, actx, tree, hf_cmip_nonSpecificForm);
 }
 
 
@@ -591,39 +602,39 @@ static const ber_choice_t ObjectInstance_choice[] = {
 };
 
 int
-dissect_cmip_ObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_ObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  ObjectInstance_choice, hf_index, ett_cmip_ObjectInstance,
                                  NULL);
 
   return offset;
 }
-static int dissect_managedObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedObjectInstance);
+static int dissect_managedObjectInstance(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, hf_cmip_managedObjectInstance);
 }
-static int dissect_baseManagedObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_baseManagedObjectInstance);
+static int dissect_baseManagedObjectInstance(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, hf_cmip_baseManagedObjectInstance);
 }
-static int dissect_superiorObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_superiorObjectInstance);
+static int dissect_superiorObjectInstance(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, hf_cmip_superiorObjectInstance);
 }
-static int dissect_referenceObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_referenceObjectInstance);
+static int dissect_referenceObjectInstance(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ObjectInstance(FALSE, tvb, offset, actx, tree, hf_cmip_referenceObjectInstance);
 }
 
 
 
 static int
-dissect_cmip_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_GeneralizedTime(implicit_tag, pinfo, tree, tvb, offset, hf_index);
+dissect_cmip_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_GeneralizedTime(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index);
 
   return offset;
 }
-static int dissect_currentTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, pinfo, tree, hf_cmip_currentTime);
+static int dissect_currentTime_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_cmip_currentTime);
 }
-static int dissect_eventTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventTime);
+static int dissect_eventTime_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_GeneralizedTime(TRUE, tvb, offset, actx, tree, hf_cmip_eventTime);
 }
 
 
@@ -635,44 +646,47 @@ static const value_string cmip_T_errorStatus_vals[] = {
 
 
 static int
-dissect_cmip_T_errorStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_T_errorStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_errorStatus(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_errorStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus);
+static int dissect_errorStatus(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_errorStatus(FALSE, tvb, offset, actx, tree, hf_cmip_errorStatus);
 }
 
 
 
 static int
-dissect_cmip_T_globalForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_T_globalForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 90 "cmip.cnf"
   attributeform = ATTRIBUTE_GLOBAL_FORM;
-    offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
-                                            attribute_identifier_id);
+    offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index, &attribute_identifier_id);
+
 
 
 
   return offset;
 }
-static int dissect_globalForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_globalForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_globalForm);
+static int dissect_globalForm_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_globalForm(TRUE, tvb, offset, actx, tree, hf_cmip_globalForm);
 }
 
 
 
 static int
-dissect_cmip_T_localForm(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_T_localForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 94 "cmip.cnf"
   attributeform = ATTRIBUTE_LOCAL_FORM;
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_cmip_localForm, NULL);
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_localForm, NULL);
+
 
 
   return offset;
 }
-static int dissect_localForm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_localForm(TRUE, tvb, offset, pinfo, tree, hf_cmip_localForm);
+static int dissect_localForm_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_localForm(TRUE, tvb, offset, actx, tree, hf_cmip_localForm);
 }
 
 
@@ -689,24 +703,24 @@ static const ber_choice_t AttributeId_choice[] = {
 };
 
 static int
-dissect_cmip_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  AttributeId_choice, hf_index, ett_cmip_AttributeId,
                                  NULL);
 
   return offset;
 }
-static int dissect_attributeId1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId1);
+static int dissect_attributeId1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AttributeId(FALSE, tvb, offset, actx, tree, hf_cmip_attributeId1);
 }
-static int dissect_id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_id);
+static int dissect_id(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AttributeId(FALSE, tvb, offset, actx, tree, hf_cmip_id);
 }
-static int dissect_present(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_present);
+static int dissect_present(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AttributeId(FALSE, tvb, offset, actx, tree, hf_cmip_present);
 }
-static int dissect_attributeIdList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AttributeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeIdList_item);
+static int dissect_attributeIdList_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AttributeId(FALSE, tvb, offset, actx, tree, hf_cmip_attributeIdList_item);
 }
 
 
@@ -717,29 +731,31 @@ static const ber_sequence_t AttributeIdError_sequence[] = {
 };
 
 static int
-dissect_cmip_AttributeIdError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_AttributeIdError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    AttributeIdError_sequence, hf_index, ett_cmip_AttributeIdError);
 
   return offset;
 }
-static int dissect_attributeIdError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AttributeIdError(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeIdError);
+static int dissect_attributeIdError_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AttributeIdError(TRUE, tvb, offset, actx, tree, hf_cmip_attributeIdError);
 }
 
 
 
 static int
-dissect_cmip_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 98 "cmip.cnf"
   /*XXX handle local form here */
   if(attributeform==ATTRIBUTE_GLOBAL_FORM){
-    offset=call_ber_oid_callback(attribute_identifier_id, tvb, offset, pinfo, tree);
+    offset=call_ber_oid_callback(attribute_identifier_id, tvb, offset, actx->pinfo, tree);
   }
 
+
   return offset;
 }
-static int dissect_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_value(FALSE, tvb, offset, pinfo, tree, hf_cmip_value);
+static int dissect_value(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_value(FALSE, tvb, offset, actx, tree, hf_cmip_value);
 }
 
 
@@ -750,44 +766,44 @@ static const ber_sequence_t Attribute_sequence[] = {
 };
 
 int
-dissect_cmip_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    Attribute_sequence, hf_index, ett_cmip_Attribute);
 
   return offset;
 }
-static int dissect_attribute_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_attribute);
+static int dissect_attribute_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_attribute);
 }
-static int dissect_attributeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeList_item);
+static int dissect_attributeList_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(FALSE, tvb, offset, actx, tree, hf_cmip_attributeList_item);
 }
-static int dissect_equality_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_equality);
+static int dissect_equality_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_equality);
 }
-static int dissect_initialString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_initialString);
+static int dissect_initialString_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_initialString);
 }
-static int dissect_anyString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_anyString);
+static int dissect_anyString_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_anyString);
 }
-static int dissect_finalString_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_finalString);
+static int dissect_finalString_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_finalString);
 }
-static int dissect_greaterOrEqual_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_greaterOrEqual);
+static int dissect_greaterOrEqual_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_greaterOrEqual);
 }
-static int dissect_lessOrEqual_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_lessOrEqual);
+static int dissect_lessOrEqual_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_lessOrEqual);
 }
-static int dissect_subsetOf_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_subsetOf);
+static int dissect_subsetOf_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_subsetOf);
 }
-static int dissect_supersetOf_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_supersetOf);
+static int dissect_supersetOf_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_supersetOf);
 }
-static int dissect_nonNullSetIntersection_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_nonNullSetIntersection);
+static int dissect_nonNullSetIntersection_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_nonNullSetIntersection);
 }
 
 
@@ -804,15 +820,15 @@ static const ber_choice_t GetInfoStatus_choice[] = {
 };
 
 static int
-dissect_cmip_GetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_GetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  GetInfoStatus_choice, hf_index, ett_cmip_GetInfoStatus,
                                  NULL);
 
   return offset;
 }
-static int dissect_getInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_GetInfoStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_getInfoList_item);
+static int dissect_getInfoList_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_GetInfoStatus(FALSE, tvb, offset, actx, tree, hf_cmip_getInfoList_item);
 }
 
 
@@ -821,14 +837,14 @@ static const ber_sequence_t SET_OF_GetInfoStatus_set_of[1] = {
 };
 
 static int
-dissect_cmip_SET_OF_GetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SET_OF_GetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  SET_OF_GetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_GetInfoStatus);
 
   return offset;
 }
-static int dissect_getInfoList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_GetInfoStatus(TRUE, tvb, offset, pinfo, tree, hf_cmip_getInfoList);
+static int dissect_getInfoList_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_GetInfoStatus(TRUE, tvb, offset, actx, tree, hf_cmip_getInfoList);
 }
 
 
@@ -841,14 +857,14 @@ static const ber_sequence_t GetListError_sequence[] = {
 };
 
 static int
-dissect_cmip_GetListError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_GetListError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    GetListError_sequence, hf_index, ett_cmip_GetListError);
 
   return offset;
 }
-static int dissect_getListError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_GetListError(TRUE, tvb, offset, pinfo, tree, hf_cmip_getListError);
+static int dissect_getListError_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_GetListError(TRUE, tvb, offset, actx, tree, hf_cmip_getListError);
 }
 
 
@@ -863,42 +879,41 @@ static const value_string cmip_T_errorStatus2_vals[] = {
 
 
 static int
-dissect_cmip_T_errorStatus2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_T_errorStatus2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_errorStatus2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_errorStatus2(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus2);
+static int dissect_errorStatus2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_errorStatus2(FALSE, tvb, offset, actx, tree, hf_cmip_errorStatus2);
 }
 
 
 
 static int
-dissect_cmip_T_attributeId1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_attributeId_OID, object_identifier_id);
-
+dissect_cmip_T_attributeId1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_attributeId_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_attributeId2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_attributeId1(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeId2);
+static int dissect_attributeId2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_attributeId1(FALSE, tvb, offset, actx, tree, hf_cmip_attributeId2);
 }
 
 
 
 static int
-dissect_cmip_T_attributeValue1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_attributeValue1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 230 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
 
 
 
   return offset;
 }
-static int dissect_attributeValue1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_attributeValue1(FALSE, tvb, offset, pinfo, tree, hf_cmip_attributeValue1);
+static int dissect_attributeValue1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_attributeValue1(FALSE, tvb, offset, actx, tree, hf_cmip_attributeValue1);
 }
 
 
@@ -911,14 +926,14 @@ static const ber_sequence_t AttributeError_sequence[] = {
 };
 
 static int
-dissect_cmip_AttributeError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_AttributeError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    AttributeError_sequence, hf_index, ett_cmip_AttributeError);
 
   return offset;
 }
-static int dissect_attributeError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AttributeError(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeError);
+static int dissect_attributeError_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AttributeError(TRUE, tvb, offset, actx, tree, hf_cmip_attributeError);
 }
 
 
@@ -935,15 +950,15 @@ static const ber_choice_t SetInfoStatus_choice[] = {
 };
 
 static int
-dissect_cmip_SetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_SetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  SetInfoStatus_choice, hf_index, ett_cmip_SetInfoStatus,
                                  NULL);
 
   return offset;
 }
-static int dissect_setInfoList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SetInfoStatus(FALSE, tvb, offset, pinfo, tree, hf_cmip_setInfoList_item);
+static int dissect_setInfoList_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SetInfoStatus(FALSE, tvb, offset, actx, tree, hf_cmip_setInfoList_item);
 }
 
 
@@ -952,14 +967,14 @@ static const ber_sequence_t SET_OF_SetInfoStatus_set_of[1] = {
 };
 
 static int
-dissect_cmip_SET_OF_SetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SET_OF_SetInfoStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  SET_OF_SetInfoStatus_set_of, hf_index, ett_cmip_SET_OF_SetInfoStatus);
 
   return offset;
 }
-static int dissect_setInfoList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_SetInfoStatus(TRUE, tvb, offset, pinfo, tree, hf_cmip_setInfoList);
+static int dissect_setInfoList_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_SetInfoStatus(TRUE, tvb, offset, actx, tree, hf_cmip_setInfoList);
 }
 
 
@@ -972,14 +987,14 @@ static const ber_sequence_t SetListError_sequence[] = {
 };
 
 static int
-dissect_cmip_SetListError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SetListError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    SetListError_sequence, hf_index, ett_cmip_SetListError);
 
   return offset;
 }
-static int dissect_setListError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SetListError(TRUE, tvb, offset, pinfo, tree, hf_cmip_setListError);
+static int dissect_setListError_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SetListError(TRUE, tvb, offset, actx, tree, hf_cmip_setListError);
 }
 
 
@@ -993,42 +1008,38 @@ static const value_string cmip_T_errorStatus1_vals[] = {
 
 
 static int
-dissect_cmip_T_errorStatus1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_T_errorStatus1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_errorStatus1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_errorStatus1(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorStatus1);
+static int dissect_errorStatus1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_errorStatus1(FALSE, tvb, offset, actx, tree, hf_cmip_errorStatus1);
 }
 
 
 
 static int
-dissect_cmip_T_actionType1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_actionType_OID, object_identifier_id);
-
+dissect_cmip_T_actionType1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_actionType1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_actionType1(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType1);
+static int dissect_actionType1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_actionType1(FALSE, tvb, offset, actx, tree, hf_cmip_actionType1);
 }
 
 
 
 static int
-dissect_cmip_T_actionType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_actionType_OID, object_identifier_id);
-
+dissect_cmip_T_actionType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_actionType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_actionType(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType);
+static int dissect_actionType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_actionType(FALSE, tvb, offset, actx, tree, hf_cmip_actionType);
 }
 
 
@@ -1039,28 +1050,26 @@ static const ber_sequence_t NoSuchArgumentAction_sequence[] = {
 };
 
 static int
-dissect_cmip_NoSuchArgumentAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_NoSuchArgumentAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    NoSuchArgumentAction_sequence, hf_index, ett_cmip_NoSuchArgumentAction);
 
   return offset;
 }
-static int dissect_actionId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_NoSuchArgumentAction(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionId);
+static int dissect_actionId_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_NoSuchArgumentAction(TRUE, tvb, offset, actx, tree, hf_cmip_actionId);
 }
 
 
 
 static int
-dissect_cmip_T_eventType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_eventType_OID, object_identifier_id);
-
+dissect_cmip_T_eventType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_eventType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_eventType(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType);
+static int dissect_eventType(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_eventType(FALSE, tvb, offset, actx, tree, hf_cmip_eventType);
 }
 
 
@@ -1071,14 +1080,14 @@ static const ber_sequence_t NoSuchArgumentEvent_sequence[] = {
 };
 
 static int
-dissect_cmip_NoSuchArgumentEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_NoSuchArgumentEvent(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    NoSuchArgumentEvent_sequence, hf_index, ett_cmip_NoSuchArgumentEvent);
 
   return offset;
 }
-static int dissect_eventId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_NoSuchArgumentEvent(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventId);
+static int dissect_eventId_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_NoSuchArgumentEvent(TRUE, tvb, offset, actx, tree, hf_cmip_eventId);
 }
 
 
@@ -1095,42 +1104,42 @@ static const ber_choice_t NoSuchArgument_choice[] = {
 };
 
 static int
-dissect_cmip_NoSuchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_NoSuchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  NoSuchArgument_choice, hf_index, ett_cmip_NoSuchArgument,
                                  NULL);
 
   return offset;
 }
-static int dissect_actionArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_NoSuchArgument(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionArgument);
+static int dissect_actionArgument(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_NoSuchArgument(FALSE, tvb, offset, actx, tree, hf_cmip_actionArgument);
 }
 
 
 
 static int
-dissect_cmip_T_actionType3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_actionType_OID, object_identifier_id);
-
+dissect_cmip_T_actionType3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_actionType3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_actionType3(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType3);
+static int dissect_actionType3(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_actionType3(FALSE, tvb, offset, actx, tree, hf_cmip_actionType3);
 }
 
 
 
 static int
-dissect_cmip_T_actionInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_actionInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 194 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
 
 
   return offset;
 }
-static int dissect_actionInfoArg(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_actionInfoArg(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionInfoArg);
+static int dissect_actionInfoArg(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_actionInfoArg(FALSE, tvb, offset, actx, tree, hf_cmip_actionInfoArg);
 }
 
 
@@ -1141,45 +1150,44 @@ static const ber_sequence_t ActionInfo_sequence[] = {
 };
 
 static int
-dissect_cmip_ActionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ActionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ActionInfo_sequence, hf_index, ett_cmip_ActionInfo);
 
   return offset;
 }
-static int dissect_actionValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ActionInfo(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionValue);
+static int dissect_actionValue_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ActionInfo(TRUE, tvb, offset, actx, tree, hf_cmip_actionValue);
 }
-static int dissect_actionInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ActionInfo(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionInfo);
+static int dissect_actionInfo_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ActionInfo(TRUE, tvb, offset, actx, tree, hf_cmip_actionInfo);
 }
 
 
 
 static int
-dissect_cmip_T_eventType1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_eventType_OID, object_identifier_id);
-
+dissect_cmip_T_eventType1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_eventType1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_eventType1(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType1);
+static int dissect_eventType1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_eventType1(FALSE, tvb, offset, actx, tree, hf_cmip_eventType1);
 }
 
 
 
 static int
-dissect_cmip_T_eventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_eventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 245 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
 
 
 
   return offset;
 }
-static int dissect_eventInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_eventInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventInfo);
+static int dissect_eventInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_eventInfo(FALSE, tvb, offset, actx, tree, hf_cmip_eventInfo);
 }
 
 
@@ -1190,14 +1198,14 @@ static const ber_sequence_t InvalidArgumentValueEventValue_sequence[] = {
 };
 
 static int
-dissect_cmip_InvalidArgumentValueEventValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_InvalidArgumentValueEventValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    InvalidArgumentValueEventValue_sequence, hf_index, ett_cmip_InvalidArgumentValueEventValue);
 
   return offset;
 }
-static int dissect_eventValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_InvalidArgumentValueEventValue(TRUE, tvb, offset, pinfo, tree, hf_cmip_eventValue);
+static int dissect_eventValue_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_InvalidArgumentValueEventValue(TRUE, tvb, offset, actx, tree, hf_cmip_eventValue);
 }
 
 
@@ -1214,15 +1222,15 @@ static const ber_choice_t InvalidArgumentValue_choice[] = {
 };
 
 static int
-dissect_cmip_InvalidArgumentValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_InvalidArgumentValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  InvalidArgumentValue_choice, hf_index, ett_cmip_InvalidArgumentValue,
                                  NULL);
 
   return offset;
 }
-static int dissect_argumentValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_InvalidArgumentValue(FALSE, tvb, offset, pinfo, tree, hf_cmip_argumentValue);
+static int dissect_argumentValue(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_InvalidArgumentValue(FALSE, tvb, offset, actx, tree, hf_cmip_argumentValue);
 }
 
 
@@ -1241,15 +1249,15 @@ static const ber_choice_t ErrorInfo_choice[] = {
 };
 
 static int
-dissect_cmip_ErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_ErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  ErrorInfo_choice, hf_index, ett_cmip_ErrorInfo,
                                  NULL);
 
   return offset;
 }
-static int dissect_errorInfo1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorInfo1);
+static int dissect_errorInfo1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ErrorInfo(FALSE, tvb, offset, actx, tree, hf_cmip_errorInfo1);
 }
 
 
@@ -1260,14 +1268,14 @@ static const ber_sequence_t ActionErrorInfo_sequence[] = {
 };
 
 static int
-dissect_cmip_ActionErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ActionErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ActionErrorInfo_sequence, hf_index, ett_cmip_ActionErrorInfo);
 
   return offset;
 }
-static int dissect_actionErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ActionErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionErrorInfo);
+static int dissect_actionErrorInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ActionErrorInfo(FALSE, tvb, offset, actx, tree, hf_cmip_actionErrorInfo);
 }
 
 
@@ -1280,41 +1288,41 @@ static const ber_sequence_t ActionError_sequence[] = {
 };
 
 static int
-dissect_cmip_ActionError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ActionError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ActionError_sequence, hf_index, ett_cmip_ActionError);
 
   return offset;
 }
-static int dissect_actionError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ActionError(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionError);
+static int dissect_actionError_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ActionError(TRUE, tvb, offset, actx, tree, hf_cmip_actionError);
 }
 
 
 
 static int
-dissect_cmip_T_errorId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_errorId_OID, object_identifier_id);
-
+dissect_cmip_T_errorId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_errorId_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_errorId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_errorId(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorId);
+static int dissect_errorId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_errorId(FALSE, tvb, offset, actx, tree, hf_cmip_errorId);
 }
 
 
 
 static int
-dissect_cmip_T_errorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_errorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 224 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
 
 
   return offset;
 }
-static int dissect_errorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_errorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_errorInfo);
+static int dissect_errorInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_errorInfo(FALSE, tvb, offset, actx, tree, hf_cmip_errorInfo);
 }
 
 
@@ -1325,14 +1333,14 @@ static const ber_sequence_t SpecificErrorInfo_sequence[] = {
 };
 
 static int
-dissect_cmip_SpecificErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SpecificErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    SpecificErrorInfo_sequence, hf_index, ett_cmip_SpecificErrorInfo);
 
   return offset;
 }
-static int dissect_specificErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SpecificErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_specificErrorInfo);
+static int dissect_specificErrorInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SpecificErrorInfo(FALSE, tvb, offset, actx, tree, hf_cmip_specificErrorInfo);
 }
 
 
@@ -1344,14 +1352,14 @@ static const ber_sequence_t ProcessingFailure_sequence[] = {
 };
 
 static int
-dissect_cmip_ProcessingFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ProcessingFailure(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ProcessingFailure_sequence, hf_index, ett_cmip_ProcessingFailure);
 
   return offset;
 }
-static int dissect_processingFailure_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ProcessingFailure(TRUE, tvb, offset, pinfo, tree, hf_cmip_processingFailure);
+static int dissect_processingFailure_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ProcessingFailure(TRUE, tvb, offset, actx, tree, hf_cmip_processingFailure);
 }
 
 
@@ -1362,14 +1370,14 @@ static const value_string cmip_T_deleteErrorInfo_vals[] = {
 
 
 static int
-dissect_cmip_T_deleteErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_T_deleteErrorInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_deleteErrorInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_deleteErrorInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_deleteErrorInfo);
+static int dissect_deleteErrorInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_deleteErrorInfo(FALSE, tvb, offset, actx, tree, hf_cmip_deleteErrorInfo);
 }
 
 
@@ -1382,14 +1390,14 @@ static const ber_sequence_t DeleteError_sequence[] = {
 };
 
 static int
-dissect_cmip_DeleteError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_DeleteError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    DeleteError_sequence, hf_index, ett_cmip_DeleteError);
 
   return offset;
 }
-static int dissect_deleteError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_DeleteError(TRUE, tvb, offset, pinfo, tree, hf_cmip_deleteError);
+static int dissect_deleteError_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_DeleteError(TRUE, tvb, offset, actx, tree, hf_cmip_deleteError);
 }
 
 
@@ -1398,14 +1406,14 @@ static const ber_sequence_t SET_OF_Attribute_set_of[1] = {
 };
 
 static int
-dissect_cmip_SET_OF_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SET_OF_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  SET_OF_Attribute_set_of, hf_index, ett_cmip_SET_OF_Attribute);
 
   return offset;
 }
-static int dissect_attributeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_Attribute(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeList);
+static int dissect_attributeList_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_Attribute(TRUE, tvb, offset, actx, tree, hf_cmip_attributeList);
 }
 
 
@@ -1418,26 +1426,26 @@ static const ber_sequence_t SetResult_sequence[] = {
 };
 
 static int
-dissect_cmip_SetResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SetResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    SetResult_sequence, hf_index, ett_cmip_SetResult);
 
   return offset;
 }
-static int dissect_setResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SetResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_setResult);
+static int dissect_setResult_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SetResult(TRUE, tvb, offset, actx, tree, hf_cmip_setResult);
 }
 
 
 
 static int
-dissect_cmip_AccessControl(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_acse_EXTERNAL(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_cmip_AccessControl(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_acse_EXTERNALt(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_accessControl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AccessControl(FALSE, tvb, offset, pinfo, tree, hf_cmip_accessControl);
+static int dissect_accessControl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AccessControl(FALSE, tvb, offset, actx, tree, hf_cmip_accessControl);
 }
 
 
@@ -1449,14 +1457,14 @@ static const value_string cmip_CMISSync_vals[] = {
 
 
 static int
-dissect_cmip_CMISSync(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_CMISSync(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_synchronization_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_CMISSync(TRUE, tvb, offset, pinfo, tree, hf_cmip_synchronization);
+static int dissect_synchronization_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_CMISSync(TRUE, tvb, offset, actx, tree, hf_cmip_synchronization);
 }
 
 
@@ -1469,30 +1477,30 @@ static const value_string cmip_T_namedNumbers_vals[] = {
 
 
 static int
-dissect_cmip_T_namedNumbers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_T_namedNumbers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_namedNumbers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_namedNumbers(FALSE, tvb, offset, pinfo, tree, hf_cmip_namedNumbers);
+static int dissect_namedNumbers(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_namedNumbers(FALSE, tvb, offset, actx, tree, hf_cmip_namedNumbers);
 }
 
 
 
 static int
-dissect_cmip_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_individualLevels_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_cmip_individualLevels);
+static int dissect_individualLevels_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_INTEGER(TRUE, tvb, offset, actx, tree, hf_cmip_individualLevels);
 }
-static int dissect_baseToNthLevel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_cmip_baseToNthLevel);
+static int dissect_baseToNthLevel_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_INTEGER(TRUE, tvb, offset, actx, tree, hf_cmip_baseToNthLevel);
 }
 
 
@@ -1511,15 +1519,15 @@ static const ber_choice_t Scope_choice[] = {
 };
 
 static int
-dissect_cmip_Scope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_Scope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  Scope_choice, hf_index, ett_cmip_Scope,
                                  NULL);
 
   return offset;
 }
-static int dissect_scope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Scope(FALSE, tvb, offset, pinfo, tree, hf_cmip_scope);
+static int dissect_scope(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Scope(FALSE, tvb, offset, actx, tree, hf_cmip_scope);
 }
 
 
@@ -1538,15 +1546,15 @@ static const ber_choice_t T_substrings_item_choice[] = {
 };
 
 static int
-dissect_cmip_T_substrings_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_T_substrings_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  T_substrings_item_choice, hf_index, ett_cmip_T_substrings_item,
                                  NULL);
 
   return offset;
 }
-static int dissect_substrings_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_substrings_item(FALSE, tvb, offset, pinfo, tree, hf_cmip_substrings_item);
+static int dissect_substrings_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_substrings_item(FALSE, tvb, offset, actx, tree, hf_cmip_substrings_item);
 }
 
 
@@ -1555,14 +1563,14 @@ static const ber_sequence_t T_substrings_sequence_of[1] = {
 };
 
 static int
-dissect_cmip_T_substrings(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_T_substrings(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
                                       T_substrings_sequence_of, hf_index, ett_cmip_T_substrings);
 
   return offset;
 }
-static int dissect_substrings_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_substrings(TRUE, tvb, offset, pinfo, tree, hf_cmip_substrings);
+static int dissect_substrings_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_substrings(TRUE, tvb, offset, actx, tree, hf_cmip_substrings);
 }
 
 
@@ -1591,15 +1599,15 @@ static const ber_choice_t FilterItem_choice[] = {
 };
 
 static int
-dissect_cmip_FilterItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_FilterItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  FilterItem_choice, hf_index, ett_cmip_FilterItem,
                                  NULL);
 
   return offset;
 }
-static int dissect_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_FilterItem(FALSE, tvb, offset, pinfo, tree, hf_cmip_item);
+static int dissect_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_FilterItem(FALSE, tvb, offset, actx, tree, hf_cmip_item);
 }
 
 
@@ -1608,17 +1616,17 @@ static const ber_sequence_t SET_OF_CMISFilter_set_of[1] = {
 };
 
 static int
-dissect_cmip_SET_OF_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SET_OF_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  SET_OF_CMISFilter_set_of, hf_index, ett_cmip_SET_OF_CMISFilter);
 
   return offset;
 }
-static int dissect_and_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, pinfo, tree, hf_cmip_and);
+static int dissect_and_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, actx, tree, hf_cmip_and);
 }
-static int dissect_or_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, pinfo, tree, hf_cmip_or);
+static int dissect_or_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_CMISFilter(TRUE, tvb, offset, actx, tree, hf_cmip_or);
 }
 
 
@@ -1639,8 +1647,8 @@ static const ber_choice_t CMISFilter_choice[] = {
 };
 
 static int
-dissect_cmip_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_CMISFilter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  CMISFilter_choice, hf_index, ett_cmip_CMISFilter,
                                  NULL);
 
@@ -1653,14 +1661,14 @@ static const ber_sequence_t SET_OF_ModificationItem_set_of[1] = {
 };
 
 static int
-dissect_cmip_SET_OF_ModificationItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SET_OF_ModificationItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  SET_OF_ModificationItem_set_of, hf_index, ett_cmip_SET_OF_ModificationItem);
 
   return offset;
 }
-static int dissect_modificationList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_ModificationItem(TRUE, tvb, offset, pinfo, tree, hf_cmip_modificationList);
+static int dissect_modificationList_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_ModificationItem(TRUE, tvb, offset, actx, tree, hf_cmip_modificationList);
 }
 
 
@@ -1676,8 +1684,8 @@ static const ber_sequence_t SetArgument_sequence[] = {
 };
 
 static int
-dissect_cmip_SetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    SetArgument_sequence, hf_index, ett_cmip_SetArgument);
 
   return offset;
@@ -1693,41 +1701,41 @@ static const ber_sequence_t GetResult_sequence[] = {
 };
 
 static int
-dissect_cmip_GetResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_GetResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    GetResult_sequence, hf_index, ett_cmip_GetResult);
 
   return offset;
 }
-static int dissect_getResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_GetResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_getResult);
+static int dissect_getResult_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_GetResult(TRUE, tvb, offset, actx, tree, hf_cmip_getResult);
 }
 
 
 
 static int
-dissect_cmip_T_actionType2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_actionType_OID, object_identifier_id);
-
+dissect_cmip_T_actionType2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_actionType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_actionType2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_actionType2(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionType2);
+static int dissect_actionType2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_actionType2(FALSE, tvb, offset, actx, tree, hf_cmip_actionType2);
 }
 
 
 
 static int
-dissect_cmip_T_actionReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_actionReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 200 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
 
 
   return offset;
 }
-static int dissect_actionReplyInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_actionReplyInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_actionReplyInfo);
+static int dissect_actionReplyInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_actionReplyInfo(FALSE, tvb, offset, actx, tree, hf_cmip_actionReplyInfo);
 }
 
 
@@ -1738,14 +1746,14 @@ static const ber_sequence_t ActionReply_sequence[] = {
 };
 
 static int
-dissect_cmip_ActionReply(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ActionReply(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ActionReply_sequence, hf_index, ett_cmip_ActionReply);
 
   return offset;
 }
-static int dissect_actionReply_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ActionReply(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionReply);
+static int dissect_actionReply_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ActionReply(TRUE, tvb, offset, actx, tree, hf_cmip_actionReply);
 }
 
 
@@ -1758,14 +1766,14 @@ static const ber_sequence_t ActionResult_sequence[] = {
 };
 
 static int
-dissect_cmip_ActionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ActionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ActionResult_sequence, hf_index, ett_cmip_ActionResult);
 
   return offset;
 }
-static int dissect_actionResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ActionResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_actionResult);
+static int dissect_actionResult_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ActionResult(TRUE, tvb, offset, actx, tree, hf_cmip_actionResult);
 }
 
 
@@ -1777,14 +1785,14 @@ static const ber_sequence_t DeleteResult_sequence[] = {
 };
 
 static int
-dissect_cmip_DeleteResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_DeleteResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    DeleteResult_sequence, hf_index, ett_cmip_DeleteResult);
 
   return offset;
 }
-static int dissect_deleteResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_DeleteResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_deleteResult);
+static int dissect_deleteResult_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_DeleteResult(TRUE, tvb, offset, actx, tree, hf_cmip_deleteResult);
 }
 
 
@@ -1815,8 +1823,8 @@ static const ber_choice_t LinkedReplyArgument_choice[] = {
 };
 
 static int
-dissect_cmip_LinkedReplyArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_LinkedReplyArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  LinkedReplyArgument_choice, hf_index, ett_cmip_LinkedReplyArgument,
                                  NULL);
 
@@ -1826,28 +1834,28 @@ dissect_cmip_LinkedReplyArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int o
 
 
 static int
-dissect_cmip_T_eventType2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_eventType_OID, object_identifier_id);
-
+dissect_cmip_T_eventType2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_eventType2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_eventType2(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType2);
+static int dissect_eventType2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_eventType2(FALSE, tvb, offset, actx, tree, hf_cmip_eventType2);
 }
 
 
 
 static int
-dissect_cmip_T_eventReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_eventReplyInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 212 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
+
 
 
   return offset;
 }
-static int dissect_eventReplyInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_eventReplyInfo(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventReplyInfo);
+static int dissect_eventReplyInfo(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_eventReplyInfo(FALSE, tvb, offset, actx, tree, hf_cmip_eventReplyInfo);
 }
 
 
@@ -1858,14 +1866,14 @@ static const ber_sequence_t EventReply_sequence[] = {
 };
 
 static int
-dissect_cmip_EventReply(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_EventReply(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    EventReply_sequence, hf_index, ett_cmip_EventReply);
 
   return offset;
 }
-static int dissect_eventReply(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_EventReply(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventReply);
+static int dissect_eventReply(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_EventReply(FALSE, tvb, offset, actx, tree, hf_cmip_eventReply);
 }
 
 
@@ -1878,8 +1886,8 @@ static const ber_sequence_t EventReportResult_sequence[] = {
 };
 
 static int
-dissect_cmip_EventReportResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_EventReportResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    EventReportResult_sequence, hf_index, ett_cmip_EventReportResult);
 
   return offset;
@@ -1888,29 +1896,28 @@ dissect_cmip_EventReportResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int off
 
 
 static int
-dissect_cmip_T_eventType3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
-                                         hf_cmip_eventType_OID, object_identifier_id);
-
+dissect_cmip_T_eventType3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier_str(implicit_tag, actx->pinfo, tree, tvb, offset, hf_cmip_eventType_OID, &object_identifier_id);
 
   return offset;
 }
-static int dissect_eventType3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_eventType3(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventType3);
+static int dissect_eventType3(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_eventType3(FALSE, tvb, offset, actx, tree, hf_cmip_eventType3);
 }
 
 
 
 static int
-dissect_cmip_T_eventInfo1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
+dissect_cmip_T_eventInfo1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 206 "cmip.cnf"
+  offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
 
 
 
   return offset;
 }
-static int dissect_eventInfo1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_eventInfo1(FALSE, tvb, offset, pinfo, tree, hf_cmip_eventInfo1);
+static int dissect_eventInfo1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_eventInfo1(FALSE, tvb, offset, actx, tree, hf_cmip_eventInfo1);
 }
 
 
@@ -1924,8 +1931,8 @@ static const ber_sequence_t EventReportArgument_sequence[] = {
 };
 
 static int
-dissect_cmip_EventReportArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_EventReportArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    EventReportArgument_sequence, hf_index, ett_cmip_EventReportArgument);
 
   return offset;
@@ -1943,8 +1950,8 @@ static const ber_sequence_t DeleteArgument_sequence[] = {
 };
 
 static int
-dissect_cmip_DeleteArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_DeleteArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    DeleteArgument_sequence, hf_index, ett_cmip_DeleteArgument);
 
   return offset;
@@ -1964,15 +1971,15 @@ static const ber_choice_t T_managedOrSuperiorObjectInstance_choice[] = {
 };
 
 static int
-dissect_cmip_T_managedOrSuperiorObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_T_managedOrSuperiorObjectInstance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  T_managedOrSuperiorObjectInstance_choice, hf_index, ett_cmip_T_managedOrSuperiorObjectInstance,
                                  NULL);
 
   return offset;
 }
-static int dissect_managedOrSuperiorObjectInstance(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_T_managedOrSuperiorObjectInstance(FALSE, tvb, offset, pinfo, tree, hf_cmip_managedOrSuperiorObjectInstance);
+static int dissect_managedOrSuperiorObjectInstance(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_T_managedOrSuperiorObjectInstance(FALSE, tvb, offset, actx, tree, hf_cmip_managedOrSuperiorObjectInstance);
 }
 
 
@@ -1986,8 +1993,8 @@ static const ber_sequence_t CreateArgument_sequence[] = {
 };
 
 static int
-dissect_cmip_CreateArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_CreateArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    CreateArgument_sequence, hf_index, ett_cmip_CreateArgument);
 
   return offset;
@@ -2003,8 +2010,8 @@ static const ber_sequence_t CreateResult_sequence[] = {
 };
 
 static int
-dissect_cmip_CreateResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_CreateResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    CreateResult_sequence, hf_index, ett_cmip_CreateResult);
 
   return offset;
@@ -2023,8 +2030,8 @@ static const ber_sequence_t ActionArgument_sequence[] = {
 };
 
 static int
-dissect_cmip_ActionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ActionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ActionArgument_sequence, hf_index, ett_cmip_ActionArgument);
 
   return offset;
@@ -2038,8 +2045,8 @@ static const ber_sequence_t BaseManagedObjectId_sequence[] = {
 };
 
 static int
-dissect_cmip_BaseManagedObjectId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_BaseManagedObjectId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    BaseManagedObjectId_sequence, hf_index, ett_cmip_BaseManagedObjectId);
 
   return offset;
@@ -2055,8 +2062,8 @@ static const value_string cmip_AdministrativeState_vals[] = {
 
 
 static int
-dissect_cmip_AdministrativeState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_AdministrativeState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
@@ -2065,8 +2072,8 @@ dissect_cmip_AdministrativeState(gboolean implicit_tag _U_, tvbuff_t *tvb, int o
 
 
 static int
-dissect_cmip_DiscriminatorConstruct(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_cmip_CMISFilter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_cmip_DiscriminatorConstruct(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_cmip_CMISFilter(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
@@ -2083,8 +2090,8 @@ static const ber_choice_t Name_choice[] = {
 };
 
 static int
-dissect_cmip_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  Name_choice, hf_index, ett_cmip_Name,
                                  NULL);
 
@@ -2094,26 +2101,25 @@ dissect_cmip_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_i
 
 
 static int
-dissect_cmip_AE_title_form1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_cmip_Name(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_cmip_AE_title_form1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_cmip_Name(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
-static int dissect_ae_title_form1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AE_title_form1(FALSE, tvb, offset, pinfo, tree, hf_cmip_ae_title_form1);
+static int dissect_ae_title_form1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AE_title_form1(FALSE, tvb, offset, actx, tree, hf_cmip_ae_title_form1);
 }
 
 
 
 static int
-dissect_cmip_AE_title_form2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
-                                            NULL);
+dissect_cmip_AE_title_form2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index, NULL);
 
   return offset;
 }
-static int dissect_ae_title_form2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AE_title_form2(FALSE, tvb, offset, pinfo, tree, hf_cmip_ae_title_form2);
+static int dissect_ae_title_form2(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AE_title_form2(FALSE, tvb, offset, actx, tree, hf_cmip_ae_title_form2);
 }
 
 
@@ -2130,18 +2136,18 @@ static const ber_choice_t AE_title_choice[] = {
 };
 
 static int
-dissect_cmip_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  AE_title_choice, hf_index, ett_cmip_AE_title,
                                  NULL);
 
   return offset;
 }
-static int dissect_single(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_single);
+static int dissect_single(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AE_title(FALSE, tvb, offset, actx, tree, hf_cmip_single);
 }
-static int dissect_multiple_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_multiple_item);
+static int dissect_multiple_item(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_AE_title(FALSE, tvb, offset, actx, tree, hf_cmip_multiple_item);
 }
 
 
@@ -2150,14 +2156,14 @@ static const ber_sequence_t SET_OF_AE_title_set_of[1] = {
 };
 
 static int
-dissect_cmip_SET_OF_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SET_OF_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  SET_OF_AE_title_set_of, hf_index, ett_cmip_SET_OF_AE_title);
 
   return offset;
 }
-static int dissect_multiple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_AE_title(FALSE, tvb, offset, pinfo, tree, hf_cmip_multiple);
+static int dissect_multiple(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_AE_title(FALSE, tvb, offset, actx, tree, hf_cmip_multiple);
 }
 
 
@@ -2174,8 +2180,8 @@ static const ber_choice_t Destination_choice[] = {
 };
 
 static int
-dissect_cmip_Destination(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_Destination(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  Destination_choice, hf_index, ett_cmip_Destination,
                                  NULL);
 
@@ -2191,8 +2197,8 @@ static const value_string cmip_OperationalState_vals[] = {
 
 
 static int
-dissect_cmip_OperationalState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_OperationalState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
@@ -2201,9 +2207,8 @@ dissect_cmip_OperationalState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offs
 
 
 static int
-dissect_cmip_NameBinding(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
-                                            NULL);
+dissect_cmip_NameBinding(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_object_identifier(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index, NULL);
 
   return offset;
 }
@@ -2214,14 +2219,14 @@ static const ber_sequence_t SET_OF_AttributeId_set_of[1] = {
 };
 
 static int
-dissect_cmip_SET_OF_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_SET_OF_AttributeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
                                  SET_OF_AttributeId_set_of, hf_index, ett_cmip_SET_OF_AttributeId);
 
   return offset;
 }
-static int dissect_attributeIdList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_SET_OF_AttributeId(TRUE, tvb, offset, pinfo, tree, hf_cmip_attributeIdList);
+static int dissect_attributeIdList_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_SET_OF_AttributeId(TRUE, tvb, offset, actx, tree, hf_cmip_attributeIdList);
 }
 
 
@@ -2237,8 +2242,8 @@ static const ber_sequence_t GetArgument_sequence[] = {
 };
 
 static int
-dissect_cmip_GetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_GetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    GetArgument_sequence, hf_index, ett_cmip_GetArgument);
 
   return offset;
@@ -2247,42 +2252,43 @@ dissect_cmip_GetArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, p
 
 
 static int
-dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 109 "cmip.cnf"
   switch(opcode_type){
   case OPCODE_INVOKE:
     switch(opcode){
     case 0: /* M-eventreport */
-      offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, actx, tree, -1);
       break;
     case 1: /* M-eventreport-confirmed */
-      offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_EventReportArgument(FALSE, tvb, offset, actx, tree, -1);
       break;
     case 2: /* M-linkedreply */
-      offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_LinkedReplyArgument(FALSE, tvb, offset, actx, tree, -1);
       break;
     case 3: /* M-get */
-      offset = dissect_cmip_GetArgument(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_GetArgument(FALSE, tvb, offset,actx, tree, -1);
       break;
     case 4: /* M-set */
-      offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_SetArgument(FALSE, tvb, offset,actx, tree, -1);
       break;
     case 5: /* M-set-confirmed */
-      offset = dissect_cmip_SetArgument(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_SetArgument(FALSE, tvb, offset,actx, tree, -1);
       break;
     case 6: /* M-action*/
-      offset = dissect_cmip_ActionArgument(FALSE, tvb,  offset, pinfo, tree, -1);
+      offset = dissect_cmip_ActionArgument(FALSE, tvb,  offset, actx, tree, -1);
       break;
     case 7: /* M-action-confirmed*/
-      offset = dissect_cmip_ActionArgument(FALSE, tvb,  offset, pinfo, tree, -1);
+      offset = dissect_cmip_ActionArgument(FALSE, tvb,  offset, actx, tree, -1);
       break;
     case 8: /* M-create*/
-      offset = dissect_cmip_CreateArgument(FALSE, tvb,  offset, pinfo, tree, -1);
+      offset = dissect_cmip_CreateArgument(FALSE, tvb,  offset, actx, tree, -1);
       break;
     case 9: /* M-delete*/
-      offset = dissect_cmip_DeleteArgument(FALSE, tvb,  offset, pinfo, tree, -1);
+      offset = dissect_cmip_DeleteArgument(FALSE, tvb,  offset, actx, tree, -1);
       break;
     case 10: /* M-cancelget */
-      offset = dissect_cmip_InvokeIDType(FALSE, tvb,  offset, pinfo, tree, -1);
+      offset = dissect_cmip_InvokeIDType(FALSE, tvb,  offset, actx, tree, -1);
       break;
     }
     break;
@@ -2291,28 +2297,28 @@ dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pack
     case 0: /* M-eventreport*/
       break;  /* No return data */
     case 1: /* M-eventreport-confirmed */
-      offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_EventReportResult(FALSE, tvb, offset, actx, tree, -1);
       break;
     case 2: /* M-linkedreply*/
       break;  /* No return data */
     case 3: /* M-get */
-      offset = dissect_cmip_GetResult(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_GetResult(FALSE, tvb, offset, actx, tree, -1);
       break;
     case 4: /* M-set */
       break;  /* No return data */
     case 5: /* M-set-confirmed*/
-      offset = dissect_cmip_SetResult(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_SetResult(FALSE, tvb, offset, actx, tree, -1);
       break;
     case 6: /* M-action*/
       break;  /* No return data */
     case 7: /* M-action-confirmed*/
-      offset = dissect_cmip_ActionResult(FALSE, tvb, offset, pinfo, tree, -1);
+      offset = dissect_cmip_ActionResult(FALSE, tvb, offset, actx, tree, -1);
       break;
     case 8: /* M-create*/
-      offset = dissect_cmip_CreateResult(FALSE, tvb,  offset, pinfo, tree, -1);
+      offset = dissect_cmip_CreateResult(FALSE, tvb,  offset, actx, tree, -1);
       break;
     case 9: /* M-delete*/
-      offset = dissect_cmip_DeleteResult(FALSE, tvb,  offset, pinfo, tree, -1);
+      offset = dissect_cmip_DeleteResult(FALSE, tvb,  offset, actx, tree, -1);
       break;
     case 10: /* M-cancelget */
       break; /* doe this one return any data? */
@@ -2322,10 +2328,11 @@ dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pack
   }
 
 
+
   return offset;
 }
-static int dissect_argument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Argument(FALSE, tvb, offset, pinfo, tree, hf_cmip_argument);
+static int dissect_argument(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Argument(FALSE, tvb, offset, actx, tree, hf_cmip_argument);
 }
 
 
@@ -2346,18 +2353,20 @@ static const value_string cmip_Opcode_vals[] = {
 
 
 static int
-dissect_cmip_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-    offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 55 "cmip.cnf"
+    offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   &opcode);
 
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_prepend_fstr(pinfo->cinfo, COL_INFO, "%s", val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%d"));
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s", val_to_str(opcode, cmip_Opcode_vals, " Unknown Opcode:%d"));
   }
 
+
   return offset;
 }
-static int dissect_opcode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Opcode(FALSE, tvb, offset, pinfo, tree, hf_cmip_opcode);
+static int dissect_opcode(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Opcode(FALSE, tvb, offset, actx, tree, hf_cmip_opcode);
 }
 
 
@@ -2368,52 +2377,52 @@ static const ber_sequence_t ReturnResultBody_sequence[] = {
 };
 
 static int
-dissect_cmip_ReturnResultBody(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ReturnResultBody(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ReturnResultBody_sequence, hf_index, ett_cmip_ReturnResultBody);
 
   return offset;
 }
-static int dissect_rRBody(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ReturnResultBody(FALSE, tvb, offset, pinfo, tree, hf_cmip_rRBody);
+static int dissect_rRBody(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ReturnResultBody(FALSE, tvb, offset, actx, tree, hf_cmip_rRBody);
 }
 
 
 
 static int
-dissect_cmip_InvokeID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_InvokeID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_present1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_InvokeID(FALSE, tvb, offset, pinfo, tree, hf_cmip_present1);
+static int dissect_present1(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_InvokeID(FALSE, tvb, offset, actx, tree, hf_cmip_present1);
 }
 
 
 
 static int
-dissect_cmip_InvokeLinkedId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_InvokeLinkedId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_linkedId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_InvokeLinkedId(TRUE, tvb, offset, pinfo, tree, hf_cmip_linkedId);
+static int dissect_linkedId_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_InvokeLinkedId(TRUE, tvb, offset, actx, tree, hf_cmip_linkedId);
 }
 
 
 
 static int
-dissect_cmip_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
+dissect_cmip_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_null(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index);
 
   return offset;
 }
-static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_NULL(FALSE, tvb, offset, pinfo, tree, hf_cmip_absent);
+static int dissect_absent(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_NULL(FALSE, tvb, offset, actx, tree, hf_cmip_absent);
 }
 
 
@@ -2430,22 +2439,22 @@ static const ber_choice_t InvokeId_choice[] = {
 };
 
 static int
-dissect_cmip_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  InvokeId_choice, hf_index, ett_cmip_InvokeId,
                                  NULL);
 
   return offset;
 }
-static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_cmip_invokeId);
+static int dissect_invokeId(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_InvokeId(FALSE, tvb, offset, actx, tree, hf_cmip_invokeId);
 }
 
 
 
 int
-dissect_cmip_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_cmip_InvokeId(implicit_tag, tvb, offset, pinfo, tree, hf_index);
+dissect_cmip_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_cmip_InvokeId(implicit_tag, tvb, offset, actx, tree, hf_index);
 
   return offset;
 }
@@ -2460,18 +2469,20 @@ static const ber_sequence_t Invoke_sequence[] = {
 };
 
 static int
-dissect_cmip_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 62 "cmip.cnf"
   opcode_type=OPCODE_INVOKE;
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_prepend_fstr(pinfo->cinfo, COL_INFO, "Invoke ");
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Invoke ");
   }
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    Invoke_sequence, hf_index, ett_cmip_Invoke);
 
   return offset;
 }
-static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Invoke(TRUE, tvb, offset, pinfo, tree, hf_cmip_invoke);
+static int dissect_invoke_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Invoke(TRUE, tvb, offset, actx, tree, hf_cmip_invoke);
 }
 
 
@@ -2482,18 +2493,20 @@ static const ber_sequence_t ReturnResult_sequence[] = {
 };
 
 static int
-dissect_cmip_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 69 "cmip.cnf"
   opcode_type=OPCODE_RETURN_RESULT;
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnResult ");
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnResult ");
   }
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ReturnResult_sequence, hf_index, ett_cmip_ReturnResult);
 
   return offset;
 }
-static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ReturnResult(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnResult);
+static int dissect_returnResult_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ReturnResult(TRUE, tvb, offset, actx, tree, hf_cmip_returnResult);
 }
 
 
@@ -2503,18 +2516,20 @@ static const ber_sequence_t ReturnError_sequence[] = {
 };
 
 static int
-dissect_cmip_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 76 "cmip.cnf"
   opcode_type=OPCODE_RETURN_ERROR;
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnError ");
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "ReturnError ");
   }
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    ReturnError_sequence, hf_index, ett_cmip_ReturnError);
 
   return offset;
 }
-static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ReturnError(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnError);
+static int dissect_returnError_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ReturnError(TRUE, tvb, offset, actx, tree, hf_cmip_returnError);
 }
 
 
@@ -2527,14 +2542,14 @@ static const value_string cmip_GeneralProblem_vals[] = {
 
 
 static int
-dissect_cmip_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_generalProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_GeneralProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_generalProblem);
+static int dissect_generalProblem_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_GeneralProblem(TRUE, tvb, offset, actx, tree, hf_cmip_generalProblem);
 }
 
 
@@ -2552,14 +2567,14 @@ static const value_string cmip_InvokeProblem_vals[] = {
 
 
 static int
-dissect_cmip_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_invokeProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_InvokeProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_invokeProblem);
+static int dissect_invokeProblem_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_InvokeProblem(TRUE, tvb, offset, actx, tree, hf_cmip_invokeProblem);
 }
 
 
@@ -2572,14 +2587,14 @@ static const value_string cmip_ReturnResultProblem_vals[] = {
 
 
 static int
-dissect_cmip_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_returnResultProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ReturnResultProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnResultProblem);
+static int dissect_returnResultProblem_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ReturnResultProblem(TRUE, tvb, offset, actx, tree, hf_cmip_returnResultProblem);
 }
 
 
@@ -2594,14 +2609,14 @@ static const value_string cmip_ReturnErrorProblem_vals[] = {
 
 
 static int
-dissect_cmip_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
 }
-static int dissect_returnErrorProblem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ReturnErrorProblem(TRUE, tvb, offset, pinfo, tree, hf_cmip_returnErrorProblem);
+static int dissect_returnErrorProblem_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ReturnErrorProblem(TRUE, tvb, offset, actx, tree, hf_cmip_returnErrorProblem);
 }
 
 
@@ -2630,8 +2645,8 @@ static const value_string cmip_RejectProblem_vals[] = {
 
 
 static int
-dissect_cmip_RejectProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+dissect_cmip_RejectProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   NULL);
 
   return offset;
@@ -2655,15 +2670,15 @@ static const ber_choice_t RejectProb_choice[] = {
 };
 
 static int
-dissect_cmip_RejectProb(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_RejectProb(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  RejectProb_choice, hf_index, ett_cmip_RejectProb,
                                  NULL);
 
   return offset;
 }
-static int dissect_rejectProblem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_RejectProb(FALSE, tvb, offset, pinfo, tree, hf_cmip_rejectProblem);
+static int dissect_rejectProblem(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_RejectProb(FALSE, tvb, offset, actx, tree, hf_cmip_rejectProblem);
 }
 
 
@@ -2674,18 +2689,20 @@ static const ber_sequence_t Reject_sequence[] = {
 };
 
 static int
-dissect_cmip_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 83 "cmip.cnf"
   opcode_type=OPCODE_REJECT;
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_prepend_fstr(pinfo->cinfo, COL_INFO, "Reject ");
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "Reject ");
   }
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    Reject_sequence, hf_index, ett_cmip_Reject);
 
   return offset;
 }
-static int dissect_reject_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_Reject(TRUE, tvb, offset, pinfo, tree, hf_cmip_reject);
+static int dissect_reject_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_Reject(TRUE, tvb, offset, actx, tree, hf_cmip_reject);
 }
 
 
@@ -2706,8 +2723,8 @@ static const ber_choice_t ROS_choice[] = {
 };
 
 int
-dissect_cmip_ROS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+dissect_cmip_ROS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_choice(actx, tree, tvb, offset,
                                  ROS_choice, hf_index, ett_cmip_ROS,
                                  NULL);
 
@@ -2723,20 +2740,22 @@ static const value_string cmip_CMIPAbortSource_vals[] = {
 
 
 static int
-dissect_cmip_CMIPAbortSource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+dissect_cmip_CMIPAbortSource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 46 "cmip.cnf"
   guint32 value;
 
-    offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+    offset = dissect_ber_integer(implicit_tag, actx->pinfo, tree, tvb, offset, hf_index,
                                   &value);
 
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_append_fstr(pinfo->cinfo, COL_INFO, " AbortSource:%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%d"));
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_append_fstr(actx->pinfo->cinfo, COL_INFO, " AbortSource:%s", val_to_str(value, cmip_CMIPAbortSource_vals, " Unknown AbortSource:%d"));
   }
 
+
   return offset;
 }
-static int dissect_abortSource_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_CMIPAbortSource(TRUE, tvb, offset, pinfo, tree, hf_cmip_abortSource);
+static int dissect_abortSource_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_CMIPAbortSource(TRUE, tvb, offset, actx, tree, hf_cmip_abortSource);
 }
 
 
@@ -2747,11 +2766,13 @@ static const ber_sequence_t CMIPAbortInfo_sequence[] = {
 };
 
 int
-dissect_cmip_CMIPAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
+dissect_cmip_CMIPAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 34 "cmip.cnf"
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_append_fstr(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ABORT");
   }
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    CMIPAbortInfo_sequence, hf_index, ett_cmip_CMIPAbortInfo);
 
   return offset;
@@ -2768,15 +2789,15 @@ static const asn_namedbit FunctionalUnits_bits[] = {
 };
 
 static int
-dissect_cmip_FunctionalUnits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_FunctionalUnits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_bitstring(implicit_tag, actx->pinfo, tree, tvb, offset,
                                     FunctionalUnits_bits, hf_index, ett_cmip_FunctionalUnits,
                                     NULL);
 
   return offset;
 }
-static int dissect_functionalUnits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_FunctionalUnits(TRUE, tvb, offset, pinfo, tree, hf_cmip_functionalUnits);
+static int dissect_functionalUnits_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_FunctionalUnits(TRUE, tvb, offset, actx, tree, hf_cmip_functionalUnits);
 }
 
 
@@ -2787,15 +2808,15 @@ static const asn_namedbit ProtocolVersion_bits[] = {
 };
 
 static int
-dissect_cmip_ProtocolVersion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+dissect_cmip_ProtocolVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+  offset = dissect_ber_bitstring(implicit_tag, actx->pinfo, tree, tvb, offset,
                                     ProtocolVersion_bits, hf_index, ett_cmip_ProtocolVersion,
                                     NULL);
 
   return offset;
 }
-static int dissect_protocolVersion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
-  return dissect_cmip_ProtocolVersion(TRUE, tvb, offset, pinfo, tree, hf_cmip_protocolVersion);
+static int dissect_protocolVersion_impl(proto_tree *tree _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_) {
+  return dissect_cmip_ProtocolVersion(TRUE, tvb, offset, actx, tree, hf_cmip_protocolVersion);
 }
 
 
@@ -2808,60 +2829,51 @@ static const ber_sequence_t CMIPUserInfo_sequence[] = {
 };
 
 int
-dissect_cmip_CMIPUserInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
-  if(check_col(pinfo->cinfo, COL_INFO)){
-    col_append_fstr(pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
+dissect_cmip_CMIPUserInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 40 "cmip.cnf"
+  if(check_col(actx->pinfo->cinfo, COL_INFO)){
+    col_append_fstr(actx->pinfo->cinfo, COL_INFO, "CMIP-A-ASSOCIATE");
   }
-  offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+
+  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
                                    CMIPUserInfo_sequence, hf_index, ett_cmip_CMIPUserInfo);
 
   return offset;
 }
 
+/*--- PDUs ---*/
 
-/*--- End of included file: packet-cmip-fn.c ---*/
-
-
-
-static void
-dissect_cmip_attribute_35(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
-{
-
-       dissect_cmip_OperationalState(FALSE, tvb, 0, pinfo, parent_tree, hf_OperationalState);
-
+static void dissect_ObjectClass_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+  asn1_ctx_t asn1_ctx;
+  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+  dissect_cmip_ObjectClass(FALSE, tvb, 0, &asn1_ctx, tree, hf_cmip_ObjectClass_PDU);
 }
-
-static void
-dissect_cmip_attribute_55(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
-{
-
-       dissect_cmip_Destination(FALSE, tvb, 0, pinfo, parent_tree,hf_Destination);
-
+static void dissect_DiscriminatorConstruct_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+  asn1_ctx_t asn1_ctx;
+  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+  dissect_cmip_DiscriminatorConstruct(FALSE, tvb, 0, &asn1_ctx, tree, hf_cmip_DiscriminatorConstruct_PDU);
 }
-
-static void
-dissect_cmip_attribute_56(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
-{
-
-       dissect_cmip_DiscriminatorConstruct(FALSE, tvb, 0, pinfo, parent_tree, hf_DiscriminatorConstruct);
-
+static void dissect_Destination_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+  asn1_ctx_t asn1_ctx;
+  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+  dissect_cmip_Destination(FALSE, tvb, 0, &asn1_ctx, tree, hf_cmip_Destination_PDU);
 }
-
-static void
-dissect_cmip_attribute_63(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
-{
-
-       dissect_cmip_NameBinding(FALSE, tvb, 0, pinfo, parent_tree, hf_NameBinding);
-
+static void dissect_OperationalState_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+  asn1_ctx_t asn1_ctx;
+  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+  dissect_cmip_OperationalState(FALSE, tvb, 0, &asn1_ctx, tree, hf_cmip_OperationalState_PDU);
+}
+static void dissect_NameBinding_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+  asn1_ctx_t asn1_ctx;
+  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
+  dissect_cmip_NameBinding(FALSE, tvb, 0, &asn1_ctx, tree, hf_cmip_NameBinding_PDU);
 }
 
-static void
-dissect_cmip_attribute_65(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
-{
 
-       dissect_cmip_ObjectClass(FALSE, tvb, 0, pinfo, parent_tree, hf_ObjectClass);
+/*--- End of included file: packet-cmip-fn.c ---*/
+#line 92 "packet-cmip-template.c"
+
 
-}
 
 
 /* XXX this one should be broken out later and moved into the conformance file */
@@ -2871,6 +2883,8 @@ dissect_cmip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
        static struct SESSION_DATA_STRUCTURE* session = NULL;
        proto_item *item = NULL;
        proto_tree *tree = NULL;
+       asn1_ctx_t asn1_ctx;
+       asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
 
 
        /* do we have spdu type from the session dissector?  */
@@ -2906,13 +2920,13 @@ dissect_cmip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
                case SES_DISCONNECT:
                case SES_FINISH:
                case SES_REFUSE:
-                       dissect_cmip_CMIPUserInfo(FALSE,tvb,0,pinfo,tree,-1);
+                       dissect_cmip_CMIPUserInfo(FALSE,tvb,0,&asn1_ctx,tree,-1);
                        break;
                case SES_ABORT:
-                       dissect_cmip_CMIPAbortInfo(FALSE,tvb,0,pinfo,tree,-1);
+                       dissect_cmip_CMIPAbortInfo(FALSE,tvb,0,&asn1_ctx,tree,-1);
                        break;
                case SES_DATA_TRANSFER:
-                       dissect_cmip_ROS(FALSE,tvb,0,pinfo,tree,-1);
+                       dissect_cmip_ROS(FALSE,tvb,0,&asn1_ctx,tree,-1);
                        break;
                default:
                        ;
@@ -2963,539 +2977,559 @@ void proto_register_cmip(void) {
 
 
 /*--- Included file: packet-cmip-hfarr.c ---*/
-
+#line 1 "packet-cmip-hfarr.c"
+    { &hf_cmip_ObjectClass_PDU,
+      { "ObjectClass", "cmip.ObjectClass",
+        FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
+        "cmip.ObjectClass", HFILL }},
+    { &hf_cmip_DiscriminatorConstruct_PDU,
+      { "DiscriminatorConstruct", "cmip.DiscriminatorConstruct",
+        FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
+        "cmip.DiscriminatorConstruct", HFILL }},
+    { &hf_cmip_Destination_PDU,
+      { "Destination", "cmip.Destination",
+        FT_UINT32, BASE_DEC, VALS(cmip_Destination_vals), 0,
+        "cmip.Destination", HFILL }},
+    { &hf_cmip_OperationalState_PDU,
+      { "OperationalState", "cmip.OperationalState",
+        FT_UINT32, BASE_DEC, VALS(cmip_OperationalState_vals), 0,
+        "cmip.OperationalState", HFILL }},
+    { &hf_cmip_NameBinding_PDU,
+      { "NameBinding", "cmip.NameBinding",
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.NameBinding", HFILL }},
     { &hf_cmip_modifyOperator,
       { "modifyOperator", "cmip.modifyOperator",
         FT_INT32, BASE_DEC, VALS(cmip_ModifyOperator_vals), 0,
-        "", HFILL }},
+        "cmip.ModifyOperator", HFILL }},
     { &hf_cmip_attributeId,
       { "attributeId", "cmip.attributeId",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ModificationItem/attributeId", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_attributeId", HFILL }},
     { &hf_cmip_attributeValue,
       { "attributeValue", "cmip.attributeValue",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ModificationItem/attributeValue", HFILL }},
+        "cmip.T_attributeValue", HFILL }},
     { &hf_cmip_managedObjectClass,
       { "managedObjectClass", "cmip.managedObjectClass",
         FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
-        "", HFILL }},
+        "cmip.ObjectClass", HFILL }},
     { &hf_cmip_managedObjectInstance,
       { "managedObjectInstance", "cmip.managedObjectInstance",
         FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
-        "", HFILL }},
+        "cmip.ObjectInstance", HFILL }},
     { &hf_cmip_currentTime,
       { "currentTime", "cmip.currentTime",
         FT_STRING, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        "cmip.GeneralizedTime", HFILL }},
     { &hf_cmip_getInfoList,
       { "getInfoList", "cmip.getInfoList",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "GetListError/getInfoList", HFILL }},
+        "cmip.SET_OF_GetInfoStatus", HFILL }},
     { &hf_cmip_getInfoList_item,
       { "Item", "cmip.getInfoList_item",
         FT_UINT32, BASE_DEC, VALS(cmip_GetInfoStatus_vals), 0,
-        "GetListError/getInfoList/_item", HFILL }},
+        "cmip.GetInfoStatus", HFILL }},
     { &hf_cmip_attributeIdError,
       { "attributeIdError", "cmip.attributeIdError",
         FT_NONE, BASE_NONE, NULL, 0,
-        "GetInfoStatus/attributeIdError", HFILL }},
+        "cmip.AttributeIdError", HFILL }},
     { &hf_cmip_attribute,
       { "attribute", "cmip.attribute",
         FT_NONE, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_errorStatus,
       { "errorStatus", "cmip.errorStatus",
         FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus_vals), 0,
-        "AttributeIdError/errorStatus", HFILL }},
+        "cmip.T_errorStatus", HFILL }},
     { &hf_cmip_attributeId1,
       { "attributeId", "cmip.attributeId",
         FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
-        "AttributeIdError/attributeId", HFILL }},
+        "cmip.AttributeId", HFILL }},
     { &hf_cmip_setInfoList,
       { "setInfoList", "cmip.setInfoList",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "SetListError/setInfoList", HFILL }},
+        "cmip.SET_OF_SetInfoStatus", HFILL }},
     { &hf_cmip_setInfoList_item,
       { "Item", "cmip.setInfoList_item",
         FT_UINT32, BASE_DEC, VALS(cmip_SetInfoStatus_vals), 0,
-        "SetListError/setInfoList/_item", HFILL }},
+        "cmip.SetInfoStatus", HFILL }},
     { &hf_cmip_actionErrorInfo,
       { "actionErrorInfo", "cmip.actionErrorInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ActionError/actionErrorInfo", HFILL }},
+        "cmip.ActionErrorInfo", HFILL }},
     { &hf_cmip_specificErrorInfo,
       { "specificErrorInfo", "cmip.specificErrorInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ProcessingFailure/specificErrorInfo", HFILL }},
+        "cmip.SpecificErrorInfo", HFILL }},
     { &hf_cmip_RDNSequence_item,
       { "Item", "cmip.RDNSequence_item",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "RDNSequence/_item", HFILL }},
+        "cmip.RelativeDistinguishedName", HFILL }},
     { &hf_cmip_RelativeDistinguishedName_item,
       { "Item", "cmip.RelativeDistinguishedName_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "RelativeDistinguishedName/_item", HFILL }},
+        "cmip.AttributeValueAssertion", HFILL }},
     { &hf_cmip_deleteErrorInfo,
       { "deleteErrorInfo", "cmip.deleteErrorInfo",
         FT_UINT32, BASE_DEC, VALS(cmip_T_deleteErrorInfo_vals), 0,
-        "DeleteError/deleteErrorInfo", HFILL }},
+        "cmip.T_deleteErrorInfo", HFILL }},
     { &hf_cmip_attributeError,
       { "attributeError", "cmip.attributeError",
         FT_NONE, BASE_NONE, NULL, 0,
-        "SetInfoStatus/attributeError", HFILL }},
+        "cmip.AttributeError", HFILL }},
     { &hf_cmip_errorId,
       { "errorId", "cmip.errorId",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "SpecificErrorInfo/errorId", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_errorId", HFILL }},
     { &hf_cmip_errorInfo,
       { "errorInfo", "cmip.errorInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "SpecificErrorInfo/errorInfo", HFILL }},
+        "cmip.T_errorInfo", HFILL }},
     { &hf_cmip_actionType,
       { "actionType", "cmip.actionType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "NoSuchArgumentAction/actionType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_actionType", HFILL }},
     { &hf_cmip_eventType,
       { "eventType", "cmip.eventType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "NoSuchArgumentEvent/eventType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_eventType", HFILL }},
     { &hf_cmip_actionId,
       { "actionId", "cmip.actionId",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NoSuchArgument/actionId", HFILL }},
+        "cmip.NoSuchArgumentAction", HFILL }},
     { &hf_cmip_eventId,
       { "eventId", "cmip.eventId",
         FT_NONE, BASE_NONE, NULL, 0,
-        "NoSuchArgument/eventId", HFILL }},
+        "cmip.NoSuchArgumentEvent", HFILL }},
     { &hf_cmip_eventType1,
       { "eventType", "cmip.eventType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "InvalidArgumentValueEventValue/eventType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_eventType1", HFILL }},
     { &hf_cmip_eventInfo,
       { "eventInfo", "cmip.eventInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "InvalidArgumentValueEventValue/eventInfo", HFILL }},
+        "cmip.T_eventInfo", HFILL }},
     { &hf_cmip_actionValue,
       { "actionValue", "cmip.actionValue",
         FT_NONE, BASE_NONE, NULL, 0,
-        "InvalidArgumentValue/actionValue", HFILL }},
+        "cmip.ActionInfo", HFILL }},
     { &hf_cmip_eventValue,
       { "eventValue", "cmip.eventValue",
         FT_NONE, BASE_NONE, NULL, 0,
-        "InvalidArgumentValue/eventValue", HFILL }},
+        "cmip.InvalidArgumentValueEventValue", HFILL }},
     { &hf_cmip_actionType1,
       { "actionType", "cmip.actionType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ErrorInfo/actionType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_actionType1", HFILL }},
     { &hf_cmip_actionArgument,
       { "actionArgument", "cmip.actionArgument",
         FT_UINT32, BASE_DEC, VALS(cmip_NoSuchArgument_vals), 0,
-        "ErrorInfo/actionArgument", HFILL }},
+        "cmip.NoSuchArgument", HFILL }},
     { &hf_cmip_argumentValue,
       { "argumentValue", "cmip.argumentValue",
         FT_UINT32, BASE_DEC, VALS(cmip_InvalidArgumentValue_vals), 0,
-        "ErrorInfo/argumentValue", HFILL }},
+        "cmip.InvalidArgumentValue", HFILL }},
     { &hf_cmip_errorStatus1,
       { "errorStatus", "cmip.errorStatus",
         FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus1_vals), 0,
-        "ActionErrorInfo/errorStatus", HFILL }},
+        "cmip.T_errorStatus1", HFILL }},
     { &hf_cmip_errorInfo1,
       { "errorInfo", "cmip.errorInfo",
         FT_UINT32, BASE_DEC, VALS(cmip_ErrorInfo_vals), 0,
-        "ActionErrorInfo/errorInfo", HFILL }},
+        "cmip.ErrorInfo", HFILL }},
     { &hf_cmip_errorStatus2,
       { "errorStatus", "cmip.errorStatus",
         FT_UINT32, BASE_DEC, VALS(cmip_T_errorStatus2_vals), 0,
-        "AttributeError/errorStatus", HFILL }},
+        "cmip.T_errorStatus2", HFILL }},
     { &hf_cmip_attributeId2,
       { "attributeId", "cmip.attributeId",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "AttributeError/attributeId", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_attributeId1", HFILL }},
     { &hf_cmip_attributeValue1,
       { "attributeValue", "cmip.attributeValue",
         FT_NONE, BASE_NONE, NULL, 0,
-        "AttributeError/attributeValue", HFILL }},
+        "cmip.T_attributeValue1", HFILL }},
     { &hf_cmip_attributeList,
       { "attributeList", "cmip.attributeList",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "", HFILL }},
+        "cmip.SET_OF_Attribute", HFILL }},
     { &hf_cmip_attributeList_item,
       { "Item", "cmip.attributeList_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_baseManagedObjectClass,
       { "baseManagedObjectClass", "cmip.baseManagedObjectClass",
         FT_UINT32, BASE_DEC, VALS(cmip_ObjectClass_vals), 0,
-        "", HFILL }},
+        "cmip.ObjectClass", HFILL }},
     { &hf_cmip_baseManagedObjectInstance,
       { "baseManagedObjectInstance", "cmip.baseManagedObjectInstance",
         FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
-        "", HFILL }},
+        "cmip.ObjectInstance", HFILL }},
     { &hf_cmip_accessControl,
       { "accessControl", "cmip.accessControl",
         FT_NONE, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        "cmip.AccessControl", HFILL }},
     { &hf_cmip_synchronization,
       { "synchronization", "cmip.synchronization",
         FT_UINT32, BASE_DEC, VALS(cmip_CMISSync_vals), 0,
-        "", HFILL }},
+        "cmip.CMISSync", HFILL }},
     { &hf_cmip_scope,
       { "scope", "cmip.scope",
         FT_UINT32, BASE_DEC, VALS(cmip_Scope_vals), 0,
-        "", HFILL }},
+        "cmip.Scope", HFILL }},
     { &hf_cmip_filter,
       { "filter", "cmip.filter",
         FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
-        "", HFILL }},
+        "cmip.CMISFilter", HFILL }},
     { &hf_cmip_modificationList,
       { "modificationList", "cmip.modificationList",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "SetArgument/modificationList", HFILL }},
+        "cmip.SET_OF_ModificationItem", HFILL }},
     { &hf_cmip_modificationList_item,
       { "Item", "cmip.modificationList_item",
         FT_NONE, BASE_NONE, NULL, 0,
-        "SetArgument/modificationList/_item", HFILL }},
+        "cmip.ModificationItem", HFILL }},
     { &hf_cmip_getResult,
       { "getResult", "cmip.getResult",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/getResult", HFILL }},
+        "cmip.GetResult", HFILL }},
     { &hf_cmip_getListError,
       { "getListError", "cmip.getListError",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/getListError", HFILL }},
+        "cmip.GetListError", HFILL }},
     { &hf_cmip_setResult,
       { "setResult", "cmip.setResult",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/setResult", HFILL }},
+        "cmip.SetResult", HFILL }},
     { &hf_cmip_setListError,
       { "setListError", "cmip.setListError",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/setListError", HFILL }},
+        "cmip.SetListError", HFILL }},
     { &hf_cmip_actionResult,
       { "actionResult", "cmip.actionResult",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/actionResult", HFILL }},
+        "cmip.ActionResult", HFILL }},
     { &hf_cmip_processingFailure,
       { "processingFailure", "cmip.processingFailure",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/processingFailure", HFILL }},
+        "cmip.ProcessingFailure", HFILL }},
     { &hf_cmip_deleteResult,
       { "deleteResult", "cmip.deleteResult",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/deleteResult", HFILL }},
+        "cmip.DeleteResult", HFILL }},
     { &hf_cmip_actionError,
       { "actionError", "cmip.actionError",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/actionError", HFILL }},
+        "cmip.ActionError", HFILL }},
     { &hf_cmip_deleteError,
       { "deleteError", "cmip.deleteError",
         FT_NONE, BASE_NONE, NULL, 0,
-        "LinkedReplyArgument/deleteError", HFILL }},
+        "cmip.DeleteError", HFILL }},
     { &hf_cmip_eventType2,
       { "eventType", "cmip.eventType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "EventReply/eventType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_eventType2", HFILL }},
     { &hf_cmip_eventReplyInfo,
       { "eventReplyInfo", "cmip.eventReplyInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "EventReply/eventReplyInfo", HFILL }},
+        "cmip.T_eventReplyInfo", HFILL }},
     { &hf_cmip_eventReply,
       { "eventReply", "cmip.eventReply",
         FT_NONE, BASE_NONE, NULL, 0,
-        "EventReportResult/eventReply", HFILL }},
+        "cmip.EventReply", HFILL }},
     { &hf_cmip_eventTime,
       { "eventTime", "cmip.eventTime",
         FT_STRING, BASE_NONE, NULL, 0,
-        "EventReportArgument/eventTime", HFILL }},
+        "cmip.GeneralizedTime", HFILL }},
     { &hf_cmip_eventType3,
       { "eventType", "cmip.eventType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "EventReportArgument/eventType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_eventType3", HFILL }},
     { &hf_cmip_eventInfo1,
       { "eventInfo", "cmip.eventInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "EventReportArgument/eventInfo", HFILL }},
+        "cmip.T_eventInfo1", HFILL }},
     { &hf_cmip_managedOrSuperiorObjectInstance,
       { "managedOrSuperiorObjectInstance", "cmip.managedOrSuperiorObjectInstance",
         FT_UINT32, BASE_DEC, VALS(cmip_T_managedOrSuperiorObjectInstance_vals), 0,
-        "CreateArgument/managedOrSuperiorObjectInstance", HFILL }},
+        "cmip.T_managedOrSuperiorObjectInstance", HFILL }},
     { &hf_cmip_superiorObjectInstance,
       { "superiorObjectInstance", "cmip.superiorObjectInstance",
         FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
-        "CreateArgument/managedOrSuperiorObjectInstance/superiorObjectInstance", HFILL }},
+        "cmip.ObjectInstance", HFILL }},
     { &hf_cmip_referenceObjectInstance,
       { "referenceObjectInstance", "cmip.referenceObjectInstance",
         FT_UINT32, BASE_DEC, VALS(cmip_ObjectInstance_vals), 0,
-        "CreateArgument/referenceObjectInstance", HFILL }},
+        "cmip.ObjectInstance", HFILL }},
     { &hf_cmip_actionType2,
       { "actionType", "cmip.actionType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ActionReply/actionType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_actionType2", HFILL }},
     { &hf_cmip_actionReplyInfo,
       { "actionReplyInfo", "cmip.actionReplyInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ActionReply/actionReplyInfo", HFILL }},
+        "cmip.T_actionReplyInfo", HFILL }},
     { &hf_cmip_actionReply,
       { "actionReply", "cmip.actionReply",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ActionResult/actionReply", HFILL }},
+        "cmip.ActionReply", HFILL }},
     { &hf_cmip_actionInfo,
       { "actionInfo", "cmip.actionInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ActionArgument/actionInfo", HFILL }},
+        "cmip.ActionInfo", HFILL }},
     { &hf_cmip_actionType3,
       { "actionType", "cmip.actionType",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ActionInfo/actionType", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_actionType3", HFILL }},
     { &hf_cmip_actionInfoArg,
       { "actionInfoArg", "cmip.actionInfoArg",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ActionInfo/actionInfoArg", HFILL }},
+        "cmip.T_actionInfoArg", HFILL }},
     { &hf_cmip_ocglobalForm,
       { "ocglobalForm", "cmip.ocglobalForm",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "ObjectClass/ocglobalForm", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_ocglobalForm", HFILL }},
     { &hf_cmip_oclocalForm,
       { "oclocalForm", "cmip.oclocalForm",
         FT_INT32, BASE_DEC, NULL, 0,
-        "ObjectClass/oclocalForm", HFILL }},
+        "cmip.T_oclocalForm", HFILL }},
     { &hf_cmip_distinguishedName,
       { "distinguishedName", "cmip.distinguishedName",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ObjectInstance/distinguishedName", HFILL }},
+        "cmip.DistinguishedName", HFILL }},
     { &hf_cmip_nonSpecificForm,
       { "nonSpecificForm", "cmip.nonSpecificForm",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "ObjectInstance/nonSpecificForm", HFILL }},
+        "cmip.OCTET_STRING", HFILL }},
     { &hf_cmip_localDistinguishedName,
       { "localDistinguishedName", "cmip.localDistinguishedName",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "ObjectInstance/localDistinguishedName", HFILL }},
+        "cmip.RDNSequence", HFILL }},
     { &hf_cmip_globalForm,
       { "globalForm", "cmip.globalForm",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "AttributeId/globalForm", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_globalForm", HFILL }},
     { &hf_cmip_localForm,
       { "localForm", "cmip.localForm",
         FT_INT32, BASE_DEC, NULL, 0,
-        "AttributeId/localForm", HFILL }},
+        "cmip.T_localForm", HFILL }},
     { &hf_cmip_id,
       { "id", "cmip.id",
         FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
-        "Attribute/id", HFILL }},
+        "cmip.AttributeId", HFILL }},
     { &hf_cmip_value,
       { "value", "cmip.value",
         FT_NONE, BASE_NONE, NULL, 0,
-        "Attribute/value", HFILL }},
+        "cmip.T_value", HFILL }},
     { &hf_cmip_id1,
       { "id", "cmip.id",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "AttributeValueAssertion/id", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.T_id", HFILL }},
     { &hf_cmip_value1,
       { "value", "cmip.value",
         FT_NONE, BASE_NONE, NULL, 0,
-        "AttributeValueAssertion/value", HFILL }},
+        "cmip.T_value1", HFILL }},
     { &hf_cmip_equality,
       { "equality", "cmip.equality",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/equality", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_substrings,
       { "substrings", "cmip.substrings",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "FilterItem/substrings", HFILL }},
+        "cmip.T_substrings", HFILL }},
     { &hf_cmip_substrings_item,
       { "Item", "cmip.substrings_item",
         FT_UINT32, BASE_DEC, VALS(cmip_T_substrings_item_vals), 0,
-        "FilterItem/substrings/_item", HFILL }},
+        "cmip.T_substrings_item", HFILL }},
     { &hf_cmip_initialString,
       { "initialString", "cmip.initialString",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/substrings/_item/initialString", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_anyString,
       { "anyString", "cmip.anyString",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/substrings/_item/anyString", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_finalString,
       { "finalString", "cmip.finalString",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/substrings/_item/finalString", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_greaterOrEqual,
       { "greaterOrEqual", "cmip.greaterOrEqual",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/greaterOrEqual", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_lessOrEqual,
       { "lessOrEqual", "cmip.lessOrEqual",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/lessOrEqual", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_present,
       { "present", "cmip.present",
         FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
-        "FilterItem/present", HFILL }},
+        "cmip.AttributeId", HFILL }},
     { &hf_cmip_subsetOf,
       { "subsetOf", "cmip.subsetOf",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/subsetOf", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_supersetOf,
       { "supersetOf", "cmip.supersetOf",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/supersetOf", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_nonNullSetIntersection,
       { "nonNullSetIntersection", "cmip.nonNullSetIntersection",
         FT_NONE, BASE_NONE, NULL, 0,
-        "FilterItem/nonNullSetIntersection", HFILL }},
+        "cmip.Attribute", HFILL }},
     { &hf_cmip_single,
       { "single", "cmip.single",
         FT_UINT32, BASE_DEC, VALS(cmip_AE_title_vals), 0,
-        "Destination/single", HFILL }},
+        "cmip.AE_title", HFILL }},
     { &hf_cmip_multiple,
       { "multiple", "cmip.multiple",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "Destination/multiple", HFILL }},
+        "cmip.SET_OF_AE_title", HFILL }},
     { &hf_cmip_multiple_item,
       { "Item", "cmip.multiple_item",
         FT_UINT32, BASE_DEC, VALS(cmip_AE_title_vals), 0,
-        "Destination/multiple/_item", HFILL }},
+        "cmip.AE_title", HFILL }},
     { &hf_cmip_ae_title_form1,
       { "ae-title-form1", "cmip.ae_title_form1",
         FT_UINT32, BASE_DEC, VALS(cmip_Name_vals), 0,
-        "AE-title/ae-title-form1", HFILL }},
+        "cmip.AE_title_form1", HFILL }},
     { &hf_cmip_ae_title_form2,
       { "ae-title-form2", "cmip.ae_title_form2",
-        FT_STRING, BASE_NONE, NULL, 0,
-        "AE-title/ae-title-form2", HFILL }},
+        FT_OID, BASE_NONE, NULL, 0,
+        "cmip.AE_title_form2", HFILL }},
     { &hf_cmip_rdnSequence,
       { "rdnSequence", "cmip.rdnSequence",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "Name/rdnSequence", HFILL }},
+        "cmip.RDNSequence", HFILL }},
     { &hf_cmip_item,
       { "item", "cmip.item",
         FT_UINT32, BASE_DEC, VALS(cmip_FilterItem_vals), 0,
-        "CMISFilter/item", HFILL }},
+        "cmip.FilterItem", HFILL }},
     { &hf_cmip_and,
       { "and", "cmip.and",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "CMISFilter/and", HFILL }},
+        "cmip.SET_OF_CMISFilter", HFILL }},
     { &hf_cmip_and_item,
       { "Item", "cmip.and_item",
         FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
-        "CMISFilter/and/_item", HFILL }},
+        "cmip.CMISFilter", HFILL }},
     { &hf_cmip_or,
       { "or", "cmip.or",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "CMISFilter/or", HFILL }},
+        "cmip.SET_OF_CMISFilter", HFILL }},
     { &hf_cmip_or_item,
       { "Item", "cmip.or_item",
         FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
-        "CMISFilter/or/_item", HFILL }},
+        "cmip.CMISFilter", HFILL }},
     { &hf_cmip_not,
       { "not", "cmip.not",
         FT_UINT32, BASE_DEC, VALS(cmip_CMISFilter_vals), 0,
-        "CMISFilter/not", HFILL }},
+        "cmip.CMISFilter", HFILL }},
     { &hf_cmip_namedNumbers,
       { "namedNumbers", "cmip.namedNumbers",
         FT_INT32, BASE_DEC, VALS(cmip_T_namedNumbers_vals), 0,
-        "Scope/namedNumbers", HFILL }},
+        "cmip.T_namedNumbers", HFILL }},
     { &hf_cmip_individualLevels,
       { "individualLevels", "cmip.individualLevels",
         FT_INT32, BASE_DEC, NULL, 0,
-        "Scope/individualLevels", HFILL }},
+        "cmip.INTEGER", HFILL }},
     { &hf_cmip_baseToNthLevel,
       { "baseToNthLevel", "cmip.baseToNthLevel",
         FT_INT32, BASE_DEC, NULL, 0,
-        "Scope/baseToNthLevel", HFILL }},
+        "cmip.INTEGER", HFILL }},
     { &hf_cmip_attributeIdList,
       { "attributeIdList", "cmip.attributeIdList",
         FT_UINT32, BASE_DEC, NULL, 0,
-        "GetArgument/attributeIdList", HFILL }},
+        "cmip.SET_OF_AttributeId", HFILL }},
     { &hf_cmip_attributeIdList_item,
       { "Item", "cmip.attributeIdList_item",
         FT_UINT32, BASE_DEC, VALS(cmip_AttributeId_vals), 0,
-        "GetArgument/attributeIdList/_item", HFILL }},
+        "cmip.AttributeId", HFILL }},
     { &hf_cmip_opcode,
       { "opcode", "cmip.opcode",
         FT_INT32, BASE_DEC, VALS(cmip_Opcode_vals), 0,
-        "", HFILL }},
+        "cmip.Opcode", HFILL }},
     { &hf_cmip_argument,
       { "argument", "cmip.argument",
         FT_NONE, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        "cmip.Argument", HFILL }},
     { &hf_cmip_present1,
       { "present", "cmip.present",
         FT_INT32, BASE_DEC, NULL, 0,
-        "InvokeId/present", HFILL }},
+        "cmip.InvokeID", HFILL }},
     { &hf_cmip_absent,
       { "absent", "cmip.absent",
         FT_NONE, BASE_NONE, NULL, 0,
-        "InvokeId/absent", HFILL }},
+        "cmip.NULL", HFILL }},
     { &hf_cmip_invokeId,
       { "invokeId", "cmip.invokeId",
         FT_UINT32, BASE_DEC, VALS(cmip_InvokeId_vals), 0,
-        "", HFILL }},
+        "cmip.InvokeId", HFILL }},
     { &hf_cmip_linkedId,
       { "linkedId", "cmip.linkedId",
         FT_INT32, BASE_DEC, NULL, 0,
-        "Invoke/linkedId", HFILL }},
+        "cmip.InvokeLinkedId", HFILL }},
     { &hf_cmip_rRBody,
       { "rRBody", "cmip.rRBody",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ReturnResult/rRBody", HFILL }},
+        "cmip.ReturnResultBody", HFILL }},
     { &hf_cmip_generalProblem,
       { "generalProblem", "cmip.generalProblem",
         FT_INT32, BASE_DEC, VALS(cmip_GeneralProblem_vals), 0,
-        "RejectProb/generalProblem", HFILL }},
+        "cmip.GeneralProblem", HFILL }},
     { &hf_cmip_invokeProblem,
       { "invokeProblem", "cmip.invokeProblem",
         FT_INT32, BASE_DEC, VALS(cmip_InvokeProblem_vals), 0,
-        "RejectProb/invokeProblem", HFILL }},
+        "cmip.InvokeProblem", HFILL }},
     { &hf_cmip_returnResultProblem,
       { "returnResultProblem", "cmip.returnResultProblem",
         FT_INT32, BASE_DEC, VALS(cmip_ReturnResultProblem_vals), 0,
-        "RejectProb/returnResultProblem", HFILL }},
+        "cmip.ReturnResultProblem", HFILL }},
     { &hf_cmip_returnErrorProblem,
       { "returnErrorProblem", "cmip.returnErrorProblem",
         FT_INT32, BASE_DEC, VALS(cmip_ReturnErrorProblem_vals), 0,
-        "RejectProb/returnErrorProblem", HFILL }},
+        "cmip.ReturnErrorProblem", HFILL }},
     { &hf_cmip_rejectProblem,
       { "rejectProblem", "cmip.rejectProblem",
         FT_UINT32, BASE_DEC, VALS(cmip_RejectProb_vals), 0,
-        "Reject/rejectProblem", HFILL }},
+        "cmip.RejectProb", HFILL }},
     { &hf_cmip_invoke,
       { "invoke", "cmip.invoke",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ROS/invoke", HFILL }},
+        "cmip.Invoke", HFILL }},
     { &hf_cmip_returnResult,
       { "returnResult", "cmip.returnResult",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ROS/returnResult", HFILL }},
+        "cmip.ReturnResult", HFILL }},
     { &hf_cmip_returnError,
       { "returnError", "cmip.returnError",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ROS/returnError", HFILL }},
+        "cmip.ReturnError", HFILL }},
     { &hf_cmip_reject,
       { "reject", "cmip.reject",
         FT_NONE, BASE_NONE, NULL, 0,
-        "ROS/reject", HFILL }},
+        "cmip.Reject", HFILL }},
     { &hf_cmip_abortSource,
       { "abortSource", "cmip.abortSource",
         FT_UINT32, BASE_DEC, VALS(cmip_CMIPAbortSource_vals), 0,
-        "CMIPAbortInfo/abortSource", HFILL }},
+        "cmip.CMIPAbortSource", HFILL }},
     { &hf_cmip_userInfo,
       { "userInfo", "cmip.userInfo",
         FT_NONE, BASE_NONE, NULL, 0,
-        "", HFILL }},
+        "acse.EXTERNALt", HFILL }},
     { &hf_cmip_protocolVersion,
       { "protocolVersion", "cmip.protocolVersion",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "CMIPUserInfo/protocolVersion", HFILL }},
+        "cmip.ProtocolVersion", HFILL }},
     { &hf_cmip_functionalUnits,
       { "functionalUnits", "cmip.functionalUnits",
         FT_BYTES, BASE_HEX, NULL, 0,
-        "CMIPUserInfo/functionalUnits", HFILL }},
+        "cmip.FunctionalUnits", HFILL }},
     { &hf_cmip_accessControl1,
       { "accessControl", "cmip.accessControl",
         FT_NONE, BASE_NONE, NULL, 0,
-        "CMIPUserInfo/accessControl", HFILL }},
+        "acse.EXTERNALt", HFILL }},
     { &hf_cmip_FunctionalUnits_multipleObjectSelection,
       { "multipleObjectSelection", "cmip.multipleObjectSelection",
         FT_BOOLEAN, 8, NULL, 0x80,
@@ -3526,7 +3560,7 @@ void proto_register_cmip(void) {
         "", HFILL }},
 
 /*--- End of included file: packet-cmip-hfarr.c ---*/
-
+#line 196 "packet-cmip-template.c"
   };
 
   /* List of subtrees */
@@ -3534,7 +3568,7 @@ void proto_register_cmip(void) {
     &ett_cmip,
 
 /*--- Included file: packet-cmip-ettarr.c ---*/
-
+#line 1 "packet-cmip-ettarr.c"
     &ett_cmip_ModificationItem,
     &ett_cmip_GetListError,
     &ett_cmip_SET_OF_GetInfoStatus,
@@ -3607,7 +3641,7 @@ void proto_register_cmip(void) {
     &ett_cmip_ProtocolVersion,
 
 /*--- End of included file: packet-cmip-ettarr.c ---*/
-
+#line 202 "packet-cmip-template.c"
   };
 
   /* Register protocol */
@@ -3623,14 +3657,22 @@ void proto_register_cmip(void) {
 /*--- proto_reg_handoff_cmip -------------------------------------------*/
 void proto_reg_handoff_cmip(void) {
        register_ber_oid_dissector("2.9.0.0.2", dissect_cmip, proto_cmip, "cmip");
-       register_ber_oid_dissector("2.9.3.2.7.35", dissect_cmip_attribute_35, proto_cmip, "smi2AttributeID (7) operationalState(35)");
-       register_ber_oid_dissector("2.9.3.2.7.55", dissect_cmip_attribute_55, proto_cmip, "smi2AttributeID (7) destination(55)");
-       register_ber_oid_dissector("2.9.3.2.7.56", dissect_cmip_attribute_56, proto_cmip, "smi2AttributeID (7) discriminatorConstruct(56)");
-       register_ber_oid_dissector("2.9.3.2.7.63", dissect_cmip_attribute_63, proto_cmip, "smi2AttributeID (7) nameBinding(63)");
-       register_ber_oid_dissector("2.9.3.2.7.65", dissect_cmip_attribute_65, proto_cmip, "smi2AttributeID (7) objectClass(65)");
+       register_ber_oid_dissector("2.9.1.1.4", dissect_cmip, proto_cmip, "joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
+
+       add_oid_str_name("2.9.3.2.3.4","eventForwardingDiscriminator(4)");
+       add_oid_str_name("2.9.1.1.4","joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
+
+
+/*--- Included file: packet-cmip-dis-tab.c ---*/
+#line 1 "packet-cmip-dis-tab.c"
+  register_ber_oid_dissector("2.9.3.2.7.35", dissect_OperationalState_PDU, proto_cmip, "smi2AttributeID(7)operationalState(35)");
+  register_ber_oid_dissector("2.9.3.2.7.55", dissect_Destination_PDU, proto_cmip, "smi2AttributeID(7)destination(55)");
+  register_ber_oid_dissector("2.9.3.2.7.56", dissect_DiscriminatorConstruct_PDU, proto_cmip, "smi2AttributeID(7)discriminatorConstruct(56)");
+  register_ber_oid_dissector("2.9.3.2.7.63", dissect_NameBinding_PDU, proto_cmip, "smi2AttributeID(7)nameBinding(63)");
+  register_ber_oid_dissector("2.9.3.2.7.65", dissect_ObjectClass_PDU, proto_cmip, "smi2AttributeID(7)objectClass(65)");
 
-       register_ber_oid_name("2.9.3.2.3.4","eventForwardingDiscriminator(4)");
-       register_ber_oid_name("2.9.1.1.4","joint-iso-itu-t(2) ms(9) cmip(1) cmip-pci(1) abstractSyntax(4)");
 
+/*--- End of included file: packet-cmip-dis-tab.c ---*/
+#line 223 "packet-cmip-template.c"
 }