1-- ASN definition from 2-- http://www.sisconet.com/techinfo.htm 3-- slightly modified 4-- 5-- 6--Corrections made July 2, 1994 7-- 8-- 9-- Modified to pass asn2wrs 10 11MMS { iso standard 9506 part(2) mms-general-module-version(2) } 12 13DEFINITIONS ::= 14 15BEGIN 16 17EXPORTS MMSpdu; 18 19IMPORTS 20 EXTERNALt, 21 AP-title, 22 AP-invocation-identifier, 23 AE-qualifier, 24 AE-invocation-identifier 25FROM ISO-8650-ACSE-1; 26 27 28MMSpdu ::= CHOICE 29 { 30 confirmed-RequestPDU [0] IMPLICIT Confirmed-RequestPDU, 31 confirmed-ResponsePDU [1] IMPLICIT Confirmed-ResponsePDU, 32 confirmed-ErrorPDU [2] IMPLICIT Confirmed-ErrorPDU, 33 unconfirmed-PDU [3] IMPLICIT Unconfirmed-PDU, 34 rejectPDU [4] IMPLICIT RejectPDU, 35 cancel-RequestPDU [5] IMPLICIT Cancel-RequestPDU, 36 cancel-ResponsePDU [6] IMPLICIT Cancel-ResponsePDU, 37 cancel-ErrorPDU [7] IMPLICIT Cancel-ErrorPDU, 38 initiate-RequestPDU [8] IMPLICIT Initiate-RequestPDU, 39 initiate-ResponsePDU [9] IMPLICIT Initiate-ResponsePDU, 40 initiate-ErrorPDU [10] IMPLICIT Initiate-ErrorPDU, 41 conclude-RequestPDU [11] IMPLICIT Conclude-RequestPDU, 42 conclude-ResponsePDU [12] IMPLICIT Conclude-ResponsePDU, 43 conclude-ErrorPDU [13] IMPLICIT Conclude-ErrorPDU 44 } 45 46 47Confirmed-RequestPDU ::= SEQUENCE 48 { 49 invokeID Unsigned32, 50 listOfModifier SEQUENCE OF Modifier OPTIONAL, 51 confirmedServiceRequest ConfirmedServiceRequest, 52 cs-request-detail [79] CS-Request-Detail OPTIONAL 53 } 54 55 56Unconfirmed-PDU ::= SEQUENCE 57 { 58 unconfirmedService UnconfirmedService, 59 cs-request-detail [79] CS-Request-Detail OPTIONAL 60 } 61 62 63Confirmed-ResponsePDU ::= SEQUENCE 64 { 65 invokeID Unsigned32, 66 confirmedServiceResponse ConfirmedServiceResponse, 67 cs-request-detail [79] CS-Request-Detail OPTIONAL 68 } 69 70 71Confirmed-ErrorPDU ::= SEQUENCE 72 { 73 invokeID [0] IMPLICIT Unsigned32, 74 modifierPosition [1] IMPLICIT Unsigned32 OPTIONAL, 75 serviceError [2] IMPLICIT ServiceError 76 } 77 78 79UnconfirmedService ::= CHOICE 80 { 81 informationReport [0] IMPLICIT InformationReport, 82 unsolicitedStatus [1] IMPLICIT UnsolicitedStatus, 83 eventNotification [2] IMPLICIT EventNotification 84-- XXX this one is neither in this ASN nor in the IMPORTS 85-- additionalService [3] AdditionalUnconfirmedService 86 } 87 88 89Modifier ::= CHOICE 90 { 91 attach-To-Event-Condition [0] IMPLICIT AttachToEventCondition, 92 attach-To-Semaphore [1] IMPLICIT AttachToSemaphore 93 } 94 95 96ConfirmedServiceRequest ::= CHOICE 97 { 98 status [0] IMPLICIT Status-Request, 99 getNameList [1] IMPLICIT GetNameList-Request, 100 identify [2] IMPLICIT Identify-Request, 101 rename [3] IMPLICIT Rename-Request, 102 read [4] IMPLICIT Read-Request, 103 write [5] IMPLICIT Write-Request, 104 getVariableAccessAttributes [6] GetVariableAccessAttributes-Request, 105 defineNamedVariable [7] IMPLICIT DefineNamedVariable-Request, 106 defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Request, 107 getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes-Request, 108 deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Request, 109 defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Request, 110 getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Request, 111 deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Request, 112 defineNamedType [14] IMPLICIT DefineNamedType-Request, 113 getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Request, 114 deleteNamedType [16] IMPLICIT DeleteNamedType-Request, 115 input [17] IMPLICIT Input-Request, 116 output [18] IMPLICIT Output-Request, 117 takeControl [19] IMPLICIT TakeControl-Request, 118 relinquishControl [20] IMPLICIT RelinquishControl-Request, 119 defineSemaphore [21] IMPLICIT DefineSemaphore-Request, 120 deleteSemaphore [22] IMPLICIT DeleteSemaphore-Request, 121 reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Request, 122 reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Request, 123 reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Request, 124 initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Request, 125 downloadSegment [27] IMPLICIT DownloadSegment-Request, 126 terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Request, 127 initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Request, 128 uploadSegment [30] IMPLICIT UploadSegment-Request, 129 terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Request, 130 requestDomainDownload [32] IMPLICIT RequestDomainDownload-Request, 131 requestDomainUpload [33] IMPLICIT RequestDomainUpload-Request, 132 loadDomainContent [34] IMPLICIT LoadDomainContent-Request, 133 storeDomainContent [35] IMPLICIT StoreDomainContent-Request, 134 deleteDomain [36] IMPLICIT DeleteDomain-Request, 135 getDomainAttributes [37] IMPLICIT GetDomainAttributes-Request, 136 createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Request, 137 deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Request, 138 start [40] IMPLICIT Start-Request, 139 stop [41] IMPLICIT Stop-Request, 140 resume [42] IMPLICIT Resume-Request, 141 reset [43] IMPLICIT Reset-Request, 142 kill [44] IMPLICIT Kill-Request, 143 getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes-Request, 144 obtainFile [46] IMPLICIT ObtainFile-Request, 145 defineEventCondition [47] IMPLICIT DefineEventCondition-Request, 146 deleteEventCondition [48] DeleteEventCondition-Request, 147 getEventConditionAttributes [49] GetEventConditionAttributes-Request, 148 reportEventConditionStatus [50] ReportEventConditionStatus-Request, 149 alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring-Request, 150 triggerEvent [52] IMPLICIT TriggerEvent-Request, 151 defineEventAction [53] IMPLICIT DefineEventAction-Request, 152 deleteEventAction [54] DeleteEventAction-Request, 153 getEventActionAttributes [55] GetEventActionAttributes-Request, 154 reportEventActionStatus [56] ReportEventActionStatus-Request, 155 defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Request, 156 deleteEventEnrollment [58] DeleteEventEnrollment-Request, 157 alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Request, 158 reportEventEnrollmentStatus [60] ReportEventEnrollmentStatus-Request, 159 getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes-Request, 160 acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification-Request, 161 getAlarmSummary [63] IMPLICIT GetAlarmSummary-Request, 162 getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Request, 163 readJournal [65] IMPLICIT ReadJournal-Request, 164 writeJournal [66] IMPLICIT WriteJournal-Request, 165 initializeJournal [67] IMPLICIT InitializeJournal-Request, 166 reportJournalStatus [68] IMPLICIT ReportJournalStatus-Request, 167 createJournal [69] IMPLICIT CreateJournal-Request, 168 deleteJournal [70] IMPLICIT DeleteJournal-Request, 169 getCapabilityList [71] IMPLICIT GetCapabilityList-Request, 170 fileOpen [72] IMPLICIT FileOpen-Request, 171 fileRead [73] IMPLICIT FileRead-Request, 172 fileClose [74] IMPLICIT FileClose-Request, 173 fileRename [75] IMPLICIT FileRename-Request, 174 fileDelete [76] IMPLICIT FileDelete-Request, 175 fileDirectory [77] IMPLICIT FileDirectory-Request 176-- XXX this one is neither in this ASN nor in the IMPORTS 177-- additionalService [78] AdditionalService-Request 178 } 179 180CS-Request-Detail ::= CHOICE { 181-- see ISO 9506-2 182-- XXX can not handle empty choice 183-- XXX fix me later 184 foo INTEGER 185 } 186 187ConfirmedServiceResponse ::= CHOICE 188 { 189 status [0] IMPLICIT Status-Response, 190 getNameList [1] IMPLICIT GetNameList-Response, 191 identify [2] IMPLICIT Identify-Response, 192 rename [3] IMPLICIT Rename-Response, 193 read [4] IMPLICIT Read-Response, 194 write [5] IMPLICIT Write-Response, 195 getVariableAccessAttributes [6] IMPLICIT GetVariableAccessAttributes-Response, 196 defineNamedVariable [7] IMPLICIT DefineNamedVariable-Response, 197 defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Response, 198 getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes-Response, 199 deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Response, 200 defineNamedVariableList [11] IMPLICIT DefineNamedVariableList-Response, 201 getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes-Response, 202 deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList-Response, 203 defineNamedType [14] IMPLICIT DefineNamedType-Response, 204 getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes-Response, 205 deleteNamedType [16] IMPLICIT DeleteNamedType-Response, 206 input [17] IMPLICIT Input-Response, 207 output [18] IMPLICIT Output-Response, 208 takeControl [19] TakeControl-Response, 209 relinquishControl [20] IMPLICIT RelinquishControl-Response, 210 defineSemaphore [21] IMPLICIT DefineSemaphore-Response, 211 deleteSemaphore [22] IMPLICIT DeleteSemaphore-Response, 212 reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus-Response, 213 reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus-Response, 214 reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus-Response, 215 initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence-Response, 216 downloadSegment [27] IMPLICIT DownloadSegment-Response, 217 terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence-Response, 218 initiateUploadSequence [29] IMPLICIT InitiateUploadSequence-Response, 219 uploadSegment [30] IMPLICIT UploadSegment-Response, 220 terminateUploadSequence [31] IMPLICIT TerminateUploadSequence-Response, 221 requestDomainDownLoad [32] IMPLICIT RequestDomainDownload-Response, 222 requestDomainUpload [33] IMPLICIT RequestDomainUpload-Response, 223 loadDomainContent [34] IMPLICIT LoadDomainContent-Response, 224 storeDomainContent [35] IMPLICIT StoreDomainContent-Response, 225 deleteDomain [36] IMPLICIT DeleteDomain-Response, 226 getDomainAttributes [37] IMPLICIT GetDomainAttributes-Response, 227 createProgramInvocation [38] IMPLICIT CreateProgramInvocation-Response, 228 deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation-Response, 229 start [40] IMPLICIT Start-Response, 230 stop [41] IMPLICIT Stop-Response, 231 resume [42] IMPLICIT Resume-Response, 232 reset [43] IMPLICIT Reset-Response, 233 kill [44] IMPLICIT Kill-Response, 234 getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes-Response, 235 obtainFile [46] IMPLICIT ObtainFile-Response, 236 fileOpen [72] IMPLICIT FileOpen-Response, 237 defineEventCondition [47] IMPLICIT DefineEventCondition-Response, 238 deleteEventCondition [48] IMPLICIT DeleteEventCondition-Response, 239 getEventConditionAttributes [49] IMPLICIT GetEventConditionAttributes-Response, 240 reportEventConditionStatus [50] IMPLICIT ReportEventConditionStatus-Response, 241 alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring-Response, 242 triggerEvent [52] IMPLICIT TriggerEvent-Response, 243 defineEventAction [53] IMPLICIT DefineEventAction-Response, 244 deleteEventAction [54] IMPLICIT DeleteEventAction-Response, 245 getEventActionAttributes [55] IMPLICIT GetEventActionAttributes-Response, 246 reportActionStatus [56] IMPLICIT ReportEventActionStatus-Response, 247 defineEventEnrollment [57] IMPLICIT DefineEventEnrollment-Response, 248 deleteEventEnrollment [58] IMPLICIT DeleteEventEnrollment-Response, 249 alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Response, 250 reportEventEnrollmentStatus [60] IMPLICIT ReportEventEnrollmentStatus-Response, 251 getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes-Response, 252 acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification-Response, 253 getAlarmSummary [63] IMPLICIT GetAlarmSummary-Response, 254 getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary-Response, 255 readJournal [65] IMPLICIT ReadJournal-Response, 256 writeJournal [66] IMPLICIT WriteJournal-Response, 257 initializeJournal [67] IMPLICIT InitializeJournal-Response, 258 reportJournalStatus [68] IMPLICIT ReportJournalStatus-Response, 259 createJournal [69] IMPLICIT CreateJournal-Response, 260 deleteJournal [70] IMPLICIT DeleteJournal-Response, 261 getCapabilityList [71] IMPLICIT GetCapabilityList-Response, 262 fileRead [73] IMPLICIT FileRead-Response, 263 fileClose [74] IMPLICIT FileClose-Response, 264 fileRename [75] IMPLICIT FileRename-Response, 265 fileDelete [76] IMPLICIT FileDelete-Response, 266 fileDirectory [77] IMPLICIT FileDirectory-Response 267-- XXX this one is neither in this ASN nor in the IMPORTS 268-- additionalService [78] AdditionalService-Response 269 } 270 271--********************************** COMMON MMS TYPES *********************************** 272 273FileName ::= SEQUENCE OF GraphicString 274 275TimeOfDay ::= OCTET STRING -- (SIZE (4 | 6)) 276 277Identifier ::= VisibleString 278 279MMSString ::= UTF8String 280 281Integer8 ::= INTEGER 282Integer16 ::= INTEGER 283Integer32 ::= INTEGER 284 285 286Unsigned8 ::= INTEGER 287Unsigned16 ::= INTEGER 288Unsigned32 ::= INTEGER 289 290 291ObjectName ::= CHOICE 292 { 293 vmd-specific [0] IMPLICIT Identifier, 294 domain-specific [1] IMPLICIT SEQUENCE 295 { 296 domainId Identifier, 297 itemId Identifier 298 }, 299 aa-specific [2] IMPLICIT Identifier 300 } 301 302 303ApplicationReference ::= SEQUENCE 304 { 305 ap-title [0] AP-title OPTIONAL, 306 ap-invocation-id [1] AP-invocation-identifier OPTIONAL, 307 ae-qualifier [2] AE-qualifier OPTIONAL, 308 ae-invocation-id [3] AE-invocation-identifier OPTIONAL 309 } 310 311 312Priority ::= Unsigned8 313 314normalPriority Priority ::= 64 315 316 317 318 319 320-- ************************************ GENERAL ************************************* 321 322Initiate-ErrorPDU ::= ServiceError 323 324Initiate-RequestPDU ::= SEQUENCE 325 { 326 localDetailCalling [0] IMPLICIT Integer32 OPTIONAL, 327 proposedMaxServOutstandingCalling [1] IMPLICIT Integer16, 328 proposedMaxServOutstandingCalled [2] IMPLICIT Integer16, 329 proposedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL, 330 mmsInitRequestDetail [4] IMPLICIT InitRequestDetail 331 } 332 333InitRequestDetail ::= SEQUENCE 334 { 335 proposedVersionNumber [0] IMPLICIT Integer16, 336 proposedParameterCBB [1] IMPLICIT ParameterSupportOptions, 337 servicesSupportedCalling [2] IMPLICIT ServiceSupportOptions 338 } 339 340Initiate-ResponsePDU ::= SEQUENCE 341 { 342 localDetailCalled [0] IMPLICIT Integer32 OPTIONAL, 343 negociatedMaxServOutstandingCalling [1] IMPLICIT Integer16, 344 negociatedMaxServOutstandingCalled [2] IMPLICIT Integer16, 345 negociatedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL, 346 mmsInitResponseDetail [4] IMPLICIT InitResponseDetail 347 } 348 349InitResponseDetail ::= SEQUENCE 350 { 351 negociatedVersionNumber [0] IMPLICIT Integer16, 352 negociatedParameterCBB [1] IMPLICIT ParameterSupportOptions, 353 servicesSupportedCalled [2] IMPLICIT ServiceSupportOptions 354 } 355 356 357ParameterSupportOptions ::= BIT STRING { 358 str1 (0), 359 str2 (1), 360 vnam (2), 361 valt (3), 362 vadr (4), 363 vsca (5), 364 tpy (6), 365 vlis (7), 366 real (8), 367 cei (10) 368 } 369 370 371ServiceSupportOptions ::= BIT STRING 372 { 373 status (0), 374 getNameList (1), 375 identify (2), 376 rename (3), 377 read (4), 378 write (5), 379 getVariableAccessAttributes (6), 380 defineNamedVariable (7), 381 defineScatteredAccess (8), 382 getScatteredAccessAttributes (9), 383 deleteVariableAccess (10), 384 defineNamedVariableList (11), 385 getNamedVariableListAttributes (12), 386 deleteNamedVariableList (13), 387 defineNamedType (14), 388 getNamedTypeAttributes (15), 389 deleteNamedType (16), 390 input (17), 391 output (18), 392 takeControl (19), 393 relinquishControl (20), 394 defineSemaphore (21), 395 deleteSemaphore (22), 396 reportSemaphoreStatus (23), 397 reportPoolSemaphoreStatus (24), 398 reportSemaphoreEntryStatus (25), 399 initiateDownloadSequence (26), 400 downloadSegment (27), 401 terminateDownloadSequence (28), 402 initiateUploadSequence (29), 403 uploadSegment (30), 404 terminateUploadSequence (31), 405 requestDomainDownload (32), 406 requestDomainUpload (33), 407 loadDomainContent (34), 408 storeDomainContent (35), 409 deleteDomain (36), 410 getDomainAttributes (37), 411 createProgramInvocation (38), 412 deleteProgramInvocation (39), 413 start (40), 414 stop (41), 415 resume (42), 416 reset (43), 417 kill (44), 418 getProgramInvocationAttributes (45), 419 obtainFile (46), 420 defineEventCondition (47), 421 deleteEventCondition (48), 422 getEventConditionAttributes (49), 423 reportEventConditionStatus (50), 424 alterEventConditionMonitoring (51), 425 triggerEvent (52), 426 defineEventAction (53), 427 deleteEventAction (54), 428 getEventActionAttributes (55), 429 reportActionStatus (56), 430 defineEventEnrollment (57), 431 deleteEventEnrollment (58), 432 alterEventEnrollment (59), 433 reportEventEnrollmentStatus (60), 434 getEventEnrollmentAttributes (61), 435 acknowledgeEventNotification (62), 436 getAlarmSummary (63), 437 getAlarmEnrollmentSummary (64), 438 readJournal (65), 439 writeJournal (66), 440 initializeJournal (67), 441 reportJournalStatus (68), 442 createJournal (69), 443 deleteJournal (70), 444 getCapabilityList (71), 445 fileOpen (72), 446 fileRead (73), 447 fileClose (74), 448 fileRename (75), 449 fileDelete (76), 450 fileDirectory (77), 451 unsolicitedStatus (78), 452 informationReport (79), 453 eventNotification (80), 454 attachToEventCondition (81), 455 attachToSemaphore (82), 456 conclude (83), 457 cancel (84) 458 } 459 460---------------------------------- CONCLUDE -------------------------------- 461 462Conclude-RequestPDU ::= NULL 463 464Conclude-ResponsePDU ::= NULL 465 466Conclude-ErrorPDU ::= ServiceError 467 468---------------------------------- CANCEL -------------------------------- 469 470Cancel-RequestPDU ::= Unsigned32 -- originalInvokeID 471 472Cancel-ResponsePDU ::= Unsigned32 -- originalInvokeID 473 474Cancel-ErrorPDU ::= SEQUENCE 475 { 476 originalInvokeID [0] IMPLICIT Unsigned32, 477 serviceError [1] IMPLICIT ServiceError 478 } 479 480------------------------------ Service-Error -------------------------------- 481 482ServiceError ::= SEQUENCE 483 { 484 errorClass [0] CHOICE 485 { 486 vmd-state [0] IMPLICIT INTEGER 487 { 488 other (0), 489 vmd-state-conflict (1), 490 vmd-operational-problem (2), 491 domain-transfer-problem (3), 492 state-machine-id-invalid (4) 493 }, 494 application-reference [1] IMPLICIT INTEGER 495 { 496 other (0), 497 aplication-unreachable (1), 498 connection-lost (2), 499 application-reference-invalid (3), 500 context-unsupported (4) 501 }, 502 definition [2] IMPLICIT INTEGER 503 { 504 other (0), 505 object-undefined (1), 506 invalid-address (2), 507 type-unsupported (3), 508 type-inconsistent (4), 509 object-exists (5), 510 object-attribute-inconsistent (6) 511 }, 512 resource [3] IMPLICIT INTEGER 513 { 514 other (0), 515 memory-unavailable (1), 516 processor-resource-unavailable (2), 517 mass-storage-unavailable (3), 518 capability-unavailable (4), 519 capability-unknown (5) 520 }, 521 service [4] IMPLICIT INTEGER 522 { 523 other (0), 524 primitives-out-of-sequence (1), 525 object-sate-conflict (2), 526 pdu-size (3), 527 continuation-invalid (4), 528 object-constraint-conflict (5) 529 }, 530 service-preempt [5] IMPLICIT INTEGER 531 { 532 other (0), 533 timeout (1), 534 deadlock (2), 535 cancel (3) 536 }, 537 time-resolution [6] IMPLICIT INTEGER 538 { 539 other (0), 540 unsupportable-time-resolution (1) 541 }, 542 access [7] IMPLICIT INTEGER 543 { 544 other (0), 545 object-access-unsupported (1), 546 object-non-existent (2), 547 object-access-denied (3), 548 object-invalidated (4) 549 }, 550 initiate [8] IMPLICIT INTEGER 551 { 552 other (0), 553 version-incompatible (1), 554 max-segment-insufficient (2), 555 max-services-outstanding-calling-insufficient (3), 556 max-services-outstanding-called-insufficient (4), 557 service-CBB-insufficient (5), 558 parameter-CBB-insufficient (6), 559 nesting-level-insufficient (7) 560 }, 561 conclude [9] IMPLICIT INTEGER 562 { 563 other (0), 564 further-communication-required (1) 565 }, 566 cancel [10] IMPLICIT INTEGER 567 { 568 other (0), 569 invoke-id-unknown (1), 570 cancel-not-possible (2) 571 }, 572 file [11] IMPLICIT INTEGER 573 { 574 other (0), 575 filename-ambiguous (1), 576 file-busy (2), 577 filename-syntax-error (3), 578 content-type-invalid (4), 579 position-invalid (5), 580 file-acces-denied (6), 581 file-non-existent (7), 582 duplicate-filename (8), 583 insufficient-space-in-filestore (9) 584 }, 585 others [12] IMPLICIT INTEGER 586 }, 587 additionalCode [1] IMPLICIT INTEGER OPTIONAL, 588 additionalDescription [2] IMPLICIT VisibleString OPTIONAL, 589 serviceSpecificInformation [3] CHOICE 590 { 591 obtainFile [0] IMPLICIT ObtainFile-Error, 592 start [1] IMPLICIT Start-Error, 593 stop [2] IMPLICIT Stop-Error, 594 resume [3] IMPLICIT Resume-Error, 595 reset [4] IMPLICIT Reset-Error, 596 deleteVariableAccess [5] IMPLICIT DeleteVariableAccess-Error, 597 deleteNamedVariableList [6] IMPLICIT DeleteNamedVariableList-Error, 598 deleteNamedType [7] IMPLICIT DeleteNamedType-Error, 599 defineEventEnrollment-Error [8] DefineEventEnrollment-Error, 600 fileRename [9] IMPLICIT FileRename-Error, 601 additionalService [10] AdditionalService-Error, 602 changeAccessControl [11] IMPLICIT ChangeAccessControl-Error 603 } OPTIONAL 604 } 605 606 AdditionalService-Error ::= CHOICE 607 { 608 defineEcl [0] DefineEventConditionList-Error, 609 addECLReference [1] AddEventConditionListReference-Error, 610 removeECLReference [2] RemoveEventConditionListReference-Error, 611 initiateUC [3] InitiateUnitControl-Error, 612 startUC [4] IMPLICIT StartUnitControl-Error, 613 stopUC [5] IMPLICIT StopUnitControl-Error, 614 deleteUC [6] DeleteUnitControl-Error, 615 loadUCFromFile [7] LoadUnitControlFromFile-Error 616 } 617 618 DefineEventConditionList-Error ::= ObjectName 619 620 AddEventConditionListReference-Error ::= ObjectName 621 622 RemoveEventConditionListReference-Error ::= CHOICE 623 { 624 eventCondition [0] ObjectName, 625 eventConditionList [1] ObjectName 626 } 627 628 InitiateUnitControl-Error ::= CHOICE 629 { 630 domain [0] IMPLICIT Identifier, 631 programInvocation [1] IMPLICIT Identifier 632 } 633 634 StartUnitControl-Error ::= SEQUENCE 635 { 636 programInvocationName [0] IMPLICIT Identifier, 637 programInvocationState [1] IMPLICIT ProgramInvocationState 638 } 639 640 StopUnitControl-Error ::= SEQUENCE 641 { 642 programInvocationName [0] IMPLICIT Identifier, 643 programInvocationState [1] IMPLICIT ProgramInvocationState 644 } 645 646 DeleteUnitControl-Error ::= CHOICE 647 { 648 domain [0] IMPLICIT Identifier, 649 programInvocation [1] IMPLICIT Identifier 650 } 651 652 LoadUnitControlFromFile-Error ::= CHOICE 653 { 654 none [0] IMPLICIT NULL, 655 domain [1] IMPLICIT Identifier, 656 programInvocation [2] IMPLICIT Identifier 657 } 658 659 ChangeAccessControl-Error ::= Unsigned32 660 661---------------------------------- REJECT -------------------------------- 662 663RejectPDU ::= SEQUENCE 664 { 665 originalInvokeID [0] IMPLICIT Unsigned32 OPTIONAL, 666 rejectReason CHOICE 667 { 668 confirmed-requestPDU [1] IMPLICIT INTEGER 669 { 670 other (0), 671 unrecognized-service (1), 672 unrecognized-modifier (2), 673 invalid-invokeID (3), 674 invalid-argument (4), 675 invalid-modifier (5), 676 max-serv-outstanding-exceeded (6), 677 max-recursion-exceeded (8), 678 value-out-of-range (9) 679 }, 680 681 confirmed-responsePDU [2] IMPLICIT INTEGER 682 { 683 other (0), 684 unrecognized-service (1), 685 invalid-invokeID (2), 686 invalid-result (3), 687 max-recursion-exceeded (5), 688 value-out-of-range (6) 689 }, 690 691 confirmed-errorPDU [3] IMPLICIT INTEGER 692 { 693 other (0), 694 unrecognized-service (1), 695 invalid-invokeID (2), 696 invalid-serviceError (3), 697 value-out-of-range (4) 698 } , 699 700 unconfirmedPDU [4] IMPLICIT INTEGER 701 { 702 other (0), 703 unrecognized-service (1), 704 invalid-argument (2), 705 max-recursion-exceeded (3), 706 value-out-of-range (4) 707 }, 708 709 pdu-error [5] IMPLICIT INTEGER 710 { 711 unknown-pdu-type (0), 712 invalid-pdu (1), 713 illegal-acse-mapping (2) 714 }, 715 716 cancel-requestPDU [6] IMPLICIT INTEGER 717 { 718 other (0), 719 invalid-invokeID (1) 720 }, 721 722 cancel-responsePDU [7] IMPLICIT INTEGER 723 { 724 other (0), 725 invalid-invokeID (1) 726 }, 727 728 cancel-errorPDU [8] IMPLICIT INTEGER 729 { 730 other (0), 731 invalid-invokeID (1), 732 invalid-serviceError (2), 733 value-out-of-range (3) 734 }, 735 736 conclude-requestPDU [9] IMPLICIT INTEGER 737 { 738 other (0), 739 invalid-argument (1) 740 }, 741 742 conclude-responsePDU [10] IMPLICIT INTEGER 743 { 744 other (0), 745 invalid-result (1) 746 }, 747 748 conclude-errorPDU [11] IMPLICIT INTEGER 749 { 750 other (0), 751 invalid-serviceError (1), 752 value-out-of-range (2) 753 } 754 } 755 } 756 757 758-- *************************************** VMD ******************************************** 759 760 761Status-Request ::= BOOLEAN 762 763Status-Response ::= SEQUENCE { 764 vmdLogicalStatus [0] IMPLICIT INTEGER { 765 state-changes-allowed (0), 766 no-state-changes-allowed (1), 767 limited-services-allowed (2), 768 support-services-allowed (3) 769 }, 770 vmdPhysicalStatus [1] IMPLICIT INTEGER { 771 operational (0), 772 partially-operational (1), 773 inoperable (2), 774 needs-commissioning (3) 775 }, 776 localDetail [2] IMPLICIT BIT STRING(SIZE(0..128)) OPTIONAL 777 778 } 779 780-- UNSOLICITEDSTATUS 781 782UnsolicitedStatus ::= Status-Response 783 784-- GETNAMELIST 785 786GetNameList-Request ::= SEQUENCE 787 { 788 extendedObjectClass [0] CHOICE 789 { 790 objectClass [0] IMPLICIT INTEGER 791 { 792 nammedVariable (0), 793 scatteredAccess (1), 794 namedVariableList (2), 795 namedType (3), 796 semaphore (4), 797 eventCondition (5), 798 eventAction (6), 799 eventEnrollment (7), 800 journal (8), 801 domain (9), 802 programInvocation (10), 803 operatorStation (11) 804 } 805 }, 806 objectScope [1] CHOICE 807 { 808 vmdSpecific [0] IMPLICIT NULL, 809 domainSpecific [1] IMPLICIT Identifier, 810 aaSpecific [2] IMPLICIT NULL 811 }, 812 continueAfter [2] IMPLICIT Identifier OPTIONAL 813 } 814 815GetNameList-Response ::= SEQUENCE 816 { 817 listOfIdentifier [0] IMPLICIT SEQUENCE OF Identifier, 818 moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE 819 } 820 821 822---------------------------------- IDENTIFY -------------------------------- 823 824Identify-Request ::= NULL 825 826Identify-Response ::= SEQUENCE { 827 vendorName [0] IMPLICIT VisibleString, 828 modelName [1] IMPLICIT VisibleString, 829 revision [2] IMPLICIT VisibleString, 830 listOfAbstractSyntaxes [3] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL 831 } 832 833---------------------------------- RENAME -------------------------------- 834 835Rename-Request ::= SEQUENCE 836 { 837 extendedObjectClass [0] CHOICE { 838 objectClass [0] IMPLICIT INTEGER 839 { 840 namedVariable (0), 841 scatteredAccess (1), 842 namedVariableList (2), 843 namedType (3), 844 semaphore (4), 845 eventCondition (5), 846 eventAction (6), 847 eventEnrollment (7), 848 journal (8), 849 domain (9), 850 programInvocation (10), 851 operatorStation (11) 852 } 853 854 }, 855 currentName [1] ObjectName, 856 newIdentifier [2] IMPLICIT Identifier 857 } 858 859Rename-Response ::= NULL 860 861---------------------------------- GET CAPABILITY LIST -------------------------------- 862 863GetCapabilityList-Request ::= SEQUENCE { 864 continueAfter VisibleString OPTIONAL 865 } 866 867GetCapabilityList-Response ::= SEQUENCE { 868 listOfCapabilities [0] IMPLICIT SEQUENCE OF VisibleString, 869 moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE 870 } 871 872 873 874 875 876-- ************************************* DOMAIN **************************************** 877 878InitiateDownloadSequence-Request ::= SEQUENCE 879 { 880 domainName [0] IMPLICIT Identifier, 881 listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString, 882 sharable [2] IMPLICIT BOOLEAN 883 } 884 885InitiateDownloadSequence-Response ::= NULL 886 887-- DOWNLOAD SEGMENT 888 889DownloadSegment-Request ::= Identifier 890 891DownloadSegment-Response ::= SEQUENCE 892 { 893 loadData CHOICE { 894 non-coded [0] IMPLICIT OCTET STRING, 895 coded EXTERNALt 896 }, 897 moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE 898 } 899 900-- TERMINATE DOWNLOAD 901 902TerminateDownloadSequence-Request ::= SEQUENCE 903 { 904 domainName [0] IMPLICIT Identifier, 905 discard [1] IMPLICIT ServiceError OPTIONAL 906 } 907 908TerminateDownloadSequence-Response ::= NULL 909 910-- INITIATE UPLOAD 911 912InitiateUploadSequence-Request ::= Identifier -- Domain Name 913 914InitiateUploadSequence-Response ::= SEQUENCE 915 { 916 ulsmID [0] IMPLICIT Integer32, 917 listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString 918 } 919 920-- UPLOAD SEGMENT 921 922UploadSegment-Request ::= Integer32 -- ULSM Identifier 923 924UploadSegment-Response ::= SEQUENCE 925 { 926 loadData CHOICE { 927 non-coded [0] IMPLICIT OCTET STRING, 928 coded EXTERNALt 929 }, 930 moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE 931 } 932 933-- TERMINATE UPLOAD 934 935TerminateUploadSequence-Request ::= Integer32 -- ULSM Identifer 936 937TerminateUploadSequence-Response ::= NULL 938 939-- REQUEST DOMAIN DOWNLOAD 940 941RequestDomainDownload-Request ::= SEQUENCE 942 { 943 domainName [0] IMPLICIT Identifier, 944 listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString OPTIONAL, 945 sharable [2] IMPLICIT BOOLEAN, 946 fileName [4] IMPLICIT FileName 947 } 948RequestDomainDownload-Response ::= NULL 949 950-- REQUEST DOMAIN UPLOAD 951 952RequestDomainUpload-Request ::= SEQUENCE 953 { 954 domainName [0] IMPLICIT Identifier, 955 fileName [1] IMPLICIT FileName 956 } 957 958RequestDomainUpload-Response ::= NULL 959 960-- LOAD DOMAIN CONTENT 961 962LoadDomainContent-Request ::= SEQUENCE 963 { 964 domainName [0] IMPLICIT Identifier, 965 listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString OPTIONAL, 966 sharable [2] IMPLICIT BOOLEAN, 967 fileName [4] IMPLICIT FileName, 968 thirdParty [5] IMPLICIT ApplicationReference OPTIONAL 969 } 970 971LoadDomainContent-Response ::= NULL 972 973-- STORE DOMAIN CONTENT 974 975StoreDomainContent-Request ::= SEQUENCE 976 { 977 domainName [0] IMPLICIT Identifier, 978 filenName [1] IMPLICIT FileName, 979 thirdParty [2] IMPLICIT ApplicationReference OPTIONAL 980 } 981 982StoreDomainContent-Response ::= NULL 983 984-- DELETE DOMAIN 985 986DeleteDomain-Request ::= Identifier -- Domain Name 987 988DeleteDomain-Response ::= NULL 989 990-- GET DOMAIN ATTRIBUTES 991 992GetDomainAttributes-Request ::= Identifier -- Domain Name 993 994GetDomainAttributes-Response ::= SEQUENCE 995 { 996 listOfCapabilities [0] IMPLICIT SEQUENCE OF VisibleString, 997 state [1] IMPLICIT DomainState, 998 mmsDeletable [2] IMPLICIT BOOLEAN, 999 sharable [3] IMPLICIT BOOLEAN, 1000 listOfProgramInvocations [4] IMPLICIT SEQUENCE OF Identifier, -- PI Names 1001 uploadInProgress [5] IMPLICIT Integer8 1002 } 1003 1004 1005DomainState ::= INTEGER 1006 { 1007 non-existent (0), 1008 loading (1), 1009 ready (2), 1010 in-use (3), 1011 complete (4), 1012 incomplete (5), 1013 d1 (7), 1014 d2 (8), 1015 d3 (9), 1016 d4 (10), 1017 d5 (11), 1018 d6 (12), 1019 d7 (13), 1020 d8 (14), 1021 d9 (15) 1022 } 1023 1024-- ********************************* PROGRAM INVOCATION ********************************* 1025 1026 1027-- CREATE PROGRAM INVOCATION 1028 1029CreateProgramInvocation-Request ::= SEQUENCE 1030 { 1031 programInvocationName [0] IMPLICIT Identifier, 1032 listOfDomainName [1] IMPLICIT SEQUENCE OF Identifier, 1033 reusable [2] IMPLICIT BOOLEAN DEFAULT TRUE, 1034 monitorType [3] IMPLICIT BOOLEAN OPTIONAL 1035 -- TRUE indicates PERMANENT monitoring 1036 -- FALSE indicates CURRENT monitoring 1037 } 1038 1039CreateProgramInvocation-Response ::= NULL 1040 1041-- DELETE PROGRAM INVOCATION 1042 1043DeleteProgramInvocation-Request ::= Identifier -- Program Invocation Name 1044 1045DeleteProgramInvocation-Response ::= NULL 1046 1047-- START 1048 1049Start-Request ::= SEQUENCE 1050 { 1051 programInvocationName [0] IMPLICIT Identifier, 1052 executionArgument CHOICE { 1053 simpleString [1] IMPLICIT VisibleString, 1054 encodedString EXTERNALt 1055 } OPTIONAL 1056 } 1057 1058Start-Response ::= NULL 1059 1060Start-Error ::= ProgramInvocationState 1061 1062-- STOP 1063 1064Stop-Request ::= SEQUENCE 1065 { 1066 programInvocationName [0] IMPLICIT Identifier 1067 } 1068 1069Stop-Response ::= NULL 1070 1071Stop-Error ::= ProgramInvocationState 1072 1073-- RESUME 1074 1075Resume-Request ::= SEQUENCE 1076 { 1077 programInvocationName [0] IMPLICIT Identifier, 1078 executionArgument CHOICE { 1079 simpleString [1] IMPLICIT VisibleString, 1080 encodedString EXTERNALt 1081 } OPTIONAL 1082 } 1083 1084Resume-Response ::= NULL 1085 1086Resume-Error ::= ProgramInvocationState 1087 1088-- RESET 1089 1090Reset-Request ::= SEQUENCE 1091 { 1092 programInvocationName [0] IMPLICIT Identifier 1093 } 1094 1095Reset-Response ::= NULL 1096 1097Reset-Error ::= ProgramInvocationState 1098 1099-- KILL 1100 1101Kill-Request ::= SEQUENCE 1102 { 1103 programInvocationName [0] IMPLICIT Identifier 1104 } 1105 1106Kill-Response ::= NULL 1107 1108-- GET PI ATTRIBUTES 1109 1110GetProgramInvocationAttributes-Request ::= Identifier -- Program Invocation Name 1111 1112GetProgramInvocationAttributes-Response ::= SEQUENCE 1113 { 1114 state [0] IMPLICIT ProgramInvocationState, 1115 listOfDomainNames [1] IMPLICIT SEQUENCE OF Identifier, 1116 mmsDeletable [2] IMPLICIT BOOLEAN, 1117 reusable [3] IMPLICIT BOOLEAN, 1118 monitor [4] IMPLICIT BOOLEAN, 1119 startArgument [5] IMPLICIT VisibleString, 1120 executionArgument CHOICE { 1121 simpleString [1] IMPLICIT VisibleString, 1122 encodedString EXTERNALt 1123 } OPTIONAL 1124 } 1125 1126 1127ProgramInvocationState ::= INTEGER 1128 { 1129 non-existent (0), 1130 unrunable (1), 1131 idle (2), 1132 running (3), 1133 stopped (4), 1134 starting (5), 1135 stopping (6), 1136 resuming (7), 1137 resetting (8) 1138 } 1139 -- Companion Standard may add additional values 1140 1141 1142-- *********************************** VARIABLES **************************************** 1143 1144 1145TypeSpecification ::= CHOICE 1146 { 1147 typeName [0] ObjectName, 1148 array [1] IMPLICIT SEQUENCE 1149 { 1150 packed [0] IMPLICIT BOOLEAN DEFAULT FALSE, 1151 numberOfElements [1] IMPLICIT Unsigned32, 1152 elementType [2] TypeSpecification 1153 }, 1154 structure [2] IMPLICIT SEQUENCE 1155 { 1156 packed [0] IMPLICIT BOOLEAN DEFAULT FALSE, 1157 components [1] IMPLICIT SEQUENCE OF SEQUENCE 1158 { 1159 componentName [0] IMPLICIT Identifier OPTIONAL, 1160 componentType [1] TypeSpecification 1161 } 1162 }, 1163 1164 -- Simple Type 1165 boolean [3] IMPLICIT NULL, 1166 bit-string [4] IMPLICIT Integer32, 1167 integer [5] IMPLICIT Unsigned8, 1168 unsigned [6] IMPLICIT Unsigned8, 1169 octet-string [9] IMPLICIT Integer32, 1170 visible-string [10] IMPLICIT Integer32, 1171 generalized-time [11] IMPLICIT NULL, 1172 binary-time [12] IMPLICIT BOOLEAN, 1173 bcd [13] IMPLICIT Unsigned8, 1174 objId [15] IMPLICIT NULL 1175 } 1176 1177AlternateAccess ::= SEQUENCE OF CHOICE 1178 { 1179 unnamed AlternateAccessSelection, 1180 named [5] IMPLICIT SEQUENCE 1181 { 1182 componentName [0] IMPLICIT Identifier, 1183 accesst AlternateAccessSelection 1184 } 1185 } 1186 1187AlternateAccessSelection ::= CHOICE 1188 { 1189 selectAlternateAccess [0] IMPLICIT SEQUENCE 1190 { 1191 accessSelection CHOICE 1192 { 1193 component [0] IMPLICIT Identifier, 1194 index [1] IMPLICIT Unsigned32, 1195 indexRange [2] IMPLICIT SEQUENCE 1196 { 1197 lowIndex [0] IMPLICIT Unsigned32, 1198 numberOfElements [1] IMPLICIT Unsigned32}, 1199 allElements [3] IMPLICIT NULL 1200 }, 1201 alternateAccess AlternateAccess 1202 }, 1203 selectAccess CHOICE 1204 { 1205 component [1] IMPLICIT Identifier, 1206 index [2] IMPLICIT Unsigned32, 1207 indexRange [3] IMPLICIT SEQUENCE 1208 { 1209 lowIndex [0] IMPLICIT Unsigned32, 1210 nmberOfElements [1] IMPLICIT Unsigned32 1211 }, 1212 allElements [4] IMPLICIT NULL 1213 } 1214 } 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226-- READ 1227 1228Read-Request ::= SEQUENCE 1229 { 1230 specificationWithResult [0] IMPLICIT BOOLEAN DEFAULT FALSE, 1231 variableAccessSpecificatn [1] VariableAccessSpecification 1232 } 1233 1234 1235Read-Response ::= SEQUENCE 1236 { 1237 variableAccessSpecificatn [0] VariableAccessSpecification OPTIONAL, 1238 listOfAccessResult [1] IMPLICIT SEQUENCE OF AccessResult 1239 } 1240 1241-- WRITE 1242 1243 1244 1245Write-Request ::= SEQUENCE 1246 { 1247 variableAccessSpecificatn VariableAccessSpecification, 1248 listOfData [0] IMPLICIT SEQUENCE OF Data 1249 } 1250 1251Write-Response ::= SEQUENCE OF CHOICE 1252 { 1253 failure [0] IMPLICIT DataAccessError, 1254 success [1] IMPLICIT NULL 1255 } 1256 1257-- INFORMATION REPORT 1258 1259InformationReport ::= SEQUENCE 1260 { 1261 variableAccessSpecification VariableAccessSpecification, 1262 listOfAccessResult [0] IMPLICIT SEQUENCE OF AccessResult 1263 } 1264 1265-- GET VARIABLE ACCESS ATTRIBUTES 1266 1267GetVariableAccessAttributes-Request ::= CHOICE 1268 { 1269 name [0] ObjectName, 1270 address [1] Address 1271 } 1272 1273 1274GetVariableAccessAttributes-Response ::= SEQUENCE 1275 { 1276 mmsDeletable [0] IMPLICIT BOOLEAN, 1277 address [1] Address OPTIONAL, 1278 typeSpecification [2] TypeSpecification 1279 } 1280-- DEFINE NAMED VARIABLE 1281 1282DefineNamedVariable-Request ::= SEQUENCE 1283 { 1284 variableName [0] ObjectName, 1285 address [1] Address, 1286 typeSpecification [2] TypeSpecification OPTIONAL 1287 } 1288 1289DefineNamedVariable-Response ::= NULL 1290 1291-- DEFINE SCATTERED ACCESS 1292 1293DefineScatteredAccess-Request ::= SEQUENCE 1294 { 1295 scatteredAccessName [0] ObjectName, 1296 scatteredAccessDescription [1] IMPLICIT ScatteredAccessDescription 1297 } 1298 1299 1300DefineScatteredAccess-Response ::= NULL 1301 1302-- GET SCATTERED ACCESS ATTRIBUTES 1303 1304GetScatteredAccessAttributes-Request ::= ObjectName -- ScatteredAccessName 1305 1306 1307GetScatteredAccessAttributes-Response ::= SEQUENCE 1308 { 1309 mmsDeletable [0] IMPLICIT BOOLEAN, 1310 scatteredAccessDescription [1] IMPLICIT ScatteredAccessDescription 1311 } 1312 1313-- DELETE VARIABLE ACCESS 1314 1315DeleteVariableAccess-Request ::= SEQUENCE 1316 { 1317 scopeOfDelete [0] IMPLICIT INTEGER 1318 { 1319 specific (0), 1320 aa-specific (1), 1321 domain (2), 1322 vmd (3) 1323 } DEFAULT specific, 1324 listOfName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL, 1325 domainName [2] IMPLICIT Identifier OPTIONAL 1326 } 1327 1328DeleteVariableAccess-Response ::= SEQUENCE 1329 { 1330 numberMatched [0] IMPLICIT Unsigned32, 1331 numberDeleted [1] IMPLICIT Unsigned32 1332 } 1333 1334 1335DeleteVariableAccess-Error ::= Unsigned32 -- numberDeleted 1336 1337-- DEFINE NAMED VAR. LIST 1338 1339DefineNamedVariableList-Request ::= SEQUENCE 1340 { 1341 variableListName ObjectName, 1342 listOfVariable [0] IMPLICIT SEQUENCE OF SEQUENCE 1343 { 1344 variableSpecification VariableSpecification, 1345 alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL 1346 } 1347 } 1348 1349 1350DefineNamedVariableList-Response ::= NULL 1351 1352-- GET NAMED VAR. LIST ATTRIBUTES 1353 1354GetNamedVariableListAttributes-Request ::= ObjectName -- VariableListName 1355 1356 1357GetNamedVariableListAttributes-Response ::= SEQUENCE 1358 { 1359 mmsDeletable [0] IMPLICIT BOOLEAN, 1360 listOfVariable [1] IMPLICIT SEQUENCE OF SEQUENCE 1361 { 1362 variableSpecification VariableSpecification, 1363 alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL 1364 } 1365 } 1366 1367-- DELETE NAMED VAR. LIST 1368 1369DeleteNamedVariableList-Request ::= SEQUENCE 1370 { 1371 scopeOfDelete [0] IMPLICIT INTEGER 1372 { 1373 specific (0), 1374 aa-specific (1), 1375 domain (2), 1376 vmd (3) 1377 } DEFAULT specific, 1378 listOfVariableListName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL, 1379 domainName [2] IMPLICIT Identifier OPTIONAL 1380 } 1381 1382 1383DeleteNamedVariableList-Response ::= SEQUENCE 1384 { 1385 numberMatched [0] IMPLICIT Unsigned32, 1386 numberDeleted [1] IMPLICIT Unsigned32 1387 } 1388 1389 1390DeleteNamedVariableList-Error ::= Unsigned32 -- number Deleted 1391 1392-- DEFINE NAMED TYPE 1393 1394DefineNamedType-Request ::= SEQUENCE 1395 { 1396 typeName ObjectName, 1397 typeSpecification TypeSpecification 1398 } 1399 1400 1401DefineNamedType-Response ::= NULL 1402 1403 1404-- GET NAMED TYPE ATTRIB. 1405 1406GetNamedTypeAttributes-Request ::= ObjectName -- TypeName 1407 1408GetNamedTypeAttributes-Response ::= SEQUENCE 1409 { 1410 mmsDeletable [0] IMPLICIT BOOLEAN, 1411 typeSpecification TypeSpecification 1412 } 1413 1414-- DELETE NAMED TYPE 1415 1416DeleteNamedType-Request ::= SEQUENCE 1417 { 1418 scopeOfDelete [0] IMPLICIT INTEGER 1419 { 1420 specific (0), 1421 aa-specific (1), 1422 domain (2), 1423 vmd (3) 1424 } DEFAULT specific, 1425 listOfTypeName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL, 1426 domainName [2] IMPLICIT Identifier OPTIONAL 1427 } 1428 1429DeleteNamedType-Response ::= SEQUENCE 1430 { 1431 numberMatched [0] IMPLICIT Unsigned32, 1432 numberDeleted [1] IMPLICIT Unsigned32 1433 } 1434 1435DeleteNamedType-Error ::= Unsigned32 -- number Deleted 1436 1437-- SUPPORT DEFINITIONS 1438 1439AccessResult ::= CHOICE 1440 { 1441 failure [0] IMPLICIT DataAccessError, 1442 success Data 1443 } 1444 1445DataAccessError ::= INTEGER 1446 { 1447 object-invalidated (0), 1448 hardware-fault (1), 1449 temporarily-unavailable (2), 1450 object-access-denied (3), 1451 object-undefined (4), 1452 invalid-address (5), 1453 type-unsupported (6), 1454 type-inconsistent (7), 1455 object-attribute-inconsistent (8), 1456 object-access-unsupported (9), 1457 object-non-existent (10), 1458 object-value-invalid (11) 1459 } 1460 1461 1462 1463Data ::= CHOICE 1464 { 1465 -- context tag 0 is reserved for AccessResult 1466 array [1] IMPLICIT SEQUENCE OF Data, 1467 structure [2] IMPLICIT SEQUENCE OF Data, 1468 boolean [3] IMPLICIT BOOLEAN, 1469 bit-string [4] IMPLICIT BIT STRING, 1470 integer [5] IMPLICIT INTEGER, 1471 unsigned [6] IMPLICIT INTEGER, 1472 floating-point [7] IMPLICIT FloatingPoint, 1473-- XXX asn2wrs and packet-ber can not handle REAL yet 1474-- real [8] IMPLICIT REAL, 1475 octet-string [9] IMPLICIT OCTET STRING, 1476 visible-string [10] IMPLICIT VisibleString, 1477 binary-time [12] IMPLICIT TimeOfDay, 1478 bcd [13] IMPLICIT INTEGER, 1479 booleanArray [14] IMPLICIT BIT STRING, 1480 objId [15] IMPLICIT OBJECT IDENTIFIER, 1481 ..., 1482 mMSString [16] IMPLICIT MMSString, 1483 utc-time [17] IMPLICIT UtcTime -- added by IEC61850 8.1 G3 1484 } 1485 1486UtcTime ::= OCTET STRING -- added by IEC61850 8.1 G3 1487 1488FloatingPoint ::= OCTET STRING 1489 1490 1491VariableAccessSpecification ::= CHOICE 1492 { 1493 listOfVariable [0] IMPLICIT SEQUENCE OF SEQUENCE 1494 { 1495 variableSpecification VariableSpecification, 1496 alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL 1497 }, 1498 variableListName [1] ObjectName 1499 } 1500 1501 1502ScatteredAccessDescription ::= SEQUENCE OF SEQUENCE 1503 { 1504 componentName [0] IMPLICIT Identifier OPTIONAL, 1505 variableSpecification [1] VariableSpecification, 1506 alternateAccess [2] IMPLICIT AlternateAccess OPTIONAL 1507 } 1508 1509 1510VariableSpecification ::= CHOICE 1511 { 1512 name [0] ObjectName, 1513 address [1] Address, 1514 variableDescription [2] IMPLICIT SEQUENCE 1515 { 1516 address Address, 1517 typeSpecification TypeSpecification 1518 }, 1519 scatteredAccessDescription [3] IMPLICIT ScatteredAccessDescription, 1520 invalidated [4] IMPLICIT NULL 1521 } 1522 1523Address ::= CHOICE 1524 { 1525 numericAddress [0] IMPLICIT Unsigned32, 1526 symbolicAddress [1] IMPLICIT VisibleString, 1527 unconstrainedAddress [2] IMPLICIT OCTET STRING 1528 } 1529 1530 1531-- ********************************* SEMAPHORES ***************************************** 1532 1533TakeControl-Request ::= SEQUENCE 1534 { 1535 semaphoreName [0] ObjectName, 1536 namedToken [1] IMPLICIT Identifier OPTIONAL, 1537 priority [2] IMPLICIT Priority DEFAULT 64, 1538 acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL, 1539 controlTimeOut [4] IMPLICIT Unsigned32 OPTIONAL, 1540 abortOnTimeOut [5] IMPLICIT BOOLEAN OPTIONAL, 1541 relinquishIfConnectionLost [6] IMPLICIT BOOLEAN DEFAULT TRUE, 1542 applicationToPreempt [7] IMPLICIT ApplicationReference OPTIONAL 1543 } 1544 1545TakeControl-Response ::= CHOICE 1546 { 1547 noResult [0] IMPLICIT NULL, 1548 namedToken [1] IMPLICIT Identifier 1549 } 1550 1551-- RELINQUISH CONTROL 1552 1553RelinquishControl-Request ::= SEQUENCE 1554 { 1555 semaphoreName [0] ObjectName, 1556 namedToken [1] IMPLICIT Identifier OPTIONAL 1557 } 1558 1559RelinquishControl-Response ::= NULL 1560 1561-- DEFINE SEMAPHORE 1562 1563DefineSemaphore-Request ::= SEQUENCE 1564 { 1565 semaphoreName [0] ObjectName, 1566 numbersOfTokens [1] IMPLICIT Unsigned16 1567 } 1568 1569DefineSemaphore-Response ::= NULL 1570 1571-- DELETE SEMAPHORE 1572 1573DeleteSemaphore-Request ::= ObjectName -- Semaphore Name 1574 1575DeleteSemaphore-Response ::= NULL 1576 1577-- REPORT SEMAPHORE STATUS 1578 1579ReportSemaphoreStatus-Request ::= ObjectName -- SemaphoreName 1580 1581ReportSemaphoreStatus-Response ::= SEQUENCE 1582 { 1583 mmsDeletable [0] IMPLICIT BOOLEAN, 1584 class [1] IMPLICIT INTEGER 1585 { 1586 token (0), 1587 pool (1) 1588 }, 1589 numberOfTokens [2] IMPLICIT Unsigned16, 1590 numberOfOwnedTokens [3] IMPLICIT Unsigned16, 1591 numberOfHungTokens [4] IMPLICIT Unsigned16 1592 } 1593 1594-- REPORT POOL SEMAPHORE STATUS 1595 1596ReportPoolSemaphoreStatus-Request ::= SEQUENCE 1597 { 1598 semaphoreName [0] ObjectName, 1599 nameToStartAfter [1] IMPLICIT Identifier OPTIONAL 1600 } 1601 1602ReportPoolSemaphoreStatus-Response ::= SEQUENCE 1603 { 1604 listOfNamedTokens [0] IMPLICIT SEQUENCE OF CHOICE 1605 { 1606 freeNamedToken [0] IMPLICIT Identifier, 1607 ownedNamedToken [1] IMPLICIT Identifier, 1608 hungNamedToken [2] IMPLICIT Identifier 1609 }, 1610 moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE 1611 } 1612 1613-- REPORT SEMAPHORE ENTRY STATUS 1614 1615ReportSemaphoreEntryStatus-Request ::=SEQUENCE 1616 { 1617 semaphoreName [0] ObjectName, 1618 state [1] IMPLICIT INTEGER 1619 { 1620 queued (0), 1621 owner (1), 1622 hung (2) 1623 } , 1624 entryIdToStartAfter [2] IMPLICIT OCTET STRING OPTIONAL 1625 } 1626 1627ReportSemaphoreEntryStatus-Response ::= SEQUENCE 1628 { 1629 listOfSemaphoreEntry [0] IMPLICIT SEQUENCE OF SemaphoreEntry, 1630 moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE 1631 } 1632 1633 1634AttachToSemaphore ::= SEQUENCE 1635 { 1636 semaphoreName [0] ObjectName, 1637 namedToken [1] IMPLICIT Identifier OPTIONAL, 1638 priority [2] IMPLICIT Priority DEFAULT 64, 1639 acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL, 1640 controlTimeOut [4] IMPLICIT Unsigned32 OPTIONAL, 1641 abortOnTimeOut [5] IMPLICIT BOOLEAN OPTIONAL, 1642 relinquishIfConnectionLost [6] IMPLICIT BOOLEAN DEFAULT TRUE 1643 } 1644 1645 1646SemaphoreEntry ::= SEQUENCE 1647 { 1648 entryId [0] IMPLICIT OCTET STRING, 1649 entryClass [1] IMPLICIT INTEGER 1650 { 1651 simple (0), 1652 modifier (1) 1653 }, 1654 applicationReference [2] ApplicationReference, 1655 namedToken [3] IMPLICIT Identifier OPTIONAL, 1656 priority [4] IMPLICIT Priority DEFAULT 64, 1657 remainingTimeOut [5] IMPLICIT Unsigned32 OPTIONAL, 1658 abortOnTimeOut [6] IMPLICIT BOOLEAN OPTIONAL, 1659 relinquishIfConnectionLost [7] IMPLICIT BOOLEAN DEFAULT TRUE 1660 } 1661 1662--******************************** OPERATOR COMMUNICATION ***************************** 1663 1664 1665-- INPUT 1666 1667Input-Request ::= SEQUENCE 1668 { 1669 operatorStationName [0] IMPLICIT Identifier, 1670 echo [1] IMPLICIT BOOLEAN DEFAULT TRUE, 1671 listOfPromptData [2] IMPLICIT SEQUENCE OF VisibleString OPTIONAL, 1672 inputTimeOut [3] IMPLICIT Unsigned32 OPTIONAL 1673 } 1674 1675 1676Input-Response ::= VisibleString -- Input String 1677 1678-- OUTPUT 1679 1680Output-Request ::= SEQUENCE 1681 { 1682 operatorStationName [0] IMPLICIT Identifier, 1683 listOfOutputData [1] IMPLICIT SEQUENCE OF VisibleString 1684 } 1685 1686 1687Output-Response ::= NULL 1688 1689 1690-- ************************************ EVENTS ********************************************* 1691 1692DefineEventCondition-Request ::= SEQUENCE 1693 { 1694 eventConditionName [0] ObjectName, 1695 class [1] IMPLICIT EC-Class, 1696 prio-rity [2] IMPLICIT Priority DEFAULT 64, 1697 severity [3] IMPLICIT Unsigned8 DEFAULT 64, 1698 alarmSummaryReports [4] IMPLICIT BOOLEAN OPTIONAL, 1699 monitoredVariable [6] VariableSpecification OPTIONAL, 1700 evaluationInterval [7] IMPLICIT Unsigned32 OPTIONAL 1701 } 1702 1703DefineEventCondition-Response ::= NULL 1704 1705 1706DeleteEventCondition-Request ::= CHOICE 1707 { 1708 specific [0] IMPLICIT SEQUENCE OF ObjectName, 1709 aa-specific [1] IMPLICIT NULL, 1710 domain [2] IMPLICIT Identifier, 1711 vmd [3] IMPLICIT NULL 1712 } 1713 1714DeleteEventCondition-Response ::= Unsigned32 -- Candidates Not Deleted 1715 1716 1717GetEventConditionAttributes-Request ::= ObjectName -- Event Condition Name 1718 1719GetEventConditionAttributes-Response ::= SEQUENCE 1720 { 1721 mmsDeletable [0] IMPLICIT BOOLEAN DEFAULT FALSE, 1722 class [1] IMPLICIT EC-Class, 1723 prio-rity [2] IMPLICIT Priority DEFAULT 64, 1724 severity [3] IMPLICIT Unsigned8 DEFAULT 64, 1725 alarmSummaryReports [4] IMPLICIT BOOLEAN DEFAULT FALSE, 1726 monitoredVariable [6] CHOICE 1727 { 1728 variableReference [0] VariableSpecification, 1729 undefined [1] IMPLICIT NULL 1730 } OPTIONAL, 1731 evaluationInterval [7] IMPLICIT Unsigned32 OPTIONAL 1732 } 1733 1734 1735ReportEventConditionStatus-Request ::= ObjectName -- EventConditionName 1736 1737ReportEventConditionStatus-Response ::= SEQUENCE 1738 { 1739 currentState [0] IMPLICIT EC-State, 1740 numberOfEventEnrollments [1] IMPLICIT Unsigned32, 1741 enabled [2] IMPLICIT BOOLEAN OPTIONAL, 1742 timeOfLastTransitionToActive [3] EventTime OPTIONAL, 1743 timeOfLastTransitionToIdle [4] EventTime OPTIONAL 1744 } 1745 1746 1747AlterEventConditionMonitoring-Request ::= SEQUENCE 1748 { 1749 eventConditionName [0] ObjectName, 1750 enabled [1] IMPLICIT BOOLEAN OPTIONAL, 1751 priority [2] IMPLICIT Priority OPTIONAL, 1752 alarmSummaryReports [3] IMPLICIT BOOLEAN OPTIONAL, 1753 evaluationInterval [4] IMPLICIT Unsigned32 OPTIONAL 1754 } 1755 1756AlterEventConditionMonitoring-Response ::= NULL 1757 1758 1759TriggerEvent-Request ::= SEQUENCE 1760 { 1761 eventConditionName [0] ObjectName, 1762 priority [1] IMPLICIT Priority OPTIONAL 1763 } 1764 1765TriggerEvent-Response ::= NULL 1766 1767 1768DefineEventAction-Request ::= SEQUENCE 1769 { 1770 eventActionName [0] ObjectName, 1771 listOfModifier [1] IMPLICIT SEQUENCE OF Modifier OPTIONAL 1772-- XXX this one is neither in this ASN nor in the IMPORTS 1773-- confirmed-Service-Request [2] DefineEventAction-ConfirmedServiceRequest 1774 1775 } 1776 1777 1778DefineEventAction-Response ::= NULL 1779 1780DeleteEventAction-Request ::= CHOICE 1781 { 1782 specific [0] IMPLICIT SEQUENCE OF ObjectName, 1783 aa-specific [1] IMPLICIT NULL, 1784 domain [3] IMPLICIT Identifier, 1785 vmd [4] IMPLICIT NULL 1786 } 1787 1788DeleteEventAction-Response ::= Unsigned32 -- candidates not deleted 1789 1790GetEventActionAttributes-Request ::= ObjectName -- Event Action Name 1791 1792 1793GetEventActionAttributes-Response ::= SEQUENCE 1794 { 1795 mmsDeletable [0] IMPLICIT BOOLEAN DEFAULT FALSE, 1796 listOfModifier [1] IMPLICIT SEQUENCE OF Modifier 1797-- XXX this one is neither in this ASN nor in the IMPORTS 1798-- confirmed-Service-Request [2] DefineEventAction-ConfirmedServiceRequest 1799 } 1800 1801ReportEventActionStatus-Request ::= ObjectName -- EventActionName 1802 1803ReportEventActionStatus-Response ::= Unsigned32 -- Number of Event Enrollments 1804 1805 1806DefineEventEnrollment-Request ::= SEQUENCE 1807 { 1808 eventEnrollmentName [0] ObjectName, 1809 eventConditionName [1] ObjectName, 1810 eventConditionTransition [2] IMPLICIT Transitions, 1811 alarmAcknowledgementRule [3] IMPLICIT AlarmAckRule, 1812 eventActionName [4] ObjectName OPTIONAL, 1813 clientApplication [5] ApplicationReference OPTIONAL 1814 } 1815 1816DefineEventEnrollment-Response ::= NULL 1817 1818DefineEventEnrollment-Error ::= ObjectName 1819 1820 1821DeleteEventEnrollment-Request ::= CHOICE 1822 { 1823 specific [0] IMPLICIT SEQUENCE OF ObjectName, 1824 ec [1] ObjectName, 1825 ea [2] ObjectName 1826 } 1827 1828DeleteEventEnrollment-Response ::= Unsigned32 -- candidates not deleted 1829 1830 1831GetEventEnrollmentAttributes-Request ::= SEQUENCE 1832 { 1833 scopeOfRequest [0] IMPLICIT INTEGER 1834 { 1835 specific (0), 1836 client (1), 1837 ec (2), 1838 ea (3) 1839 } DEFAULT client, 1840 eventEnrollmentNames [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL, 1841 clientApplication [2] ApplicationReference OPTIONAL, 1842 eventConditionName [3] ObjectName OPTIONAL, 1843 eventActionName [4] ObjectName OPTIONAL, 1844 continueAfter [5] ObjectName OPTIONAL 1845 } 1846 1847 1848EventEnrollment ::= SEQUENCE 1849 { 1850 eventEnrollmentName [0] ObjectName, 1851 eventConditionName [1] CHOICE 1852 { 1853 eventCondition [0] ObjectName, 1854 undefined [1] IMPLICIT NULL 1855 }, 1856 eventActionName [2] CHOICE 1857 { 1858 eventAction [0] ObjectName, 1859 undefined [1] IMPLICIT NULL 1860 } OPTIONAL, 1861 clientApplication [3] ApplicationReference OPTIONAL, 1862 mmsDeletable [4] IMPLICIT BOOLEAN DEFAULT FALSE, 1863 enrollmentClass [5] IMPLICIT EE-Class, 1864 duration [6] IMPLICIT EE-Duration DEFAULT current, 1865 invokeID [7] IMPLICIT Unsigned32, 1866 remainingAcceptableDelay [8] IMPLICIT Unsigned32 OPTIONAL 1867 } 1868 1869 1870GetEventEnrollmentAttributes-Response ::= SEQUENCE 1871 { 1872 listOfEventEnrollment [0] IMPLICIT SEQUENCE OF EventEnrollment, 1873 moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE 1874 } 1875 1876 1877ReportEventEnrollmentStatus-Request ::= ObjectName -- Event Enrollment Name 1878 1879ReportEventEnrollmentStatus-Response ::= SEQUENCE 1880 { 1881 eventConditionTransitions [0] IMPLICIT Transitions, 1882 notificationLost [1] IMPLICIT BOOLEAN DEFAULT FALSE, 1883 duration [2] IMPLICIT EE-Duration, 1884 alarmAcknowledgmentRule [3] IMPLICIT AlarmAckRule OPTIONAL, 1885 currentState [4] IMPLICIT EE-State 1886 } 1887 1888AlterEventEnrollment-Request ::= SEQUENCE 1889 { 1890 eventEnrollmentName [0] ObjectName, 1891 eventConditionTransitions [1] IMPLICIT Transitions OPTIONAL, 1892 alarmAcknowledgmentRule [2] IMPLICIT AlarmAckRule OPTIONAL 1893 } 1894 1895AlterEventEnrollment-Response ::= SEQUENCE 1896 { 1897 currentState [0] CHOICE 1898 { 1899 state [0] IMPLICIT EE-State, 1900 undefined [1] IMPLICIT NULL 1901 }, 1902 transitionTime [1] EventTime 1903 } 1904 1905 1906AcknowledgeEventNotification-Request ::= SEQUENCE 1907 { 1908 eventEnrollmentName [0] ObjectName, 1909 acknowledgedState [2] IMPLICIT EC-State, 1910 timeOfAcknowledgedTransition [3] EventTime 1911 } 1912 1913AcknowledgeEventNotification-Response ::= NULL 1914 1915 1916GetAlarmSummary-Request ::= SEQUENCE 1917 { 1918 enrollmentsOnly [0] IMPLICIT BOOLEAN DEFAULT TRUE, 1919 activeAlarmsOnly [1] IMPLICIT BOOLEAN DEFAULT TRUE, 1920 acknowledgmentFilter [2] IMPLICIT INTEGER 1921 { 1922 not-acked (0), 1923 acked (1), 1924 all (2) 1925 } DEFAULT not-acked, 1926 severityFilter [3] IMPLICIT SEQUENCE 1927 { 1928 mostSevere [0] IMPLICIT Unsigned8, 1929 leastSevere [1] IMPLICIT Unsigned8 1930 } OPTIONAL, 1931 continueAfter [5] ObjectName OPTIONAL 1932 } 1933 1934GetAlarmSummary-Response ::= SEQUENCE 1935 { 1936 listOfAlarmSummary [0] IMPLICIT SEQUENCE OF AlarmSummary, 1937 moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE 1938 } 1939 1940 1941AlarmSummary ::= SEQUENCE 1942 { 1943 eventConditionName [0] ObjectName, 1944 severity [1] IMPLICIT Unsigned8, 1945 currentState [2] IMPLICIT EC-State, 1946 unacknowledgedState [3] IMPLICIT INTEGER 1947 { 1948 none (0), 1949 active (1), 1950 idle (2), 1951 both (3) 1952 }, 1953 timeOfLastTransitionToActive [5] EventTime OPTIONAL, 1954 timeOfLastTransitionToIdle [6] EventTime OPTIONAL 1955 } 1956 1957 1958GetAlarmEnrollmentSummary-Request ::= SEQUENCE 1959 { 1960 enrollmentsOnly [0] IMPLICIT BOOLEAN DEFAULT TRUE, 1961 activeAlarmsOnly [1] IMPLICIT BOOLEAN DEFAULT TRUE, 1962 acknowledgmentFilter [2] IMPLICIT INTEGER 1963 { 1964 not-acked (0), 1965 acked (1), 1966 all (2) 1967 } DEFAULT not-acked, 1968 severityFilter [3] IMPLICIT SEQUENCE 1969 { 1970 mostSevere [0] IMPLICIT Unsigned8, 1971 leastSevere [1] IMPLICIT Unsigned8 1972 } OPTIONAL, 1973 continueAfter [5] ObjectName OPTIONAL 1974 } 1975 1976GetAlarmEnrollmentSummary-Response ::= SEQUENCE 1977 { 1978 listOfAlarmEnrollmentSummary [0] IMPLICIT SEQUENCE OF AlarmEnrollmentSummary, 1979 moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE 1980 } 1981 1982 1983AlarmEnrollmentSummary ::= SEQUENCE 1984 { 1985 eventEnrollmentName [0] ObjectName, 1986 clientApplication [2] ApplicationReference OPTIONAL, 1987 severity [3] IMPLICIT Unsigned8, 1988 currentState [4] IMPLICIT EC-State, 1989 notificationLost [6] IMPLICIT BOOLEAN DEFAULT FALSE, 1990 alarmAcknowledgmentRule [7] IMPLICIT AlarmAckRule OPTIONAL, 1991 enrollementState [8] IMPLICIT EE-State OPTIONAL, 1992 timeOfLastTransitionToActive [9] EventTime OPTIONAL, 1993 timeActiveAcknowledged [10] EventTime OPTIONAL, 1994 timeOfLastTransitionToIdle [11] EventTime OPTIONAL, 1995 timeIdleAcknowledged [12] EventTime OPTIONAL 1996 } 1997 1998 1999EventNotification ::= SEQUENCE 2000 { 2001 eventEnrollmentName [0] ObjectName, 2002 eventConditionName [1] CHOICE 2003 { 2004 eventCondition [0] ObjectName, 2005 undefined [1] IMPLICIT NULL 2006 }, 2007 severity [2] IMPLICIT Unsigned8, 2008 currentState [3] IMPLICIT EC-State OPTIONAL, 2009 transitionTime [4] EventTime, 2010 notificationLost [6] IMPLICIT BOOLEAN DEFAULT FALSE, 2011 alarmAcknowledgmentRule [7] IMPLICIT AlarmAckRule OPTIONAL, 2012 actionResult [8] IMPLICIT SEQUENCE 2013 { 2014 eventActioName ObjectName, 2015 eventActionResult CHOICE 2016 { 2017 success [0] ConfirmedServiceResponse, 2018 failure [1] IMPLICIT ServiceError 2019 } 2020 } OPTIONAL 2021 } 2022 2023 2024AttachToEventCondition ::= SEQUENCE 2025 { 2026 eventEnrollmentName [0] ObjectName, 2027 eventConditionName [1] ObjectName, 2028 causingTransitions [2] IMPLICIT Transitions, 2029 acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL 2030 } 2031 2032 2033EventTime ::= CHOICE 2034 { 2035 timeOfDayT [0] IMPLICIT TimeOfDay, 2036 timeSequenceIdentifier [1] IMPLICIT Unsigned32 2037 } 2038 2039 2040EC-Class ::= INTEGER 2041 { 2042 network-triggered (0), 2043 monitored (1) 2044 } 2045 2046EC-State ::= INTEGER 2047 { 2048 disabled (0), 2049 idle (1), 2050 active (2) 2051 } 2052 2053EE-State ::= INTEGER 2054 { 2055 disabled (0), 2056 idle (1), 2057 active (2), 2058 activeNoAckA (3), 2059 idleNoAckI (4), 2060 idleNoAckA (5), 2061 idleAcked (6), 2062 activeAcked (7) 2063 } 2064 2065Transitions ::= BIT STRING 2066 { 2067 idle-to-disabled (0), 2068 active-to-disabled (1), 2069 disabled-to-idle (2), 2070 active-to-idle (3), 2071 disabled-to-active (4), 2072 idle-to-active (5), 2073 any-to-deleted (6) 2074 } 2075 2076AlarmAckRule ::= INTEGER 2077 { 2078 none (0), 2079 simple (1), 2080 ack-active (2), 2081 ack-all (3) 2082 } 2083 2084EE-Class ::= INTEGER 2085 { 2086 modifier (0), 2087 notification (1) 2088 } 2089 2090EE-Duration ::= INTEGER 2091 { 2092 current (0), 2093 permanent (1) 2094 } 2095 2096 2097-- ********************************** JOURNAL ******************************************* 2098 2099 2100-- READ JOURNAL 2101 2102ReadJournal-Request ::= SEQUENCE 2103 { 2104 journalName [0] ObjectName, 2105 rangeStartSpecification [1] CHOICE 2106 { 2107 startingTime [0] IMPLICIT TimeOfDay, 2108 startingEntry [1] IMPLICIT OCTET STRING 2109 } OPTIONAL, 2110 rangeStopSpecification [2] CHOICE 2111 { 2112 endingTime [0] IMPLICIT TimeOfDay, 2113 numberOfEntries [1] IMPLICIT Integer32 2114 } OPTIONAL, 2115 listOfVariables [4] IMPLICIT SEQUENCE OF VisibleString OPTIONAL, 2116 entryToStartAfter [5] IMPLICIT SEQUENCE 2117 { 2118 timeSpecification [0] IMPLICIT TimeOfDay, 2119 entrySpecification [1] IMPLICIT OCTET STRING 2120 } 2121 } 2122 2123ReadJournal-Response ::= SEQUENCE 2124 { 2125 listOfJournalEntry [0] IMPLICIT SEQUENCE OF JournalEntry, 2126 moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE 2127 } 2128 2129 2130JournalEntry ::= SEQUENCE 2131 { 2132 entryIdentifier [0] IMPLICIT OCTET STRING, 2133 originatingApplication [1] ApplicationReference, 2134 entryContent [2] IMPLICIT EntryContent 2135 } 2136 2137-- WRITE JOURNAL 2138 2139WriteJournal-Request ::= SEQUENCE 2140 { 2141 journalName [0] ObjectName, 2142 listOfJournalEntry [1] IMPLICIT SEQUENCE OF EntryContent 2143 } 2144 2145WriteJournal-Response ::= NULL 2146 2147-- INITIALIZE JOURNAL 2148 2149InitializeJournal-Request ::= SEQUENCE 2150 { 2151 journalName [0] ObjectName, 2152 limitSpecification [1] IMPLICIT SEQUENCE 2153 { 2154 limitingTime [0] IMPLICIT TimeOfDay, 2155 limitingEntry [1] IMPLICIT OCTET STRING OPTIONAL 2156 } OPTIONAL 2157 } 2158 2159InitializeJournal-Response ::= Unsigned32 -- entries deleted 2160 2161-- REPORT JOURNAL STATUS 2162 2163ReportJournalStatus-Request ::= ObjectName -- Journal Name 2164 2165ReportJournalStatus-Response ::= SEQUENCE 2166 { 2167 currentEntries [0] IMPLICIT Unsigned32, 2168 mmsDeletable [1] IMPLICIT BOOLEAN 2169 } 2170 2171-- CREATE JOURNAL 2172 2173CreateJournal-Request ::= SEQUENCE 2174 { 2175 journalName [0] ObjectName 2176 } 2177 2178CreateJournal-Response ::= NULL 2179 2180-- DELETE JOURNAL 2181 2182DeleteJournal-Request ::= SEQUENCE 2183 { 2184 journalName [0] ObjectName 2185 } 2186 2187DeleteJournal-Response ::= NULL 2188 2189 2190-- SUPPORTING PRODUCTIONS 2191 2192EntryContent ::= SEQUENCE 2193 { 2194 occurenceTime [0] IMPLICIT TimeOfDay, 2195 additionalDetail [1] JOU-Additional-Detail OPTIONAL, 2196 -- additionalDetail shall be omitted 2197 -- from abstract syntax defined in this standard 2198 entryForm CHOICE 2199 { 2200 data [2] IMPLICIT SEQUENCE 2201 { 2202 event [0] IMPLICIT SEQUENCE 2203 { 2204 eventConditionName [0] ObjectName, 2205 currentState [1] IMPLICIT EC-State 2206 } OPTIONAL, 2207 listOfVariables [1] IMPLICIT SEQUENCE OF SEQUENCE 2208 { 2209 variableTag [0] IMPLICIT VisibleString, 2210 valueSpecification [1] Data 2211 } OPTIONAL 2212 }, 2213 annotation [3] IMPLICIT VisibleString 2214 } 2215 } 2216 2217 2218JOU-Additional-Detail ::= NULL -- Defined by Companion Standard 2219 2220 2221 2222-- **************************************** FILES ********************************************* 2223 2224ObtainFile-Request ::= SEQUENCE { 2225 sourceFileServer [0] IMPLICIT ApplicationReference OPTIONAL, 2226 sourceFile [1] IMPLICIT FileName, 2227 destinationFile [2] IMPLICIT FileName 2228 } 2229 2230ObtainFile-Response ::= NULL 2231 2232ObtainFile-Error ::= INTEGER { 2233 source-file (0), 2234 destination-file (1) 2235 } 2236 2237 2238FileOpen-Request ::= SEQUENCE { 2239 fileName [0] IMPLICIT FileName, 2240 initialPosition [1] IMPLICIT Unsigned32 2241 } 2242 2243FileOpen-Response ::= SEQUENCE { 2244 frsmID [0] IMPLICIT Integer32, 2245 fileAttributes [1] IMPLICIT FileAttributes 2246 } 2247 2248FileRead-Request ::= Integer32 2249 2250FileRead-Response ::= SEQUENCE { 2251 fileData [0] IMPLICIT OCTET STRING, 2252 moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE 2253 } 2254 2255FileClose-Request ::= Integer32 2256 2257FileClose-Response ::= NULL 2258 2259 2260FileRename-Request ::= SEQUENCE { 2261 currentFileName [0] IMPLICIT FileName, 2262 newFileName [1] IMPLICIT FileName 2263 } 2264 2265FileRename-Response ::= NULL 2266 2267FileRename-Error ::= INTEGER { 2268 source-file (0), 2269 destination-file (1) 2270 } 2271 2272FileDelete-Request ::= FileName 2273 2274FileDelete-Response ::= NULL 2275 2276 2277FileDirectory-Request ::= SEQUENCE { 2278 fileSpecification [0] IMPLICIT FileName OPTIONAL, 2279 continueAfter [1] IMPLICIT FileName OPTIONAL 2280 } 2281 2282FileDirectory-Response ::= SEQUENCE { 2283 listOfDirectoryEntry [0] SEQUENCE OF DirectoryEntry, 2284 moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE 2285 } 2286 2287DirectoryEntry ::= SEQUENCE { 2288 filename [0] IMPLICIT FileName, 2289 fileAttributes [1] IMPLICIT FileAttributes 2290 } 2291 2292 2293FileAttributes ::= SEQUENCE { 2294 sizeOfFile [0] IMPLICIT Unsigned32, 2295 lastModified [1] IMPLICIT GeneralizedTime OPTIONAL 2296 } 2297 2298 2299 2300END 2301 2302