home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1991-12-22 | 107.7 KB | 4,364 lines
.rs .\" Troff code generated by TPS Convert from ITU Original Files .\" Not Copyright (~c) 1991 .\" .\" Assumes tbl, eqn, MS macros, and lots of luck. .TA 1c 2c 3c 4c 5c 6c 7c 8c .ds CH .ds CF .EQ delim @@ .EN .nr LL 40.5P .nr ll 40.5P .nr HM 3P .nr FM 6P .nr PO 4P .nr PD 9p .po 4P .rs \v'|.5i' .sp 1P .LP 11.3 \fIGeneration of the general\(hyattributes\fR .sp 9p .RT .PP This section describes how the general\(hyattributes are generated. The information is presented in Table\ 2/X.413. For a description of the classification used, see \(sc\ 5.3. .RT .ce \fBH.T. [1T2.413]\fR .ce TABLE\ 2/X.413 .ce \fBGeneration of the general\(hyattribute\(hytypes\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(60p) | cw(30p) | cw(36p) | cw(24p) | cw(78p) . Attribute\(hytype\(hyname Single/ multi valued Source parameter Source generated by Generation rules _ .T& lw(60p) | cw(30p) | cw(36p) | cw(24p) | lw(78p) . T{ \fBChild\(hysequence\(hynumbers\fR T} M \(em MS T{ A value is generated for each corresponding child\(hyentry that a parent\(hyentry has T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBContent\fR S T{ \fBcontent\fR \fBreturned\(hycontent\fR T} MD RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBContent\(hyconfidentiality\(hy\fR \fBalgorithm\(hyidentifier\fR T} S T{ \fBcontent\(hy\fR \fBconfidentiality\(hy\fR \fBalgorithm\(hy\fR \fBidentifier\fR T} MD \fR T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBContent\(hycorrelator\fR T} S T{ \fBcontent\(hy\fR \fBcorrelator\fR T} RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBContent\(hyidentifier\fR T} S T{ \fBcontent\(hy\fR \fBidentifier\fR T} MD RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBContent\(hyintegrity\(hycheck\fR T} S T{ \fBcontent\(hy\fR \fBintegrity\(hycheck\fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | cw(36p) | cw(24p) | lw(78p) . \fBContent\(hylength\fR S \(em MS T{ The (approximate) size of the stored content in octets based on the delivered or returned content T} _ .T& lw(60p) | cw(30p) | cw(36p) | cw(24p) | lw(78p) . \fBContent\(hyreturned\fR S \(em MS T{ The value is set to \fBtrue\fR if returned\(hycontent is present in a ReportDelivery and to \fBfalse\fR if not present T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBContent\(hytype\fR S \fBcontent\(hytype MD RD T{ If represented by OBJECT IDENTIFIER, the value of the parameter. If represented by INTEGER, converted to the corresponding OBJECT IDENTIFIER T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBConversion\(hywith\(hyloss\(hy\fR \fBprohibited\fR T} S T{ \fBconversion\(hywith\(hy\fR \fBloss\(hyprohibited\fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBConverted\(hyEITs\fR M T{ \fBconverted\(hy\fR \fBencoded\(hy\fR \fB information\(hy\fR \fBtypes\fR T} MD T{ A corresponding value is generated from each bit that is set to\ \fB1\fR in the \fBbuilt\(hyin\(hyencoded\(hyinformation\(hytypes\fR parameter and from each \fBExternalEncoded InformationType\fR present in the \fBexternal\(hyencoded\(hyinformation\(hytype\fR parameter T} _ .T& lw(60p) | cw(30p) | cw(36p) | cw(24p) | lw(78p) . \fBCreation\(hytime\fR S \(em MS T{ The time of creation of the entry T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBDelivered\(hyEITs\fR M T{ \fBconverted\(hyEITs and original\(hyEITs\fR T} MS T{ A union of the other two general\(hyattribute\(hytypes T} _ .TE .nr PS 9 .RT .ad r \fBTableau 2/X.413 [1T2.413], p. 1\fR .sp 1P .RT .ad b .RT .LP .bp .ce \fBH.T. [2T2.413]\fR .ce TABLE\ 2/X.413 \fI(cont.)\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(60p) | cw(30p) | cw(36p) | cw(24p) | cw(78p) . Attribute\(hytype\(hyname Single/ multi valued Source parameter Source generated by Generation rules _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBDelivery\(hyflags\fR S \fBdelivery\(hyflags\fR MD T{ The value of the parameter is the attribute\(hyvalue. If there are no \fR \fBdelivery\(hyflags\fR in the MD, generate a default value with no flags set T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBDL\(hyexpansion\(hyhistory\fR T} M T{ \fBDL\(hyexpansion\(hy\fR \fBhistory\fR T} MD RD T{ A corresponding value is generated from each component of the SEQUENCE T} _ .T& lw(60p) | cw(30p) | cw(36p) | cw(24p) | lw(78p) . \fBEntry\(hystatus\fR S \(em MS T{ Generated when the entry is created with the value \*Qnew\*U T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBEntry\(hytype\fR S T{ \fBMessageDelivery\fR \fBARGUMENT\fR \fBReportDelivery\fR \fBARGUMENT\fR T} MS MS T{ The value is set to \*Qdelivered\(hymessage\*U The value is set to \*Qdelivered\(hyreport\*U. If a returned\(hycontent is present, a child\(hyentry, which contains the returned\(hycontent is created. For the child\(hyentry, the value of this attribute is set to \*Qreturned\(hycontent\*U T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBIntended\(hyrecipient\(hyname\fR T} S T{ \fBintended\(hy\fR \fBrecipient\(hyname\fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBMessage\(hydelivery\(hyenvelope T} S \fBenvelope\fR MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBMessage\(hydelivery\(hytime\fR T} S T{ \fBmessage\(hydelivery\(hy\fR \fBtime\fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBMessage\(hydelivery\(hy\fR \fBidentifier\fR T} S T{ \fBmessage\(hydelivery\(hyidentifier\fR \fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBMessage\(hyorigin\(hy\fR \fBauthentication\(hycheck\fR T} S T{ \fBmessage\(hyorigin\(hyauthentication\(hycheck\fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBMessage\(hysecurity\(hylabel\fR T} S T{ \fBmessage\(hysecurity\(hylabel\fR T} MD RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBMessage\(hysubmission\(hytime\fR T} S T{ \fBmessage\(hy\fR \fBsubmission\(hytime\fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBMessage\(hytoken\fR S \fBmessage\(hytoken\fR MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBOriginal\(hyEITs\fR M T{ \fBoriginal\(hyencoded\(hyinformation\(hytypes\fR T} MD RD T{ A corresponding value is generated from each bit that is set to\ \fB1\fR in the \fBbuilt\(hyin\(hyencoded\(hyinformation\(hytypes\fR parameter and from each \fBExternalEncoded InformationType\fR present in the \fBexternal\(hyencoded\(hyinformation\(hytype\fR parameter T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBOriginator\(hycertificate\fR T} S T{ \fBoriginator\(hy\fR \fBcertificate\fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .TE .nr PS 9 .RT .ad r \fBTableau 2/X.413 [2T2.413], p. 2\fR .sp 1P .RT .ad b .RT .LP .bp .ce \fBH.T. [3T2.413]\fR .ce TABLE\ 2/X.413 \fI(end)\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(60p) | cw(30p) | cw(36p) | cw(24p) | cw(78p) . Attribute\(hytype\(hyname Single/ multi valued Source parameter Source generated by Generation rules _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBOriginator\(hyname\fR S \fBoriginator\(hyname\fR MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBOther\(hyrecipient\(hynames\fR T} M T{ \fBother\(hyrecipient\(hynames\fR T} MD T{ A corresponding value is generated from each component of the SEQUENCE T} _ .T& lw(60p) | cw(30p) | cw(36p) | cw(24p) | lw(78p) . T{ \fBParent\(hysequence\(hynumber\fR T} S \(em MS T{ When creating a child\(hyentry, this attribute is generated with the corresponding parent\(hyentry's sequence\(hynumber as value T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBPer\(hyrecipient\(hyreport\(hy\fR \fBdelivery\(hyfields\fR T} M T{ \fBper\(hyrecipient\(hy\fR \fBfields\fR T} RD T{ A corresponding value is generated from each component of the SEQUENCE T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . \fBPriority\fR S \fBpriority\fR MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBProof\(hyof\(hydelivery\(hyrequest\fR T} S T{ \fBproof\(hyof\(hydelivery\(hyrequest\fR \fR T} MD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBRedirection\(hyhistory\fR T} M T{ \fBredirection\(hyhistory\fR T} MD T{ A corresponding value is generated from each component of the SEQUENCE T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBReport\(hydelivery\(hyenvelope\fR T} S \fBenvelope\fR RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBReporting\(hyDL\(hyname\fR T} S T{ \fBreporting\(hyDL\(hyname\fR T} RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBReporting\(hyMTA\(hycertificate\fR T} S T{ \fBreporting\(hyMTA\(hycertificate\fR T} RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBReport\(hyorigin\(hy\fR \fBauthentication\(hycheck\fR T} S T{ \fBreport\(hyorigin\(hyauthentication\(hycheck\fR T} RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBSecurity\(hyclassification\fR T} S T{ \fBsecurity\(hy\fR \fBclassification\fR T} MD RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | cw(36p) | cw(24p) | lw(78p) . \fBSequence\(hynumber\fR S \(em MS T{ When creating an entry, the MS assigns a unique value for this attribute in ascending order T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBSubject\(hysubmission\(hy\fR \fBidentifier\fR T} S T{ \fBsubject\(hy\fR \fBsubmission\(hy\fR \fBidentifier\fR T} RD T{ The value of the parameter is the attribute\(hyvalue T} _ .T& lw(60p) | cw(30p) | lw(36p) | cw(24p) | lw(78p) . T{ \fBThis\(hyrecipient\(hyname\fR T} S T{ \fBthis\(hyrecipient\(hy\fR \fBname\fR T} MD T{ The value of the parameter is the attribute\(hyvalue \fINote\fR \ \(em\ When a message\(hydelivery entry is created, there are no separate general\(hyattributes generated for physical delivery and delivery method arguments, because the information in these arguments are not relevant to the\ MS. However, the\ UA can retrieve all the information contained in these arguments by retrieving the message\(hydelivery\(hyenvelope general\(hyattribute. .parag T} _ .TE .nr PS 9 .RT .ad r \fBTableau 2/X.413 [3T2.413], p. 3\fR .sp 1P .RT .ad b .RT .LP .bp .sp 1P .LP 11.4 \fIAttribute\(hytypes subscription\fR .sp 9p .RT .PP Attribute\(hytype subscription is a local matter. If the attribute\(hytype subscription is changed, then the UA may receive all of the attributes in the original subscription for messages present in the MS at the time the subscription was changed. The handling of these unsubscribed attributes is a local matter. Similarly, when a new attribute is subscribed to, the UA may not receive this attribute for messages in the MS when the subscription occurred. .RT .sp 2P .LP \fB12\fR \fBGeneral\(hy\fR \fBauto\(hyaction\(hytypes\fR .sp 1P .RT .PP The \fBgeneral\(hyauto\(hyaction\(hytypes\fR are valid for all message content\(hytypes. However, their detailed effect may be content\(hyspecific, and so the procedure descriptions given in this Recommendation may need to be supplemented in their respective Recommendations, e.g.\ the IPMS\(hyspecific procedure for the auto\(hyforward \fBgeneral\(hyauto\(hyaction\(hytype\fR is described in \(sc\ 19.4 of Recommendation\ X.420. Other \fBauto\(hyaction\(hytypes\fR , which are content\(hyspecific, may be defined in their respective Recommendations. .PP \fBAuto\(hyactions\fR are introduced in \(sc\ 6.5 and are registered and deregistered using the Register\(hyMS abstract\(hyoperation described in \(sc\ 8.6. .PP The following \fBgeneral\(hyauto\(hyaction\(hytypes\fR are defined: .RT .LP a) Auto\(hyforward; .LP b) Auto\(hyalert. .PP The operation of \fBauto\(hyactions\fR may be affected by the implementation of a security\(hypolicy. .PP The following subclauses contain a short description of each \fBgeneral\(hyauto\(hyaction\(hytype\fR together with its abstract\(hysyntax using the \fBAUTO\(hyACTION\fR macro defined in \(sc\ 6.5. .RT .sp 1P .LP 12.1 \fIAuto\(hyforward\fR .sp 9p .RT .PP The \fBauto\(hyforward auto\(hyaction\fR enables the MS abstract\(hyservice\(hyprovider to automatically \fBforward\fR any message that has been delivered into the stored\(hymessages information base. The exact definition of forwarding is content\(hyspecific, but it always involves the submission of a new message incorporating the delivered content to the MTS abstract\(hyservice. .PP The \fBauto\(hyforward auto\(hyaction\(hytype\fR allows one or more sets of \fBauto\(hyforward\fR parameters to be registered with the MS, each identified by its \fBauto\(hyforward\(hyregistration\(hyidentifier\fR . Each \fBauto\(hyforward\(hyregistration\(hyparameter\fR specifies criteria to determine whether it applies to a particular delivered message, and if so a copy of the message is \fBauto\(hyforwarded\fR using the Message\(hysubmission abstract\(hyoperation. That is to say, if a message matches more than one set of criteria, the message is \fBauto\(hyforwarded\fR that many times. .PP The \fBauto\(hyforward\(hyregistration\(hyparameter\fR specifies whether the main\(hyentry (and any associated child\(hyentries) corresponding to the message is to be deleted after \fBauto\(hyforwarding\fR . If any of the parameters acted upon indicates no\(hydeletion (or if any of the submissions fail), then the entry is not deleted. .RT .LP auto\(hyforward AUTO\(hyACTION .LP REGISTRATION PARAMETER IS AutoForwardRegistrationParameter .LP ::= id\(hyact\(hyauto\(hyforward .LP AutoForwardRegistrationParameter ::= SET\|{ .LP filter [0] Filter OPTIONAL, .LP auto\(hyforward\(hyarguments [1] AutoForwardArguments, .LP delete\(hyafter\(hyauto\(hyforwarding [2] BOOLEAN DEFAULT FALSE, .LP other\(hyparameters [3] OCTET STRING OPTIONAL\|} .LP AutoForwardArguments ::= SET\|{ .LP COMPONENTS OF PerMessageAutoForwardFields, .LP per\(hyrecipient\(hyfields [1] IMPLICIT SEQUENCE (1..ub\(hyrecipients) OF .LP [1] PerRecipient\(hyAutoForwardFields\|} .bp .LP PerMessageAutoForwardFields ::= SET\|{ .LP originator\(hyname OriginatorName, .LP content\(hyidentifier ContentIdentifier OPTIONAL, .LP priority Priority DEFAULT normal, .LP per\(hymessage\(hyindicators PerMessageIndicators DEFAULT {\|}, .LP deferred\(hydelivery\(hytime [0] IMPLICIT DeferredDeliveryTime OPTIONAL, .LP extensions [2] IMPLICIT PerMessageSubmissionExtensions DEFAULT {\|}\|} .LP PerRecipientAutoForwardFields ::= SET\|{ .LP recipient\(hyname RecipientName, .LP originator\(hyreport\(hyrequest [0] IMPLICIT OriginatorReportRequest, .LP explicit\(hyconversion [1] IMPLICIT ExplicitConversion OPTIONAL, .LP extentions [2] IMPLICIT PerRecipientMessageSubmissionExtensions .LP DEFAULT {\|}\|} .PP The parameters of the \fBauto\(hyforward\(hyregistration\(hyparameter\fR have the following meanings: .LP 1) \fBFilter\fR (O): This is a set of criteria which a new entry representing a delivered message must satisfy for the MS abstract\(hyservice\(hyprovider to \fBauto\(hyforward\fR it using this set of parameters. .LP The absence of this parameter indicates that all new entries are \fBauto\(hyforwarded\fR . .LP 2) \fBAuto\(hyforward\(hyarguments\fR (M): This is a set of arguments registered to be used for each Message\(hysubmission abstract operation (see \(sc\ 8.2.1.1.1 of Recommendation\ X.411). Any argument which is not registered, not mandatory, and not specifically mentioned below, will be absent from each Message\(hysubmission. .LP If the following arguments are either not registered, or registered with their default values, the values used for each Message\(hysubmission abstract\(hyoperation are those of the corresponding message\(hydelivery arguments: \fBpriority\fR , \fBimplicit\(hyconversion\(hyprohibited\fR , and \fBconversion\(hywith\(hyloss prohibited\fR . .LP If the following arguments are either not registered, or registered with their default values, their presence as Message\(hysubmission arguments depends upon the presence of the corresponding Message\(hydelivery arguments, their values being transformed where appropriate: \fBmessage\(hytoken\fR , \fBcontent\(hy\fR \fBconfidentiality\(hyalgorithm\(hyidentifier\fR , \fBcontent\(hyintegrity\(hycheck\fR , \fBmessage\(hyorigin\(hyauthentication\(hycheck\fR , and \fBmessage\(hysecurity\(hylabel\fR . .LP Certain Message\(hysubmission arguments may be registered. These are: \fBproof\(hyof\(hysubmission\(hyrequest\fR , \fBoriginal\(hyencoded\(hyinformation\(hytypes\fR , \fBcontent\(hytype\fR , and \fBcontent\fR . .LP 3) \fBDelete\(hyafter\(hyauto\(hyforwarding\fR (O): This indicates whether an entry should be deleted or not, once the submission has succeeded. .LP The absence of this parameter indicates that the message should not be deleted. .LP 4) \fBOther\(hyparameters\fR (O): This content\(hyspecific parameter need not be present. When it is present, the information it contains will be used during the \fBauto\(hyforwarding\fR procedure. .LP \fINote\fR \ \(em\ Thus, for example, with Interpersonal Messaging, this parameter may contain the \fBauto\(hyforward\(hycomment\fR that is returned in the non\(hyreceipt notification, a user specified prefix and a cover\(hynote accompanying the IP\(hymessage being auto\(hyforwarded. For a description of \fBauto\(hyforward\(hycomment\fR usage, see \(sc\ 19.4 of Recommendation\ X.420. .sp 1P .LP 12.2 \fIAuto\(hyalert\fR .sp 9p .RT .PP The \fBauto\(hyalert auto\(hyaction\fR enables the MS abstract\(hyservice\(hyprovider to automatically \fIalert\fR the user behind the MS abstract\(hyservice\(hyuser of the delivery of any message that has been delivered into the stored\(hymessages information\(hybase. \fBAuto\(hyalert\fR will only be performed for delivered\(hymessage entries. .PP The \fBauto\(hyalert auto\(hyaction\(hytype\fR allows one or more sets of \fBauto\(hyalert\fR parameters to be registered with the MS, each identified by its \fBauto\(hyalert\(hyregistration\(hyidentifier\fR . Each \fBauto\(hyalert\(hyregistration\(hyparameter\fR specifies criteria to determine whether it applies to a particular delivered message. If a message matched the filter of more than one auto\(hyalert\(hyregistration, the matching registration with the lowest auto\(hyalert\(hyregistration\(hyidentifier is processed, and if at least one address (or the UA) has been alerted successfully, no other registrations are processed. If none of these addresses can be successfully alerted, the auto\(hyalert registration with the next higher identifier is processed. This continues until either at least one or more addresses of a registration has been successfully alerted or the list of registrations is exhausted. .bp .PP The \fBalert abstract\(hyoperation\fR will only be invoked if the alert\(hyaddresses in the auto\(hyalert\(hyregistration is considered to have the UA as a member [see step\ 2) below]. If this alert\(hyabstract\(hyoperation succeeds, any other address contained in the auto\(hyalert registration will not be alerted. .RT .LP Auto\(hyalert AUTO\(hyACTION .LP REGISTRATION PARAMETER IS AutoAlertRegistrationParameter .LP ::= id\(hyact\(hyauto\(hyalert .LP AutoAlertRegistrationParameter ::= SET\|{ .LP filter [0] Filter OPTIONAL, .LP alert\(hyaddresses [1] SEQUENCE SIZE (1..ub\(hyalert\(hyaddresses) OF AlertAddress OPTIONAL, .LP requested\(hyattributes [2] EntryInformationSelection OPTIONAL\|} .PP The parameters of the \fBauto\(hyalert\(hyregistration\(hyparameter\fR have the following meanings: .LP 1) \fBFilter\fR (O): This is a set of criteria which a new entry representing a delivered\(hymessage must satisfy for the MS abstract\(hyservice\(hyprovider to \fBauto\(hyalert\fR it using this set of parameters. .LP The absence of this parameter indicates that \fBauto\(hyalert\fR will be performed for all new delivered\(hymessage entries. .LP 2) \fBAlert\(hyaddresses\fR (O): This argument identifies the types of \fBalert\fR service to be invoked, together with any information required to access the particular instances of those \fBalert\fR services, and any further information that needs to be conveyed during those \fBalerts\fR . .LP Absence of this argument will default the alert abstract\(hyoperation to informing the MS abstract\(hyservice\(hyuser of the existence of an alert\(hycondition either by using the alert abstract\(hyoperation (see \(sc\ 8.7), (which is only possible if an abstract\(hyassociation already exists between the MS abstract\(hyservice\(hyuser and the MS abstract\(hyservice\(hyprovider) or by flagging in the abstract\(hybind\(hyoperation next time the MS abstract\(hyservice\(hyuser establishes an abstract\(hyassociation (see \(sc\ 7). If the parameter requested\(hyattributes is present, the MS abstract\(hyservice\(hyuser (UA) will be considered as being among the addresses to be alerted. .LP Some types of \fBalert\fR will be internationally standardized. Others will be defined by national administrative authorities and private organizations. This implies that a number of separate authorities will be responsible for assigning types in a way that ensures that each is distinct from all other assigned types. This is accomplished by identifying each type with an object\(hyidentifier when the type is defined, and defining the ASN.1 data\(hytype of the auxiliary addressing information. .LP The \fBalert\(hyqualifier\fR contains any further information that needs to be conveyed during the \fBauto\(hyalert\fR . Absence of this parameter means that no additional information will be conveyed to the MS abstract\(hyservice\(hyuser. .LP AlertAddress ::= SEQUENCE\|{ .LP address EXTERNAL, .LP alert\(hyqualifier OCTET STRING OPTIONAL\|} .LP 3) \fBRequested\(hyattributes\fR (O): This indicates what information from the selected entries is to be included with the auto\(hyalert. See \(sc\ 8.1.4. .LP The absence of this parameter implies that only the \fBalert\(hyregistration\(hyidentifier\fR will be present in the \fBalert\(hyargument\fR . .LP .rs .sp 12P .ad r Blanc .ad b .RT .LP .bp .LP SECTION\ 4\ \(em PROCEDURES FOR MESSAGE STORE AND PORT REALIZATION .sp 1P .RT .sp 2P .LP \fB13\fR \fBOverview\fR .sp 1P .RT .PP This paragraph contains the procedures for the MS and the port realization. It contains a description of the consumption of the MTS abstract\(hyservice in \(sc\ 14. The provision of the MS abstract\(hyservice is described in \(sc\ 15. The port realization in the form of service elements is described in \(sc\ 16. .PP The performance of the abstract\(hyoperations described in \(sc\(sc\ 14 and 15 shall be subject to the requirements of the security\(hypolicy (if one is in force), which applies to the MTS abstract\(hyservices and to the MS abstract\(hyservices. .RT .sp 2P .LP \fB14\fR \fBConsumption of the message transfer abstract\(hyservice\fR .sp 1P .RT .PP This paragraph specifies how an MS shall consume the MTS abstract\(hyservice which is defined in \(sc\ 8 of Recommendation\ X.411. Covered are its consumption of the MTS delivery, submission, and administration ports. .RT .sp 1P .LP 14.1 \fIConsumption of the delivery port abstract\(hyservices\fR .sp 9p .RT .PP This paragraph covers the performance of the MessageDelivery and ReportDelivery abstract\(hyoperations, and the invocation of the DeliveryControl abstract\(hyoperation. The MS consumption of the DeliveryPort abstract\(hyservices assumes that an abstract\(hyassociation exists between the DeliveryPort supplier (the MTA) and the DeliveryPort consumer (the MS). The performance of the abstract\(hyoperations is in sequential order; no parallel processing takes place. Error cases are not described. .RT .sp 1P .LP 14.1.1 \fIPerformance of the MessageDelivery abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a MessageDelivery abstract\(hyoperation from the MTA, it performs the following steps: .RT .LP 1) Returns a MessageDelivery result to the MTA to indicate that the delivery was successful. The MessageDelivery result shall contain proof\(hyof\(hydelivery information if the delivered\(hymessage contains a proof\(hyof\(hydelivery\(hyrequest argument. This proof\(hyof\(hydelivery may be computed using the subject\(hyMS\(hysecret key; for more details see \(sc\ 8.5.7 and \(sc\ 8.3.1.1.2.2 of Recommendation\ X.411. .LP 2) The next step is to examine if any auto\(hyactions are activated. The auto\(hyactions are partly content\(hyspecific and are therefore also described in the content\(hyspecific Recommendations. The content\(hyspecific description must contain rules about the order in which the auto\(hyactions are to be performed. The performance of auto\(hyactions may result in alerts, submissions, new entries being created and in the possible deletion of the delivered\(hymessage or other messages from the MS. See \(sc\ 12.1. .LP a) If auto\(hyforwarding criteria are registered by the Register\(hyMS abstract\(hyoperation, the new entry is matched against the criteria specified. The matching is made sequentially for each specified set of selection criteria. For every \*Qhit\*U a new message is generated and submitted from the MS to the MTA using the MessageSubmission abstract\(hyoperation. See \(sc\ 15.2.1. .LP The rules for how to construct the new forwarded message are again content\(hyspecific and hence described in the respective content\(hyspecific Recommendations. Other content\(hyspecific events may also be performed at this stage (e.g.\ suppression of looping of auto\(hyforwarded messages and the issuing of a non\(hyreceipt\(hynotification as described for IPMS in \(sc\ 19.4 of Recommendation\ X.420). Depending on the argument\(hyvalues of the Register\(hyMS abstract\(hyoperation for auto\(hyforwarding, a copy of the delivered\(hymessage may be retained in the MS. If the auto\(hyforwarding attempt is unsuccessful, a copy is always retained, to prevent messages from getting lost. .LP \fINote\fR \ \(em\ The handling of a result or error from such a submission is a local matter. .LP b) If auto\(hyalert\(hyregistrations have been made via the register\(hyMS abstract\(hyoperation, the new entry is matched against the filter of each registration specified. The matching is made sequentially for each registration. If a \*Qhit\*U is found, an attempt is made to invoke an alert abstract\(hyoperation from the MS to the UA. This can only be done if there is an existing abstract\(hyassociation between the MS and the UA. If no abstract\(hyassociation exists, the MS may have other local or non\(hystandardized means to invoke an alert. When .bp .LP attempts have been made to alert all of the addresses registered for the first matching registration parameter, and at least one of the alerts succeeded, the alert auto\(hyaction has successfully completed, and no further alert registrations are processed. If there was no path found to give the alert, the MS sets the alert\(hyflag, which is reported to the UA when an abstract\(hyassociation is next time initiated by the UA to the MS. .LP \fINote\fR \ \(em\ If the delivered\(hymessage was deleted as a result of an auto\(hyforwarding in a), the auto\(hyalert is obviously not performed. .LP 3) Only after the above steps have been performed is the new entry made visible outside the MS over the retrieval port. If the delivered\(hymessage was deleted as a result of an auto\(hyaction, any sequence\(hynumber which was allocated in step\ 2) is not re\(hyused (in order not to conflict with ISO logging extensions). The entry\(hystatus of the entry is set to new. .sp 1P .LP 14.1.1.1 \fIGeneration rules for general\(hyattributes\fR .sp 9p .RT .PP Optional attributes are only generated if implemented by the MS and subscribed to by the user. The generated attributes form a new entry (in some cases a parent\(hyentry and child\(hyentries, see \(sc\ 6) in the MS. .PP Refer to Table 1/X.413 and \(sc 11.3 for the rules on how the general\(hyattributes are generated. Note that for general\(hyattributes which are absent in the corresponding deliver\(hyenvelope, an attribute with the default value is generated in the entry. .RT .sp 1P .LP 14.1.2 \fIPerformance of the ReportDelivery abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a ReportDelivery abstract\(hyoperation from the MTA, it performs the following steps: .RT .LP 1) Returns a ReportDelivery result to the MTA to indicate that the delivery was successful. The ReportDelivery result has no parameters. For details, see \(sc\ 8.3.1.2.2 of Recommendation\ X.411. .LP 2) Next, if any auto\(hyactions or other internal procedures are activated, they are performed. These are content\(hyspecific and described in the respective content\(hyspecific Recommendations. .sp 1P .LP 14.1.2.1 \fIGeneration rules for general\(hyattributes\fR .sp 9p .RT .PP Attributes may be generated either when a message is received or when an abstract\(hyoperation is performed in the MS, triggered by an invocation from the UA. .PP All mandatory attributes (see Table 1/X.413) are generated. Optional attributes are only generated if implemented by the MS and subscribed to by the user. The generated attributes form a new entry (in some cases a parent\(hyentry and child\(hyentries, see \(sc\ 6) in the MS. The following kinds of general\(hyattributes may be produced as part of the process: .RT .LP a) general\(hyattributes generated by the MS itself (e.g., sequence\(hynumber); .LP b) general\(hyattributes generated from the report\(hydelivery\(hyenvelope components. For components which are not present, but for which default values are defined, a general\(hyattribute containing the default value is generated. .PP The generation rules for a) and b) are described in \(sc\ 14.1.1.1. The generation rules for content\(hyspecific attributes are described in the respective content\(hyspecific Recommendations, e.g.\ the IPMS\(hyspecific attributes are described in Annex\ C of Recommendation\ X.420. .PP Refer to Table 1/X.413 and \(sc\ 11.3 for the rules on how the general\(hyattributes are generated. Note that for general\(hyattributes which are absent in the corresponding report\(hyenvelope, an attribute with the default value is generated in the entry. .RT .sp 1P .LP 14.1.3 \fIInvocation of the DeliveryControl abstract\(hyoperation\fR .sp 9p .RT .PP If the MS wants to temporarily stop the MTA from passing messages and reports, or to alter the maximum\(hycontent\(hylength or lowest\(hypriority of messages and reports from the MTA, it performs the following steps: .RT .LP 1) It invokes a DeliveryControl abstract\(hyoperation, containing the parameters to be changed. For details, see \(sc\ 8.3.1.3 of Recommendation\ X.411. .LP 2) It gets a result back when the MTS abstract\(hyservice has accepted the changes. The result contains information about whether messages and/or reports are waiting in the MTA, due to the current restrictions. For details, see \(sc\ 8.3.1.3.2 of Recommendation\ X.411. .bp .LP 3) When the MS is able to accept any waiting messages and/or reports again, it should invoke a new DeliveryControl abstract\(hyoperation to relax the restrictions. The effects of a DeliveryControl abstract\(hyoperation are cancelled when either a new DeliveryControl abstract\(hyoperation alters the restrictions or when the abstract\(hyassociation is released. .sp 1P .LP 14.2 \fIConsumption of the submission port abstract\(hyservices\fR .sp 9p .RT .PP This paragraph covers the invocation of the MessageSubmission, ProbeSubmission, and CancelDeferredDelivery abstract\(hyoperations, and the consumption of the SubmissionControl abstract\(hyoperation. The MS abstract\(hyservice consumption of the submission port abstract\(hyservices assumes that an abstract\(hyassociation exists between the submission port supplier (the MTA) and the submission port consumer (the MS). The performance of the abstract\(hyoperations is in sequential order, no parallel processing takes place. Error cases are not described. .RT .sp 1P .LP 14.2.1 \fIInvocation of the MessageSubmission abstract\(hyoperation\fR .sp 9p .RT .PP The initiation of a MessageSubmission abstract\(hyassociation can be either from an auto\(hyaction within the MS or because the UA invoked a MessageSubmission abstract\(hyoperation to the MS. In order to submit the message to the MTA the MS performs the following steps: .RT .LP 1) If the MessageSubmission argument does not contain the forwarding\(hyrequest extension (see \(sc\ 6.6), it invokes a MessageSubmission abstract\(hyoperation, containing the message to be submitted and its associated parameters. For details, see \(sc\ 8.2.1.1 of Recommendation\ X.411. Otherwise, checks to see that the entry is a delivered\(hymessage and incorporates information from one delivered\(hymessage entry in the stored\(hymessages information\(hybase, and then invokes the MessageSubmission abstract\(hyoperation with the new content. Forwarding of entries that are not delivered\(hymessages is for further study. .LP Note that although this forwarding\(hyrequest is generic, it is not necessarily meaningful for all content\(hytypes. Where it is meaningful, the content\(hytype of the referenced delivered\(hymessages entry must be appropriate for incorporation into the content argument. .LP 2) It gets a MessageSubmission result back when the MTA has accepted the submission. The MessageSubmission result contains among others information about identification of and submission\(hytime for the submitted message. For details, see \(sc\ 8.2.1.1.2 of Recommendation\ X.411. .LP 3) If the MessageSubmission abstract\(hyoperation was triggered by a corresponding MessageSubmission abstract\(hyoperation to the MS from the UA, the result of the abstract\(hyoperation is passed back to the UA in the form of a MessageSubmission result issued by the MS. This behaviour guarantees that the message has actually been accepted by the MTA before the result is given back to the UA. .LP 4) If the MTA has not accepted the message submission due to problems such as an invalid sequence number or inappropriate content\(hytype, the MS will generate an error of InconsistentRequest. Note that all errors generated by the MTA are relayed through to the UA. .LP 5) If a security\(hypolicy is in force, then to ensure that such a security\(hypolicy is not violated during message submission, the message\(hysecurity\(hylabel is checked against the security\(hycontext by the MS. If the message submission is barred either by the security\(hypolicy or by temporary security restrictions, a security\(hyerror shall be indicated. .sp 1P .LP 14.2.2 \fIInvocation of the ProbeSubmission abstract\(hyoperation\fR .sp 9p .RT .PP A ProbeSubmission abstract\(hyoperation is initiated because the UA invoked a ProbeSubmission abstract\(hyoperation to the MS. In order to submit the probe to the MTA, the MS performs the following steps: .RT .LP 1) It invokes a ProbeSubmission abstract\(hyoperation, containing the probe to be submitted and its associated parameters. For details, see \(sc\ 8.2.1.2.1 of Recommendation\ X.411. .LP 2) It gets a ProbeSubmission result back when the MTA has accepted the submission. The result contains among others information about identification of and submission\(hytime for the submitted probe. For details, see \(sc\ 8.2.1.2.2 of Recommendation\ X.411. .LP 3) The result of the abstract\(hyoperation is passed back to the UA in the form of a ProbeSubmission result issued by the MS. This behaviour guarantees that the probe has actually got accepted by the MTA before the result is given back to the UA. .LP 4) If a security\(hypolicy is in force, then to ensure that such a security\(hypolicy is not violated during ProbeSubmission, the message\(hysecurity\(hylabel of the probe is checked against the security\(hycontext by the MS. If the ProbeSubmission is barred either by the security\(hypolicy or by temporary security restrictions, a ProbeSubmission error is generated. .bp .sp 1P .LP 14.2.3 \fIInvocation of the CancelDeferredDelivery abstract\(hyoperation\fR .sp 9p .RT .PP A CancelDeferredDelivery abstract\(hyoperation is initiated because the UA invoked a CancelDeferredDelivery abstract\(hyoperation to the MS. In order to send the cancel to the MTA, the MS performs the following steps: .RT .LP 1) It invokes a CancelDeferredDelivery abstract\(hyoperation, containing the cancel to be submitted and its associated parameters. For details, see \(sc\ 8.2.1.3.1 of Recommendation\ X.411. .LP 2) It gets a result back when the MTA has accepted the cancel. The result returned is empty as an indication of success. .LP 3) The result of the abstract\(hyoperation is passed back to the UA in the form of a CancelDeferredDelivery result issued by the MS. This behaviour guarantees that the probe has actually got accepted (or not) by the MTA before the result is given back to the UA. .sp 1P .LP 14.2.4 \fIPerformance of the SubmissionControl abstract\(hyoperation\fR .sp 9p .RT .PP If the MTA wants to temporarily stop the MS from submitting messages or probes, or to alter the maximum\(hycontent\(hylength or lowest priority of messages from the MS, it invokes a SubmissionControl abstract\(hyoperation (for details, see \(sc\ 8.2.1.4.1 of Recommendation\ X.411) to the MS. The MS reacts with the following steps: .RT .LP 1) It invokes a corresponding SubmissionControl abstract\(hyoperation from the MS to the UA. .LP 2) It waits for the UA to send back a SubmissionControl result which contains information about whether messages or probes are waiting in the UA, due to the current restrictions. For details, see \(sc\ 8.2.1.4.2 of Recommendation\ X.411. .LP 3) The MS sends back a SubmissionControl result to the MTA, containing information from the UA. .LP 4) When the MTS is able to accept any messages or probes again, it should invoke a new SubmissionControl abstract\(hyoperation to relax the restrictions. The effects of a SubmissionControl abstract\(hyoperation are cancelled when either a new SubmissionControl abstract\(hyoperation alters the restrictions or when the abstract\(hyassociation is released. The MS then invokes a corresponding SubmissionControl abstract\(hyoperation to the UA and waits for the SubmissionControl result. .sp 1P .LP 14.3 \fIConsumption of the administration port abstract\(hyservices\fR .sp 9p .RT .PP This paragraph covers the performance of the register and ChangeCredentials abstract\(hyoperations. The consumption of the administration port abstract\(hyservices assumes that an abstract\(hyassociation exists between the administration port supplier (the MTA) and the administration port consumer (the MS). The performance of the abstract\(hyoperations is in sequential order; no parallel processing takes place. Error cases are not described. .PP The MS use of the administration port is subject to the security\(hypolicy in force. .RT .sp 1P .LP 14.3.1 \fIInvocation of the register abstract\(hyoperation\fR .sp 9p .RT .PP A register abstract\(hyoperation is initiated because the UA invoked a register abstract\(hyoperation to the MS. In order to send the registration to the MTA, the MS performs the following steps: .RT .LP 1) It invokes a register abstract\(hyoperation, containing the new data to be registered. For details, see \(sc\ 8.4.1.1.1 of Recommendation\ X.411. .LP 2) It gets a result back when the MTA has accepted the registration. The result returned is empty as an indication of success. .LP 3) The scope of the permitted changes by the UA via the MS to the user\(hysecurity\(hylabel arguments shall be confined to the security\(hypolicy in force. .sp 1P .LP 14.3.2 \fIInvocation of the ChangeCredentials abstract\(hyoperation\fR .sp 9p .RT .PP A ChangeCredentials abstract\(hyoperation is initiated because the UA invoked a ChangeCredentials abstract\(hyoperation to the MS. In order to relay the new credentials to the MTA from the UA, the MS performs the following steps: .RT .LP 1) It invokes a ChangeCredentials abstract\(hyoperation on the MTA, containing the new credentials to be registered. For details, see \(sc\ 8.4.1.2.1 of Recommendation\ X.411. .LP 2) It gets a ChangeCredentials result back when the MTA has accepted the change and stores the new credentials. The ChangeCredentials result or resultant error from the MTA is relayed to the UA and is empty as an indication of success. .bp .sp 1P .LP 14.3.3 \fIPerformance of the ChangeCredentials abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a ChangeCredentials abstract\(hyoperation and its associated arguments from the MTA, it performs the following steps: .RT .LP 1) It establishes that the argument information is valid for a ChangeCredentials abstract\(hyoperation. For details, see\fR \(sc\ 8.4.1.2 of Recommendation\ X.411. .LP 2) It checks if there is already an existing abstract\(hyassociation between the MS and the UA. If an abstract\(hyassociation between the MS and the UA does not exist, the MTA is informed by an error that change of credentials can not take place at present and no further steps are processed. .LP 3) If the abstract\(hyassociation between the MS and UA exists, the MS invokes a ChangeCredentials abstract\(hyoperation to the UA. .LP 4) If the UA sends back an empty ChangeCredentials result, indicating success, the MS sends back a corresponding ChangeCredentials result indicating success to the MTA and stores the credentials. If the UA returns an error, this is relayed to the MTA to indicate that error. Note that the MS never sends back an indication of success to the MTA until it has received the corresponding result back from the UA first. .sp 2P .LP \fB15\fR \fBSupply of the message store abstract\(hyservice\fR .sp 1P .RT .PP This paragraph specifies how a MS supplies the MS abstract\(hyservice. Covered are its supply of the retrieval, indirect\(hysubmission, and administration ports. .RT .sp 1P .LP 15.1 \fISupply of the retrieval port abstract\(hyservices\fR .sp 9p .RT .PP This paragraph covers the supply of the summarize, list, fetch, delete, register\(hyMS, and alert abstract\(hyoperations. The MS abstract\(hyservice supply of the retrieval port abstract\(hyservices assumes that an abstract\(hyassociation exists between the retrieval port supplier (the MS) and the retrieval port consumer (the UA). The performance of the abstract\(hyoperations is in sequential order; no parallel processing takes place. Not all error cases are described. .RT .sp 1P .LP 15.1.1 \fIPerformance of the summarize abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a summarize abstract\(hyoperation from the UA, it performs the following steps: .RT .LP 1) Establishes which information\(hybase the summarize abstract\(hyoperation addresses. .LP 2) Checks if there are any entries in the information\(hybase. If it is empty, a summarize result with zero length is returned and no further steps are performed. .LP 3) Checks that the supplied argument general\(hyattributes and any content\(hyspecific attributes recognized by the MS are valid for a summarize abstract\(hyoperation. For details, see \(sc\ 8.2.1. .LP 4) Accumulates counts in accordance with the supplied argument general attributes and any content\(hyspecific attributes recognized by the MS. .LP 5) Returns the summarize result to the UA. For details, see \(sc\ 8.2.2. .LP 6) If a security\(hypolicy is in force, then to ensure that such a security\(hypolicy is not violated during the summarize abstract\(hyoperation, the security classification of the security label is checked against the security\(hycontext by the MS. If a summarize is barred by the security\(hypolicy, the summarize abstract\(hyoperation shall be abandoned and a security error shall be indicated. .sp 1P .LP 15.1.2 \fIPerformance of the list abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a list abstract\(hyoperation from the UA, it performs the following steps: .RT .LP 1) Establishes which information\(hybase the list abstract\(hyoperation addresses. .LP 2) Checks that the supplied argument general\(hyattributes and any content\(hyspecific attributes recognized by the MS are valid for a list abstract\(hyoperation. For details, see \(sc\ 8.3.1. .LP 3) Identifies zero or more entries as requested in the argument of the abstract\(hyoperation, up to any supplied limit. Child\(hyentries to a parent\(hyentry are excluded, unless explicitly selected in the argument. .bp .LP 4) If a set of requested general\(hyattributes has been specified as arguments in the abstract\(hyoperation, these general\(hyattributes are returned, if present, to the UA for each selected entry. If no request has been done, the default list abstract\(hyoperation values, as specified with a previous register\(hyMS abstract\(hyoperation, are returned, if present. For more details, see \(sc\ 8.3.2. The entry\(hystatus of each selected message is set to listed. .LP 5) If a security\(hypolicy is in force, then to ensure that such a security\(hypolicy is not violated during the list abstract\(hyoperation, the message\(hysecurity\(hylabel is checked against the security\(hycontext by the MS. If the list is barred either by the security\(hypolicy or by temporary security restrictions, the list abstract\(hyoperation shall be abandoned and a security error shall be indicated. .sp 1P .LP 15.1.3 \fIPerformance of the fetch abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a fetch abstract\(hyoperation from the UA, it performs the following steps: .RT .LP 1) Establishes which information\(hybase the fetch abstract\(hyoperation addresses. .LP 2) Checks that the supplied argument general\(hyattributes and any content specific attributes recognized by the MS are valid for a fetch abstract\(hyoperation. For details, see \(sc\ 8.4.1. .LP 3) Identifies zero or more entries as requested in the argument of the abstract\(hyoperation, up to any supplied limit. Child\(hyentries to a parent\(hyentry are excluded, unless explicitly selected in the argument. .LP 4) If a set of requested general\(hyattributes have been specified as arguments in the abstract\(hyoperation, these general\(hyattributes are returned, if present, to the UA for the first selected entry. If no request has been done, the default fetch abstract\(hyoperation values, as specified with a previous register\(hyMS abstract\(hyoperation, are returned, if present. If several entries that match the search criteria are found, the sequence\(hynumbers for the second and following entries are returned in increasing order. If there were more matching entries than in the specified limit, the next sequence number beyond the limit is also returned. For more details, see \(sc\ 8.4.2. .LP 5) If a security\(hypolicy is in force, then to ensure that such a security\(hypolicy is not violated during the fetch abstract\(hyoperation, the message\(hysecurity\(hylabel is checked against the security\(hycontext by the MS. If the fetch abstract\(hyoperation is barred either by the security\(hypolicy or by temporary security restriction, the fetch abstract\(hyoperation shall be abandoned and a security error shall be indicated. .sp 1P .LP 15.1.4 \fIPerformance of the delete abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a delete abstract\(hyoperation from the UA, it performs the following steps: .RT .LP 1) Establishes which information\(hybase the delete abstract\(hyoperation addresses. .LP 2) Checks that the supplied arguments are valid for a delete abstract\(hyoperation. For details, see \(sc\ 8.5.1. .LP 3) Identifies the entry or list of entries requested in the argument of the abstract\(hyoperation. .LP 4) If any of the entries has delete restrictions (see \(sc 8.5), none of the deletions takes place. Otherwise all deletions are performed and an empty delete result returned to the UA as indication of success. .sp 1P .LP 15.1.5 \fIPerformance of the register\(hyMS abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a register\(hyMS abstract\(hyoperation from the UA, it performs the following steps: .RT .LP 1) Checks that the supplied arguments are valid for a register\(hyMS abstract\(hyoperation. For details, see \(sc\ 8.6.1. .LP 2) Replaces any old parameters with the corresponding new ones. Auto\(hyactions have effect on transactions, such as message\(hydeliveries and report\(hydeliveries, that occur after the initiation or deletion of auto\(hyaction requests; there is no processing of entries that already reside in the MS at that point in time. .LP 3) Sends back an empty register\(hyMS result to the UA to indicate that the abstract\(hyoperation has been performed successfully. .bp .LP 4) If a security\(hypolicy is in force, then the register\(hyMS abstract\(hyoperation shall be subject to such a policy. Some security\(hypolicies may only permit user\(hysecurity\(hylabels to be changed if a secure link is employed. Other local means of changing the user\(hysecurity\(hylabels in a secure manner may be provided. .sp 1P .LP 15.1.6 \fIInvocation of the alert abstract\(hyoperation\fR .sp 9p .RT .PP The invocation of the alert abstract\(hyoperation is as a result of the consumption of the delivery port abstract\(hyservice (see \(sc\ 14.1.1). .PP If the auto\(hyalert auto\(hyaction is initiated by the UA, by an earlier register\(hyMS abstract\(hyoperation, the MS abstract\(hyservice performs the following steps: .RT .LP 1) Checks if an abstract\(hyassociation exists. If not, the MS will never establish an abstract\(hyassociation, and no alert abstract\(hyoperation can be invoked. .LP 2) If an abstract\(hyassociation exists, the MS invokes the abstract\(hyoperation containing the relevant argument information (for details see \(sc\ 8.7.1) and waits for a empty alert result to be returned by the UA as an indication of success. .LP 3) If an abstract\(hyassociation does not exist, there is a possibility to use a non\(hystandardized protocol to inform the user. The alert signal in this case may be given on the user's terminal, but can alternatively be given on a telephone, a beeper or any other suitable terminal equipment associated with the user. The latter method can also be used in cases where the alert abstract\(hyoperation has not been implemented. .LP 4) If a security\(hypolicy is in force, then to ensure that such a security\(hypolicy is not violated during the alert, the message\(hysecurity\(hylabel is checked against the security\(hycontext by the MS. If the alert abstract\(hyoperation is barred either by the security\(hypolicy or by temporary security restrictions, the action taken shall be defined by the security\(hypolicy in force. .sp 1P .LP 15.2 \fISupply of the indirect\(hysubmission port abstract\(hyservices\fR .sp 9p .RT .PP This paragraph covers the performance of the MessageSubmission, ProbeSubmission, and CancelDeferredDelivery abstract\(hyoperations, and the invocation of the SubmissionControl abstract\(hyoperation. The MS abstract\(hyservice supply of the indirect\(hysubmission port abstract\(hyservices assumes that an abstract\(hyassociation exists between the indirect\(hysubmission port supplier (the MS) and the indirect\(hysubmission port consumer (the UA). The performance of the abstract\(hyoperations is in sequential order; no parallel processing takes place. Not all error cases are described. .RT .sp 1P .LP 15.2.1 \fIPerformance of the MessageSubmission abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a MessageSubmission abstract\(hyoperation and its associated arguments from the UA, it performs the following steps: .RT .LP 1) It establishes that the argument information is valid for a MessageSubmission abstract\(hyoperation. For details, see \(sc\ 8.2.1.1.1 of Recommendation\ X.411. .LP 2) It checks the arguments to establish if the message content was supplied by the UA or if it has to be inserted by the MS (i.e.,\ if the forwarding\(hyrequest extension is present). In the latter case, if the entry is a delivered\(hymessage entry, the corresponding message is inserted and the MS\(hyrelated arguments deleted. Forwarding of entries that are not delivered\(hymessages is for further study. .LP 3) It checks if there is aleady an existing abstract\(hyassociation between the MS and the MTA. If not, the MS initiates such an abstract\(hyassociation. If an abstract\(hyassociation cannot be established, the UA is informed by an error that submission can not take place at present and no further steps are processed. .LP 4) If the abstract\(hyassociation between the MS and the MTA exists, the MS invokes a MessageSubmission abstract\(hyoperation to the MTA, after any modifications mentioned in step\ 2). .LP 5) If the MTA sends back a MessageSubmission result (for details, see \(sc 8.2.1.1.2 of Recommendation\ X.411) indicating success, the MS sends back a corresponding MessageSubmission result indicating success to the UA. Note that the MS never sends back an indication of success to the UA until it has received the corresponding result back from the MTA first. This is to insure a consistent service from a user point of view, viz., that a submission always means that the responsibility for the message has been taken over by the MTA when the result comes back. .LP 6) The MS may either choose to terminate the abstract\(hyassociation with the MTA after a certain period of inactivity, or when the UA terminates its corresponding abstract\(hyassociation with the MS. .bp .sp 1P .LP 15.2.2 \fIPerformance of the ProbeSubmission abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a ProbeSubmission abstract\(hyoperation and its associated arguments from the UA, it performs the following steps: .RT .LP 1) It establishes that the argument information is valid for a ProbeSubmission abstract\(hyoperation. For details, see \(sc\ 8.2.1.2.1 of Recommendation\ X.411. .LP 2) It checks if there is already an existing abstract\(hyassociation between the MS and the MTA. If not, the MS initiates such an abstract\(hyassociation. If an abstract\(hyassociation cannot be established, the UA is informed by an error that submission can not take place at present and no further steps are processed. .LP 3) If the abstract\(hyassociation between the MS and the MTA exists, the MS invokes a ProbeSubmission abstract\(hyoperation to the MTA. .LP 4) If the MTA sends back a ProbeSubmission result (for details, see \(sc\ 8.2.1.2.2 of Recommendation\ X.411) indicating success, the MS sends back a corresponding ProbeSubmission result indicating success to the UA. Note that the MS never sends back an indication of success to the UA until it has received the corresponding result back from the MTA first. This is to ensure a consistent service from a user point of view, viz., that a submission always means that the responsibility for the probe has been taken over by the MTS when the result comes back. .LP 5) The MS may either choose to terminate the abstract\(hyassociation with the MTA after a certain period of inactivity, or when the UA terminates its corresponding abstract\(hyassociation with the MS. .sp 1P .LP 15.2.3 \fIPerformance of the CancelDeferredDelivery abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a CancelDeferredDelivery abstract\(hyoperation and its associated arguments, it performs the following steps: .RT .LP 1) It establishes that the argument information is valid for a CancelDeferredDelivery abstract\(hyoperation. For details, see \(sc\ 8.2.1.3.1 of Recommendation\ X.411. .LP 2) It checks if there is already an existing abstract\(hyassociation between the MS and the MTA. If not, the MS initiates such an abstract\(hyassociation. If an abstract\(hyassociation cannot be established, the UA is informed by an error that CancelDeferredDelivery can not take place at present and no further steps are processed. .LP 3) If the abstract\(hyassociation between the MS and the MTA exists, the MS invokes a CancelDeferredDelivery abstract\(hyoperation to the MTA. .LP 4) If the MTA sends back a CancelDeferredDelivery result (for details, see \(sc\ 8.2.1.3.2 of Recommendation\ X.411) indicating success, the MS sends back a corresponding CancelDeferredDelivery result indicating success to the UA. Note that the MS never sends back an indication of success to the UA until it has received the corresponding result back from the MTA first. This is to insure a consistent service from a user point of view, viz., that the responsibility for the cancel deferred delivery has been taken over by the MTS, when the result comes back. .LP 5) The MS may either choose to terminate the abstract\(hyassociation with the MTA after a certain period of inactivity, or when the UA terminates its corresponding abstract\(hyassociation with the MS. .sp 1P .LP 15.2.4 \fIInvocation of the SubmissionControl abstract\(hyoperation\fR .sp 9p .RT .PP If the MS receives a SubmissionControl abstract\(hyoperation from the MTA, or if the MS for some internal reasons wants to temporarily stop the UA from submitting messages or probes, or to alter the maximum\(hylength or lowest\(hypriority of messages from the UA, the MS performs the following steps: .RT .LP 1) It invokes a SubmissionControl abstract\(hyoperation to the UA. For details, see \(sc\ 8.2.1.4.1 of Recommendation\ X.411. .LP 2) It waits for a SubmissionControl result (for details, see \(sc\ 8.2.1.4.2 of Recommendation\ X.411) from the UA confirming the acceptance of the SubmissionControl abstract\(hyoperation. .LP 3) If the SubmissionControl abstract\(hyoperation had been triggered by a corresponding abstract\(hyoperation from the MTA to the MS, the SubmissionControl result from the UA is passed on from the MS to the MTA and the MS waits for the SubmissionControl result to come back from the UA. .bp .sp 1P .LP 15.3 \fISupply of the administration port abstract\(hyservices\fR .sp 9p .RT .PP This paragraph covers the performance of the register and ChangeCredentials abstract\(hyoperations. The messages abstract\(hyservice supply of the administration port abstract\(hyservices assumes that an abstract\(hyassociation exists between the indirect\(hysubmission port supplier (the MS) and the indirect\(hysubmission port consumer (the UA). The performance of the abstract\(hyoperations is in sequential order; no parallel processing takes place. Not all error cases are described. .RT .sp 1P .LP 15.3.1 \fIPerformance of the register abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a register abstract\(hyoperation and its associated arguments from the UA, it performs the following steps: .RT .LP 1) It establishes that the argument information is valid for a register abstract\(hyoperation. For details, see \(sc\ 8.4.1.1.1 of Recommendation\ X.411. .LP 2) It checks if there is already an existing abstract\(hyassociation between the MS and the MTA. If not, the MS initiates such an abstract\(hyassociation. If an abstract\(hyassociation cannot be established, the UA is informed by an error that register can not take place at present and no further steps are processed. .LP 3) If the abstract\(hyassociation between the MS and the MTA exists, the MS invokes a register abstract\(hyoperation to the MTA. .LP 4) If the MTA sends back a register result (for details, see \(sc\ 8.4.1.1.2 of Recommendation\ X.411) indicating success, the MS sends back a corresponding register result indicating success to the UA. Note that the MS never sends back an indication of success to the UA until it has received the corresponding result back from the MTA first. This is to ensure a consistent service from a user point of view, viz., that the responsibility for the register has been taken over by the MTS, when the result comes back. .LP 5) The MS may either choose to terminate abstract\(hyassociation with the MTA after a certain period of inactivity, or when the UA terminates its corresponding abstract\(hyassociation with the MS. .LP 6) The scope of permitted changes by the UA via the MS to the user\(hysecurity\(hylabels shall be confined by the security\(hypolicy in force. Some security\(hypolicies may only permit user\(hysecurity\(hylabels to be changed in this way if a secure link is employed. Other local means of changing user\(hysecurity\(hylabels in a secure manner may be provided. .sp 1P .LP 15.3.2 \fIInvocation of the ChangeCredentials abstract\(hyoperation\fR .sp 9p .RT .PP A ChangeCredentials abstract\(hyoperation is initiated because the MTA invoked a ChangeCredentials abstract\(hyoperation to the MS. In order to relay the new\(hycredentials to the UA from the MTA, the MS performs the following steps: .RT .LP 1) It establishes that the argument information is valid for a ChangeCredentials abstract\(hyoperation. For details, see \(sc\ 8.4.1.2 of Recommendation\ X.411. If the old credentials are incorrect and the new credentials are not acceptable, an error is returned and no further processing takes place. .LP 2) It invokes a ChangeCredentials abstract\(hyoperation on the UA\fR containing the new credentials to be registered. For details, see \(sc\ 8.4.1.2 of Recommendation\ X.411. .LP 3) It gets a ChangeCredentials result back when the UA has accepted the change and stores the new credentials. The ChangeCredentials result or resultant error from the UA is relayed to the MTA. .sp 1P .LP 15.3.3 \fIPerformance of the ChangeCredentials abstract\(hyoperation\fR .sp 9p .RT .PP When the MS receives a ChangeCredentials abstract\(hyoperation and its associated arguments from the MTA, it performs the following steps: .RT .LP 1) It establishes that the argument information is valid for a ChangeCredentials abstract\(hyoperation. For details, see\fR \(sc\ 8.4.1.2 of Recommendation\ X.411. .LP 2) It checks if there is already an existing abstract\(hyassociation betwen the MS and the MTA. If not, the MS initiates such an abstract\(hyassociation. If an abstract\(hyassociation cannot be established, the UA is informed by an error that change of credentials can not take place at present and no further steps are processed. .LP 3) If the abstract\(hyassociation between the MS and MTA exists, the MS invokes a ChangeCredentials abstract\(hyoperation to the MTA. .bp .LP 4) If the MTA sends back an empty ChangeCredentials result, indicating success, the MS sends back a corresponding ChangeCredentials result indicating success to the UA and stores the credentials. If the MTA returns an error, this is relayed to the UA to indicate that error. Note that the MS never sends back an indication of success to the UA until it has received the corresponding result back from the MTA first. .LP 5) The MS may either choose to terminate the abstract\(hyassociation with the MTA after a certain period of inactivity, or when the UA terminates its corresponding abstract\(hyassociation with the MS. .sp 2P .LP \fB16\fR \fBPorts realization\fR .sp 1P .RT .PP This paragraph describes how the retrieval, the submission and the administration ports of the MS abstract\(hyservice are provided. For a description of how the MTS abstract\(hyservice provides the delivery, the submission and the administration ports, refer to \(sc\ 8 of Recommendation\ X.411. .RT .sp 1P .LP 16.1 \fIRetrieval port\fR .sp 9p .RT .PP The retrieval port abstract\(hyservices are realized on a one\(hyto\(hyone basis between abstract\(hyoperations and real operations in the message retrieval service element (MRSE) which is documented in Recommendation\ X.419. .RT .sp 1P .LP 16.2 \fIIndirect\(hysubmission port\fR .sp 9p .RT .PP The indirect\(hysubmission port abstract\(hyservices are realized on a one\(hyto\(hyone basis between abstract\(hyoperations and real operations in the message submission service element (MSSE) which is documented in Recommendation\ X.419. .RT .sp 1P .LP 16.3 \fIAdministration port\fR .sp 9p .RT .PP The administration port abstract\(hyservices are realized on a one\(hyto\(hyone basis between abstract\(hyoperations and real operations in the message administrtion service element (MASE) which is documented in Recommendation\ X.419. .RT .ce 1000 ANNEX\ A .ce 0 .ce 1000 (to Recommendation X.413) .sp 9p .RT .ce 0 .ce 1000 \fBFormal assignment of object identifiers\fR .sp 1P .RT .ce 0 .PP \fR This Annex is an integral part of this Recommendation. .sp 1P .RT .PP \fR All object identifiers this Recommendation assigns are formally assigned in the present Annex using ASN.1. The specified values are cited in the ASN.1 modules of subsequent annexes. .PP This Annex is definitive for all values except those for ASN.1 modules and for the whole subject matter of this Recommendation. The definitive assignments for the former occur in the modules themselves. The latter is fixed. Other references to the values assigned to modules appear in IMPORT clauses. .RT .LP MSObjectIdentifiers .LP {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) object\(hyidentifiers(0)\|} .LP DEFINITIONS ::= .LP BEGIN .LP .sp 2 \(hy\(hy\ \fIPrologue\fR .LP \(hy\(hy\ \fIExports everything\fR .LP IMPORTS .LP ID, id\(hyms .LP FROM MHSObjectIdentifiers {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) arch(5) modules(0) object\(hyidentifiers(0)\|}; .bp .LP \(hy\(hy\ \fICategories\fR .LP id\(hymod \(hy\(hy\ \fImodules\fR \(hy\(hy ID ::= {\|id\(hyms 0\|} .LP id\(hyot \(hy\(hy\ \fIobjects\fR \(hy\(hy ID ::= {\|id\(hyms 1\|} .LP id\(hypt \(hy\(hy\ \fIport types\fR \(hy\(hy ID ::= {\|id\(hyms 2\|} .LP id\(hyatt \(hy\(hy\ \fIattribute types\fR \(hy\(hy ID ::= {\|id\(hyms 3\|} .LP id\(hyact \(hy\(hy\ \fIauto\(hyaction types\fR \(hy\(hy ID ::= {\|id\(hyms 4\|} .LP .sp 2 \(hy\(hy\ \fIModules\fR .LP id\(hymod\(hyobject\(hyidentifiers ID ::= {\|id\(hymod 0\|} \(hy\(hy \fInot definitive\fR .LP id\(hymod\(hyabstract\(hyservice ID ::= {\|id\(hymod 1\|} \(hy\(hy \fInot definitive\fR .LP id\(hymod\(hyattribute\(hytypes ID ::= {\|id\(hymod 2\|} \(hy\(hy \fInot definitive\fR .LP id\(hymod\(hyaction\(hytypes ID ::= {\|id\(hymod 3\|} \(hy\(hy \fInot definitive\fR .LP id\(hymod\(hyupper\(hybounds ID ::= {\|id\(hymod 4\|} \(hy\(hy \fInot definitive\fR .LP .sp 2 .LP \(hy\(hy\ \fIObjects\fR .LP id\(hyot\(hyms ID ::= {\|id\(hyot 0\|} .LP id\(hyot\(hyms\(hyuser ID ::= {\|id\(hyot 1\|} .LP .sp 2 \(hy\(hy\ \fIPort types\fR .LP id\(hypt\(hyretrieval ID ::= {\|id\(hypt 0\|} .LP \(hy\(hy\ \fIAttribute types\fR .LP id\(hyatt\(hychild\(hysequence\(hynumbers ID ::= {\|id\(hyatt 0\|} .LP id\(hyatt\(hycontent ID ::= {\|id\(hyatt 1\|} .LP id\(hyatt\(hycontent\(hyconfidentiality\(hyalgorithm\(hyidentifier ID ::= {\|id\(hyatt 2\|} .LP id\(hyatt\(hycontent\(hycorrelator ID ::= {\|id\(hyatt 3\|} .LP id\(hyatt\(hycontent\(hyidentifier ID ::= {\|id\(hyatt 4\|} .LP id\(hyatt\(hycontent\(hyintegrity\(hycheck ID ::= {\|id\(hyatt 5\|} .LP id\(hyatt\(hycontent\(hylength ID ::= {\|id\(hyatt 6\|} .LP id\(hyatt\(hycontent\(hyreturned ID ::= {\|id\(hyatt 7\|} .LP id\(hyatt\(hycontent\(hytype ID ::= {\|id\(hyatt 8\|} .LP id\(hyatt\(hyconversion\(hywith\(hyloss\(hyprohibited ID ::= {\|id\(hyatt 9\|} .LP id\(hyatt\(hyconverted\(hyEITs ID ::= {\|id\(hyatt 10\|} .LP id\(hyatt\(hycreation\(hytime ID ::= {\|id\(hyatt 11\|} .LP id\(hyatt\(hydelivered\(hyEITs ID ::= {\|id\(hyatt 12\|} .LP id\(hyatt\(hydelivery\(hyflags ID ::= {\|id\(hyatt 13\|} .LP id\(hyatt\(hydl\(hyexpansion\(hyhistory ID ::= {\|id\(hyatt 14\|} .LP id\(hyatt\(hyentry\(hystatus ID ::= {\|id\(hyatt 15\|} .LP id\(hyatt\(hyentry\(hytype ID ::= {\|id\(hyatt 16\|} .LP id\(hyatt\(hyintended\(hyrecipient\(hyname ID ::= {\|id\(hyatt 17\|} .LP id\(hyatt\(hymessage\(hydelivery\(hyenvelope ID ::= {\|id\(hyatt 18\|} .LP id\(hyatt\(hymessage\(hydelivery\(hyidentifier ID ::= {\|id\(hyatt 19\|} .LP id\(hyatt\(hymessage\(hydelivery\(hytime ID ::= {\|id\(hyatt 20\|} .LP id\(hyatt\(hymessage\(hyorigin\(hyauthentication\(hycheck ID ::= {\|id\(hyatt 21\|} .LP id\(hyatt\(hymessage\(hysecurity\(hylabel ID ::= {\|id\(hyatt 22\|} .LP id\(hyatt\(hymessage\(hysubmission\(hytime ID ::= {\|id\(hyatt 23\|} .LP id\(hyatt\(hymessage\(hytoken ID ::= {\|id\(hyatt 24\|} .LP id\(hyatt\(hyoriginal\(hyEITs ID ::= {\|id\(hyatt 25\|} .LP id\(hyatt\(hyoriginator\(hycertificate ID ::= {\|id\(hyatt 26\|} .LP id\(hyatt\(hyoriginator\(hyname ID ::= {\|id\(hyatt 27\|} .LP id\(hyatt\(hyother\(hyrecipient\(hynames ID ::= {\|id\(hyatt 28\|} .bp .LP id\(hyatt\(hyparent\(hysequence\(hynumber ID ::= {\|id\(hyatt 29\|} .LP id\(hyatt\(hyper\(hyrecipient\(hyreport\(hydelivery\(hyfields ID ::= {\|id\(hyatt 30\|} .LP id\(hyatt\(hypriority ID ::= {\|id\(hyatt 31\|} .LP id\(hyatt\(hypriority\(hyof\(hydelivery\(hyrequest ID ::= {\|id\(hyatt 32\|} .LP id\(hyatt\(hyredirection\(hyhistory ID ::= {\|id\(hyatt 33\|} .LP id\(hyatt\(hyreport\(hydelivery\(hyenvelope, ID ::= {\|id\(hyatt 34\|} .LP id\(hyatt\(hyreporting\(hyDL\(hyname ID ::= {\|id\(hyatt 35\|} .LP id\(hyatt\(hyreporting\(hyMTA\(hycertificate ID ::= {\|id\(hyatt 36\|} .LP id\(hyatt\(hyreport\(hyorigin\(hyauthentication\(hycheck ID ::= {\|id\(hyatt 37\|} .LP id\(hyatt\(hysecurity\(hyclassification ID ::= {\|id\(hyatt 38\|} .LP id\(hyatt\(hysequence\(hynumber ID ::= {\|id\(hyatt 39\|} .LP id\(hyatt\(hysubject\(hysubmission\(hyidentifier ID ::= {\|id\(hyatt 40\|} .LP id\(hyatt\(hythis\(hyrecipient\(hyname ID ::= {\|id\(hyatt 41\|} .LP .sp 2 \(hy\(hy\ \fIAuto\(hyaction types\fR .LP id\(hyact\(hyauto\(hyforward ID ::= {\|id\(hyact 0\|} .LP id\(hyact\(hyauto\(hyalert ID ::= {\|id\(hyact 1\|} .LP .sp 2 END\ \(hy\(hy\ \fIof MSObjectIdentifiers\fR .ce 1000 ANNEX\ B .ce 0 .ce 1000 (to Recommendation X.413) .sp 9p .RT .ce 0 .ce 1000 \fBFormal definition of the message store abstract\(hyservice\fR .sp 1P .RT .ce 0 .PP This Annex is an integral part of this Recommendation. .sp 1P .RT .PP \fR This Annex, a supplement to section\ 2, formally defines the message store abstract\(hyservice. It employs ASN.1 and the OBJECT, PORT, ABSTRACT\(hyBIND, ABSTRACT\(hyUNBIND, ABSTRACT\(hyOPERATION, and ABSTRACT\(hyERROR macros of Recommendation\ X.407. .PP \fINote\fR \ \(em\ The use of the ABSTRACT\(hyBIND, ABSTRACT\(hyUNBIND, ABSTRACT\(hyOPERATION, and ABSTRACT\(hyERROR macros, which are derived from the BIND, UNBIND, OPERATION and ERROR macros of ROS, does not imply that the abstract\(hyoperations and abstract\(hyerrors are invoked and reported across the boundary between open\(hysystems in every instance. However, frequently this will be done. Just how this is accomplished is the subject of Recommendation\ X.419. .RT .LP MSAbstractService {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) abstract\(hyservice(1)\|} .LP DEFINITIONS ::= .LP BEGIN .LP .sp 2 \(hy\(hy\ \fIPrologue\fR .LP \(hy\(hy\ \fIExports everything\fR .LP IMPORTS .LP .sp 2 \(hy\(hy\ \fIAbstract\(hyservices macros\fR .LP ABSTRACT\(hyBIND, ABSTRACT\(hyERROR, ABSTRACT\(hyOPERATION, ABSTRACT\(hyUNBIND, OBJECT, PORT .LP FROM AbstractServiceNotation {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) asdc(2) modules(0) notation(1)\|} .LP .sp 2 \(hy\(hy\ \fIMS ports\fR .LP administration, delivery, submission, .bp .LP \(hy\(hy\ \fIMTS macro\fR .LP EXTENSION, .LP .sp 2 .LP \(hy\(hy\ \fIMTS abstract\(hyservice\(hydata types\fR .LP ContentLength, ContentType, Credentials, InitiatorCredentials, ORAddressAndOrDirectoryName, .LP ResponderCredentials, SecurityContext, SecurityError, SecurityLabel .LP FROM MTSAbstractService {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) mts(3) modules(0) mts\(hyabstract\(hyservice(1)\|} .LP .sp 2 \(hy\(hy\ \fIMS\(hyobjects\fR .LP id\(hyot\(hyms, id\(hyot\(hyms\(hyuser, id\(hypt\(hyretrieval .LP FROM MSObjectIdentifiers {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) object\(hyidentifiers(0)\|} .LP \(hy\(hy\ \fIMS abstract\(hyservice upperbound\fR .LP ub\(hyattributes\(hysupported, ub\(hyattribute\(hyvalues, ub\(hyauto\(hyactions, ub\(hyauto\(hyregistrations, .LP ub\(hydefault\(hyregistrations, ub\(hyerror\(hyreasons, ub\(hyinformation\(hybases, ub\(hymessages, .LP ub\(hynested\(hyfilters, ub\(hyper\(hyauto\(hyaction, ub\(hyper\(hyentry, ub\(hysummaries .LP FROM MSUpperBounds {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) upper\(hybounds(4)\|} .LP .sp 2 \(hy\(hy\ \fIMS abstract\(hyservice upperbound\fR .LP ub\(hycontent\(hytypes, ub\(hyencoded\(hyinformation\(hytypes, ub\(hylabels\(hyand\(hyredirections .LP FROM MTSUpperBounds {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) mts(3) modules(0) upper\(hybounds(3)\|}; .LP .sp 2 \(hy\(hy\ \fIMS abstract objects\fR .LP MS OBJECT .LP PORTS {\|retrieval[S], .LP indirectSubmission[S], .LP administration[S], .LP delivery[C], .LP submission[C], .LP administration[C]\|} .LP ::= id\(hyot\(hyms .LP msUser OBJECT .LP PORTS {\|retrieval[C], .LP indirectSubmission[C], .LP administration[C]\|} .LP ::= id\(hyot\(hyms\(hyuser .LP .sp 2 \(hy\(hy\ \fIPort types\fR .LP indirectSubmission PORT ::= submission .LP retrieval PORT .LP CONSUMER INVOKES\|{ .LP Summarize, .LP List, .LP Fetch, .LP Delete, .LP Register\(hyMS\|} .LP SUPPLIER INVOKES\|{ .LP Alert\|} .LP ::= id\(hypt\(hyretrieval .bp .LP \(hy\(hy\ \fIMacros\fR .LP AUTO\(hyACTION MACRO ::= .LP BEGIN .LP TYPE NOTATION ::= Registration .LP VALUE NOTATION ::= value (VALUE OBJECT IDENTIFIER) .LP Registration ::= \*QREGISTRATION PARAMETER IS\*U type .LP END .LP .sp 2 .LP \(hy\(hy\ \fICommon data\(hytypes related to the information model\fR .LP InformationBase ::= INTEGER\|{ .LP stored\(hymessages (0), .LP inlog (1), .LP outlog (2)\|}\ (0.\|.ub\(hyinformation\(hybases) .LP SequenceNumber ::= INTEGER (0.\|.ub\(hymessages) .LP CreationTime ::= UTCTime .LP Attribute ::= SEQUENCE\|{ .LP type AttributeType, .LP values SEQUENCE SIZE (1.\|.ub\(hyattribute\(hyvalues) OF ANY \(hy\(hy \fIDEFINED BY TYPE\fR \(hy\(hy\|} .LP AttributeType ::= OBJECT IDENTIFIER .LP AutoActionRegistration ::= SEQUENCE\|{ .LP type AutoActionType, .LP registration\(hyidentifier [0]\ INTEGER (1.\|.ub\(hyper\(hyauto\(hyaction) DEFAULT 1, .LP registration\(hyparameter [1]\ ANY DEFINED BY type\|} .LP AutoActionType ::= OBJECT IDENTIFIER .LP EntryStatus ::= INTEGER\|{ .LP new (0), .LP listed (1), .LP processed (2)\|} .LP .sp 2 \(hy\(hy\ \fIAbstract\(hybind\fR .LP MSBind ::= ABSTRACT\(hyBIND .LP TO {\|indirectSubmission[S], retrieval[S], administration[S]\|} .LP BIND .LP ARGUMENT MSBindArgument .LP RESULT MSBindResult .LP BIND\(hyERROR MSBindError .LP MSUnbind ::= ABSTRACT\(hyUNBIND .LP FROM {\|indirectSubmission[S], retrieval[S], administration[S]\|} .LP MSBindArgument ::= SET\|{ .LP initiator\(hyname ORAddressAndOrDirectoryName .LP initiator\(hycredentials [2]\ InitiatorCredentials, .LP security\(hycontext [3]\ IMPLICIT SecurityContext OPTIONAL, .LP fetch\(hyrestrictions [4]\ Restrictions OPTIONAL \(hy\(hy \fIdefault is none\fR \(hy\(hy, .LP ms\(hyconfiguration\(hyrequest [5]\ BOOLEAN DEFAULT FALSE\|} .LP Restrictions ::= SET\|{ .LP allowed\(hycontent\(hytypes [0]\ SET SIZE (1.\|.ub\(hycontent\(hytypes) OF OBJECT IDENTIFIER .LP [0]\ OPTIONAL .LP \ \ \(hy\(hy\ \fIdefault is no restriction\fR \ \(hy\(hy, .LP allowed\(hyEITs [1]\ MS\(hyEITs OPTIONAL \(hy\(hy \fIdefault is no restriction\fR \(hy\(hy, .LP maximum\(hycontent\(hylength [2]\ ContentLength OPTIONAL \(hy\(hy \fIdefault is no\fR \fIrestriction\fR \(hy\(hy\|} .bp .LP MS\(hyEITs ::= SET SIZE (1.\|.ub\(hyencoded\(hyinformation\(hytypes) OF MS\(hyEIT .LP MS\(hyEIT ::= OBJECT IDENTIFIER .LP MSBindResult ::= SET\|{ .LP responder\(hycredentials [2]\ ResponderCredentials, .LP available\(hyauto\(hyactions [3]\ SET SIZE (1.\|.ub\(hyauto\(hyactions) OF AutoActionType OPTIONAL, .LP available\(hyattribute\(hytypes [4]\ SET SIZE (1.\|.ub\(hyattributes\(hysupported) OF AttributeType .LP [0]\ OPTIONAL, .LP alert\(hyindication [5]\ BOOLEAN DEFAULT FALSE, .LP content\(hytypes\(hysupported [6]\ SET SIZE (1.\|.ub\(hycontent\(hytypes) OF OBJECT IDENTIFIER .LP [0]\ OPTIONAL\|} .LP MSBindError ::= ENUMERATED\|{ .LP authentication\(hyerror (0), .LP unacceptable\(hysecurity\(hycontext (1), .LP unable\(hyto\(hyestablish\(hyassociation (2)\|} .LP .sp 2 .LP \(hy\(hy\ \fICommon data\(hytypes for abstract\(hyoperations\fR .LP Range ::= CHOICE\|{ .LP sequence\(hynumber\(hyrange [0]\ NumberRange, .LP creation\(hytime\(hyrange [1]\ TimeRange\|} .LP NumberRange ::= SEQUENCE\|{ .LP from [0]\ SequenceNumber OPTIONAL \(hy\(hy\ \fIomitted means no lower bound\fR \(hy\(hy, .LP to [1]\ SequenceNumber OPTIONAL \(hy\(hy\ \fIomitted means no upper bound\fR \(hy\(hy\|} .LP TimeRange ::= SEQUENCE\|{ .LP from [0]\ CreationTime OPTIONAL \(hy\(hy\ \fIomitted means no lower bound\fR \(hy\(hy, .LP to [1]\ CreationTime OPTIONAL \(hy\(hy\ \fIomitted means no upper bound\fR \(hy\(hy\|} .LP Filter ::= CHOICE\|{ .LP item [0]\ FilterItem, .LP and [1]\ SET SIZE (1.\|.ub\(hynested\(hyfilters) OF Filter, .LP or [2]\ SET SIZE (1.\|.ub\(hynested\(hyfilters) OF Filter, .LP not [3]\ Filter\|} .LP FilterItem ::= CHOICE\|{ .LP equality [0]\ AttributeValueAssertion, .LP substrings [1]\ SEQUENCE\|{ .LP \fR \ \ type AttributeType, .LP \ \ strings SEQUENCE SIZE (1.\|.ub\(hyattribute\(hyvalues) OF CHOICE\|{ .LP \ \ \ \ initial \ \ [0]\ ANY \(hy\(hy\ \fIDEFINED BY type\fR \(hy\(hy, .LP \ \ \ \ any \ \ [1]\ ANY \(hy\(hy\ \fIDEFINED BY type\fR \(hy\(hy, .LP \ \ \ \ final \ \ [2]\ ANY \(hy\(hy\ \fIDEFINED BY type\fR \(hy\(hy\|}\|}, .LP greater\(hyor\(hyequal [2]\ AttributeValueAssertion, .LP less\(hyor\(hyequal [3]\ AttributeValueAssertion, .LP present [4]\ AttributeType, .LP approximate\(hymatch [5]\ AttributeValueAssertion\|} .LP AttributeValueAssertion ::= SEQUENCE\|{ .LP type AttributeType, .LP value ANY DEFINED BY type\|} .LP Selector ::= SET\|{ .LP child\(hyentries [0]\ BOOLEAN DEFAULT FALSE, .LP range [1]\ Range OPTIONAL \(hy\(hy\ \fIdefault is unbounded\fR \(hy\(hy, .LP filter [2]\ Filter OPTIONAL \(hy\(hy\ \fIdefault is all entries within the\fR \fIspecified range\fR \(hy\(hy, .LP limit [3]\ INTEGER (1.\|.ub\(hymessages) OPTIONAL, .LP override [4]\ OverrideRestrictions OPTIONAL \(hy\(hy\ \fIdefault is that\fR \fIany fetch\(hyrestrictions in force do\fR .LP \fIapply\fR \ \(hy\(hy\|} .LP OverrideRestrictions ::= BIT STRING\|{ .LP overrideContentTypesRestriction (0), .LP overrideEITsRestriction (1), .LP overrideContentLengthRestriction (2)\|}\ (SIZE (1.\|.ub\(hyinformation\(hybases)) .LP EntryInformationSelection::= SET SIZE (0.\|.ub\(hyper\(hyentry) OF AttributeSelection .bp .LP AttributeSelection ::= SET\|{ .LP type AttributeType, .LP from [0]\ INTEGER (1.\|.ub\(hyattribute\(hyvalues) OPTIONAL \(hy\(hy\ \fIused if type\fR \fIis multi valued\fR \(hy\(hy, .LP count [1]\ INTEGER (1.\|.ub\(hyattribute\(hyvalues) OPTIONAL \(hy\(hy\ \fIused if type\fR \fIis multi valued\fR \(hy\(hy\|} .LP EntryInformation ::= SEQUENCE\|{ .LP sequence\(hynumber SequenceNumber, .LP attributes SET SIZE (1.\|.ub\(hyper\(hyentry) OF Attribute OPTIONAL\|} .LP .sp 2 \(hy\(hy\ \fIForwarding\(hyrequest parameter for indirect\(hysubmission\fR .LP forwarding\(hyrequest EXTENSION .LP SequenceNumber .LP CRITICAL FOR SUBMISSION .LP ::= 36 .LP .sp 2 .LP \(hy\(hy\ \fIAbstract\(hyoperations\fR .LP Summarize ::= ABSTRACT\(hyOPERATION .LP ARGUMENT SummarizeArgument .LP RESULT SummarizeResult .LP ERRORS\|{ .LP AttributeError, .LP InvalidParametersError, .LP RangeError, .LP SecurityError, .LP SequenceNumberError, .LP ServiceError\|} .LP SummarizeArgument ::= SET\|{ .LP information\(hybase\(hytype [0]\ InformationBase DEFAULT stored\(hymessages, .LP selector [1]\ Selector, .LP summary\(hyrequests [2]\ SEQUENCE SIZE (1.\|.ub\(hysummaries) OF AttributeType OPTIONAL .LP \(hy\(hy\ \fIabsent if no summaries are requested\fR \(hy\(hy\|} .LP SummarizeResult ::= SET\|{ .LP next [0]\ SequenceNumber OPTIONAL, .LP count [1]\ INTEGER (0.\|.ub\(hymessages) \(hy\(hy\ \fIof the entries selected\fR \(hy\(hy, .LP span [2]\ Span OPTIONAL \(hy\(hy \fIof the entries selected, omitted if count\fR \fIis zero\fR \(hy\(hy, .LP summaries [3]\ SEQUENCE SIZE (1.\|.ub\(hysummaries) OF Summary OPTIONAL\|} .LP Span ::= SEQUENCE\|{ .LP lowest [0]\ SequenceNumber, .LP highest [1]\ SequenceNumber\|} .LP Summary ::= SET\|{ .LP absent [0]\ INTEGER (1.\|.ub\(hymessages) OPTIONAL \(hy\(hy\ \fIcount of entries\fR \fIwhere the attribute is\fR .LP [0]\ \fIabsent\fR \ \(hy\(hy, .LP present [1]\ SET SIZE (1.\|.ub\(hyattribute\(hyvalues) OF \(hy\(hy\ \fIone for each\fR \fIattribute value present\fR \(hy\(hy .LP SEQUENCE\|{ .LP \ \ type AttributeType, .LP \ \ value ANY DEFINED BY type, .LP \ \ count INTEGER (1.\|.ub\(hymessages)\|} OPTIONAL\|} .LP List ::= ABSTRACT\(hyOPERATION .LP ARGUMENT ListArgument .LP RESULT ListResult .LP ERRORS\|{ .LP \ \ AttributeError, .LP \ \ InvalidParametersError, .LP \ \ RangeError, .LP \ \ SecurityError, .LP \ \ SequenceNumberError, .LP \ \ ServiceError\|} .bp .LP ListArgument ::= SET\|{ .LP information\(hybase\(hytype [0]\ InformationBase DEFAULT stored\(hymessages, .LP selector [1]\ Selector, .LP requested\(hyattributes [3]\ EntryInformationSelection OPTIONAL\|} .LP ListResult ::= SET\|{ .LP next [0]\ SequenceNumber OPTIONAL, .LP requested [1]\ SEQUENCE SIZE (1.\|.ub\(hymessages) OF EntryInformation OPTIONAL \(hy\(hy\ \fIomitted if\fR .LP [1]\ \fInone found\fR \ \(hy\(hy\|} .LP \(hy\(hy .LP Fetch ::= ABSTRACT\(hyOPERATION .LP ARGUMENT FetchArgument .LP RESULT FetchResult .LP ERRORS\|{ .LP \ \ AttributeError, .LP \ \ FetchRestrictionError, .LP \ \ InvalidParametersError, .LP \ \ RangeError, .LP \ \ SecurityError, .LP \ \ SequenceNumberError, .LP \ \ ServiceError\|} .LP FetchArgument ::= SET\|{ .LP information\(hybase\(hytype [0]\ InformationBase DEFAULT stored\(hymessages, .LP item \ \ CHOICE\|{ .LP search \ \ [1]\ Selector, .LP precise \ \ [2]\ SequenceNumber\|}, .LP requested\(hyattributes [3]\ EntryInformationSelection OPTIONAL\|} .LP FetchResult ::= SET\|{ .LP entry\(hyinformation [0]\ EntryInformation OPTIONAL\ \(hy\(hy \fIif an\fR \fIentry was selected\fR \(hy\(hy, .LP list [1]\ SEQUENCE SIZE (1.\|.ub\(hymessages) OF SequenceNumber OPTIONAL, .LP next [2]\ SequenceNumber OPTIONAL\|} .LP \(hy\(hy .LP Delete ::= ABSTRACT\(hyOPERATION .LP ARGUMENT DeleteArgument .LP RESULT DeleteResult .LP ERRORS\|{ .LP \ \ DeleteError, .LP \ \ InvalidParametersError, .LP \ \ RangeError, .LP \ \ SecurityError, .LP \ \ SequenceNumberError, .LP \ \ ServiceError\|} .LP DeleteArgument ::= SET\|{ .LP information\(hybase\(hytype [0]\ InformationBaseDEFAULT stored\(hymessages, .LP items \ \ CHOICE\|{ .LP selector \ \ \ [1]\ Selector .LP sequence\(hynumbers \ \ \ [2]\ SET SIZE (1.\|.ub\(hymessages) OF SequenceNumber\|}\|} .LP DeleteResult ::= NULL .LP \(hy\(hy .LP Register\(hyMS ::= ABSTRACT\(hyOPERATION .LP ARGUMENT Register\(hyMSArgument .LP RESULT Register\(hyMSResult .LP ERRORS\|{ .LP \ \ AttributeError, .LP \ \ AutoActionRequestError, .LP \ \ InvalidParametersError, .LP \ \ SecurityError, .LP \ \ ServiceError\|} .bp .LP Register\(hyMSArgument ::= SET\|{ .LP auto\(hyaction\(hyregistrations [0]\ SET SIZE (1.\|.ub\(hyauto\(hyregistrations) OF AutoActionRegistration .LP OPTIONAL, .LP auto\(hyaction\(hyderegistrations [1]\ SET SIZE (1.\|.ub\(hyauto\(hyregistrations) OF AutoActionDeregistration .LP OPTIONAL, .LP list\(hyattribute\(hydefaults [2]\ SET SIZE (1.\|.ub\(hydefault\(hyregistrations) OF AttributeType OPTIONAL, .LP fetch\(hyattribute\(hydefaults [3]\ SET SIZE (1.\|.ub\(hydefault\(hyregistrations) OF AttributeType OPTIONAL, .LP change\(hycredentials [4]\ SEQUENCE\|{ .LP old\(hycredentials \ \ [0]\ IMPLICIT Credentials, .LP new\(hycredentials \ \ [1]\ IMPLICIT Credentials\|} OPTIONAL .LP \ \ \(hy\(hy\ \fIsame CHOICE as for old\(hycredentials\fR \ \(hy\(hy, .LP user\(hysecurity\(hylabels [5]\ SET SIZE (1.\|.ub\(hylabels\(hyand\(hyredirections) OF SecurityLabel OPTIONAL\|} .LP AutoActionDeregistration ::= AutoActionRegistration .LP (WITH COMPONENTS {\|.\|.\|., registration\(hyparameter ABSENT\|}\|) .LP Register\(hyMSResult ::= NULL .LP \(hy\(hy .LP Alert ::= ABSTRACT\(hyOPERATION .LP ARGUMENT AlertArgument .LP RESULT AlertResult .LP ERRORS\|{ .LP \ \ SecurityError\|} .LP AlertArgument ::= SET\|{ .LP alert\(hyregistration\(hyidentifier [0]\ INTEGER (1.\|.ub\(hyauto\(hyactions), .LP new\(hyentry [2]\ EntryInformation OPTIONAL\|} .LP AlertResult ::= NULL .LP .sp 2 \(hy\(hy\ \fIAbstract\(hyerrors\fR .LP AttributeError ::= ABSTRACT\(hyERROR .LP PARAMETER\ SET\|{ .LP problems\ [0] SET SIZE (1.\|.ub\(hyper\(hyentry) OF SET\|{ .LP \ \ problem [0]\ AttributeProblem, .LP \ \ type [1]\ AttributeType, .LP \ \ value [2]\ ANY DEFINED BY type OPTIONAL\|}\|} .LP AttributeProblem ::= INTEGER\|{ .LP invalid\(hyattribute\(hyvalue (0), .LP unavailable\(hyattribute\(hytype (1), .LP inappropriate\(hymatching (2), .LP attribute\(hytype\(hynot\(hysubscribed (3), .LP inappropriate\(hyfor\(hyoperation (4)\|}\ (0.\|.ub\(hyerror\(hyreasons) .LP \(hy\(hy .LP AutoActionRequestError ::= ABSTRACT\(hyERROR .LP PARAMETER\ SET\|{ .LP problems\ [0] SET SIZE (1.\|.ub\(hyauto\(hyregistrations) OF SET\|{ .LP \ \ problem [0]\ AutoActionRequestProblem, .LP \ \ type [1]\ AutoActionType\|}\|} .LP AutoActionRequestProblem ::= INTEGER\|{ .LP unavailable\(hyauto\(hyaction\(hytype (0), .LP auto\(hyaction\(hytype\(hynot\(hysubscribed (1)\|}\ (0.\|.ub\(hyerror\(hyreasons) .LP \(hy\(hy .bp .LP DeleteError ::= ABSTRACT\(hyERROR .LP PARAMETER\ SET\|{ .LP problems\ [0] SET SIZE (1.\|.ub\(hymessages) OF SET\|{ .LP \ \ problem [0]\ DeleteProblem, .LP \ \ sequence\(hynumber [1]\ SequenceNumber\|}\|} .LP DeleteProblem ::= INTEGER\|{ .LP child\(hyentry\(hyspecified (0), .LP delete\(hyrestriction\(hyproblem (1)\|}\ (0.\|.ub\(hyerror\(hyreasons) .LP \(hy\(hy .LP FetchRestrictionError ::= ABSTRACT\(hyERROR .LP PARAMETER\ SET\|{ .LP problems\ [0] SET SIZE (1.\|.ub\(hydefault\(hyregistrations) OF SET\|{ .LP \ \ problem [3]\ FetchRestrictionProblem, .LP \ \ restriction CHOICE\|{ .LP \ \ \ \ content\(hytype \ \ [1]\ ContentType, .LP \ \ \ \ eit \ \ [2]\ MS\(hyEITs, .LP \ \ \ \ content\(hylength \ \ [3]\ ContentLength\|}\|}\|} .LP FetchRestrictionProblem ::= INTEGER\|{ .LP content\(hytype\(hyproblem (1), .LP eit\(hyproblem (2), .LP content\(hylength\(hyproblem (3)\|}\ (0.\|.ub\(hyerror\(hyreasons) .LP \(hy\(hy .LP InvalidParametersError ::= ABSTRACT\(hyERROR .LP PARAMETER\ NULL .LP \(hy\(hy .LP RangeError ::= ABSTRACT\(hyERROR .LP PARAMETER SET\|{ .LP problem [0]\ RangeProblem\|} .LP RangeProblem ::= INTEGER\|{ .LP reversed\ \ (0)\|}\ (0.\|.ub\(hyerror\(hyreasons) .LP \(hy\(hy .LP SequenceNumberError ::= ABSTRACT\(hyERROR .LP PARAMETER\ SET\|{ .LP problems\ [1] SET SIZE (1.\|.ub\(hymessages) OF SET\|{ .LP \ \ problem [0]\ SequenceNumberProblem, .LP \ \ sequence\(hynumber [1]\ SequenceNumber\|}\|} .LP SequenceNumberProblem ::= INTEGER\|{ .LP no\(hysuch\(hyentry\ \ (0)\|}\ (0.\|.ub\(hyerror\(hyreasons) .LP \(hy\(hy .LP ServiceError ::= ABSTRACT\(hyERROR .LP PARAMETER SET\|{ .LP problem [0]\ ServiceProblem\|} .LP ServiceProblem ::= INTEGER\|{ .LP busy (0), .LP unavailable (1), .LP unwilling\(hyto\(hyperform (2)\|}\ (0.\|.ub\(hyerror\(hyreasons) .LP .sp 2 END\ \(hy\(hy\ \fIof MSAbstractService\fR .bp .ce 1000 ANNEX\ C .ce 0 .ce 1000 (to Recommendation X.413) .sp 9p .RT .ce 0 .ce 1000 \fBFormal definition of general\(hyattribute\(hytypes\fR .sp 1P .RT .ce 0 .PP This Annex is an integral part of this Recommendation. .sp 1P .RT .PP This Annex, a supplement to section 3, formally defines the general\(hyattribute\(hytypes applicable to all forms of message handling, rather than just one. It employs ASN.1 and the ATTRIBUTE macro. .LP MSGeneralAttributeTypes {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) general\(hyattribute\(hytypes(2)\|} .LP DEFINITIONS ::= .LP BEGIN .LP .sp 2 .LP \(hy\(hy\ \fIPrologue\fR .LP \(hy\(hy\ \fIExports everything\fR .LP .sp 2 IMPORTS .LP \(hy\(hy\ \fIIdentificadores de objeto de tipos de atributos generales\fR .LP id\(hyatt\(hychild\(hysequence\(hynumbers, id\(hyatt\(hycontent, id\(hyatt\(hycontent\(hyconfidentiality\(hyalgorithm\(hyidentifier, .LP id\(hyatt\(hycontent\(hycorrelator, id\(hyatt\(hycontent\(hyidentifier, id\(hyatt\(hycontent\(hyintegrity\(hycheck, id\(hyatt\(hycontent\(hylength, .LP id\(hyatt\(hycontent\(hyreturned, id\(hyatt\(hycontent\(hytype, id\(hyatt\(hyconversion\(hywith\(hyloss\(hyprohibited, id\(hyatt\(hyconverted\(hyEITs, .LP id\(hyatt\(hycreation\(hytime, id\(hyatt\(hydelivered\(hyEITs, id\(hyatt\(hydelivery\(hyflags, id\(hyatt\(hydl\(hyexpansion\(hyhistory, .LP id\(hyatt\(hyentry\(hystatus, id\(hyatt\(hyentry\(hytype, id\(hyintended\(hyrecipient\(hyname, id\(hyatt\(hymessage\(hydelivery\(hyenvelope, .LP id\(hyatt\(hymessage\(hydelivery\(hyidentifier, id\(hyatt\(hymessage\(hydelivery\(hytime, id\(hyatt\(hymessage\(hyorigin\(hyauthentication\(hycheck, .LP id\(hyatt\(hymessage\(hysecurity\(hylabel, id\(hyatt\(hymessage\(hysubmission\(hytime, id\(hyatt\(hymessage\(hytoken, id\(hyatt\(hyoriginal\(hyEITs, .LP id\(hyatt\(hyoriginator\(hycertificate, id\(hyatt\(hyoriginator\(hyname, id\(hyatt\(hyother\(hyrecipient\(hynames, .LP id\(hyatt\(hyparent\(hysequence\(hynumber, id\(hyatt\(hypriority, id\(hyatt\(hyproof\(hyof\(hydelivery\(hyrequest, id\(hyatt\(hyredirection\(hyhistory, .LP id\(hyatt\(hyreport\(hydelivery\(hyenvelope, id\(hyatt\(hyreporting\(hyDL\(hyname, id\(hyatt\(hyreporting\(hyMTA\(hycertificate, .LP id\(hyatt\(hyreport\(hyorigin\(hyauthentication\(hycheck, id\(hyatt\(hysequence\(hynumber, id\(hyatt\(hysubject\(hysubmission\(hyidentifier, .LP id\(hyatt\(hythis\(hyrecipient\(hyname .LP FROM MSObjectIdentifiers {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) object\(hyidentifiers(0)\|} .LP \(hy\(hy\ \fIAttribute macros\fR .LP ATTRIBUTE, ATTRIBUTE\(hySYNTAX .LP FROM InformationFramework {\|joint\(hyiso\(hyccitt ds(5) modules(1) informationFramework(1)\|} .LP \(hy\(hy\ \fIMS abstract\(hyservice data\(hytypes\fR .LP CreationTime, EntryStatus, MS\(hyEIT, SequenceNumber .LP FROM MSAbstractService {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) abstract\(hyservice(1)\|} .LP \(hy\(hy\ \fIAuthentication\(hyservice data\(hytypes\fR .LP AlgorithmIdentifier .LP FROM AuthenticationFramework {\|joint\(hyiso\(hyccitt ds(5) modules(1) authentication\(hyframework(7)\|} .LP \(hy\(hy\ \fIMTS abstract\(hyservice data\(hytypes\fR .LP Content, ContentCorrelator, ContentIdentifier, ContentIntegrityCheck, ContentLength, .LP ConversionWithLossProhibited, DeliveryFlags, DLExpansionHistory, MessageDeliveryEnvelope, .LP MessageDeliveryIdentifier, MessageDeliveryTime, MessageOriginAuthenticationCheck, .LP MessageSecurityLabel, MessageSubmissionTime, MessageToken, OriginatorCertificate, ORName, .LP PerRecipientReportDeliveryFields, Priority, ProofOfDeliveryRequest, RedirectionHistory, .LP ReportDeliveryEnvelope, ReportingDLName, ReportingMTACertificate, .LP ReportOriginAuthenticationCheck, SecurityClassification, subjectSubmissionIdentifier .LP FROM MTSAbstractService {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) mts(3) modules(0) .LP mts\(hyabstract\(hyservice(1)\|} .LP \(hy\(hy\ \fIMS abstract\(hyservice upperbound\fR .LP ub\(hyentry\(hytypes .LP FROM MSUpperBounds {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) upper\(hybounds(4)\|}; .bp .LP \(hy\(hy\ \fIAttribute\(hytypes\fR .LP ms\(hychild\(hysequence\(hynumbers ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX SequenceNumber .LP MULTI VALUE .LP ::= id\(hyatt\(hychild\(hysequence\(hynumbers .LP ms\(hycontent ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX Content .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent .LP mt\(hycontent\(hyconfidentiality\(hyalgorithm\(hyidentifier ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX AlgorithmIdentifier .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent\(hyconfidentiality\(hyalgorithm\(hyidentifier .LP mt\(hycontent\(hycorrelator ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ContentCorrelator .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent\(hycorrelator .LP mt\(hycontent\(hyidentifier ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ContentIdentifier .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent\(hyidentifier .LP mt\(hycontent\(hyintegrity\(hycheck ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ContentIntegrityCheck .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent\(hyintegrity\(hycheck .LP ms\(hycontent\(hylength ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ContentLength .LP MATCHES FOR ORDERING .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent\(hylength .LP ms\(hycontent\(hyreturned ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX BOOLEAN .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent\(hyreturned .LP mt\(hycontent\(hytype ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX OBJECT IDENTIFIER .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hycontent\(hytype .LP mt\(hyconversion\(hywith\(hyloss\(hyprohibited ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ConversionWithLossProhibited .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hyconversion\(hywith\(hyloss\(hyprohibited .bp .LP ms\(hyconverted\(hyEITs ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MS\(hyEIT .LP MATCHES FOR EQUALITY .LP MULTI VALUE .LP ::= id\(hyatt\(hyconverted\(hyEITs .LP ms\(hycreation\(hytime ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX CreationTime .LP MATCHES FOR EQUALITY ORDERING .LP SINGLE VALUE .LP ::= id\(hyatt\(hycreation\(hytime .LP ms\(hydelivered\(hyEITs ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MS\(hyEIT .LP MATCHES FOR EQUALITY .LP MULTI VALUE .LP ::= id\(hyatt\(hydelivered\(hyEITs .LP mt\(hydelivery\(hyflags ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX DeliveryFlags .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hydelivery\(hyflags .LP mt\(hydl\(hyexpansion\(hyhistory ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX DLExpansionHistory .LP MULTI VALUE .LP ::= id\(hyatt\(hydl\(hyexpansion\(hyhistory .LP ms\(hyentry\(hystatus ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX EntryStatus .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hyentry\(hystatus .LP ms\(hyentry\(hytype ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX EntryType .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hyentry\(hytype .LP EntryType ::= INTEGER\|{ .LP delivered\(hymessage (0), .LP delivered\(hyreport (1), .LP returned\(hycontent (2)\ (0.\|.ub\(hyentry\(hytypes)\|} .LP mt\(hyintended\(hyrecipient\(hyname ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ORName .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hyintended\(hyrecipient\(hyname .LP mt\(hymessage\(hydelivery\(hyenvelope ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MessageDeliveryEnvelope .LP SINGLE VALUE .LP ::= id\(hyatt\(hymessage\(hydelivery\(hyenvelope .LP mt\(hymessage\(hydelivery\(hyidentifier ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MessageDeliveryIdentifier .LP SINGLE VALUE .LP ::= id\(hyatt\(hymessage\(hydelivery\(hyidentifier .LP mt\(hymessage\(hydelivery\(hytime ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MessageDeliveryTime .LP MATCHES FOR EQUALITY ORDERING .LP SINGLE VALUE .LP ::= id\(hyatt\(hymessage\(hydelivery\(hytime .bp .LP mt\(hymessage\(hyorigin\(hyauthentication\(hycheck ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MessageOriginAuthenticationCheck .LP SINGLE VALUE .LP ::= id\(hyatt\(hymessage\(hyorigin\(hyauthentication\(hycheck .LP mt\(hymessage\(hysecurity\(hylabel ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MessageSecurityLabel .LP SINGLE VALUE .LP ::= id\(hyatt\(hymessage\(hysecurity\(hylabel .LP mt\(hymessage\(hysubmission\(hytime ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MessageSubmissionTime .LP MATCHES FOR EQUALITY ORDERING .LP SINGLE VALUE .LP ::= id\(hyatt\(hymessage\(hysubmission\(hytime .LP mt\(hymessage\(hytoken ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MessageToken .LP SINGLE VALUE .LP ::= id\(hyatt\(hymessage\(hytoken .LP ms\(hyoriginal\(hyEITs ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX MS\(hyEIT .LP MATCHES FOR EQUALITY .LP MULTI VALUE .LP ::= id\(hyatt\(hyoriginal\(hyEITs .LP mt\(hyoriginator\(hycertificate ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX OriginatorCertificate .LP SINGLE VALUE .LP ::= id\(hyatt\(hyoriginator\(hycertificate .LP mt\(hyoriginator\(hyname ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ORName .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hyoriginator\(hyname .LP mt\(hyother\(hyrecipient\(hynames ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ORName .LP MATCHES FOR EQUALITY .LP MULTI VALUE .LP ::= id\(hyatt\(hyother\(hyrecipient\(hynames .LP ms\(hyparent\(hysequence\(hynumber ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX SequenceNumber .LP MATCHES FOR EQUALITY ORDERING .LP SINGLE VALUE .LP ::= id\(hyatt\(hyparent\(hysequence\(hynumber .LP mt\(hyper\(hyrecipient\(hyreport\(hydelivery\(hyfields ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX PerRecipientReportDeliveryFields .LP MULTI VALUE .LP ::= id\(hyatt\(hyper\(hyrecipient\(hyreport\(hydelivery\(hyfields .LP mt\(hypriority ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX Priority .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hypriority .LP mt\(hyproof\(hyof\(hydelivery\(hyrequest ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ProofOfDeliveryRequest .LP SINGLE VALUE .LP ::= id\(hyatt\(hyproof\(hyof\(hydelivery\(hyrequest .LP mt\(hyredirection\(hyhistory ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX RedirectionHistory .LP MULTI VALUE .LP ::= id\(hyatt\(hyredirection\(hyhistory .bp .LP mt\(hyreport\(hydelivery\(hyenvelope ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ReportDeliveryEnvelope .LP SINGLE VALUE .LP ::= id\(hyatt\(hyreport\(hydelivery\(hyenvelope .LP mt\(hyreporting\(hyDL\(hyname ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ReportingDLName .LP SINGLE VALUE .LP ::= id\(hyatt\(hyreporting\(hyDL\(hyname .LP mt\(hyreporting\(hyMTA\(hycertificate ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ReportingMTACertificate .LP SINGLE VALUE .LP ::= id\(hyatt\(hyreporting\(hyMTA\(hycertificate .LP mt\(hyreport\(hyorigin\(hyauthentication\(hycheck ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ReportOriginAuthenticationCheck .LP SINGLE VALUE .LP ::= id\(hyatt\(hyreport\(hyorigin\(hyauthentication\(hycheck .LP mt\(hysecurity\(hyclassification ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX SecurityClassification .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hysecurity\(hyclassification .LP ms\(hysequence\(hynumber ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX SequenceNumber .LP MATCHES FOR EQUALITY ORDERING .LP SINGLE VALUE .LP ::= id\(hyatt\(hysequence\(hynumber .LP mt\(hysubject\(hysubmission\(hyidentifier ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX SubjectSubmissionIdentifier .LP SINGLE VALUE .LP ::= id\(hyatt\(hysubject\(hysubmission\(hyidentifier .LP mt\(hythis\(hyrecipient\(hyname ATTRIBUTE .LP WITH ATTRIBUTE\(hySYNTAX ORName .LP MATCHES FOR EQUALITY .LP SINGLE VALUE .LP ::= id\(hyatt\(hythis\(hyrecipient\(hyname .LP .sp 2 END\ \(hy\(hy\ \fIof MSGeneralAttributeTypes\fR .ce 1000 ANNEX\ D .ce 0 .ce 1000 (to Recommendation X.413) .sp 9p .RT .ce 0 .ce 1000 \fBFormal definition of general\(hyauto\(hyaction\(hytypes\fR .sp 1P .RT .ce 0 .PP This Annex is an integral part of this Recommendation. .sp 1P .RT .PP This Annex, a supplement to Section 3, formally defines the general\(hyauto\(hyaction\(hytypes applicable to all forms of message handling, rather than just one. It employs ASN.1 and the AUTO\(hyACTION macro. .LP MSGeneralAutoActionTypes {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) general\(hyauto\(hyaction\(hytypes(3)\|} .LP DEFINITION ::= .LP BEGIN .LP \(hy\(hy\ \fIPrologue\fR .LP .sp 2 .LP EXPORTS .LP \(hy\(hy\ \fIGeneral\(hyauto\(hyaction\(hytypes\fR .LP auto\(hyforward, auto\(hyalert; .bp .LP IMPORTS .LP \(hy\(hy\ \fIGeneral\(hyauto\(hyaction\(hytype object identifiers\fR .LP id\(hyact\(hyauto\(hyforward, id\(hyact\(hyauto\(hyalert .LP FROM MSObjectIdentifiers {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) object\(hyidentifiers(0)\|} .LP \(hy\(hy\ \fIAuto\(hyaction macro\fR .LP AUTO\(hyACTION, .LP \(hy\(hy\ \fIMS abstract\(hyservice data\(hytypes\fR .LP Content, Filter, EntryInformationSelection .LP FROM MSAbstractService {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) abstract\(hyservice(1)\|} .LP \(hy\(hy\ \fIMTS abstract\(hyservice data\(hytypes\fR .LP ContentIdentifier, DeferredDeliveryTime, ExplicitConversion, OriginatorName, OriginatorReportRequest, PerMessageIndicators, PerMessageSubmissionExtensions, PerRecipientMessageSubmissionExtensions, Priority, RecipientName .LP FROM MTSAbstractService {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) mts(3) modules(0) mts\(hyabstract\(hyservice(1)\|} .LP \(hy\(hy\ \fIMS abstract\(hyservice upperbound\fR .LP ub\(hyalert\(hyaddresses .LP FROM MSUpperBounds {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) upper\(hybounds(4)\|}; .LP \(hy\(hy\ \fIAction\(hytypes\fR .LP auto\(hyforward AUTO\(hyACTION .LP REGISTRATION PARAMETER IS AutoForwardRegistrationParameter .LP ::= id\(hyact\(hyauto\(hyforward .LP AutoForwardRegistrationParameter ::= SET\|{ .LP filter [0]\ Filter OPTIONAL, .LP auto\(hyforward\(hyarguments [1]\ AutoForwardArguments, .LP delete\(hyafter\(hyauto\(hyforwarding [2]\ BOOLEAN DEFAULT TRUE, .LP other\(hyparameters [3]\ OCTET STRING OPTIONAL\|} .LP AutoForwardArguments ::= SET\|{ .LP COMPONENTS OF PerMessageAutoForwardFields, .LP per\(hyrecipient\(hyfields [1]\ IMPLICIT SEQUENCE SIZE (1.\|.ub\(hyrecipients) OF PerRecipient\(hy .LP per\(hyrecipient\(hyfields [1]\ AutoForwardFields\|} .LP PerMessageAutoForwardFields ::= SET\|{ .LP originator\(hyname OriginatorName, .LP content\(hyidentifier ContentIdentifier OPTIONAL, .LP priority Priority DEFAULT normal, .LP per\(hymessage\(hyindicators PerMessageIndicators DEFAULT {\|}, .LP deferred\(hydelivery\(hytime [0]\ IMPLICIT DeferredDeliveryTime OPTIONAL, .LP extensions [2]\ IMPLICIT PerMessageSubmissionExtensions DEFAULT {\|}\|} .LP PerRecipientAutoForwardFields ::= SET\|{ .LP recipient\(hyname RecipientName, .LP originator\(hyreport\(hyrequest [0]\ IMPLICIT OriginatorReportRequest, .LP explicit\(hyconversion [1]\ IMPLICIT ExplicitConversion OPTIONAL, .LP extensions [2]\ IMPLICIT PerRecipientMessageSubmissionExtensions .LP extensions [2]\ DEFAULT {\|}\|} .LP auto\(hyalert AUTO\(hyACTION .LP REGISTRATION PARAMETER IS AutoAlertRegistrationParameter .LP ::= id\(hyact\(hyauto\(hyalert .LP AutoAlertRegistrationParameter ::= SET\|{ .LP filter [0]\ Filter OPTIONAL, .LP alert\(hyaddresses [1]\ SEQUENCE SIZE (1.\|.ub\(hyalert\(hyaddresses) OF AlertAddress .LP alert\(hyaddresses [1]\ OPTIONAL, .LP requested\(hyattributes [2]\ EntryInformationSelection OPTIONAL\|} .LP AlertAddress ::= SEQUENCE\|{ .LP address EXTERNAL, .LP alert\(hyqualifier OCTET STRING OPTIONAL\|} .LP .sp 2 END\ \(hy\(hy\ \fIof MSGeneralAutoActionTypes\fR .bp .ce 1000 ANNEX\ E .ce 0 .ce 1000 (to Recommendation X.413) .sp 9p .RT .ce 0 .ce 1000 \fBFormal definition of MS parameter upper bounds\fR .sp 1P .RT .ce 0 .PP This Annex is an integral part of this Recommendation. .sp 1P .RT .PP This Annex defines for reference purpose the upper bounds of various variable length data types whose abstract syntaxes are defined in ASN.1 modules in the body of this Recommendation. .LP MSUpperBounds {\|joint\(hyiso\(hyccitt mhs\(hymotis(6) ms(4) modules(0) upper\(hybounds(4)\|} .LP DEFINITIONS IMPLICIT TAGS ::= .LP BEGIN .LP .sp 2 .LP \(hy\(hy \fIPrologue\fR .LP \(hy\(hy\ \fIExports everything\fR .LP IMPORTS\ \(hy\(hy \fInothing\fR \(hy\(hy; .LP .sp 2 \(hy\(hy\ \fIUpper bounds\fR .LP ub\(hyalert\(hyaddresses INTEGER ::= 16 .LP ub\(hyattribute\(hyvalues INTEGER ::= 32767 \(hy\(hy\ (2\u1\d\u5\d \(em1) \fIthe largest\fR \fIinteger representable in 16\ bits\fR \(hy\(hy .LP ub\(hyattributes\(hysupported INTEGER ::= 1024 .LP ub\(hyauto\(hyactions INTEGER ::= 16 .LP ub\(hyauto\(hyregistrations INTEGER ::= 1024 .LP ub\(hydefault\(hyregistrations INTEGER ::= 1024 .LP ub\(hyentry\(hytypes INTEGER ::= 16 .LP ub\(hyerror\(hyreasons INTEGER ::= 16 .LP ub\(hyinformation\(hybases INTEGER ::= 16 .LP ub\(hymessages INTEGER ::= 2147483647 \(hy\(hy\ (2\u3\d\u1\d \(em1) \fIthe largest\fR \fIinteger representable in 32\ bits\fR \(hy\(hy .LP ub\(hynested\(hyfilters INTEGER ::= 32 .LP ub\(hyper\(hyauto\(hyaction INTEGER ::= 32767 \(hy\(hy\ (2\u1\d\u5\d \(em1) \fIthe largest\fR \fIinteger representable in 16\ bits\fR \(hy\(hy .LP ub\(hyper\(hyentry INTEGER ::= 1024 .LP ub\(hysummaries INTEGER ::= 16 .LP .sp 2 END\ \(hy\(hy\ \fIof MSUpperBounds\fR .LP .bp .ce 1000 ANNEX\ F .ce 0 .ce 1000 \fBExample of the summarize abstract\(hyoperation\fR .sp 1P .RT .ce 0 .PP This Annex is not part of this Recommendation. .sp 1P .RT .PP This Annex contains an example of the use of the summarize abstract\(hyoperation. .sp 1P .LP F.1 \fIThe entries in the example MS\fR .sp 9p .RT .PP Consider an MS containing the following entries, one entry per line. The columns show the values of the indicated attribute\(hytypes. A \*Q\(em\*U indicates that the attribute is absent from the entry. .RT .ce \fBH.T. [T3.413]\fR .ce TABLE\ F\(hy1/X.413 .ce \fBStored\(hymessages in the example\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(36p) | cw(36p) | cw(36p) | cw(36p) . Sequence number Entry\(hytype Entry\(hystatus Priority _ .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . \ 3 message listed urgent .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . \ 5 message listed low .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . \ 8 report listed \(em .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . 10 message listed normal .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . 15 report new \(em .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . 18 message new normal .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . 20 message new urgent .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . 22 message new normal .T& cw(36p) | lw(36p) | lw(36p) | lw(36p) . 23 message new T{ normal \fINote\fR \ \(em\ Even if the priority in a message\(hydelivery\(hyenvelope of a message is omitted and defaulted to \*Qnormal\*U, the corresponding attribute is present with its value set to the default. .parag T} _ .TE .nr PS 9 .RT .ad r \fBTable F\(hy1/X.413 [T3.413], p.\fR .sp 1P .RT .ad b .RT .sp 1P .LP F.2 \fIA example of a request for summary\fR .sp 9p .RT .PP Suppose the requirement is to summarize all the \*Qnew\*U entries by priority. The required result is the following list of counts. The numbers in parenthesis are sequence\(hynumbers of the messages contributing to that count. See Table\ F\(hy2/X.413. .RT .ce \fBH.T. [T4.413]\fR .ce TABLE\ F\(hy2/X.413 .ce \fBExpected result from the list\(hysummary\fR .ps 9 .vs 11 .nr VS 11 .nr PS 9 .TS center box; cw(36p) | cw(60p) . Priority Count _ .T& lw(36p) | lw(60p) . \(em 1\ (15) .T& lw(36p) | lw(60p) . urgent 1\ (20) .T& lw(36p) | lw(60p) . normal 3\ (18,22,23) .T& lw(36p) | lw(60p) . low 0 _ .TE .nr PS 9 .RT .ad r \fBTable F\(hy2/X.413 [T4.413], p.\fR .sp 1P .RT .ad b .RT .LP .bp .PP The components of the summarize\(hyargument should be set as follows: .LP selector: .LP filter: Entry\(hystatus = new .LP summary\(hyrequests: attribute type = Priority .PP The components of the summarize\(hyresult might be as follows: .LP count: 5 .LP span: .LP lowest: 15 .LP highest: 23 .LP summaries: .LP {\|absent: 1 .LP {\| present: {\|value = normal, count = 3\|} .LP {\|value = urgent, count = 1\|}\|} .ce 1000 ANNEX\ G .ce 0 .ce 1000 \fBDifferences between the CCITT Recommendation X.413 text\fR .sp 1P .RT .ce 0 .ce 1000 \fBand ISO/IEC 10021\(hy5 text\fR .ce 0 .PP This Annex is not part of this Recommendation. .sp 1P .RT .PP There are only two known differences between Recommendation\ X.413 in CCITT and the MOTIS\ 10021\(hy5 in ISO/IEC. .LP 1) The CCITT text contains a restriction in \(sc\ 7.1 that only one abstract\(hyassociation may exist at any time between the MS and the MS\(hyuser. This restriction is \fInot\fR included in the ISO/IEC text. .LP 2) Those parts of the ASN.1 notation which express upper bounds and are documented in Annex\ E, are not considered to be part of the MOTIS standard, but are a formal part of Recommendation\ X.413. .LP In ISO, this level of functionality is the responsibility of the Special Group on Functional Standardization, which publishes Internationally Standardized Profiles (ISPs), containing e.g.\ upper bounds for protocol elements. .LP .rs .sp 19P .ad r Blanc .ad b .RT .LP .bp