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 }