As per Relevance of the word delivery, we have this rfc below:
Network Working Group M.
Request for Comments: 2524 Neda Communications, Inc
Category: Informational February 1999
Neda'
Efficient Mail Submission and Delivery (EMSD
Protocol Specification Version 1.3
Status of this
This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited
Copyright
Copyright (C) The Internet Society (1999). All Rights Reserved
IESG
The protocol specified in this document may be satisfactory
limited use in private wireless IP networks. However, it
unsuitable for general-purpose message transfer or for transfer
messages over the public Internet, because of limitations
include the following
- Lack of congestion
EMSD is layered on ESRO [RFC 2188], which does not
congestion control. This makes EMSD completely unsuitable
end-to-end use across the public Internet. EMSD should
considered for use in a wireless network only if all EMSD
exchanged between the wireless network and the public
will transit an EMSD<->SMTP gateway between the two regions
- Inadequate
The document specifies only clear-text passwords
authentication. EMSD should be used across a wireless
only if sufficiently strong encryption is in use to protect
clear-text password
- Lack of character set
EMSD has no provision for representation of characters outside
the ASCII repertoire or for language tags
Banan Informational [Page 1]
RFC 2524 EMSD February 1999
- Poorly defined gatewaying to and from Internet
Because Internet Mail and EMSD have somewhat different
conflicting service models and different data models,
between them may provide good service only in limited cases,
this may cause operational problems
The IESG therefore recommends that EMSD deployment be limited
narrow circumstances, i.e., only to communicate with devices
have inherent limitations on the length and format of a message (
more than a few hundred bytes of ASCII text), using either
a. wireless links with adequate link-layer encryption and
to the public Internet,
b. a private IP network that is either very over-provisioned or
some means of congestion control
In the near future, the IESG may charter a working group to define
Internet standards-track protocol for efficient transmission
electronic mail messages, which will be highly compatible
existing Internet mail protocols, and which wil be suitable
operation over the global Internet, including both wireless and
links
This document specifies the protocol and format encodings
Efficient Mail Submission and Delivery (EMSD). EMSD is a
protocol that is highly optimized for submission and delivery
short Internet mail messages. EMSD is designed to be a companion
existing Internet mail protocols
This specification narrowly focuses on submission and delivery
short mail messages with a clear emphasis on efficiency. EMSD
designed specifically with wireless network (e.g., CDPD, Wireless-IP
Mobile-IP) usage in mind. EMSD is designed to be a
enhancement to the mainstream of Internet mail protocols
efficiency in mail submission and mail delivery are important.
such, EMSD is anticipated to become an initial basis for
of Internet Mail and IP-based Two-Way Paging
The reliability requirement for message submission and
delivery in EMSD are the same as existing email protocols.
protocol accomplishes reliable connectionless mail submission
delivery services on top of Efficient Short Remote Operations (ESRO
protocols as specified in RFC-2188 [1].
Banan Informational [Page 2]
RFC 2524 EMSD February 1999
Most existing Internet mail protocols are not efficient.
existing Internet mail protocols are designed with simplicity
continuity with SMTP traditions as two primary requirements. EMSD
designed with efficiency as a primary requirement
The early use of EMSD in the wireless environment is manifested
IP-based Two-Way Paging services. The efficiency of this
also presents significant benefits for large centrally
Internet mail service providers
Table of
1 PRELIMINARIES 4
1.1 Internet Mail Submission and Delivery . . . . 4
1.2 Relationship Of EMSD To Other Mail Protocols . . . 5
1.3 EMSD Requirements and Goals . . . . . . . 7
1.4 Anticipated Uses Of EMSD . . . . . . . . 8
1.5 Definitions of Terms Used in this Specification . . 9
1.6 Conventions Used In This Specification . . . . 9
1.7 About This Specification . . . . . . . . 10
2 EFFICIENT MAIL SUBMISSION AND DELIVERY OVERVIEW 10
3 EFFICIENT MAIL SUBMISSION AND DELIVERY PROTOCOL 11
3.1 Use Of Lower Layers . . . . . . . . . 13
3.1.1 Use of ESROS . . . . . . . . . 13
3.1.2 Use Of UDP . . . . . . . . . . 13
3.1.3 Encoding Rules . . . . . . . . . 13
3.1.4 Presentation Context . . . . . . . 14
3.2 EMSD-UA Invoked Operations . . . . . . . 14
3.2.1 submit . . . . . . . . . . . 14
3.2.2 deliveryControl . . . . . . . . 17
3.2.3 deliveryVerify . . . . . . . . . 21
3.3 EMSD-SA Invoked Operations . . . . . . . 23
3.3.1 deliver . . . . . . . . . . 23
3.3.2 submissionControl . . . . . . . . 25
3.3.3 submissionVerify . . . . . . . . 28
3.4 EMSD Common Information Objects . . . . . . 30
3.4.1 SecurityElements . . . . . . . . 30
3.4.2 Message Segmentation and Reassembly . . . 30
3.4.3 Common Errors . . . . . . . . . 33
3.4.4 ContentType . . . . . . . . . 35
3.4.5 EMSDMessageId . . . . . . . . . 35
3.4.6 EMSDORAddress . . . . . . . . . 36
3.4.7 EMSDAddress . . . . . . . . . 36
3.4.8 DateTime . . . . . . . . . . 36
3.4.9 AsciiPrintableString . . . . . . . 37
3.4.10 ProtocolVersionNumber . . . . . . . 37
3.5 Submission and Delivery Procedures . . . . . 38
4 DUPLICATE OPERATION DETECTION SUPPORT 40
Banan Informational [Page 3]
RFC 2524 EMSD February 1999
4.1 Duplicate Operation Detection Support Overview . . 40
4.1.1 Operation Value . . . . . . . . 40
4.1.2 Operation Instance Identifier . . . . . 41
5 EMSD PROCEDURE FOR OPERATIONS 42
5.1 MTS Behavior . . . . . . . . . . . 43
5.1.1 MTS Performer . . . . . . . . . 43
5.1.2 Message-submission . . . . . . . . 44
5.1.3 Delivery-control . . . . . . . . 46
5.1.4 Delivery-verify . . . . . . . . 46
5.1.5 MTS Invoker . . . . . . . . . 46
5.2 UA Behavior . . . . . . . . . . . 49
5.2.1 UA Performer . . . . . . . . . 49
5.2.2 UA Invoker . . . . . . . . . . 52
6 EMSD FORMAT STANDARDS 54
6.1 Format Standard Overview . . . . . . . . 54
6.2 Interpersonal Messages . . . . . . . . 54
6.2.1 Heading fields . . . . . . . . . 55
6.2.2 Body part types . . . . . . . . 61
7 ACKNOWLEDGMENTS 62
8 SECURITY CONSIDERATIONS 62
9 AUTHOR'S ADDRESS 62
A EMSD-P ASN.1 MODULE 63
B EMSD-IPM ASN.1 MODULE 74
C RATIONALE FOR KEY DESIGN DECISIONS 78
C.1 Deviation From The SMTP Model . . . . . . 78
C.1.1 Comparison of SMTP and EMSD Efficiency . . . 78
C.2 Use of ESRO Instead of TCP . . . . . . . 79
C.3 Use Of Remote Procedure Call (RPC) Model . . . . 79
C.4 Use Of ASN.1 . . . . . . . . . . . 80
D FURTHER DEVELOPMENT 81
E REFERENCES 82
F FULL COPYRIGHT STATEMENT 83
1
Mail in the Internet was not a well-planned enterprise, but
arose in more of an "organic" way
This introductory section is not intended to be a reference model
concept vocabulary for mail in the Internet. Instead, it
provides the necessary preliminaries for the concepts and terms
are essential to this specification
1.1 Internet Mail Submission and
For the purposes of this specification, mail submission is
process of putting mail into the mail transfer system (MTS).
Banan Informational [Page 4]
RFC 2524 EMSD February 1999
For the purposes of this specification, mail delivery is the
of the MTS putting mail into a user's final mail-box
Throughout the Internet, presently most of mail submission
delivery is done through SMTP
SMTP was defined as a message *transfer* protocol, that is, a
to route (if needed) and deliver mail by putting finished (complete
messages in a mail-box. Originally, users connected to servers
terminals, and all processing occurred on the server. Now, a split
MUA (Mail User Agent) model is common, with MUA
occurring on both the user's own system and the server
In the split-MUA model, getting the messages to the user
accomplished through access to a mail-box on the server through
protocols as POP and IMAP. In the split-MUA model, user's access
its message is a "Message Pull" paradigm where the user is
to poll his mailbox. Proper message delivery based on a "
Push" paradigm is presently not supported. The EMSD
addresses this shortcoming with an emphasis on efficiency
In the split-MUA model, message submission is often
through SMTP. SMTP is widely used as a message *submission* protocol
Widespread use of SMTP for submission is a reality, regardless
whether this is good or bad. EMSD protocol provides an
mechanism for message submission which emphasizes efficiency
1.2 Relationship Of EMSD To Other Mail
Various Internet mail protocols facilitate accomplishment of
functions in mail processing
Banan Informational [Page 5]
RFC 2524 EMSD February 1999
Figure 1, categorizes the capabilities of SMTP, IMAP, POP and
based on the following functions
+------------------+------+-------+-----+------+
| Protocols| SMTP | IMAP | POP | EMSD |
|Functions | | | | |
|------------------|------|-------|-----|------|
|Submission | XX | | | XXX |
|------------------|------|-------|-----|------|
|Delivery | XXX | | | XXX |
|------------------|------|-------|-----|------|
|Relay (Routing) | XXX | | | |
|------------------|------|-------|-----|------|
|Retrieval | | XXX | XXX | XX |
|------------------|------|-------|-----|------|
|Mailbox Access | | XXX | X | |
|------------------|------|-------|-----|------|
|Mailbox Synch. | | XXX | | |
+------------------+------+-------+-----+------+
Figure 1: Messaging Protocols vs. Supported
o Mail
o Mail
o Mail Routing (Relay
o Mail
o Mail-box
o Mail-box
In Figure 1, the number of "X"es in each box denotes the extent
which a particular function is supported by a particular protocol
Figure 1 clearly shows that combinations of these protocols can
used to complement each other in providing rich functionality to
user. For example, a user interested in highly mobile
functionalities can use EMSD for "submission and delivery of
critical and important messages" and use IMAP for
access to his/her mail-box
For mail submission and delivery of short messages EMSD is up to 5
times more efficient than SMTP both in terms of the number of
transmitted and in terms of number of bytes transmitted. Even
Banan Informational [Page 6]
RFC 2524 EMSD February 1999
PIPELINING and other possible optimizations of SMTP, EMSD is up to 3
times more efficient than SMTP both in terms of the number of
transmitted and in terms of number of bytes transmitted.
efficiency studies comparing EMSD with SMTP, POP and IMAP
available. See Section C.1.1 for more information about
of SMTP and EMSD's efficiency
1.3 EMSD Requirements and
The requirements and goals driving design of EMSD protocol
enumerated below
1. Provide for submission of short mail messages with the same
of functionality (or higher) that the existing Internet
protocols provide
2. Provide for delivery of short mail messages with the same
of functionality (or higher) that the existing Internet
protocols provide
3. Function as an extension of the existing mainstream
mail
4. Minimize the number of transmissions
5. Minimize the number of bytes transmitted
6. Be quick: minimize latency of message submission and delivery
7. Provide the same level of reliability (or higher) that
existing email protocols provide
8. Accommodate varying sizes of messages: the size of a message
determine how the system deals with the message, but the
must accommodate it
9. Be power efficient and respect mobile platform resources
including memory and CPU levels, as well as battery
longevity (i.e. client-light and server-heavy).
10. Highly extendible: different users will demand
options, so the solution cannot require every feature to be
part of every message. Likewise, usage will emerge that is
currently recognized as a requirement. The solution must
extendible enough to handle new, emerging requirements
Banan Informational [Page 7]
RFC 2524 EMSD February 1999
11. Secure: provide the same level of security (or higher) that
existing email protocols provide. Content confidentiality
originator/recipient authentication and message integrity
be available options to users
12. Easy to implement: Re-use existing technology as much
possible
1.4 Anticipated Uses Of
Any network and network operator which has significant bandwidth
capacity limitations can benefit from the use of EMSD. Any
user who must bear high costs for measured network usage can
from the use of EMSD
Initial uses of EMSD is anticipated to be primarily over IP-
wireless networks to provide two-way paging services
EMSD can also function as an adjunct to Mail Access Protocols
"Mail Notification Services".
Considering
o that most wireless networks shall converge toward being IP
based
o that two-way paging is the main proven application in
wide-area wireless networks
o that two-way paging industry and the Internet Email industry
and should converge based on a set of open protocols
address the efficiency requirements adequately
o that existing Internet email protocols are not
efficient
o that existing Internet email protocols do not properly
the "push" model of delivery of urgent messages
the EMSD protocol is designed to facilitate the convergence of IP
based two-way paging and Internet email
Mail submission and delivery take place at the edges of the network
More than one mail submission and delivery protocols which
requirements specific to a particular user's environment are
to be developed. Such diversity on the edges of the network
Banan Informational [Page 8]
RFC 2524 EMSD February 1999
desirable and with the right protocols, this diversity does
adversely impact the integrity of the mail transfer system. EMSD
the initial basis for the mail submission and delivery protocol to
used when the user's environment demands efficiency
1.5 Definitions of Terms Used in this
The following informal definitions and acronyms are intended to
describe EMSD model described in this specification
Efficient Mail Submission and Delivery Protocol (EMSD-P):
protocol used to transfer messages between the EMSD -
Agent (e.g., a Message Center) and the EMSD - User Agent (e.g.,
Two-Way Pager), see Figure 2.
Message Transfer Agent (MTA
Message Transfer Service (MTS
Message Routing Service (MRS): Collection of MTAs responsible
mail routing
Message User Agent (MUA
Efficient Mail Submission Server Agent (EMS-SA): An
Process which conforms to this protocol specification and
mail from an EMS-UA and transfers it towards its recipients
Efficient Mail Delivery Server Agent (EMD-SA): An Application
which conforms to this protocol specification and delivers
to an EMD-UA
Efficient Mail Submission and Delivery Server Agent (EMSD-SA):
Application Process which incorporates both EMS-SA and EMD-
capabilities
Efficient Mail Submission User Agent (EMS-UA): An Application
which conforms to this protocol specification and submits mail
EMS-SA
Efficient Mail Delivery User Agent (EMD-UA): An Application
which conforms to this protocol specification and
delivery of mail from EMD-SA
Efficient Mail Submission and Delivery User Agent (EMSD-UA):
Application Process which incorporates both EMS-UA and EMD-
capabilities
1.6 Conventions Used In This
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY
in this specification are to be interpreted as defined in [2].
Banan Informational [Page 9]
RFC 2524 EMSD February 1999
This specification uses the ES-OPERATION notation defined
Efficient Short Remote Operations (ESRO) protocols as specified
RFC-2188 [1].
Operations and information objects are typically described using
ES-OPERATION and ASN.1 notations in the relevant sections of
specification
The complete machine verifiable ASN.1 modules are also compiled
one place in Appendix A and Appendix B
1.7 About This
This protocol specification constitutes a point-of-record.
documents information exchanges and behaviors of
implementations. It is a basis for implementation of efficient
submission and delivery user agents and servers
This specification has been developed entirely outside of IETF.
has had the benefit of review by many outside of IETF. Much has
learned from existing implementations of this protocol. A number
deficiencies and areas of improvement have been identified and
documented in this specification
This protocol specification is being submitted on October 23, 1998
for timely publication as an Informational RFC
Future development and enhancements to this protocol may take
inside of IETF
2 EFFICIENT MAIL SUBMISSION AND DELIVERY
This section offers a high level view of the Efficient
Submission and Delivery Protocol and Format Standards (EMSD-P&FS).
The EMSD-P&FS are used to transfer messages between the EMSD -
Agent (e.g., a Message Center) and the EMSD - User Agent (e.g.,
Two-Way Pager), see Figure 2.
This specification defines the protocols between an EMSD - User
(EMSD-UA) and an EMSD - Server Agent (EMSD-SA). The EMSD - P&
consist of two independent components
1. EMSD Format Standard (EMSD-FS).
EMSD-FS is a non-textual form of compact encoding of
mail (RFC-822) messages which facilitates efficient transfer
messages. EMSD-FS is used in conjunction with the EMSD-P but
Banan Informational [Page 10]
RFC 2524 EMSD February 1999
not a general replacement for RFC-822. EMSD-FS defines a
of representation of short interpersonal messages. It
the "Content" encoding (Header + Body). Although EMSD-
contains end-to-end information its scope is purely point-to
point. EMSD-FS relies on EMSD-P (see 2 below) for the
of the content to its recipients
This is described in the section entitled EMSD Format Standards
2. Efficient Mail Submission and Delivery Protocol (EMSD-P).
EMSD-P is responsible for wrapping an EMSD-FS message (see 1
above) in a point-to-point envelope and submitting or
it. EMSD-P relies on the services of Efficient Short
Operation Services (ESROS) as specified in RFC-2188 [1]
transporting the point-to-point envelope. Some of the
of EMSD-P include: message originator authentication
optional message segmentation and reassembly. The EMSD-P
expressed in terms of abstract services using the ESROS notation
This is described in the section entitled Efficient
Submission and Delivery Protocol
It is important to recognize that EMSD-P and EMSD-FS are not end-to
end, but focus on the point-to-point transfer of messages. The
points being EMSD-SA and EMSD-UA. EMSD-P function as elements of
Internet mail environment, which provide end-to-end (EMSD-User to
other Messaging Originator or Recipient) services
Figure 2 illustrates how the EMSD-P&FS defines the
between a specific EMSD-UA and a specific EMSD-SA. The
Transfer System may include a number of EMSD-SAs. Each EMSD-SA
have any number of EMSD-UAs with which it communicates
The Efficient Mail Submission and Delivery Services use the
Short Remote Operation Services (ESROS). They also use the
Operation Detection Support Functions as described in the
entitled Duplicate Operation Detection Support Functions.
functions guarantee that an operation is performed no more than once
3 EFFICIENT MAIL SUBMISSION AND DELIVERY
EM Submission is the process of transferring a message from EMSD-
to EMSD-SA. EM Delivery is the process of transferring a message
EMSD-SA to EMSD-UA
Banan Informational [Page 11]
RFC 2524 EMSD February 1999
The Message-submission service enables an EMSD-UA to submit a
to the EMSD-SA for transfer and delivery to one or more recipients
The Message-submission Service comprises of the submit operation --
invoked by the EMSD-UA -- and possibly the submitVerify operation --
invoked by the EMSD-SA
The Message-delivery service enables the EMSD-SA to deliver a
to an EMSD-UA. The Message-delivery Service comprises of the
operation -- invoked by the EMSD-SA -- and possibly the
operation -- invoked by the EMSD-UA
EMSD-UA uses the following services
o Message-
+---------------------------------------------+
| MTS |
| |
| +-------------------------+ |
| | MRS | |
| | +---+ +---+ | |
| | | | | M | | +---+ |
| | | |<-------->| T |<----------->| | |
| | | | | A | | | | | +---+
| | | | +---+ | | E | | | E |
| | | | | | M | | | M |
| | | M | | | S | | EMSD-P&FS | S |
| | | T |<-------------------------->| D |<---------------->| D |
| | | A | | | - | | | - |
| | | | +---+ | | S | | | U |
| | | | | M | | | A | | | A |
| | | |<-------->| T |<----------->| | | +---+
| | | | | A | | | | |
| | +---+ +---+ | +---+ |
| | | |
| +-------------------------+ |
| |
| |
+---------------------------------------------+
Figure 2: Efficient Mail Submission and Delivery
o Delivery-control (the deliveryControl operation).
EMSD-SA uses the following services
o Message-
Banan Informational [Page 12]
RFC 2524 EMSD February 1999
o Submission-control (the submissionControl operation).
This specification expresses information objects using ASN.1 [X.208].
This specification expresses Remote Operations based on the model
ESROS as specified in Efficient Short Remote Operations (RFC-2188)
[1]. The ES-OPERATION notation of (RFC-2188) is used throughout
specification to define specific operations
This specification uses the Duplicate Operation Detection
functions as specified in Section 4.
3.1 Use Of Lower
3.1.1 Use of
ESRO protocol, as specified in (RFC-2188 [1]), provides
connectionless remote operation services on top of UDP [6]
minimum overhead. ESRO protocol supports segmentation
reassembly, concatenation and separation
ESRO Services (2-Way and 3-Way handshake) shall be used by the EMSD
P
ESRO Service Access Point (SAP) selectors used by EMSD-P
enumerated in the protocol
3.1.2 Use Of
EMSD-P through ESRO MUST use UDP [6] port number 642 (esro-emsdp).
Note that specification of Service Access Points (SAP) for EMSD-
include the UDP Port Number specification in addition to ESRO
selector specifications. In other words, EMSD-P's use of ESRO
does not preclude use of the same SAP selectors by other
which use a UDP port other than port 642. Such usage of ESRO is
design characteristic of ESRO which results into bandwidth
and is not a scalability limitation
3.1.3 Encoding
Use of Basic Encoding Rules (BER) [5] is mandatory for both
Format Standards and EMSD Protocol
In order to minimize data transfer, the following restrictions
be maintained in the formatting of EMSD PDUs
o Specifically, when ASN.1 Basic Encoding Rules are being used
Banan Informational [Page 13]
RFC 2524 EMSD February 1999
A. Only the "Definite" form of Length encoding MUST be used
B. The "Short" form of Length encoding MUST be used
possible (i.e. when the Length is less than 128),
C. OCTET STRING and BIT STRING values, and any other
ASN.1 types which may be encoded as either "Primitive"
"Constructed", MUST always be encoded as "Primitive"
MUST never be "Constructed".
3.1.4 Presentation
Parameter Encoding Type of "0" MUST be used in ESRO Protocol
identify Basic Encoding Rules for operation arguments
3.2 EMSD-UA Invoked
The following operations are invoked by EMSD-UA
a.
b.
c.
The submit operation uses the duplication detection functional
while deliveryControl and deliveryVerify don't use the
detection
The complete definition of these operations follows
3.2.1
The submit ES-OPERATION enables an EMSD-UA to submit a message to
EMSD-SA for transfer and delivery to one or more recipients
submit ES-
ARGUMENT
RESULT
{
submissionControlViolated
securityError
resourceError
protocolViolation
} ::= 33;
Banan Informational [Page 14]
RFC 2524 EMSD February 1999
Duplicate operation detection is necessary for this operation
The successful completion of the ES-OPERATION signifies that
EMSD-SA has accepted responsibility for the message (but not that
has delivered it to its intended recipients).
The disruption of the ES-OPERATION by an error signifies that
EMSD-SA cannot assume responsibility for the message
This operation's arguments are
SubmitArgument ::=
{
-- Security
security [0] IMPLICIT SecurityElement OPTIONAL
-- Segmentation features for efficient
segment-info SegmentInfo OPTIONAL
-- Content type of the
content-type ContentType
--
-- THE CONTENT --
--
-- The submission
content ANY DEFINED BY content-
};
The fields are
See Section 3.4.1, "SecurityElements".
Segment-
See Section 3.4.2, "Message Segmentation and Reassembly".
Banan Informational [Page 15]
RFC 2524 EMSD February 1999
Content-
This argument identifies the type of the content of the message.
identifies the abstract syntax and the encoding rules used
This argument contains the information the message is intended
convey to the recipient(s). It shall be generated by the
of the message
This operation's results are
SubmitResult ::=
{
-- Permanent identifier for this message
-- Also contains the message submission time
-- See comment regarding assignment of message identifiers
-- at the definition of EMSDLocalMessageId
message-id
};
The fields are
Message-
This result contains an EMSD-SA-identifier that uniquely
unambiguously identifies the message-submission. It shall
generated by the EMSD-SA
See Section 3.4.3.
Banan Informational [Page 16]
RFC 2524 EMSD February 1999
3.2.2
The deliveryControl ES-OPERATION enables the EMSD-UA to
limit the operations that the EMSD-SA may invoke, and the
that the EMSD-SA may deliver to the EMSD-UA via the Message
ES-OPERATION
deliveryControl ES-
ARGUMENT
RESULT
{
securityError
resourceError
} ::= 2;
The duplicate operation detection is not required for this operation
The EMSD-SA shall hold until a later time, rather than abandon, ES
OPERATIONS and messages that are presently suspended
The successful completion of the ES-OPERATION signifies that
specified controls are now in force
The ES-OPERATION returns an indication of any ES-OPERATIONS that
EMSD-SA would invoke, or any message types that the EMSD-SA
deliver, were it not for the prevailing controls
This operation's arguments are
DeliveryControlArgument ::=
{
-- Request an addition of or removal of a set of
restrict [0] IMPLICIT Restrict DEFAULT update
-- Which operations are to be placed in the restriction
permissible-operations [1] IMPLICIT Operations OPTIONAL
-- What maximum content length should be
permissible-max-content-
[2] IMPLICIT
(0..ub-content-length) OPTIONAL
Banan Informational [Page 17]
RFC 2524 EMSD February 1999
-- What is the lowest priority message which may be
permissible-lowest-
[3] IMPLICIT
{
non-urgent (0),
normal (1),
urgent (2)
} OPTIONAL
-- Security
security [4] IMPLICIT
OPTIONAL
-- User Feature
user-features [5] IMPLICIT OCTET
};
This argument indicates whether the controls on ES-OPERATIONS are
be updated or removed. It may be generated by the EMSD-UA
This argument may have one of the following values
o update: The other arguments update the prevailing controls
o remove: All temporary controls are to be
In the absence of this argument, the default update shall be assumed
Permissible-
This argument indicates the ES-OPERATIONS that the EMSD-SA may
on the EMSD-UA. It may be generated by the EMSD-UA
This argument may have the value allowed or prohibited for each
the following
o message-delivery: The EMSD-SA may/may not invoke the
ES-OPERATIONS;
o Other ES-OPERATIONS are not subject to controls, and may
invoked at any time
Banan Informational [Page 18]
RFC 2524 EMSD February 1999
In the absence of this argument, the ES-OPERATIONS that the EMSD-
may invoke on the EMSD-UA are unchanged
Permissible-max-content-
This argument contains the content-length, in octets, of
longest-content message that the EMSD-SA shall deliver to the EMSD-
via the deliver ES-OPERATIONS. It may be generated by the EMSD-UA
In the absence of this argument, the permissible-maximum-content
length of a message that the EMSD-SA may deliver to the EMSD-UA
unchanged
Permissible-lowest-
This argument contains the priority of the lowest priority
that the EMSD-SA shall deliver to the EMSD-UA via the deliver ES
OPERATIONS. It may be generated by the EMSD-UA
This argument may have one of the following values of the
argument of the submit ES-OPERATIONS: normal, non-urgent or urgent
In the absence of this argument, the priority of the lowest
message that the EMSD-SA shall deliver to the EMSD-UA is unchanged
See Section 3.4.1, "SecurityElements".
User-
This argument contains information that allows the EMSD-UA to
to MTS the feature set that the user is capable of supporting.
argument will be defined when the setConfiguration
getConfiguration operations are defined
DeliveryControlResult ::=
{
-- Operation types queued at the EMSD-SA due to
-- restrictions
waiting-operations [0] IMPLICIT Operations DEFAULT { },
Banan Informational [Page 19]
RFC 2524 EMSD February 1999
-- Types of messages queued at the EMSD-SA due
-- existing
waiting-messages [1] IMPLICIT
DEFAULT { },
-- Content Types of messages queued at the EMSD-
waiting-content-types SEQUENCE SIZE (0..ub-content-types)
ContentType DEFAULT { }
};
Restrict ::=
{
update (1),
remove (2)
};
Operations ::= BIT
{
submission (0),
delivery (1)
};
WaitingMessages ::= BIT
{
long-content (0),
low-priority (1)
};
Waiting-
This result indicates the ES-OPERATIONS being held by the EMSD-SA
and that the EMSD-SA would invoke on the EMSD-UA if it were not
the prevailing controls. It may be generated by the EMSD-SA
This result may have the value holding or not-holding for each of
following
o message-delivery: The EMSD-SA is/is not holding messages,
would invoke the deliver ES-OPERATIONS on the EMSD-UA if it
not for the prevailing controls
In the absence of this result, it may be assumed that the EMSD-SA
not holding any messages for delivery due to the prevailing controls
Banan Informational [Page 20]
RFC 2524 EMSD February 1999
Waiting-
This result indicates the kind of messages the EMSD-SA is holding
delivery to the EMSD-UA, and would deliver via the deliver ES
OPERATIONS, if it were not for the prevailing controls. It may
generated by the EMSD-SA
This result may have one or more of the following values
o long-content: The EMSD-SA has messages held for delivery to
EMSD-UA which exceed the permissible maximum-content-
control currently in force
o low-priority: The EMSD-SA has messages held for delivery to
EMSD-UA of a lower priority than the permissible-lowest-
control currently in force
In the absence of this result, it may be assumed that the EMSD-SA
not holding any messages for delivery to the EMSD-UA due to
permissible-maximum-content-length, permissible-lowest-priority
permissible-security context controls currently in force
See Section 3.4.3.
3.2.3
The deliveryVerify ES-OPERATIONS enables the EMSD-UA to
delivery of a message when it receives FAILURE.indication for
ES-OPERATIONS
deliveryVerify ES-
ARGUMENT
RESULT
{
verifyError
resourceError
} ::= 5;
The duplicate operation detection is not required for this operation
Banan Informational [Page 21]
RFC 2524 EMSD February 1999
This operation's arguments are
DeliveryVerifyArgument ::=
{
-- Identifier of this message. This is the same identifier
-- was provided to the originator in the Submission Result
-- See comment regarding assignment of message identifiers
-- at the definition of EMSDMessageId
message-id
};
Message-
This argument contains an EMSD-SA-identifier that distinguishes
message from all other messages. It shall be generated by the EMSD
SA, and shall have the same value as the message-submission
identifier supplied to the originator of the message when the
was submitted
DeliveryVerifyResult ::=
{
status
};
DeliveryStatus ::=
{
no-report-is-sent-out (1),
delivery-report-is-sent-out (2),
non-delivery-report-is-sent-out (3)
};
No-report-is-sent-
This result indicates that EMSD-SA has received the delivery
and no report is sent out (either because it has not been
or EMSD-SA has problems and can not send it out).
Delivery-report-is-sent-
This result indicates that EMSD-SA has received the delivery
Banan Informational [Page 22]
RFC 2524 EMSD February 1999
and has sent the delivery report out
Non-Delivery-report-is-sent-
This result indicates that EMSD-SA has received the delivery
but it has already sent out a non-Delivery report. This should
happen in normal cases but a wrong user profile on EMSD-SA side
result in this outcome
See Section 3.4.3.
3.3 EMSD-SA Invoked
This section defines the operations invoked by the EMSD-SA
a. deliver
b. submissionControl
c. submissionVerify
The deliver operation uses 3-Way handshake service of ESROS.
operation always uses the duplication detection functional unit
The submissionControl and submissionVerify operations use 2-
handshake service of ESROS without duplication detection
3.3.1
The deliver ES-OPERATIONS enables the EMSD-SA to deliver a message
an EMSD-UA
deliver ES-
ARGUMENT
RESULT
{
deliveryControlViolated
securityError
resourceError
protocolViolation
} ::= 35;
Banan Informational [Page 23]
RFC 2524 EMSD February 1999
The EMSD-UA MUST not refuse performing the deliver ES-
unless the delivery would violate the deliveryControl
then in force
This operation's arguments are
DeliverArgument ::=
{
-- Identifier of this message. This is the same identifier
-- was provided to the originator in the Submission Result
-- See comment regarding assignment of message identifiers
-- at the definition of EMSDMessageId
message-id EMSDMessageId
-- Time the message was delivered to the recipient by EMSD-
message-delivery-time DateTime
-- Time EMSD-SA originally took responsibility for
-- of this message. This field shall be omitted if the message-
-- contains an EMSDLocalMessageId, because that field
-- the submission time within it
message-submission-time [0] IMPLICIT DateTime OPTIONAL
-- Security
security [1] IMPLICIT SecurityElement OPTIONAL
-- SegContentTypementation features for efficient
segment-info SegmentInfo OPTIONAL
-- The type of the
content-type ContentType
--
-- THE CONTENT --
--
-- The submitted (and now being delivered)
content ANY DEFINED BY content-
};
Banan Informational [Page 24]
RFC 2524 EMSD February 1999
message-
This argument contains an EMSD-SA-identifier that distinguishes
message from all other messages. When within the EMSD, it MUST
generated by the EMSD-SA, and MUST have the same value as
message-submission-identifier supplied to the originator of
message when the message was submitted
Message-delivery-
This argument contains the Time at which delivery occurs and at
the EMSD-SA is relinquishing responsibility for the message.
shall be generated by the EMSD-SA
This operation returns an empty result as indication of success
See Section 3.4.3.
3.3.2
submissionControl ES-
ARGUMENT
RESULT
{
securityError
resourceError
} ::= 4;
The submissionControl ES-OPERATIONS enables the EMSD-SA
temporarily limit the operations that the EMSD-UA may invoke, and
messages that the EMSD-UA may submit to the EMSD-SA via the
ES-OPERATIONS
The duplicate operation detection is not required for this operation
The EMSD-UA should hold until a later time, rather than abandon, ES
OPERATIONS and messages that are presently suspended
Banan Informational [Page 25]
RFC 2524 EMSD February 1999
The successful completion of the ES-OPERATIONS signifies that
specified controls are now in force. These controls supersede
previously in force, and remain in effect until the association
released or the EMSD-SA re-invokes the submissionControl ES
OPERATIONS
The ES-OPERATIONS returns an indication of any ES-OPERATIONS that
EMSD-UA would invoke were it not for the prevailing controls
This operation's arguments are
SubmissionControlArgument ::=
{
-- Request an addition of or removal of a set of
restrict [0] IMPLICIT Restrict DEFAULT update
-- Which operations are to be placed in the restriction
permissible-operations [1] IMPLICIT Operations OPTIONAL
-- What maximum content length should be
permissible-max-content-
[2] IMPLICIT
(0..ub-content-length) OPTIONAL
-- Security
security [3] IMPLICIT
};
This argument indicates whether the controls on ES-OPERATIONS are
be updated or removed. It may be generated by the EMSD-SA
This argument may have one of the following values
o update: The other arguments update the prevailing controls
o remove: All temporary controls are to be
In the absence of this argument, the default update shall be assumed
Banan Informational [Page 26]
RFC 2524 EMSD February 1999
Permissible-
This argument indicates the ES-OPERATIONS that the EMSD-UA may
on the EMSD-SA. It may be generated by the EMSD-SA
This argument may have the value allowed or prohibited for each
the following
o submit: The EMSD-UA may/may not invoke the submit ES
OPERATIONS;
o Other ES-OPERATIONS are not subject to controls, and may
invoked at any time
In the absence of this argument, the ES-OPERATIONS that the EMSD-
may invoke on the EMSD-SA are unchanged
Permissible-max-content-
This argument contains the content-length, in octets, of
longest-content message that the EMSD-UA shall submit to the EMSD-
via the submit ES-OPERATIONS. It may be generated by the EMSD-SA
In the absence of this argument, the permissible-maximum-content
length of a message that the EMSD-UA may submit to the EMSD-SA
unchanged
See Section 3.4.1, "SecurityElements".
SubmissionControlResult ::=
{
-- Operation types queued at the EMSD-SA due to
-- restrictions
waiting-operations [0] IMPLICIT Operations DEFAULT { }
};
Banan Informational [Page 27]
RFC 2524 EMSD February 1999
Waiting-
This result indicates the ES-OPERATIONS being held by the EMSD-UA
and that the EMSD-UA would invoke if it were not for the
controls. It may be generated by the EMSD-UA
This result may have the value holding or not-holding for each of
following
o submit: The EMSD-UA is/is not holding messages, and
invoke the submit ES-OPERATIONS if it were not for
prevailing controls
In the absence of this result, it may be assumed that the EMSD-UA
not holding any messages for submission due to the
controls
See Section 3.4.3.
3.3.3
The submissionVerify ES-OPERATIONS enables the EMSD-SA to verify
the EMSD-UA has received the result of its submission
submissionVerify ES-
ARGUMENT
RESULT
{
submissionVerifyError
resourceError
} ::= 6;
The duplicate operation detection is not required for this operation
This operation's arguments are
SubmissionVerifyArgument ::=
Banan Informational [Page 28]
RFC 2524 EMSD February 1999
-- Identifier of this message. This is the same identifier
-- was provided to the originator in the Submission Result
-- See comment regarding assignment of message identifiers
-- at the definition of EMSDMessageId
{
message-id
};
Message-
This argument contains an EMSD-SA-identifier that distinguishes
message from all other messages. It shall be generated by the EMSD
SA, and shall have the same value as the message-submission
identifier supplied to the originator of the message when the
was submitted
SubmissionVerifyResult ::=
{
status
};
SubmissionStatus::=
{
send-message (1),
drop-message (2)
};
Send-
This result indicates that EMSD-SA is supposed to send the
out
Drop-
This result indicates that EMSD-SA is supposed to drop the message
See Section 3.4.3.
Banan Informational [Page 29]
RFC 2524 EMSD February 1999
3.4 EMSD Common Information
3.4.1
SecurityElement ::=
{
credentials Credentials
contentIntegrityCheck ContentIntegrityCheck
};
Credentials ::=
{
simple [0] IMPLICIT
-- Strong Credentials are for future
-- strong [1] IMPLICIT
-- externalProcedure [2]
};
SimpleCredentials ::=
{
eMSDAddress EMSDAddress OPTIONAL
password [0] IMPLICIT OCTET
SIZE (0..ub-password-length))
};
-- StrongCredentials ::=
-- for now
-- ContentIntegrityCheck is a 16-bit checksum of
ContentIntegrityCheck ::= INTEGER (0..65535);
3.4.2 Message Segmentation and
Small messages can benefit from the efficiencies of
feature of ESROS (See Efficient Short Remote Operations, RFC-2188
[1]).
Very large messages are transferred using protocols (e.g., SMTP)
rely on Connection Oriented Transport Service (e.g., TCP).
When a message is too large to fit in a single connectionless PDU
is not large enough to justify the overhead of
establishment, it may be more efficient for the message to
segmented and reassembled while the connectionless service of
is used. If the underlying Remote Operation Service is capable
efficient segmentation/reassembly over connectionless (CL) services
Banan Informational [Page 30]
RFC 2524 EMSD February 1999
then use of the segmenting/reassembly mechanism introduced in
section is not necessary. This feature is accommodated in this
by
SegmentInfo ::=
{
first [APPLICATION 2] IMPLICIT FirstSegment
other [APPLICATION 3] IMPLICIT
};
FirstSegment ::=
{
sequence-id INTEGER
number-of-segments
-- number-of-segments must not exceed ub-total-number-of-
};
OtherSegment ::=
{
sequence-id INTEGER
segment-number
};
Segmentation and reassembly only applies to Message-submission
Message-delivery
The sender of the message is responsible for segmenting the
content into segments that fit in CL PDUs. The segmented content
sent in a sequence of message-segments each carrying a segment of
content. sequence-Id is a unique identifier that is present in
message-segments. In addition to sequence identifier, the
message-segment specifies the total number of segments (number-of
segments). Other message-segments have a segment sequence
(segment-number). The receiver is responsible for sequencing (
on segment-number) and reassembling the entire message
Segmenting over the Connectionless ESRO
The sender of the message maps the original message into an
sequence of message-segments. This sequence shall not be
by other messages over the same ESROS association
All message-segments in the sequence shall be assigned a
identifier by sender. The sequence identifier shall be
by one by the sender after transmission of a complete
sequence
Banan Informational [Page 31]
RFC 2524 EMSD February 1999
The first message-segment specifies the total number of segments
All message-segments in the sequence except the first one shall
sequentially numbered, starting at 1 (first message-segment
implicit segment number of 0).
Each message-segment is transmitted by issuing a Message-
or Message-delivery ES-OPERATIONS. All segments of a
message are identified by the same sequence-id. For a given message
the receiver should not impose any restriction on the order
arrival of message-segments
There is no requirement that any message-segment content be
maximum length allowed by ESROS for connectionless transmission
however, no more than ub-total-number-of-segments segments can
derived from a single message
The receiver reassembles a sequence of message-segments into a
message. A message shall not be further processed unless
segments of the message are received. Failure to receive the
shall be determined by the following events
o Expiration of Reassembly Timer (see Section 3.4.3).
o Receipt of a message-segment with different sequence identifier
In the event of the above mentioned failures, the receiver
discard a partially assembled sequence
In Reassembly process, all arguments other than content are
in all segments except the first one. The content parts of
segments are concatenated to compose the original message content
When sender receives FAILURE.indication (as opposed to
resourceError) for a message-segment, the whole message shall
retransmitted
In the case of submission and delivery operations, the
function is used as described below
Receiver ignores FAILURE.indications received for message-segments
and just collects the message-segments to complete the message
However, it keeps a failure status for a segmented message which
if any segment of the message has received FAILURE.indication.
receiver succeeds to assemble the whole segmented message, then
the status of the message shows there has been a FAILURE.
for any of the message-segments, it verifies the message
verify operation. It's not enough to invoke verify operation
based on the last message-segment because the sender might send
Banan Informational [Page 32]
RFC 2524 EMSD February 1999
segment without waiting for the result of the previous segment.
such cases, there might be any combination of success and failure
message-segments on the sender side
Receiver uses the error code ResourceError (see Section 3.4.3) to
for retransmission of a single segment and uses the error
MessageError (see Section 3.4.3) to ask for retransmission of
segments (the whole message).
Reassembly
The Reassembly Timer is a local timer maintained by the receiver
message-segments that assists in performing the reassembly function
This timer determines how long a receiver waits for all segments of
message-segment sequence to be received. The timer protects
receiver from the loss of a series of segments and possible
identifier wrap-around
The Reassembly Timer shall be started on receipt of a message-
with different sequence identifier than that previously received
The timer shall be stopped on receipt of all segments composing
sequence
The value of Reassembly Timer is defined based on the
characteristics and the number of segments. This requires that
transmission of all segments of a single message must be
within this time limit
3.4.3 Common
protocolVersionNotRecognized ERROR PARAMETER NULL ::= 1;
submissionControlViolated ERROR PARAMETER NULL ::= 2;
messageIdentifierInvalid ERROR PARAMETER NULL ::= 3;
securityError ERROR PARAMETER security-problem SecurityProblem ::= 4;
deliveryControlViolated ERROR PARAMETER NULL ::= 5;
resourceError ERROR PARAMETER NULL ::= 6;
protocolViolation ERROR PARAMETER NULL ::= 7;
messageError ERROR PARAMETER NULL ::= 8;
SecurityProblem ::= INTEGER (0..127);
Banan Informational [Page 33]
RFC 2524 EMSD February 1999
The major and minor protocol versions presented do not match
recognized as being valid
The Submission control violated error reports the violation by
MTS-user of a control on submission services imposed by the MTS
the Submission control service. The Submission control
abstract-error has no parameters
The Message Identifier Invalid error reports that the
Identifier presented to the MTS is not considered valid
The Security error reports that the requested operation could not
provided by the MTS or MTS-user because it would violate the
policy in force
The Delivery control violated error reports the violation by the
of a control on delivery operations imposed by the MTS-user via
Delivery-control operation
The messaging agent cannot currently support this operation. In
case of segmentation and reassembly, resourceError is by the
used to request that the sender retransmit of a single segment