aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin <martin.lutz@gmail.com>2019-10-02 17:52:28 +0200
committerAnders Broman <a.broman58@gmail.com>2019-10-03 12:40:03 +0000
commitc2c2324ac7f59ceb361126d46a58a7e205c92bfc (patch)
tree40f439e0bd6389bbb02425e956cb8220eb48b07c
parent610c7566f2d6fa2b0bec77427303af62fdedcc61 (diff)
Updated MMS ASN.1 file for IEC61850 Ed.2
Change-Id: I514fd1625d2d6f01c8175d7b61caa7ea3e5f216b Reviewed-on: https://code.wireshark.org/review/34678 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
-rw-r--r--epan/dissectors/asn1/mms/mms.asn63
-rw-r--r--epan/dissectors/packet-mms.c326
2 files changed, 357 insertions, 32 deletions
diff --git a/epan/dissectors/asn1/mms/mms.asn b/epan/dissectors/asn1/mms/mms.asn
index 2f1eb66b52..3f72c10fe4 100644
--- a/epan/dissectors/asn1/mms/mms.asn
+++ b/epan/dissectors/asn1/mms/mms.asn
@@ -597,12 +597,66 @@ ServiceError ::= SEQUENCE
deleteNamedVariableList [6] IMPLICIT DeleteNamedVariableList-Error,
deleteNamedType [7] IMPLICIT DeleteNamedType-Error,
defineEventEnrollment-Error [8] DefineEventEnrollment-Error,
- fileRename [9] IMPLICIT FileRename-Error
--- XXX this one is neither in this ASN nor in the IMPORTS
--- additionalService [10] AdditionalServiceError
+ fileRename [9] IMPLICIT FileRename-Error,
+ additionalService [10] AdditionalService-Error,
+ changeAccessControl [11] IMPLICIT ChangeAccessControl-Error
} OPTIONAL
}
+ AdditionalService-Error ::= CHOICE
+ {
+ defineEcl [0] DefineEventConditionList-Error,
+ addECLReference [1] AddEventConditionListReference-Error,
+ removeECLReference [2] RemoveEventConditionListReference-Error,
+ initiateUC [3] InitiateUnitControl-Error,
+ startUC [4] IMPLICIT StartUnitControl-Error,
+ stopUC [5] IMPLICIT StopUnitControl-Error,
+ deleteUC [6] DeleteUnitControl-Error,
+ loadUCFromFile [7] LoadUnitControlFromFile-Error
+ }
+
+ DefineEventConditionList-Error ::= ObjectName
+
+ AddEventConditionListReference-Error ::= ObjectName
+
+ RemoveEventConditionListReference-Error ::= CHOICE
+ {
+ eventCondition [0] ObjectName,
+ eventConditionList [1] ObjectName
+ }
+
+ InitiateUnitControl-Error ::= CHOICE
+ {
+ domain [0] IMPLICIT Identifier,
+ programInvocation [1] IMPLICIT Identifier
+ }
+
+ StartUnitControl-Error ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier,
+ programInvocationState [1] IMPLICIT ProgramInvocationState
+ }
+
+ StopUnitControl-Error ::= SEQUENCE
+ {
+ programInvocationName [0] IMPLICIT Identifier,
+ programInvocationState [1] IMPLICIT ProgramInvocationState
+ }
+
+ DeleteUnitControl-Error ::= CHOICE
+ {
+ domain [0] IMPLICIT Identifier,
+ programInvocation [1] IMPLICIT Identifier
+ }
+
+ LoadUnitControlFromFile-Error ::= CHOICE
+ {
+ none [0] IMPLICIT NULL,
+ domain [1] IMPLICIT Identifier,
+ programInvocation [2] IMPLICIT Identifier
+ }
+
+ ChangeAccessControl-Error ::= Unsigned32
---------------------------------- REJECT --------------------------------
@@ -1400,7 +1454,8 @@ DataAccessError ::= INTEGER
type-inconsistent (7),
object-attribute-inconsistent (8),
object-access-unsupported (9),
- object-non-existent (10)
+ object-non-existent (10),
+ object-value-invalid (11)
}
diff --git a/epan/dissectors/packet-mms.c b/epan/dissectors/packet-mms.c
index 8c31063a06..a22c90e939 100644
--- a/epan/dissectors/packet-mms.c
+++ b/epan/dissectors/packet-mms.c
@@ -284,6 +284,23 @@ static int hf_mms_deleteNamedVariableList_02 = -1; /* DeleteNamedVariableList_E
static int hf_mms_deleteNamedType_02 = -1; /* DeleteNamedType_Error */
static int hf_mms_defineEventEnrollment_Error = -1; /* DefineEventEnrollment_Error */
static int hf_mms_fileRename_02 = -1; /* FileRename_Error */
+static int hf_mms_additionalService = -1; /* AdditionalService_Error */
+static int hf_mms_changeAccessControl = -1; /* ChangeAccessControl_Error */
+static int hf_mms_defineEcl = -1; /* DefineEventConditionList_Error */
+static int hf_mms_addECLReference = -1; /* AddEventConditionListReference_Error */
+static int hf_mms_removeECLReference = -1; /* RemoveEventConditionListReference_Error */
+static int hf_mms_initiateUC = -1; /* InitiateUnitControl_Error */
+static int hf_mms_startUC = -1; /* StartUnitControl_Error */
+static int hf_mms_stopUC = -1; /* StopUnitControl_Error */
+static int hf_mms_deleteUC = -1; /* DeleteUnitControl_Error */
+static int hf_mms_loadUCFromFile = -1; /* LoadUnitControlFromFile_Error */
+static int hf_mms_eventCondition = -1; /* ObjectName */
+static int hf_mms_eventConditionList = -1; /* ObjectName */
+static int hf_mms_domain = -1; /* Identifier */
+static int hf_mms_programInvocation = -1; /* Identifier */
+static int hf_mms_programInvocationName = -1; /* Identifier */
+static int hf_mms_programInvocationState = -1; /* ProgramInvocationState */
+static int hf_mms_none = -1; /* NULL */
static int hf_mms_rejectReason = -1; /* T_rejectReason */
static int hf_mms_confirmed_requestPDU = -1; /* T_confirmed_requestPDU */
static int hf_mms_confirmed_responsePDU = -1; /* T_confirmed_responsePDU */
@@ -342,7 +359,6 @@ static int hf_mms_mmsDeletable = -1; /* BOOLEAN */
static int hf_mms_listOfProgramInvocations = -1; /* SEQUENCE_OF_Identifier */
static int hf_mms_listOfProgramInvocations_item = -1; /* Identifier */
static int hf_mms_uploadInProgress = -1; /* Integer8 */
-static int hf_mms_programInvocationName = -1; /* Identifier */
static int hf_mms_listOfDomainName = -1; /* SEQUENCE_OF_Identifier */
static int hf_mms_listOfDomainName_item = -1; /* Identifier */
static int hf_mms_reusable = -1; /* BOOLEAN */
@@ -496,7 +512,6 @@ static int hf_mms_evaluationInterval = -1; /* Unsigned32 */
static int hf_mms_specific = -1; /* SEQUENCE_OF_ObjectName */
static int hf_mms_specific_item = -1; /* ObjectName */
static int hf_mms_aa_specific_01 = -1; /* NULL */
-static int hf_mms_domain = -1; /* Identifier */
static int hf_mms_vmd = -1; /* NULL */
static int hf_mms_monitoredVariable_01 = -1; /* T_monitoredVariable */
static int hf_mms_variableReference = -1; /* VariableSpecification */
@@ -518,7 +533,6 @@ static int hf_mms_eventEnrollmentNames = -1; /* SEQUENCE_OF_ObjectName */
static int hf_mms_eventEnrollmentNames_item = -1; /* ObjectName */
static int hf_mms_continueAfter_02 = -1; /* ObjectName */
static int hf_mms_eventConditionName_01 = -1; /* T_eventConditionName */
-static int hf_mms_eventCondition = -1; /* ObjectName */
static int hf_mms_eventActionName_01 = -1; /* T_eventActionName */
static int hf_mms_eventAction = -1; /* ObjectName */
static int hf_mms_enrollmentClass = -1; /* EE_Class */
@@ -747,6 +761,13 @@ static gint ett_mms_Cancel_ErrorPDU = -1;
static gint ett_mms_ServiceError = -1;
static gint ett_mms_T_errorClass = -1;
static gint ett_mms_T_serviceSpecificInformation = -1;
+static gint ett_mms_AdditionalService_Error = -1;
+static gint ett_mms_RemoveEventConditionListReference_Error = -1;
+static gint ett_mms_InitiateUnitControl_Error = -1;
+static gint ett_mms_StartUnitControl_Error = -1;
+static gint ett_mms_StopUnitControl_Error = -1;
+static gint ett_mms_DeleteUnitControl_Error = -1;
+static gint ett_mms_LoadUnitControlFromFile_Error = -1;
static gint ett_mms_RejectPDU = -1;
static gint ett_mms_T_rejectReason = -1;
static gint ett_mms_Status_Response = -1;
@@ -3054,6 +3075,187 @@ dissect_mms_FileRename_Error(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int o
}
+
+static int
+dissect_mms_DefineEventConditionList_Error(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_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+
+static int
+dissect_mms_AddEventConditionListReference_Error(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_mms_ObjectName(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string mms_RemoveEventConditionListReference_Error_vals[] = {
+ { 0, "eventCondition" },
+ { 1, "eventConditionList" },
+ { 0, NULL }
+};
+
+static const ber_choice_t RemoveEventConditionListReference_Error_choice[] = {
+ { 0, &hf_mms_eventCondition , BER_CLASS_CON, 0, 0, dissect_mms_ObjectName },
+ { 1, &hf_mms_eventConditionList, BER_CLASS_CON, 1, 0, dissect_mms_ObjectName },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_mms_RemoveEventConditionListReference_Error(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,
+ RemoveEventConditionListReference_Error_choice, hf_index, ett_mms_RemoveEventConditionListReference_Error,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string mms_InitiateUnitControl_Error_vals[] = {
+ { 0, "domain" },
+ { 1, "programInvocation" },
+ { 0, NULL }
+};
+
+static const ber_choice_t InitiateUnitControl_Error_choice[] = {
+ { 0, &hf_mms_domain , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { 1, &hf_mms_programInvocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_mms_InitiateUnitControl_Error(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,
+ InitiateUnitControl_Error_choice, hf_index, ett_mms_InitiateUnitControl_Error,
+ NULL);
+
+ return offset;
+}
+
+
+static const ber_sequence_t StartUnitControl_Error_sequence[] = {
+ { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { &hf_mms_programInvocationState, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ProgramInvocationState },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_mms_StartUnitControl_Error(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,
+ StartUnitControl_Error_sequence, hf_index, ett_mms_StartUnitControl_Error);
+
+ return offset;
+}
+
+
+static const ber_sequence_t StopUnitControl_Error_sequence[] = {
+ { &hf_mms_programInvocationName, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { &hf_mms_programInvocationState, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_ProgramInvocationState },
+ { NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_mms_StopUnitControl_Error(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,
+ StopUnitControl_Error_sequence, hf_index, ett_mms_StopUnitControl_Error);
+
+ return offset;
+}
+
+
+static const value_string mms_DeleteUnitControl_Error_vals[] = {
+ { 0, "domain" },
+ { 1, "programInvocation" },
+ { 0, NULL }
+};
+
+static const ber_choice_t DeleteUnitControl_Error_choice[] = {
+ { 0, &hf_mms_domain , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { 1, &hf_mms_programInvocation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_mms_DeleteUnitControl_Error(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,
+ DeleteUnitControl_Error_choice, hf_index, ett_mms_DeleteUnitControl_Error,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string mms_LoadUnitControlFromFile_Error_vals[] = {
+ { 0, "none" },
+ { 1, "domain" },
+ { 2, "programInvocation" },
+ { 0, NULL }
+};
+
+static const ber_choice_t LoadUnitControlFromFile_Error_choice[] = {
+ { 0, &hf_mms_none , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_NULL },
+ { 1, &hf_mms_domain , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { 2, &hf_mms_programInvocation, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mms_Identifier },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_mms_LoadUnitControlFromFile_Error(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,
+ LoadUnitControlFromFile_Error_choice, hf_index, ett_mms_LoadUnitControlFromFile_Error,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string mms_AdditionalService_Error_vals[] = {
+ { 0, "defineEcl" },
+ { 1, "addECLReference" },
+ { 2, "removeECLReference" },
+ { 3, "initiateUC" },
+ { 4, "startUC" },
+ { 5, "stopUC" },
+ { 6, "deleteUC" },
+ { 7, "loadUCFromFile" },
+ { 0, NULL }
+};
+
+static const ber_choice_t AdditionalService_Error_choice[] = {
+ { 0, &hf_mms_defineEcl , BER_CLASS_CON, 0, 0, dissect_mms_DefineEventConditionList_Error },
+ { 1, &hf_mms_addECLReference , BER_CLASS_CON, 1, 0, dissect_mms_AddEventConditionListReference_Error },
+ { 2, &hf_mms_removeECLReference, BER_CLASS_CON, 2, 0, dissect_mms_RemoveEventConditionListReference_Error },
+ { 3, &hf_mms_initiateUC , BER_CLASS_CON, 3, 0, dissect_mms_InitiateUnitControl_Error },
+ { 4, &hf_mms_startUC , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_mms_StartUnitControl_Error },
+ { 5, &hf_mms_stopUC , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_mms_StopUnitControl_Error },
+ { 6, &hf_mms_deleteUC , BER_CLASS_CON, 6, 0, dissect_mms_DeleteUnitControl_Error },
+ { 7, &hf_mms_loadUCFromFile , BER_CLASS_CON, 7, 0, dissect_mms_LoadUnitControlFromFile_Error },
+ { 0, NULL, 0, 0, 0, NULL }
+};
+
+static int
+dissect_mms_AdditionalService_Error(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,
+ AdditionalService_Error_choice, hf_index, ett_mms_AdditionalService_Error,
+ NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_mms_ChangeAccessControl_Error(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_mms_Unsigned32(implicit_tag, tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
static const value_string mms_T_serviceSpecificInformation_vals[] = {
{ 0, "obtainFile" },
{ 1, "start" },
@@ -3065,6 +3267,8 @@ static const value_string mms_T_serviceSpecificInformation_vals[] = {
{ 7, "deleteNamedType" },
{ 8, "defineEventEnrollment-Error" },
{ 9, "fileRename" },
+ { 10, "additionalService" },
+ { 11, "changeAccessControl" },
{ 0, NULL }
};
@@ -3079,6 +3283,8 @@ static const ber_choice_t T_serviceSpecificInformation_choice[] = {
{ 7, &hf_mms_deleteNamedType_02, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_mms_DeleteNamedType_Error },
{ 8, &hf_mms_defineEventEnrollment_Error, BER_CLASS_CON, 8, 0, dissect_mms_DefineEventEnrollment_Error },
{ 9, &hf_mms_fileRename_02 , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_mms_FileRename_Error },
+ { 10, &hf_mms_additionalService, BER_CLASS_CON, 10, 0, dissect_mms_AdditionalService_Error },
+ { 11, &hf_mms_changeAccessControl, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_mms_ChangeAccessControl_Error },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -3332,7 +3538,7 @@ static const value_string mms_T_executionArgument_vals[] = {
static const ber_choice_t T_executionArgument_choice[] = {
{ 0, &hf_mms_simpleString , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
- { 1, &hf_mms_encodedString , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
+ { 1, &hf_mms_encodedString , -1/*imported*/, -1/*imported*/, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -3383,7 +3589,7 @@ static const value_string mms_T_executionArgument_01_vals[] = {
static const ber_choice_t T_executionArgument_01_choice[] = {
{ 0, &hf_mms_simpleString , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
- { 1, &hf_mms_encodedString , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
+ { 1, &hf_mms_encodedString , -1/*imported*/, -1/*imported*/, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -4631,6 +4837,7 @@ static const value_string mms_DataAccessError_vals[] = {
{ 8, "object-attribute-inconsistent" },
{ 9, "object-access-unsupported" },
{ 10, "object-non-existent" },
+ { 11, "object-value-invalid" },
{ 0, NULL }
};
@@ -5136,7 +5343,7 @@ static const value_string mms_T_loadData_vals[] = {
static const ber_choice_t T_loadData_choice[] = {
{ 0, &hf_mms_non_coded , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
- { 1, &hf_mms_coded , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
+ { 1, &hf_mms_coded , -1/*imported*/, -1/*imported*/, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -5210,7 +5417,7 @@ static const value_string mms_T_loadData_01_vals[] = {
static const ber_choice_t T_loadData_01_choice[] = {
{ 0, &hf_mms_non_coded , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mms_OCTET_STRING },
- { 1, &hf_mms_coded , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
+ { 1, &hf_mms_coded , -1/*imported*/, -1/*imported*/, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -5435,7 +5642,7 @@ static const value_string mms_T_executionArgument_02_vals[] = {
static const ber_choice_t T_executionArgument_02_choice[] = {
{ 0, &hf_mms_simpleString , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_mms_VisibleString },
- { 1, &hf_mms_encodedString , BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
+ { 1, &hf_mms_encodedString , -1/*imported*/, -1/*imported*/, BER_FLAGS_NOOWNTAG, dissect_acse_EXTERNALt },
{ 0, NULL, 0, 0, 0, NULL }
};
@@ -7952,20 +8159,20 @@ void proto_register_mms(void) {
FT_STRING, BASE_NONE, NULL, 0,
"Identifier", HFILL }},
{ &hf_mms_ap_title,
- { "ap-title", "mms.ap_title",
- FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
+ { "ap-title", "mms.ap_title_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_mms_ap_invocation_id,
- { "ap-invocation-id", "mms.ap_invocation_id",
- FT_INT32, BASE_DEC, NULL, 0,
+ { "ap-invocation-id", "mms.ap_invocation_id_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_mms_ae_qualifier,
- { "ae-qualifier", "mms.ae_qualifier",
- FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
+ { "ae-qualifier", "mms.ae_qualifier_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_mms_ae_invocation_id,
- { "ae-invocation-id", "mms.ae_invocation_id",
- FT_INT32, BASE_DEC, NULL, 0,
+ { "ae-invocation-id", "mms.ae_invocation_id_element",
+ FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_mms_localDetailCalling,
{ "localDetailCalling", "mms.localDetailCalling",
@@ -8143,6 +8350,74 @@ void proto_register_mms(void) {
{ "fileRename", "mms.fileRename",
FT_INT32, BASE_DEC, VALS(mms_FileRename_Error_vals), 0,
"FileRename_Error", HFILL }},
+ { &hf_mms_additionalService,
+ { "additionalService", "mms.additionalService",
+ FT_UINT32, BASE_DEC, VALS(mms_AdditionalService_Error_vals), 0,
+ "AdditionalService_Error", HFILL }},
+ { &hf_mms_changeAccessControl,
+ { "changeAccessControl", "mms.changeAccessControl",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "ChangeAccessControl_Error", HFILL }},
+ { &hf_mms_defineEcl,
+ { "defineEcl", "mms.defineEcl",
+ FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
+ "DefineEventConditionList_Error", HFILL }},
+ { &hf_mms_addECLReference,
+ { "addECLReference", "mms.addECLReference",
+ FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
+ "AddEventConditionListReference_Error", HFILL }},
+ { &hf_mms_removeECLReference,
+ { "removeECLReference", "mms.removeECLReference",
+ FT_UINT32, BASE_DEC, VALS(mms_RemoveEventConditionListReference_Error_vals), 0,
+ "RemoveEventConditionListReference_Error", HFILL }},
+ { &hf_mms_initiateUC,
+ { "initiateUC", "mms.initiateUC",
+ FT_UINT32, BASE_DEC, VALS(mms_InitiateUnitControl_Error_vals), 0,
+ "InitiateUnitControl_Error", HFILL }},
+ { &hf_mms_startUC,
+ { "startUC", "mms.startUC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "StartUnitControl_Error", HFILL }},
+ { &hf_mms_stopUC,
+ { "stopUC", "mms.stopUC_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "StopUnitControl_Error", HFILL }},
+ { &hf_mms_deleteUC,
+ { "deleteUC", "mms.deleteUC",
+ FT_UINT32, BASE_DEC, VALS(mms_DeleteUnitControl_Error_vals), 0,
+ "DeleteUnitControl_Error", HFILL }},
+ { &hf_mms_loadUCFromFile,
+ { "loadUCFromFile", "mms.loadUCFromFile",
+ FT_UINT32, BASE_DEC, VALS(mms_LoadUnitControlFromFile_Error_vals), 0,
+ "LoadUnitControlFromFile_Error", HFILL }},
+ { &hf_mms_eventCondition,
+ { "eventCondition", "mms.eventCondition",
+ FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
+ "ObjectName", HFILL }},
+ { &hf_mms_eventConditionList,
+ { "eventConditionList", "mms.eventConditionList",
+ FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
+ "ObjectName", HFILL }},
+ { &hf_mms_domain,
+ { "domain", "mms.domain",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Identifier", HFILL }},
+ { &hf_mms_programInvocation,
+ { "programInvocation", "mms.programInvocation",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Identifier", HFILL }},
+ { &hf_mms_programInvocationName,
+ { "programInvocationName", "mms.programInvocationName",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "Identifier", HFILL }},
+ { &hf_mms_programInvocationState,
+ { "programInvocationState", "mms.programInvocationState",
+ FT_INT32, BASE_DEC, VALS(mms_ProgramInvocationState_vals), 0,
+ NULL, HFILL }},
+ { &hf_mms_none,
+ { "none", "mms.none_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_mms_rejectReason,
{ "rejectReason", "mms.rejectReason",
FT_UINT32, BASE_DEC, VALS(mms_T_rejectReason_vals), 0,
@@ -8375,10 +8650,6 @@ void proto_register_mms(void) {
{ "uploadInProgress", "mms.uploadInProgress",
FT_INT32, BASE_DEC, NULL, 0,
"Integer8", HFILL }},
- { &hf_mms_programInvocationName,
- { "programInvocationName", "mms.programInvocationName",
- FT_STRING, BASE_NONE, NULL, 0,
- "Identifier", HFILL }},
{ &hf_mms_listOfDomainName,
{ "listOfDomainName", "mms.listOfDomainName",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -8991,10 +9262,6 @@ void proto_register_mms(void) {
{ "aa-specific", "mms.aa_specific_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_mms_domain,
- { "domain", "mms.domain",
- FT_STRING, BASE_NONE, NULL, 0,
- "Identifier", HFILL }},
{ &hf_mms_vmd,
{ "vmd", "mms.vmd_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -9079,10 +9346,6 @@ void proto_register_mms(void) {
{ "eventConditionName", "mms.eventConditionName",
FT_UINT32, BASE_DEC, VALS(mms_T_eventConditionName_vals), 0,
NULL, HFILL }},
- { &hf_mms_eventCondition,
- { "eventCondition", "mms.eventCondition",
- FT_UINT32, BASE_DEC, VALS(mms_ObjectName_vals), 0,
- "ObjectName", HFILL }},
{ &hf_mms_eventActionName_01,
{ "eventActionName", "mms.eventActionName",
FT_UINT32, BASE_DEC, VALS(mms_T_eventActionName_vals), 0,
@@ -9891,6 +10154,13 @@ void proto_register_mms(void) {
&ett_mms_ServiceError,
&ett_mms_T_errorClass,
&ett_mms_T_serviceSpecificInformation,
+ &ett_mms_AdditionalService_Error,
+ &ett_mms_RemoveEventConditionListReference_Error,
+ &ett_mms_InitiateUnitControl_Error,
+ &ett_mms_StartUnitControl_Error,
+ &ett_mms_StopUnitControl_Error,
+ &ett_mms_DeleteUnitControl_Error,
+ &ett_mms_LoadUnitControlFromFile_Error,
&ett_mms_RejectPDU,
&ett_mms_T_rejectReason,
&ett_mms_Status_Response,