aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/rtse/rtse.asn
blob: 453e27ae0dc2d8a5a1df007f85e95412ce43414b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
-- RTSE definition from 
--   http://www.itu.int/ITU-T/asn1/database/itu-t/x/x228/1988/Reliable-Transfer-APDU.html
-- and modified to pass through asn2wrs
--
--
-- Module Reliable-Transfer-APDU (X.228:11/1988)
-- See also the README file
-- See also the index of all ASN.1 assignments needed in this Recommendation


Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}
DEFINITIONS ::=
BEGIN

EXPORTS
  rTSE, rTSE-abstract-syntax, RTORQapdu, RTOACapdu, RTORJapdu, RTABapdu; --	for use by Presentation Layer only

--IMPORTS
--  CONTRACT
--    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--      remote-operations(4) informationObjects(5) version1(0)};
--OPEN ::= CLASS {&Type  
--}WITH SYNTAX {TYPE &Type
--}

rTSE-abstract-syntax OBJECT IDENTIFIER ::=
  {joint-iso-itu-t reliable-transfer(3) abstract-syntax(2)}

--rTSE CONTRACT ::= {ID  {joint-iso-itu-t reliable-transfer(3) aseID(1)}
--}

RTSE-apdus ::= CHOICE {
  rtorq-apdu  [16] IMPLICIT RTORQapdu,
  rtoac-apdu  [17] IMPLICIT RTOACapdu,
  rtorj-apdu  [18] IMPLICIT RTORJapdu,
  rttp-apdu   RTTPapdu,
  rttr-apdu   RTTRapdu,
  rtab-apdu   [22] IMPLICIT RTABapdu
}

-- Tags [19], [20], [21] are used by the values of the UNBIND macro of the RO-notation of
-- Recommendation X.219. Tags [0] to [15] inclusive are reserved for the 
-- use by the APDUs of ROSE (Recommendation X229). Any occurrence of 
-- ANY in this module shall be replaced by a single ASN. 1 type (if any) in an RTSE-user
-- protocol specification. In addition any RTSE-user protocol sharing a single named
-- abstract syntax with the RTSE protocol shall use distinct tags for the single
-- presentation data values in the user data parameters of the RT-CLOSE (if any) and
-- RT- TRANSFER services. These tags shall be distinct from the tag values [16], [17],
-- [18] and [22] and from the ASN. 1 types INTEGER and OCTET STRING.
-- Note - The above conditions are ensured, if the RTSE-user protocol specification uses the
-- RO-notation of Recommendation X229.
-- In X.410-1984 mode only the components of RTORQapdu, RTOACapdu, RTORJapdu
-- and RTABapdu are used by the presentation layer. This has the effect that the following
-- APDU types appear in the protocol in X.410-1984 mode instead of the alternative types
-- of the RTSE-apdus type:
-- 			RTORQapdu
-- 			RTOACapdu
-- 			RTORJapdu
-- 			RTTPapdu
-- 			RTTRapdu
-- 			RTABapdu
RTORQapdu ::= SET {
  checkpointSize       [0] IMPLICIT INTEGER DEFAULT 0,
  windowSize           [1] IMPLICIT INTEGER DEFAULT 3,
  dialogueMode
    [2] IMPLICIT INTEGER {monologue(0), twa(1)} DEFAULT monologue,
  connectionDataRQ     [3]  ConnectionData,
  applicationProtocol
    [4] IMPLICIT INTEGER {mts-transfer-protocol(12), mts-transfer-protocol-1984(1)} OPTIONAL --solely in X.410-1984 mode--
}

RTOACapdu ::= SET {
  checkpointSize    [0] IMPLICIT INTEGER DEFAULT 0,
  windowSize        [1] IMPLICIT INTEGER DEFAULT 3,
  connectionDataAC  [2]  ConnectionData
}

RTORJapdu ::= SET {
  refuseReason  [0] IMPLICIT RefuseReason OPTIONAL, -- only in X.410-1984 mode
  userDataRJ
--    [1]  OPEN.&Type OPTIONAL 
    [1] ANY OPTIONAL -- RTSE user data, only in normal mode--
}

RTTPapdu ::= INTEGER -- priority-- 

RTTRapdu ::= OCTET STRING

RTABapdu ::= SET {
  abortReason         [0] IMPLICIT AbortReason OPTIONAL,
  reflectedParameter  [1] IMPLICIT BIT STRING OPTIONAL,
  -- 8 bits maximum, only if abortReason is invalidParameter
  userdataAB
--    [2]  OPEN.&Type OPTIONAL 
  [2] ANY OPTIONAL -- only in normal mode and if abortReason--
  -- is userError 
}

ConnectionData ::= CHOICE {
--  open     [0]  OPEN.&Type, 
  open		[0] ANY, -- RTSE user data
  
  -- this alternative is encoded as [0] IMPLICIT NULL
  -- in the case of absence of RTSE user data,
  recover  [1] IMPLICIT SessionConnectionIdentifier
}

SessionConnectionIdentifier ::= SEQUENCE {
  callingSSuserReference          CallingSSuserReference,
  commonReference                 CommonReference,
  additionalReferenceInformation
    [0] IMPLICIT AdditionalReferenceInformation OPTIONAL
}

RefuseReason ::= INTEGER {
  rtsBusy(0), cannotRecover(1), validationFailure(2),
  unacceptableDialogueMode(3)}

CallingSSuserReference ::= CHOICE {
  t61String    T61String -- solely in X.410-1984 --,
  octetString  OCTET STRING -- solely in normal mode --
}

CommonReference ::= UTCTime

AdditionalReferenceInformation ::= T61String

AbortReason ::= INTEGER {
  localSystemProblem(0),
  invalidParameter(1), -- reflectedParameter supplied
  unrecognizedActivity(2),
  temporaryProblem(3),
  -- the RTSE cannot accept a session for a period of time
  protocolError(4), -- RTSE level protocol error
  permanentProblem(5), --provider-abort solely in normal mode 
  userError(6), -- user-abort solely in normal mode
  transferCompleted(7) -- activity can't be discarded--}

-- I can't use the ACSE External as it dispatches out of the 
-- ber_callbacks and I want to dispatch out of the rtse_callbacks

-- Workaround for bug in asn2wrs in the .cnf file
-- to handle the lack of support for tagged assignments.
-- remove that workaround once asn2wrs learns how to handle
-- tagged assignments.
EXTERNAL  ::=  [UNIVERSAL 8] IMPLICIT SEQUENCE
     {
      direct-reference  OBJECT IDENTIFIER OPTIONAL,
      indirect-reference  INTEGER OPTIONAL,
      data-value-descriptor  ObjectDescriptor  OPTIONAL,
      encoding  CHOICE
                  {single-ASN1-type  [0] ANY,
                   octet-aligned     [1] IMPLICIT OCTET STRING,
                   arbitrary         [2] IMPLICIT BIT STRING}
     }

END

-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D