Back to Annex E : Tutorial examples of protocol sequences Up to contents Warning on status of this document

Annex F

(informative)

Basic Class datatypes

This annex lists the ASN.1 definitions of the JTM datatypes used in Basic Class in an alternative form. The formal definition of these datatypes are in the ASN.1 module in section 2 where the Basic Class datatypes are defined as subtypes of the full JTM datatypes. In this annex, the datatypes are presented as if they were parent types. Where the subtyping in the formal definition defines a separate subtype whose name starts "BasicĒ", this annex uses that subtype. Where there is no separate Basic Class subtype, this annex just redefines the parent type with the basic class restrictions applied. This annex is provided for the convenience of implementors of Basic Class JTM who do not need the full datatypes. It should not be treated as a formal redefinition of the datatypes, nor as a separate ASN.1 module.


JTM-name ::= Application-entity-title

User-identification-authority ::= Application-entity-title

Application-entity-title ::= ACSE-1.AE-title

Agency-name ::= GraphicString

User-identification ::= GraphicString

Name-list ::= SEQUENCE OF GraphicString

Message ::= SEQUENCE SIZE (1..MAX) OF GraphicString (SIZE (0..40))
JTM-code ::=     SEQUENCE
   {jtm-user-code     CHOICE
      {absent                                [0]  NULL     ,
       user-defined                          [1]  EXTERNAL } ,
                      CHOICE
    {sf-not-supported                        [0]  NULL     ,
     ue-unauthorised-access                  [1]  NULL     ,
     ue-unauthorised-reporting               [2]  NULL     ,
     ue-no-document                          [3]  NULL     ,
     ue-agency-unknown                       [4]  NULL     ,
     ue-no-agency-document                   [5]  NULL     ,
     ue-no-authorisation-for-transfer        [6]  NULL     ,
     ue-site-unknown                         [7]  NULL     ,
     ue-disposal-error                       [8]  NULL     ,
     w-document-name-changed                 [9]  NULL     ,
     ua-killed-by-manipulation               [10] NULL     ,
     sf-protocol-error                       [11] NULL     ,
     sf-transmission-failure                 [12] NULL     ,
     sf-too-large                            [13] NULL     ,
     rl-incoming-concurrency-limit           [14] NULL     ,
     rl-timeout                              [15] NULL     ,
     rl-transmission-attempt                 [16] NULL     ,
     rl-access-to-agency-document            [17] NULL     ,
     rl-document-disposal                    [18] NULL     ,
     rl-manipulation-in-progress             [19] NULL     ,
     rl-agency-concurrency-limit             [20] NULL     ,
     rl-transmission-concurrency-limit       [21] NULL     ,
     rl-internally-busy                      [22] NULL     ,
     sf-repeated-retries                     [23] NULL     ,
     ue-monitor-site-unknown                 [24] NULL     ,
     sf-incorrect-report-routing             [25] NULL     ,
     sf-incorrect-monitor-name               [26] NULL     ,
     sf-context-not-available                [27] NULL     ,
     sf-transmission-error                   [28] NULL     ,
     ue-no-agency-activity                   [29] NULL     ,
     ue-document-already-exists              [30] NULL     ,
     ue-document-does-not-exist              [31] NULL     ,
     ue-empty-directory                      [32] NULL     ,
     ue-proforma-not-present                 [33] NULL     ,
     ue-site-basic-class-only                [34] NULL     ,
     ue-ftam-not-supported                   [35] NULL     ,
     ue-no-ftam-document                     [36] NULL     ,
     ue-ftam-disposal-error                  [37] NULL     ,
     w-ftam-warning                          [38] NULL     ,
     sf-monitor-point-storage-not-supported  [39] NULL     ,
     sf-transfer-control-not-supported       [40] NULL     ,
     sf-transfer-manipulation-not-supported  [41] NULL     ,
     ue-commitment-and-holds-incompatible    [42] NULL     ,
     ue-no-authority-to-remove-permission    [43] NULL     ,
     ue-wrong-number-se-lists                [44] NULL     ,
     ue-wrong-number-se-ref-lists            [45] NULL     ,
     ue-wrong-number-source-lists            [46] NULL     ,
     ue-wrong-number-source-ref-lists        [47] NULL     ,
     ue-invalid-modification                 [48] NULL     ,
     ue-no-tcr-authorisation                 [49] NULL
     ue-document-reference-not-satisfied     [50] NULL     ,
     sf-implementation-failure               [51] NULL
                                                           } }
Basic-CCR-diagnostics ::=     CHOICE
   {warning          [0] SET OF SET
      {generator         [0] JTM-name     ,
       code              [1] JTM-code     ,
                           CHOICE
          {reason        [2] Message     }
          -- one or more in the SET OF --  ,
    no-retry         [1] SET OF SET
      {generator         [0] JTM-name  ,
       code              [1] JTM-code  ,
       reason            [2] Message   }
          -- one or more in the SET OF --  ,
    retry-later      [2] SET
      {retry-timer       [0] INTEGER OPTIONAL  ,
       retry-reason      [1] SET OF SET
         {generator         [0] JTM-name     ,
          code              [1] JTM-code     ,
       reason            [2] Message   }
          -- one or more in the SET OF --       } }

C-BEGIN-USER-DATA ::=     SET
   {commitment-level        [0] INTEGER (0..2)          ,
    diagnostic-code-indicator        [1] SEQUENCE OF
          -- Zero, one or more in the SEQUENCE
                                         Code-specifier  }

Code-specifier ::=     CHOICE
   {any-characters   [0] IMPLICIT NULL     ,
    code-sets        [1] IMPLICIT SET OF
                  -- one or more in the SET OF
                         INTEGER     }

C-READY-USER-DATA ::=     SET
   {commitment-level        [0] INTEGER (0..2)     ,
    warnings        [1]
          warning<Basic-CCR-diagnostics OPTIONAL ,
    accounting-info        [2] Accounting-information OPTIONAL     }

Accounting-information ::= SET OF Charging-information

Charging-information ::=     SEQUENCE
   {identification     [0] Identification     ,
    resource-name     [1] GraphicString     ,
    charging-unit     [2] GraphicString     ,
    charge     [3] INTEGER     }

C-ROLLBACK-RI-USER-DATA ::= SET
   {diagnostic         [0] CHOICE
      {                       retry-later<Basic-CCR-diagnostics  ,
                              no-retry<Basic-CCR-diagnostics     } ,
    accounting-info    [1] Accounting-information ANY OPTIONAL    }

Basic-transfer-element ::= [APPLICATION 0] SEQUENCE
   {osi-job-submission-system          [0] JTM-name                          ,
    initiating-identification          [1] Identification                    ,
    initiating-time                    [2] Time-stamp                        ,
    osi-job-name                       [3] GraphicString                     ,
    osi-job-local-reference            [4] GraphicString                     ,
    audit-trace                        [5] SEQUENCE OF Audit-element         ,
    primary-monitoring-specification   [6] Basic-monitoring-specification    ,
    authorisations                     [7] SET OF Authorisation-element      ,
    permissions                        [8] SET OF Permission-element         ,
    subjob-name-list                   [9] Subjob-name-list
                     (WITH COMPONENT (WITH COMPONENTS
                           {..., qualifying-integer (1..MAX)}))              ,
                                            COMPONENTS OF
                                            Subjob-specification             ,
    proforma-list                      [10] SEQUENCE SIZE (0..1) OF Proforma  }

Subjob-name-list ::= SEQUENCE OF SEQUENCE
   {proforma-name            GraphicString     ,
    qualifying-integer       INTEGER (0..MAX)     }

Subjob-specification ::=     SEQUENCE
   {target        [20] JTM-name     ,
    type          [21] Basic-subjob-type     ,
    urgency       [22] CHOICE
      {medium           [1] NULL     },
    error-action  [23] CHOICE
      {terminate           [0] NULL     },
    actions        [24] Basic-JTM-action-parameters }

Basic-subjob-type ::=     CHOICE
   {document-movement        [0] NULL     ,
    work-manipulation        [1] NULL     ,
    report-movement          [2] NULL     }

Basic-JTM-action-parameters ::=     CHOICE
   {document-movement        [0] Document-movement-operations ,
    work-manipulation        [1] Work-manipulation-operations ,
    report-movement          [2] Report-movement-operation     }

Basic-proforma ::=     SEQUENCE
   {proforma-name        [0] GraphicString     ,
    proforma-body        [1] Proforma-specification     }

Basic-proforma-specification ::=     SEQUENCE
   {                    COMPONENTS OF Subjob-specification (WITH COMPONENTS
                          {...,
                           actions
                               ( WITH COMPONENTS {document-movement}  )
                           }                               )     ,
    proforma-list   [1] SEQUENCE OF ANY                           }

Audit-element ::=     SEQUENCE
   {sender        [0] JTM-name     ,
    status        [1] CHOICE
      {unknown           [0] NULL     ,
       known             [1] NULL     ,
       authenticated     [2] NULL     } }

Basic-monitoring-specification ::= SEQUENCE
   {monitor-specification   [0] Monitor-spec     ,
    report-selector         [1] Report-selector     }

Report-selector ::= BIT STRING
   {normal-termination           (0)     ,
    manipulation-termination     (1)     ,
    abnormal-termination         (2)     ,
    user-message                 (3)      }

Monitor-spec ::= SEQUENCE
   {monitor-system-name   [0] JTM-name                   ,
    disposal-instructions           CHOICE
      {disposal-data      [1] SEQUENCE
         {agency             [0] Se-identification    ,
          doc-name           [1] Document-se-reference } ,
       keep               [2] NULL                        }

Authorisation-element ::=     SEQUENCE
   {id               [0] Identification           ,
    validation       [1] CHOICE
      {checked-index    [0] INTEGER (1..MAX)    ,
       password         [1] CHOICE
         {unset            [0] NULL           ,
          graphics         [1] GraphicString  ,
          binary           [2] OCTET STRING   } } }

Permission-element ::=     Identification

Identification ::=     CHOICE
   {open-system      [0] JTM-name     ,
    authority        [1] User-identification-authority ,
    user             [2] SEQUENCE
      {authority        [0] User-identification-authority ,
       id               [1] User-identification     }}

Basic-document-movement-operations ::= SEQUENCE SIZE(1) OF BasicĒdocument-movement

Basic-document-movement ::=     SEQUENCE
   {type        [0] OBJECT IDENTIFIER     ,
    ses         [1] SEQUENCE SIZE(1) OF Se-identification     ,
    document-block     CHOICE
      {         [2] Basic-single-form     } }

Se-identification ::=     CHOICE
   {jtm-se           [0] SEQUENCE
      {se-name           [0] Agency-name     } }

Basic-single-form ::=     SEQUENCE
   {doc-name    [0] Document-se-reference                      ,
    docs        [1] SEQUENCE SIZE(1) OF Basic-document-pointer  }

Document-se-reference ::=     CHOICE
   {jtm-write-data        [0] SEQUENCE
      {document-name           [0] Name-list           ,
       se-access-parameter    [20] Se-access-parameter  }   }

Se-access-parameter ::=     CHOICE
   {normal        [0] NULL     ,
    add           [1] NULL     }

Basic-document-pointer ::=     CHOICE
   {embedded                  [0] NULL     ,
    single-document-reference [1] SEQUENCE
      {action-open-system        [0] JTM-name     ,
       source                    [1] Source-identification          ,
       doc-name                  [2] Document-source-reference ,
       embedded-diagnostics      [3] Embedded-diagnostics ,
       state                     [4] CHOICE
         {not-attempted              [0] NULL     ,
          failed                     [1] SEQUENCE
            {time                        [0] Time-stamp     ,
             diagnostics                 [1] no-retry<Basic-CCR-diagnostics }}}}

Embedded-diagnostics ::=     CHOICE
   {embed        [0] NULL     }

Source-identification ::=     CHOICE
   {provider        [0] NULL     ,
    jtm-source        [1] SEQUENCE
      {source-name           [0] Agency-name     }}

Document-source-reference ::= CHOICE
   {jtm-read-data        [0] SEQUENCE
      {document-name           [0] Name-list     ,
       source-access-parameter      [1] CHOICE
         {move              [0] NULL     } }}

Time-stamp ::=     CHOICE
   {not-available    [0] NULL     ,
    time             [1] GeneralizedTime     }

Basic-top-level-document-movement ::=  Basic-document-movement 
  (WITH COMPONENTS
    { ...          ,
     document-block (WITH COMPONENTS
       { ...          ,
        docs (WITH COMPONENT (WITH COMPONENTS
          {single-document-reference (WITH COMPONENTS
             { ...          ,
              state (WITH COMPONENTS {failed})
             } ) } ) ) } ) }
  | WITH COMPONENTS
     {type ( { iso standard 8832 document(4) text(1) }
           | { iso standard 8832 document(4) print(2) }
           | { iso standard 8832 document(4) work-display(4) } ) ,
      ses ,
      document-block (WITH COMPONENTS
         {...     ,
          docs (WITH COMPONENT {embedded})
         } ) } )

Basic-work-manipulation-operations ::= SEQUENCE (SIZE (2) ) OF
                                       Basic-work-operation

Basic-work-operation ::=     CHOICE
   {select        [0] Basic-selector     ,
    kill          [1] NULL     ,
    stop          [2] NULL     ,
    display             CHOICE
      {brief        [3] Graphic String ("DISPLAY") } }

Basic-selector ::= SEQUENCE
  { selector-form [0] [0] NULL ,
    test [1] [1] SEQUENCE
      { header-one [0] [0] osi-job-submission-system-equals<Field-test ,
        header-two [1] [1] SEQUENCE
          { header-one [0] [0] osi-jobname-equals<Field-test ,
            header-two [1] [0] subjob-type-equals<Field-test } } }

Header-test ::=     CHOICE
   {                  [0] Field-test              ,
    and-clause        [1] SEQUENCE
      {header-one           [0] Header-test     ,
       header-two           [1] Header-test     } }

Field-test ::=     CHOICE
   {osi-job-submission-system-equals [0]  JTM-name      ,
    osi-jobname-equals               [1]  GraphicString ,
    subjog-type-equals               [2]  Subjob-type    }

Report-movement-operation ::= SET OF SEQUENCE
   {monitor-indices     [0] SET (SIZE (1)) OF INTEGER ( 0 )       ,
    report              [1] Single-report     }

Single-report ::=     SEQUENCE
   {name-of-reporter        [0] JTM-name     ,
    time                    [1] Time-stamp     ,
                                COMPONENTS OF Subjob-identification ,
    event-identification    [9] CHOICE
      {normal-termination           [0] Event-parameters
              (WITH COMPONENTS {text,spawn-count}     ,
       manipulation-termination     [1] Event-parameters
              (WITH COMPONENTS {text,spawn-count})     ,
       abnormal-termination         [2] Event-parameters
              (WITH COMPONENTS {text,spawn-count,errors
                 (WITH COMPONENT
                    (WITH COMPONENTS
                       {...     ,
                        diagnostics (WITH COMPONENTS {no-retry})
                       }))
               }) ,
       user-message                 [3] Event-parameters
              (WITH COMPONENTS {text)                  }

Subjob-identification ::=     SEQUENCE
   {osi-job-submission-system   [2] JTM-name     ,
    initiating-identification   [3] Identification     ,
    initiating-time             [4] Time-stamp     ,
    osi-job-name                [5] GraphicString     ,
    osi-job-local-reference     [6] GraphicString     ,
    subjob-name-list            [7] Subjob-name-list  
                 (WITH COMPONENT (WITH COMPONENTS
                           {..., qualifying-integer (1..MAX)})) ,
    type                        [8] Subjob-type     }

Event-parameters ::=     SEQUENCE
   {text            [0] Message                                          ,
    spawn-count     [1] INTEGER (0..MAX)                        OPTIONAL ,
    errors          [2] SET OF Diagnostic-information           OPTIONAL ,

Diagnostic-information ::= SEQUENCE
   {generator-details    [0] CHOICE
      {source-details        [0] SEQUENCE
         {agency                 [0] Source-identification     ,
          doc-name               [1] Document-source-reference }  ,
       se-details            [1] SEQUENCE
         {agency                 [0] Se-identification         ,
          doc-name               [1] Document-se-reference     }  ,
       recipient-details     [2] JTM-name                         ,
       provider              [3] NULL                             }  ,
    when                 [1] Time-stamp                              ,
    diagnostics          [2] Basic-CCR-diagnostics                         }

Basic-work-display-doc ::= [APPLICATION 4] SEQUENCE OF SEQUENCE
   {displaying-system    [0] JTM-name     ,
    time                 [1] Time-stamp     ,
    display              [2] SEQUENCE OF CHOICE
      {                      [0] Brief-display     }}

Brief-display ::=     SEQUENCE
   {details                      [0] SEQUENCE
      {osi-job-submission-system     [0] JTM-name             ,
       initiating-identification     [1] Identification       ,
       initiating-time               [2] Time-stamp           ,
       osi-job-name                  [3] GraphicString        ,
       osi-job-local-reference       [4] GraphicString        ,
       subjob-name-list              [5] Subjob-name-list     ,
       type                          [6] Subjob-type          }  ,
    status                       [1] SET OF Destination-status   }

Destination-status ::=     SEQUENCE
   {destination        [0] CHOICE
      {recipient           [0] JTM-name     ,   
       source-agency       [1] CHOICE
         {agency              [0] Agency-name     } ,
       se-agency           [2] CHOICE
         {agency              [0] Agency-name     } ,
    status             [1] CHOICE
      {in-progress         [0] Message     ,
       accepted            [1] Message     ,
       waiting             [2] SEQUENCE
         {                    [0] Message     ,
                              [1] retry-later<Basic-CCR-diagnostics OPTIONAL } },
    time               [2] Time-stamp     }


Report-display-doc ::= [APPLICATION 5] SEQUENCE OF Report-display

Report-display ::=     SEQUENCE
   {monitor-system       [0] JTM-name     ,
    time-of-display      [1] Time-stamp     ,
                         [2] SEQUENCE OF Single-report     }

Return to top of Annex F : Basic Class datatypes Up to contents Warning on status of this document