![Anders Broman](/assets/img/avatar_default.png)
I attach my RTSE dissector (in tar file) which requires the included ROS dissector, as well as a patch to the latest pres.{cnf,asn}. The ROS dissector uses a new field in the SESSION_DATA_STRUCTURE to pass the ROS operation to the sub-dissector, though this is also set by other dissectors (RTSE uses it in X.410 mode). Note that X.400 P1 in X.410 mode doesn't use ROS, so it is useful not to explicitly include ROS in my X411 dissector. However, the inclusion of a ROS dissector won't effect any dissectors that currently implement their own ROS. I also include dissectors for: X.411 (P1) X.400 OSI Message Transfer Service X.420 (P22) X.400 OSI Information Object STANAG 4406 (P772) STANAG 4406 Military Message Extensions (to P22) These rely on the RTSE and ROS dissectors. svn path=/trunk/; revision=15679
393 lines
16 KiB
Groff
393 lines
16 KiB
Groff
-- $Id$
|
|
-- Module ISO8823-PRESENTATION (X.226:07/1994)
|
|
ISO8823-PRESENTATION DEFINITIONS ::=
|
|
BEGIN
|
|
|
|
--
|
|
-- In X.410-1984 mode, the value of the SS-user data parameter of the S-CONNECT request and
|
|
-- indication session-service primitives shall be a CP-type value.
|
|
--
|
|
-- In normal mode, the value of the SS-user data parameter of the S-CONNECT request and
|
|
-- indication session-service primitives shall be a CP-type value, followed as a requestor's
|
|
-- option by zero or more CPC-type values.
|
|
IMPORTS
|
|
RTORQapdu, RTOACapdu, RTORJapdu, RTABapdu
|
|
FROM Reliable-Transfer-APDU {joint-iso-itu-t(2) reliable-transfer(3)
|
|
apdus(0)};
|
|
|
|
CP-type ::= SET {
|
|
mode-selector [0] IMPLICIT Mode-selector,
|
|
x410-mode-parameters
|
|
-- [1] IMPLICIT SET {COMPONENTS OF Reliable-Transfer-APDU.RTORQapdu} OPTIONAL This OPTIONAL element shall be absent for a
|
|
[1] IMPLICIT RTORQapdu OPTIONAL,
|
|
-- This OPTIONAL element shall be absent for a
|
|
-- nested presentation connection.
|
|
-- Shall be used for X.410 mode only. Shall be bitwise
|
|
-- compatible with CCITT Recommendation X.410-1984.
|
|
-- This shall be the User data parameter of the CP PPDU1) --
|
|
normal-mode-parameters
|
|
[2] IMPLICIT SEQUENCE {protocol-version
|
|
[0] IMPLICIT Protocol-version DEFAULT {version-1},
|
|
calling-presentation-selector
|
|
[1] IMPLICIT Calling-presentation-selector
|
|
OPTIONAL,
|
|
called-presentation-selector
|
|
[2] IMPLICIT Called-presentation-selector OPTIONAL,
|
|
presentation-context-definition-list
|
|
[4] IMPLICIT Presentation-context-definition-list
|
|
OPTIONAL,
|
|
default-context-name
|
|
[6] IMPLICIT Default-context-name OPTIONAL,
|
|
presentation-requirements
|
|
[8] IMPLICIT Presentation-requirements OPTIONAL,
|
|
user-session-requirements
|
|
[9] IMPLICIT User-session-requirements OPTIONAL-- shall not be present if equal to the Revised session
|
|
-- requirements parameter --,
|
|
protocol-options
|
|
[11] Protocol-options DEFAULT {},
|
|
-- shall be absent if no options are offered
|
|
initiators-nominated-context
|
|
[12] Presentation-context-identifier OPTIONAL,
|
|
-- shall only be present if nominated-context is
|
|
-- offered in protocol-options
|
|
extensions
|
|
[14] SEQUENCE {...} OPTIONAL,
|
|
-- to allow for future extensions
|
|
user-data
|
|
User-data OPTIONAL} OPTIONAL
|
|
-- Shall be used for normal mode only.
|
|
-- Shall be the parameters of the CP PPDU.
|
|
}
|
|
|
|
--
|
|
-- As an initiator's option, the presentation data values contained in a CP PPDU may be
|
|
-- encoded more than once, using CPC-type values, to allow the transfer of the same
|
|
-- presentation data values using a number of different transfer syntaxes.
|
|
--
|
|
CPC-type ::=
|
|
User-data
|
|
|
|
-- Shall be used for normal mode only.
|
|
-- Shall not be present if the Presentation context definition list parameter is not present
|
|
-- in the CP PPDU. Each instance of this data type shall contain all of the presentation data
|
|
-- values which were contained in the User data parameter of the CP PPDU.
|
|
-- This shall be the same set of presentation data values which were contained in the CP-type.
|
|
--
|
|
-- The SS-user data parameter value of the S-CONNECT response
|
|
-- and confirm session-service primitives shall be a CPA-PPDU
|
|
-- value when the Result parameter value is "accept".
|
|
--
|
|
--
|
|
CPA-PPDU ::= SET {
|
|
mode-selector [0] IMPLICIT Mode-selector,
|
|
x410-mode-parameters
|
|
-- [1] IMPLICIT SET {COMPONENTS OF Reliable-Transfer-APDU.RTOACapdu} OPTIONAL
|
|
-- This OPTIONAL element shall be absent for a
|
|
[1] IMPLICIT RTOACapdu OPTIONAL,
|
|
-- This OPTIONAL element shall be absent for a
|
|
-- nested presentation connection.
|
|
-- Shall be used for X.410 mode only. Shall be bitwise
|
|
-- compatible with CCITT Recommendation X.410-1984.
|
|
-- This shall be the User data parameter of the CPA PPDU1) --
|
|
normal-mode-parameters
|
|
[2] IMPLICIT SEQUENCE {protocol-version
|
|
[0] IMPLICIT Protocol-version DEFAULT {version-1},
|
|
responding-presentation-selector
|
|
[3] IMPLICIT Responding-presentation-selector
|
|
OPTIONAL,
|
|
presentation-context-definition-result-list
|
|
[5] IMPLICIT Presentation-context-definition-result-list
|
|
OPTIONAL,
|
|
presentation-requirements
|
|
[8] IMPLICIT Presentation-requirements OPTIONAL,
|
|
user-session-requirements
|
|
[9] IMPLICIT User-session-requirements OPTIONAL,
|
|
-- shall not be present if equal to the Revised session
|
|
-- requirements parameter
|
|
protocol-options
|
|
[11] Protocol-options DEFAULT {},
|
|
-- shall be absent if no options are selected
|
|
responders-nominated-context
|
|
[13] Presentation-context-identifier OPTIONAL,
|
|
-- shall only be present if nominated-context is
|
|
-- selected in protocol-options
|
|
user-data
|
|
User-data OPTIONAL} OPTIONAL
|
|
-- Shall be used for normal mode only.
|
|
}
|
|
|
|
--
|
|
--
|
|
-- The SS-user data parameter value of the S-CONNECT response
|
|
-- and confirm session-service primitives shall be a CPR-PPDU
|
|
-- value when the Result parameter value is "reject by SS-provider"
|
|
-- or "reject by called SS-user".
|
|
--
|
|
CPR-PPDU ::= CHOICE {
|
|
-- x400-mode-parameters SET {COMPONENTS OF Reliable-Transfer-APDU.RTORJapdu}
|
|
-- This OPTIONAL element shall be absent for a
|
|
x400-mode-parameters RTORJapdu,
|
|
-- This OPTIONAL element shall be absent for a
|
|
-- nested presentation connection.
|
|
-- Shall be used for X.410 mode only. Shall be bitwise
|
|
-- compatible with CCITT Recommendation X.410-1984.
|
|
-- This shall be the User data parameter of the CPR PPDU2) --
|
|
normal-mode-parameters
|
|
SEQUENCE {protocol-version
|
|
[0] IMPLICIT Protocol-version DEFAULT {version-1},
|
|
responding-presentation-selector
|
|
[3] IMPLICIT Responding-presentation-selector OPTIONAL,
|
|
presentation-context-definition-result-list
|
|
[5] IMPLICIT Presentation-context-definition-result-list
|
|
OPTIONAL,
|
|
default-context-result
|
|
[7] IMPLICIT Default-context-result OPTIONAL,
|
|
provider-reason
|
|
[10] IMPLICIT Provider-reason OPTIONAL,
|
|
user-data User-data OPTIONAL
|
|
}
|
|
-- Shall be used for normal mode only.
|
|
}
|
|
|
|
--
|
|
--
|
|
-- The SS-user data parameter of the S-U-ABORT request and indication
|
|
-- service primitives shall be an Abort-type value.
|
|
--
|
|
Abort-type ::= CHOICE {
|
|
aru-ppdu ARU-PPDU-- for a P-U-ABORT -- ,
|
|
arp-ppdu ARP-PPDU -- for a P-P-ABORT
|
|
}
|
|
|
|
--
|
|
ARU-PPDU ::= CHOICE {
|
|
-- x400-mode-parameters SET {COMPONENTS OF Reliable-Transfer-APDU.RTABapdu}
|
|
-- Shall be used for X.410 mode only. Shall be bitwise
|
|
x400-mode-parameters RTABapdu,
|
|
-- Shall be used for X.410 mode only. Shall be bitwise
|
|
-- compatible with CCITT Recommendation X.410-1984.
|
|
-- This shall be the User data parameter of the ARU PPDU3. --
|
|
normal-mode-parameters
|
|
[0] IMPLICIT SEQUENCE {presentation-context-identifier-list
|
|
[0] IMPLICIT Presentation-context-identifier-list
|
|
OPTIONAL,
|
|
user-data
|
|
User-data OPTIONAL}
|
|
-- Shall be used for normal mode only.
|
|
}
|
|
|
|
--
|
|
ARP-PPDU ::= SEQUENCE {
|
|
provider-reason [0] IMPLICIT Abort-reason OPTIONAL,
|
|
event-identifier [1] IMPLICIT Event-identifier OPTIONAL
|
|
}
|
|
|
|
--
|
|
--
|
|
-- The SS-user data parameter value of the S-TYPED-DATA request
|
|
-- and indication service primitives shall be a Typed-data-type value.
|
|
--
|
|
Typed-data-type ::= CHOICE {
|
|
acPPDU [0] IMPLICIT AC-PPDU-- P-ALTER-CONTEXT request and indication -- ,
|
|
acaPPDU [1] IMPLICIT ACA-PPDU-- P-ALTER-CONTEXT response and confirm -- ,
|
|
ttdPPDU User-data -- P-TYPED-DATA request and indication
|
|
}
|
|
|
|
--
|
|
AC-PPDU ::= SEQUENCE {
|
|
presentation-context-addition-list
|
|
[0] IMPLICIT Presentation-context-addition-list OPTIONAL,
|
|
presentation-context-deletion-list
|
|
[1] IMPLICIT Presentation-context-deletion-list OPTIONAL,
|
|
user-data User-data OPTIONAL
|
|
}
|
|
|
|
--
|
|
ACA-PPDU ::= SEQUENCE {
|
|
presentation-context-addition-result-list
|
|
[0] IMPLICIT Presentation-context-addition-result-list OPTIONAL,
|
|
presentation-context-deletion-result-list
|
|
[1] IMPLICIT Presentation-context-deletion-result-list OPTIONAL,
|
|
user-data User-data OPTIONAL
|
|
}
|
|
|
|
--
|
|
--
|
|
-- The SS-user data parameter value of the S-RESYNCHRONIZE request and
|
|
-- indication service primitives shall be an RS-PPDU value.
|
|
--
|
|
RS-PPDU ::= SEQUENCE {
|
|
presentation-context-identifier-list
|
|
[0] IMPLICIT Presentation-context-identifier-list OPTIONAL,
|
|
user-data User-data OPTIONAL
|
|
}
|
|
|
|
--
|
|
-- The SS-user data parameter value of the S-RESYNCHRONIZE response and
|
|
-- confirm service primitives shall be an RSA-PPDU value.
|
|
--
|
|
RSA-PPDU ::= SEQUENCE {
|
|
presentation-context-identifier-list
|
|
[0] IMPLICIT Presentation-context-identifier-list OPTIONAL,
|
|
user-data User-data OPTIONAL
|
|
}
|
|
|
|
--
|
|
--
|
|
-- The SS-user data parameter values of the S-DATA, S-CAPABILITY-DATA,
|
|
-- S-EXPEDITED-DATA request and indication session-service primitives
|
|
-- and S-CAPABILITY-DATA response and confirm session-service primitives
|
|
-- shall be of type User-data.
|
|
--
|
|
-- The SS-user data parameter values of all other session-service
|
|
-- primitives not described above shall be of type User-data.
|
|
--
|
|
--
|
|
--
|
|
Abort-reason ::= INTEGER {
|
|
reason-not-specified(0), unrecognized-ppdu(1), unexpected-ppdu(2),
|
|
unexpected-session-service-primitive(3), unrecognized-ppdu-parameter(4),
|
|
unexpected-ppdu-parameter(5), invalid-ppdu-parameter-value(6)}
|
|
|
|
Abstract-syntax-name ::= OBJECT IDENTIFIER
|
|
|
|
Called-presentation-selector ::= Presentation-selector
|
|
|
|
Calling-presentation-selector ::= Presentation-selector
|
|
|
|
Context-list ::=
|
|
-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
|
|
SEQUENCE OF
|
|
SEQUENCE {presentation-context-identifier Presentation-context-identifier,
|
|
abstract-syntax-name Abstract-syntax-name,
|
|
transfer-syntax-name-list SEQUENCE OF Transfer-syntax-name
|
|
}
|
|
|
|
Default-context-name ::= SEQUENCE {
|
|
abstract-syntax-name [0] IMPLICIT Abstract-syntax-name,
|
|
transfer-syntax-name [1] IMPLICIT Transfer-syntax-name
|
|
}
|
|
|
|
Default-context-result ::= Result
|
|
|
|
Event-identifier ::= INTEGER {
|
|
cp-PPDU(0), cpa-PPDU(1), cpr-PPDU(2), aru-PPDU(3), arp-PPDU(4), ac-PPDU(5),
|
|
aca-PPDU(6), td-PPDU(7), ttd-PPDU(8), te-PPDU(9), tc-PPDU(10), tcc-PPDU(11),
|
|
rs-PPDU(12), rsa-PPDU(13), s-release-indication(14), s-release-confirm(15),
|
|
s-token-give-indication(16), s-token-please-indication(17),
|
|
s-control-give-indication(18), s-sync-minor-indication(19),
|
|
s-sync-minor-confirm(20), s-sync-major-indication(21),
|
|
s-sync-major-confirm(22), s-p-exception-report-indication(23),
|
|
s-u-exception-report-indication(24), s-activity-start-indication(25),
|
|
s-activity-resume-indication(26), s-activity-interrupt-indication(27),
|
|
s-activity-interrupt-confirm(28), s-activity-discard-indication(29),
|
|
s-activity-discard-confirm(30), s-activity-end-indication(31),
|
|
s-activity-end-confirm(32)}
|
|
|
|
Mode-selector ::= SET {
|
|
mode-value [0] IMPLICIT INTEGER {x410-1984-mode(0), normal-mode(1)}
|
|
}
|
|
|
|
Presentation-context-addition-list ::= Context-list
|
|
|
|
Presentation-context-addition-result-list ::= Result-list
|
|
|
|
Presentation-context-definition-list ::= Context-list
|
|
|
|
Presentation-context-definition-result-list ::= Result-list
|
|
|
|
Presentation-context-deletion-list ::=
|
|
-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF Presentation-context-identifier
|
|
SEQUENCE OF Presentation-context-identifier
|
|
|
|
Presentation-context-deletion-result-list ::=
|
|
-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
|
|
SEQUENCE OF
|
|
INTEGER {acceptance(0), user-rejection(1)}
|
|
|
|
--Presentation-context-identifier ::= INTEGER(1..127, ..., 128..MAX)
|
|
Presentation-context-identifier ::= INTEGER
|
|
|
|
Presentation-context-identifier-list ::=
|
|
-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
|
|
SEQUENCE OF
|
|
SEQUENCE {presentation-context-identifier Presentation-context-identifier,
|
|
transfer-syntax-name Transfer-syntax-name}
|
|
|
|
Presentation-requirements ::= BIT STRING {context-management(0), restoration(1)
|
|
}
|
|
|
|
--Presentation-selector ::= OCTET STRING(SIZE (1..4, ..., 5..MAX))
|
|
Presentation-selector ::= OCTET STRING
|
|
|
|
Protocol-options ::= BIT STRING {
|
|
nominated-context(0), short-encoding(1), packed-encoding-rules(2)}
|
|
|
|
Protocol-version ::= BIT STRING {version-1(0)}
|
|
|
|
Provider-reason ::= INTEGER {
|
|
reason-not-specified(0), temporary-congestion(1), local-limit-exceeded(2),
|
|
called-presentation-address-unknown(3), protocol-version-not-supported(4),
|
|
default-context-not-supported(5), user-data-not-readable(6),
|
|
no-PSAP-available(7)}
|
|
|
|
Responding-presentation-selector ::= Presentation-selector
|
|
|
|
Result ::= INTEGER {acceptance(0), user-rejection(1), provider-rejection(2)}
|
|
|
|
Result-list ::=
|
|
-- SEQUENCE SIZE (0..7, ..., 8..MAX) OF
|
|
SEQUENCE OF
|
|
SEQUENCE {result [0] IMPLICIT Result,
|
|
transfer-syntax-name [1] IMPLICIT Transfer-syntax-name OPTIONAL,
|
|
provider-reason
|
|
[2] IMPLICIT INTEGER {reason-not-specified(0),
|
|
abstract-syntax-not-supported(1),
|
|
proposed-transfer-syntaxes-not-supported(2),
|
|
local-limit-on-DCS-exceeded(3)} OPTIONAL
|
|
}
|
|
|
|
Transfer-syntax-name ::= OBJECT IDENTIFIER
|
|
|
|
User-data ::= CHOICE {
|
|
simply-encoded-data [APPLICATION 0] IMPLICIT Simply-encoded-data,
|
|
fully-encoded-data [APPLICATION 1] IMPLICIT Fully-encoded-data,
|
|
...
|
|
}
|
|
|
|
-- Subclause 8.4 defines when each of the two alternatives shall be used.
|
|
Simply-encoded-data ::= OCTET STRING
|
|
|
|
-- See 8.4.1.
|
|
--Fully-encoded-data ::= SEQUENCE SIZE (1, ..., 2..MAX) OF PDV-list
|
|
Fully-encoded-data ::= SEQUENCE OF PDV-list
|
|
|
|
-- contains one or more PDV-list values.
|
|
-- See 8.4.2.
|
|
PDV-list ::= SEQUENCE {
|
|
transfer-syntax-name Transfer-syntax-name OPTIONAL,
|
|
presentation-context-identifier Presentation-context-identifier,
|
|
presentation-data-values
|
|
CHOICE {single-ASN1-type [0] IMPLICIT OCTET STRING,
|
|
-- [0] ABSTRACT-SYNTAX.&Type
|
|
-- (CONSTRAINED BY {
|
|
|
|
-- Type corresponding to presentation context identifier }),
|
|
octet-aligned [1] IMPLICIT OCTET STRING,
|
|
arbitrary [2] IMPLICIT BIT STRING}
|
|
-- Contains one or more presentation data values from the same
|
|
-- presentation context.
|
|
-- See 8.4.2.
|
|
}
|
|
|
|
User-session-requirements ::= BIT STRING {
|
|
half-duplex(0), duplex(1), expedited-data(2), minor-synchronize(3),
|
|
major-synchronize(4), resynchronize(5), activity-management(6),
|
|
negotiated-release(7), capability-data(8), exceptions(9), typed-data(10),
|
|
symmetric-synchronize(11), data-separation(12)}
|
|
|
|
END
|
|
|
|
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
|
|
|