Internet DRAFT - draft-schmeing-smtp-priorities

draft-schmeing-smtp-priorities






Network Working Group                                        M. Schmeing
Internet-Draft                                                      FGAN
Expires: February 24, 2007                                  J. Brendecke

                                                             K. Carlberg
                                                                     G11
                                                         August 23, 2006


          SMTP Service Extension for Priority Message Handling
                 draft-schmeing-smtp-priorities-05.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on February 24, 2007.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This memo defines an extension to the SMTP (Simple Mail Transfer
   Protocol) service whereby messages are sent with a priority to
   achieve a certain order in which the messages are transferred by an
   MTA (Message Transfer Agent).  This priority or precedence order is
   used instead of the first-come-first-serve rule.  This extension is



Schmeing, et al.        Expires February 24, 2007               [Page 1]

Internet-Draft         Priority Extension for SMTP           August 2006


   not to be confused with "Importance of a Message" which is widely
   deployed using an email header such as Importance or even Priority or
   Precedence with common values of HIGH, NORMAL and LOW.  Importance of
   a Message does not affect the priority of the transport itself in any
   way.  Nevertheless, there may be policy defined relations between
   priorities and importance indicators.

   This extension uses the term priority in the meaning of expedited
   treatment of a message by the server according to its priority.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Terminology & background . . . . . . . . . . . . . . . . . . .  5
   4.  Framework for the Priority Extension . . . . . . . . . . . . .  6
   5.  The Priority Service Extension . . . . . . . . . . . . . . . .  8
     5.1.  Expedited Transfer . . . . . . . . . . . . . . . . . . . .  8
       5.1.1.  Probability  . . . . . . . . . . . . . . . . . . . . .  9
       5.1.2.  Preemption of sessions or transactions . . . . . . . .  9
       5.1.3.  Handling of emails with multiple recipients  . . . . . 10
     5.2.  Timely Delivery  . . . . . . . . . . . . . . . . . . . . . 10
     5.3.  Resolving conflicts for the sending order of messages
           with the same priority . . . . . . . . . . . . . . . . . . 10
     5.4.  Size Limitation  . . . . . . . . . . . . . . . . . . . . . 11
     5.5.  Further Constraints  . . . . . . . . . . . . . . . . . . . 12
   6.  Recipient Dependent Priority . . . . . . . . . . . . . . . . . 13
     6.1.  Maillists, Aliases and Forwarding  . . . . . . . . . . . . 13
   7.  NameSpaces . . . . . . . . . . . . . . . . . . . . . . . . . . 14
     7.1.  Conflicts with external constraints  . . . . . . . . . . . 15
     7.2.  Handling Non-priority Servers and Mismatching Policies . . 16
     7.3.  Recipients without priorities  . . . . . . . . . . . . . . 17
     7.4.  Invalid priority levels  . . . . . . . . . . . . . . . . . 17
     7.5.  Mappings to other NameSpaces . . . . . . . . . . . . . . . 17
   8.  Example  . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 20
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
   11. List of abbreviations  . . . . . . . . . . . . . . . . . . . . 22
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     12.1. Informative Reference  . . . . . . . . . . . . . . . . . . 23
     12.2. Normative References . . . . . . . . . . . . . . . . . . . 23
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
   Intellectual Property and Copyright Statements . . . . . . . . . . 26







Schmeing, et al.        Expires February 24, 2007               [Page 2]

Internet-Draft         Priority Extension for SMTP           August 2006


1.  Introduction

   Prioritization is an issue that gains attention when resources are
   scarce and sets of users (and their data) are considered more
   important than others.  Military Message Handling Systems (MMHS) such
   as AUTODIN and the Defense Messaging System (DMS), have requirements
   to prioritize their traffic to help ensure that important data is
   given preferential treatment over what would normally be viewed as
   best effort.

   Deployments of MMHS typically include the ability to preempt or
   displace less important data traffic.  This displacement can be in
   the form of dropped packets, removal of reservations or termination
   of end-to-end sessions.  Outside MMHS systems such as GETS rely on
   increasing the probability of obtaining resources or successfully
   forwarding downstream packets instead of preempting resources.  In
   either case, the critical feature incumbent in both systems is an
   ability to prioritize data in anticipation of resource contention.

   The Simple Mail Transfer Protocol [7] (SMTP) is one of the most
   popular applications used over the Internet by today's general
   public.  The examinations documented in [1] show that SMTP, including
   some SMTP extensions, also provides most of the features requested by
   the military (a user community whose requirements are more stringent
   than the general public).  But one of the most important requirements
   of MMHS not provided by SMTP is priority or precedence in handling
   between Message Transfer Agents (MTA).

   This document defines an SMTP Service Extension offering such a
   service allowing Mail Transfers Agents to determine which emails
   require expedited handling.




















Schmeing, et al.        Expires February 24, 2007               [Page 3]

Internet-Draft         Priority Extension for SMTP           August 2006


2.  Terminology

   The key words "REQUIRED", "MUST", "MUST NOT", "SHOULD", "SHOULD NOT",
   and "MAY" in this document are to be interpreted as described in "Key
   words for use in RFCs to Indicate Requirement Levels" [4].

   The terms SMTP client and SMTP server are used with the same
   definition as given in section 2.3.2 of RFC 2821 [7]:

   o  The SMTP client is the (computer) process initiating an SMTP
      session and controlling it issuing commands to the server.

   o  The SMTP server is the process waiting for clients to connect and
      executing the commands from the client.

   As this document is concerned with SMTP only, the terms client and
   server may as well be used without the SMTP prefix.

   An email is waiting to be sent, if it resides in the queue of an MTA
   and can be send to the next hop or delivered to its final
   recipient(s) once available resources at the sending MTA allow this.
   Emails having their processing delayed for some reason are NOT
   waiting to be sent during this delay.  The most important reason for
   emails to be delayed is a transient error response from the next MTA
   to which the email must be transferred.

   An email is ready to be sent, if it is waiting to be sent and either
   no emails with higher priority are waiting to be sent or available
   resources allow to send more emails in parallel than the number of
   emails with higher priorities that are waiting to be sent.  Note that
   an email may be ready to be sent but the transfer or delivery process
   can not yet be initiated, because the number of emails ready to be
   sent exceeds the number of emails that can be processed in parallel.

   The policy defining the use of priorities within a given NameSpace is
   called "NameSpace Policy".  A NameSpace is a name (or label) for a
   finite and ordered set of priorities.  In some instances, this memo
   or a NameSpace Policy may allow additions to the definitions of the
   NameSpace Policy.  These additions are called "local policy".












Schmeing, et al.        Expires February 24, 2007               [Page 4]

Internet-Draft         Priority Extension for SMTP           August 2006


3.  Terminology & background

   RFC 3487 [15] articulates a set of requirements for prioritizing
   access to services and resources using the Session Initiation
   Protocol (SIP).  As in the case of SMTP, SIP has a priority field
   used to convey the importance of a session (or message, in the case
   of SMTP) to the end-user.  However, the value within the field was
   not meant for intermediate nodes.  From these requirements, the SIP
   working group defined a new optional Resource Priority field in RFC
   4412 [16] for the SIP protocol.  The new field was divided into two
   distinct parts.  The first is Value subfield, which contains the
   priority associated with the SIP message.  The second subfield is the
   NameSpace, which identifies a set or family of 1 or more priorities.
   The strength in this approach is that support for the prioritization
   feature is not bound to a one-size-fits-all design.  As an example,
   the DoD/NATO community has an existing set of 5 priorities used for
   its messaging system.  Other communities of interest may have sets
   that are smaller or larger than that currently used by DoD/NATO.

   Underneath the SIP layer, and its Resource Priority extension, on-
   going work is being done by the NSIS working group to define a QSPEC
   that includes fields correlating to SIP's NameSpace/Value tuple.  In
   addition, the TSV Working Group is in the process of defining an
   extension to RSVP that defines a priority policy element correlating
   to the NameSpace/Value tuple.  Both of these efforts are aimed at
   facilitating underlying signaling of network elements to obtain
   resources based on the priority set at the application layer.
























Schmeing, et al.        Expires February 24, 2007               [Page 5]

Internet-Draft         Priority Extension for SMTP           August 2006


4.  Framework for the Priority Extension

   o  The textual name of this extension is "Priority Message Handling".

   o  The EHLO-Keyword is PRIORITY.

   o  One mandatory parameter is used with this keyword.  This parameter
      is a list of NameSpaces supported by the server.  The syntax for
      this value is described below.  The "token-nodot" production is
      copied from RFC 3265 [10].


      namespace-list = namespace * (COMMA namespace)
      namespace      = token-nodot
      token-nodot    = 1*(alphanum / "-" / "!" / "%" / "*" /
                         " " / "+" / "`" / "'" / "~")


      A NameSpace is a name of an ordered set of priorities with
      attached policy.

   o  No new SMTP verbs are defined.

   o  One optional parameter using the keyword "PRIORITY" is added to
      the RCPT TO command.  The value associated with this parameter is
      in alpha-numeric form.  The syntax of the value is :


     priority-arg = "PRIORITY" EQUAL value
     value        = namespace "." priority
     priority     = token-nodot


   o  Two examples of PRIORITY parameters are shown below:

         PRIORITY=Example.1

         PRIORITY=AnotherExample.Flash

   o  The 'value' parameter in the 'PRIORITY' extension indicates the
      concatenated tuple of the 'namespace', the 'priority' within that
      NameSpace and the "." character separating the two.  An entry in a
      'namespace' must be unique from all other NameSpaces.  Entries in
      a 'priority' must be unique within a NameSpace, but they may be
      the same as those in other NameSpaces.

   o  The maximum length of a RCPT TO command line is increased by 9
      characters plus the length of the 'value-list' by the possible



Schmeing, et al.        Expires February 24, 2007               [Page 6]

Internet-Draft         Priority Extension for SMTP           August 2006


      addition of the PRIORITY keyword and value.

   o  As one of the most likely instances to assign transport priorities
      is the submitting party of an email (i.e. the originator or
      sender), this extension is valid for message submission according
      to RFC 2476 [6].













































Schmeing, et al.        Expires February 24, 2007               [Page 7]

Internet-Draft         Priority Extension for SMTP           August 2006


5.  The Priority Service Extension

   The priority of a message expresses itself in the order they are
   transfered from the client to the server.  This is largely
   independent from the order in which they where received by the
   server.  The Priority Service Extension increases the possibilities
   of SMTP service extensions such as Deliver-By [8] and Delivery Status
   Notification [11][14][13][12] or (non-standard) header fields such as
   Importance.

   In military scenarios, priorities usually come with additional
   associated constraints.  Examples are limitations of the message size
   or the allowed delivery time.

5.1.  Expedited Transfer

   The main service provided by the Priority Message Handling SMTP
   Service Extension is expedited transfer of emails with a higher
   priority.  Therefore a client that has more than one email to send at
   a given time MUST send those with a higher priority before those with
   a lower one.

   Priorities are assigned on a per-recipient basis.  The priority of an
   email is the highest priority assigned to any of the yet unprocessed
   recipients.  Thus the priority of the email may vary while it is
   processed by an MTA or UA and may be different at different MTAs.
   The priority of any given recipient is nevertheless constant.

   As a default policy, emails with higher priority waiting to be sent
   by a client MUST NOT initiate transactions for emails with lower
   priorites.  It MAY however send an email with highest priority even
   to recipients with lower priorities if this can be done within the
   same transaction as the higher priorities.  Policy associated with a
   specific NameSpace may override this default policy; an example being
   the use of a weighted round robin initiation of transactions in order
   to prevent a starving of resources from lower priorities.

   The handling of messages with the same priority level is described in
   Section 5.3.

   Especially in networks with limited available data rate the actual
   transfer over the network may create a significant portion of the
   overall delivery time.  Besides the actions taken at the application
   level it can thus be important to deploy priority or precedence
   mechanisms offered by the network itself to ensure timely delivery of
   the emails.  One example would be the use of RSVP and the work-in-
   progress effort extension to RSVP that prioritizes reservations.  If
   such services are available, it is a matter of NameSpace Policy to



Schmeing, et al.        Expires February 24, 2007               [Page 8]

Internet-Draft         Priority Extension for SMTP           August 2006


   decide whether to use them.  The mapping from the priorities defined
   at the SMTP level to those offered by the underlying network is as
   well to be defined in the NameSpace Policy.  If the NameSpace Policy
   does not regulate the use of network priorities, their use can be
   defined by local policy

   Most current SMTP MTAs are capable of handling several inbound and
   outbound connections at once.  With this feature it should be
   possible to start additional outbound connections for emails with
   higher priorities even if there are already several connections
   running for other emails.  The manner in which expedited transfer can
   be accomplished is divided into two approaches.  One is probability,
   the other involves preemption, both of which are described in more
   detail below.

5.1.1.  Probability

   As the name suggests, probabiblity involves increasing the chances of
   obtaining resources without adversely affecting previously
   established connections.  One example would involve requesting
   resources set aside for specific priority levels.  If these
   additional resources are exhausted, then the desired connection is
   denied.  Queues, new timers, or combinations thereof can be used to
   facilitate the higher priority requests, but the key is that
   mechanisms focus on increasing the probability of message transfer.

5.1.2.  Preemption of sessions or transactions

   Preemption is binary type of action and focusses only on a
   comparision of priorities to determine if previously established
   transactions must be displaced in favor of higher priority requests.
   If no additional connection is possible, a client MUST abort a
   running session for emails with lower priority no later than directly
   after the current transaction.  The client even MAY interrupt an
   active transaction and SHOULD do this, if otherwise constraints such
   as delivery time would be violated for the email with higher
   priority.  This preliminary termination of sessions or transactions
   is called preemption.

   If preemption of running transactions occurs, the client MUST preempt
   the lowest number of transactions sufficient to process the higher
   priority emails.  It must chose the transactions for the emails with
   the lowest priorities currently processed.  NameSpace Policies and
   local policies MAY add additional criteria to choose the transaction
   to be preempted in the case that more transactions than required
   would qualify for preemption due to the priority of the emails.
   Regulations from local policy MUST NOT be applied before NameSpace
   Policy and MUST NOT conflict with NameSpace policy settings.  If



Schmeing, et al.        Expires February 24, 2007               [Page 9]

Internet-Draft         Priority Extension for SMTP           August 2006


   after applying the priority test and all criteria defined by
   applicable NameSpace Policy and the local policy still the number of
   transactions to preempt is greater than needed, the decision is left
   to the implementation.

   If the client has an option to interrupt transactions in a way that
   it can be restarted at the interruption point later, it SHOULD deploy
   it.  An example for a mechanism providing such a service is the "SMTP
   Service Extension for Checkpoint/Restart" defined in RFC 1845 [2]

   If a client opts for the preemption of sessions instead of
   transactions, it MUST preempt the next session that reaches the end
   of a transaction independent of the priority of the emails being
   processed.

5.1.3.  Handling of emails with multiple recipients

   If a client has to send an email with multiple recipients bearing
   different priorities to the same server, it SHOULD do so in one
   transaction treating the email according to the highest priority set
   for any of the recipients.

   The reorganization of the transfer order MUST NOT alter or even
   corrupt the emails, therefore allowing safe transmission of all
   emails in dependency of their priority.

5.2.  Timely Delivery

   An important constraint usually associated especially with higher
   priority levels is, that messages with that priority have to reach
   its destination within a defined period of time.  In some cases,
   higher priorities mean shorter maximum allowed time of delivery.

   As SMTP does not natively offer a service for timely delivery, the
   decision whether to use delivery time constraints for any or all
   priority levels is left to the NameSpace Policy.

   The "Deliver By SMTP Service Extension" (Deliver-By Extension)
   defined in [8] is an example of an SMTP extension providing a service
   that can be used to implement such constraints.

   If applicable NameSpace Policy does not specify time constraints for
   a given priority, no such constraints are applied.

5.3.  Resolving conflicts for the sending order of messages with the
      same priority

   If two or more emails with the same priority are ready to be sent at



Schmeing, et al.        Expires February 24, 2007              [Page 10]

Internet-Draft         Priority Extension for SMTP           August 2006


   the same time, clients SHOULD send them in parallel if possible.
   NameSpace Policy and local policy MAY define rules to determine the
   order in which emails of the same priority are sent if the number of
   emails ready to be sent exceeds the number of emails that can be
   processed in parallel.  Definitions from NameSpace Policy always take
   precedence over definitions from local policy.  NameSpace Policy MAY
   disallow local policy to define addtitional criteria to determin
   sending order.

   If all applicable rules to determine the sending order from this
   memo, applicable NameSpace Policy and (if permitted) local policy
   still leave more emails ready to be sent than can be processed in
   parallel, the final decision is left to the implementation.

5.4.  Size Limitation

   The larger a message, the longer the time required to send it over a
   given connection.  In constrained networks this can impair the
   possibility of the MTS to deliver large messages with high priorities
   in time.  Therefore, NameSpace Policy MAY define size constraints for
   any or all of its priority levels.

   These constraints can always be enforced independent of the SMTP
   Service Extensions supported by the server receiving the email.  It
   is always possible for the server to count the number of received
   octets after the client indicated the end of the email and base the
   decision to accept or reject the email on this number.

   Therefor, after completely receiving the content of the email the
   server MUST check that the actual received size does not exceed the
   lowest size limitation allowed by the priorities set for all
   recipients.  If the actual size is too big for at least one
   recipient, the server MUST NOT send a successful reply but MUST
   reject the email with an error code of "556 Priority defined size
   limit exceeded".  If the client uses an SMTP Service Extension which
   allows to transmit the content in several chunks, such as [9], the
   server SHOULD check the current size after every chunk and SHOULD
   abort the email with the above error code as soon as the size
   constraint applicable for the email is violated.

   In addition to just counting the received octets while the email is
   being transmitted, a client and server may also deploy mechanisms,
   that allow for an earlier detection of size violations.  An example
   for such a service is the "SMTP Service Extension for Message Size
   Declaration" (SIZE Extension) from RFC 1870 [3].

   The SIZE Extension allows a client to declare the size of the email
   with an optional parameter to the MAIL FROM: SMTP command.  This



Schmeing, et al.        Expires February 24, 2007              [Page 11]

Internet-Draft         Priority Extension for SMTP           August 2006


   parameter can be used for example to decide for each individual
   recipient whether the email fulfils the size constraints.  Unless
   NameSpace Poicy defines another course of action, if the size
   provided with the SIZE argument of the MAIL FROM: command is too
   large for the priority set for any of the recipients, the recipient
   MUST be rejected with an error code of "556 Priority defined size
   limit exceeded".  Processing for the remaining recipients is to
   continue normally.

   If the NameSpace Policy does not address size constraints, the
   default is that emails may be of arbitrary size.  Constraints imposed
   by other circumstances such as available storage space or general
   limitations are, of course, unaffected by this.

5.5.  Further Constraints

   Depending on the actual scenario in which this priority extension is
   deployed, it may be necessary to add further constraints to certain
   priority levels.  Although it is strongly believed that limiting the
   delivery time and email size should be sufficient for most if not all
   purposes, NameSpace Policy may add further constraints such as
   limitations on content types or security classifications.

   For example, in military applications of priorities, messages without
   classification or with low classification may only be sent at the
   lower priority levels.

























Schmeing, et al.        Expires February 24, 2007              [Page 12]

Internet-Draft         Priority Extension for SMTP           August 2006


6.  Recipient Dependent Priority

   Often, not all recipients need to receive the message with the same
   (high) priority.  For example copy (CC, carbon copy) and blind copy
   (BCC, blind carbon copy) recipients usually can accept a lower
   priority than the primary recipient(s) because they do not have to
   act on the message but receive it only for informational purposes.

   Limiting the high priority messages only to the primary recipient
   complies with the basic principle of using high priorities only if
   really necessary.  So the number of high priority messages is reduced
   to a minimum.  Assigning every recipient an individual priority could
   be realized by sending the same message several times.  This is
   unnecessary, non-practical and a waste of resources.  Binding the
   priority to the recipient allows to deploy the multiple recipient per
   transaction feature of SMTP even when having different priorities for
   different recipients of the message.

   To lower the burden on the network, an MTA SHOULD send any message to
   as many recipients as possible with one transaction, even if the
   recipients have different priorities bound to them.  In this case,
   the MTA MUST treat the email according to the highest priority bound
   to any of the recipients and MUST retain the original priority values
   for each recipient.

   A recipient address, that has a priority other than the non-priority
   set, is called a prioritized recipient (address).

6.1.  Maillists, Aliases and Forwarding

   Several options exist to translate the address of an email recipient
   into one or more other addresses.  Examples for this are aliases,
   maillist or email redirections e.g. via a .forward file.

   Priorities are assigned for a reason.  Therefore, if a prioritized
   recipient address is to be translated or expanded as explained above,
   the translating or expanding entity (maillist manager, MTA etc.)
   SHOULD retain the original priority if possible and SHOULD set it for
   all expanded or translated addresses.  NameSpace Policy however MAY
   deviate from this behavior for good reason.











Schmeing, et al.        Expires February 24, 2007              [Page 13]

Internet-Draft         Priority Extension for SMTP           August 2006


7.  NameSpaces

   A NameSpace identifies a set of one or more alpha-numeric priorities.
   These NameSpaces are registered with IANA and are unique for the
   registry associated with the SMTP priority extension.  Ideally a
   given NameSpace satisfies the needs for groups of organizations and
   user sets.  As an example, a NameSpace that correlates to the Q.735.3
   protocol in support of Multi-Level Precedence and Preemption (MLPP)
   would be applicable to all messaging systems that support Q.735.3.

   New NameSpaces MUST be defined as an Informational RFC after Expert
   Review in accordance with the policy set forth in RFC 2434 [5].  The
   Expert Reviewer will consult with the Application Area Directors and
   the IEPREP mailing list.  The following elements MUST be addressed
   when registering a new NameSpace:

   o  Priority level(s) must be enumerated as a finite ordered list

   o  A priority algorithm must be defined and described.  This
      algorithm defines the schema of how messages are handled based on
      their labeled priority.  For example, one algorithm may describe
      the use of preemption of resources of a lower priority message
      (i.e., dropped message) to satisfy a higher priority message.
      Another algorithm may involve queuing of messages based on
      availability of extra resources set aside for specific priorities.
      A third algorithm may be a hybrid of preemption and queuing.

   o  Any new new response codes (warning or Error) unique to the
      NameSpace must be listed and explained.

   o  The document needs to specify a new row for the following table
      that summarizes the features of the NameSpace.  For the tabel
      below, there is ONE NameSpace label and ONE Algorithm.  There
      N-number of levels, each having a corresponding Warning-Code OR
      Error-Code.  It is expected that the warning/error codes are the
      same for each NameSpace.Priority tuple.  Finally, an RFC is used
      as the reference for the table of information.



   NameSpace    Algo    Priority(s)  Warn-Code  Error-Code  Reference
   ---------  --------  -----------  ---------  ----------  ---------
   <label>    <preempt, <label(s)>   <new code, <new code,  <RFC>
               queue,                  none>     none>
               hybrid>


      NameSpace labels are case-insensitive, priority labels are case-



Schmeing, et al.        Expires February 24, 2007              [Page 14]

Internet-Draft         Priority Extension for SMTP           August 2006


      insensitive unless defined case-sensitive by the NameSpace policy.

   In addition to the requirements described above, the following
   constraints apply to all NameSpaces:

   o  If a priority mechanism of the underlying network should be used,
      mappings from the SMTP priority level to the priority levels of
      the network MUST be defined.  If no mapping is defined, servers
      SHOULD use the default level for the network connection but MAY
      use higher ones.  This does not change the SMTP priority level.

   o  If additional constraints such as size limitations or maximum
      delivery times are associated with any or all priorities of a
      NameSpace, the RFC must define which constraints apply to which
      priority.

   o  In some cases it is possible to determine that an individual
      recipient can not be accepted because of a violation of the
      NameSpace Policy directly when the respective RCPT TO SMTP command
      is issued.  A NameSpace Policy SHOULD define how to handle the
      emails in this case.  Possible options are to completely reject
      the email or to send it to the remaining recipients.  The default
      is to send the emails to the remaining recipients, if no other
      conditions require the email to be rejected completely.

   o  In other cases the decision to reject an individual recipient can
      only be made after the respective RCPT TO: SMTP command has been
      confirmed with a 2xx SMTP reply code but the final 250 SMTP reply
      code accepting the email has not yet been sent.  In these cases
      the whole email MUST be rejected with an appropriate error code.

7.1.  Conflicts with external constraints

   If there is a conflict between a priority induced constraint and a
   constraint from some other sources (external constraint), the more
   restrictive constraint always has precedence over the less
   constrictive one.  If an email is rejected because of constraints not
   induced by the NameSpace Policy, the error message MUST NOT indicate
   a NameSpace Policy violation.

   To illustrate this, consider the following example:

   o  An email with a size of 2 M-Byte is to be sent.

   o  The NameSpace is recognized and accepted

   o  The highest priority of the NameSpace set for any of the
      recipients is n.



Schmeing, et al.        Expires February 24, 2007              [Page 15]

Internet-Draft         Priority Extension for SMTP           August 2006


   o  The maximum size for emails with priority n is 3 M-Byte.

   o  At the server to which the email should be transferred, the
      parameter to the SIZE EHLO keyword limits emails to 1 M-Byte in
      size due to limited spool storage.

   From the perspective of the NameSpace Policy this email would be
   acceptable because it is smaller than the 3 M-Bytes allowed for
   messages with priority n.  Nevertheless, the constraints defined by
   the SIZE Extension set a limit of 1 M-Byte, which is more restrictive
   than the constraint set by the NameSpace Policy.  Thus the constraint
   set by the SIZE Extension takes precedence and the email can not be
   accepted by the server.  The server would respond as defined in RFC
   1870 [3] and send the appropriate error code for overly large
   messages.

   If on the other hand the NameSpace Policy would set the 1 M-Byte
   limit and the storage space of the server would allow 3 M-Byte
   emails, the email would still be unacceptable.  But this time it
   would be a NameSpace Policy violation that would be indicated with
   the error code defined in section Section 5.4 of this memo.

   If both, external and policy induced constraints would make an email
   unacceptable, the error message must be created according to the more
   restrictive constraint.  If, in the above example, the email would
   have a size of 4 M-Byte, it would not be acceptable due to both the
   limitation defined with the EHLO keyword and the limitation of the
   priority policy.  As the limitation of the EHLO keyword is more
   restrictive the email would still not be a policy violation.

   The determination of what error code to create does not discriminate
   between transient (i.e. error codes in the 4xx range) and permanent
   errors (i.e. error codes in the 5xx range).  If the 1M-Byte
   restriction of the EHLO keyword would be due to a temporary shortage
   of storage space, the 4 M-Byte email from the previous paragraph for
   example could be rejected with a transient error from the EHLO
   keyword while the shortage lasts.  If there would be enough storage
   space afterwards, it would still be rejected, but this time with a
   permanent error from the NameSpace Policy.

   Local policy MAY allow for permanent errors to take precedence over
   transient ones to lessen the burden on the network.  In this case the
   4 M-Byte email would be rejected with a permanent error due to a
   policy violation on the first attempt to transfer it to the MTA.

7.2.  Handling Non-priority Servers and Mismatching Policies

   Not all servers will support the Priority Message Handling Extension



Schmeing, et al.        Expires February 24, 2007              [Page 16]

Internet-Draft         Priority Extension for SMTP           August 2006


   nor will all that do have the same policy.  Servers that support a
   different policy than the client are called mismatching servers;
   servers not indicating support for priorities (independent of whether
   they actually do or do not support them) are called non-priority
   servers.

   By default, only emails for recipients without a priority are
   delivered to non-priority or mismatching servers.  If recipients with
   priorities other than the non-priority require sending the email to
   mismatching on non-priority servers, this is treated as an error.
   The email MUST NOT be relayed but the MTA MUST send a error code of
   "557 Receiving server not supporting compliant NameSpace".

   NameSpace Policy MAY however define certain priorities to be routable
   to non-priority servers.  It MAY define arbitrary actions to be taken
   in this case or define it as normal operation.  This can be defined
   for each priority independently.  An example for an action to take is
   the sending of warning emails to the originator and/or recipient of
   the email informing them of the loss of priorities.  Another example
   is to write log information to the system protocol.

7.3.  Recipients without priorities

   A server MUST always accept recipients, where no priority is set,
   independend of whether other recipients of the email have priorities
   assigned or not.  Such recipients MUST be treated as best-effort
   delivery.  Other reasons such as invalid addresses or syntactical
   errors in the RCPT TO: command nevertheless may still prevent
   acceptance of the recipient.

   A client MAY use RCPT TO: commands with and without the PRIORITY
   parameter for the same email transaction.

7.4.  Invalid priority levels

   As a default course of action, if a client provides an invalid value
   to the PRIORITY argument to the RCPT TO: command, the server MUST
   reject that recipient with an error code of "558 Invalid priority
   value" and MAY reject the complete email with the same error code.

   NameSpace Policy MAY override the default action upon detection of an
   invalid PRIORITY argument.  For example, the server may replace the
   value with a "NULL" argument, indicating that there is no priority
   associated with recipient.

7.5.  Mappings to other NameSpaces

   A NameSpace A MAY define a mapping to another NameSpace B. NameSpace



Schmeing, et al.        Expires February 24, 2007              [Page 17]

Internet-Draft         Priority Extension for SMTP           August 2006


   A in this case MUST define to which priority level of NameSpace B
   each of its priority levels is mapped.

   While more than one priority level of NameSpace A may be mapped to a
   given priority level of NameSpace B, a priority level of A MUST NOT
   be mapped to zero or more than one priority levels of B.

   For all priority levels a1 and a2 of NameSpace A where a1 is greater
   than a2 and all priority levels b1 and b2 of NameSpace B, the
   following condition MUST be fulfilled: If a1 is mapped to b1 and a2
   is mapped to b2, then b1 MUST be greater than or equal to b2.

   An MTA MUST NOT change the priority assigned to a recipient, unless

   o  the next server to which the email must be sent for the recipient
      does not support the original NameSpace; and

   o  the NameSpace originally used for the recipient defines a mapping
      to at least one of the NameSpaces announced by the server to which
      the email is to be sent.































Schmeing, et al.        Expires February 24, 2007              [Page 18]

Internet-Draft         Priority Extension for SMTP           August 2006


8.  Example

   This example shows an SMTP session with one transaction using the
   priority extension.  Lines starting with C are sent by the client,
   lines starting with S by the server.


           S: 220 foo.com Simple Mail Transfer Service Ready
           C: EHLO bar.com
           S: 250-foo.com greets bar.com
           S: 250-SIZE
           S: 250-DSN
           S: 250-PRIORITY Example,AnotherExample
           S: 250 HELP
           C: MAIL FROM:<Smith@bar.com>
           S: 250 OK
           C: RCPT TO:<Jones@foo.com> PRIORITY=Example.2
           S: 250 OK
           C: RCPT TO:<Brown@foo.com> PRIORITY=AnotherExample.Flash
           S: 250 OK
           C: DATA
           S: 354 Start mail input; end with <CRLF>.<CRLF>
           C: Blah blah blah...
           C: ...etc. etc. etc.
           C: .
           S: 250 OK
           C: QUIT
           S: 221 foo.com Service closing transmission channel























Schmeing, et al.        Expires February 24, 2007              [Page 19]

Internet-Draft         Priority Extension for SMTP           August 2006


9.  Security Considerations

   This memo does not discuss security issues and is not believed to
   raise any security issues not already endemic in electronic mail and
   present in fully conforming implementation of RFC 2821 [7].

   Possible Denial-of-Service (DoS) attacks through extensive use of
   high priorities are outside the scope of this memo.  It is believed
   that they are best dealt with by access control and careful design of
   local policies.









































Schmeing, et al.        Expires February 24, 2007              [Page 20]

Internet-Draft         Priority Extension for SMTP           August 2006


10.  IANA Considerations

   The IANA Mail Parameters registry documents SMTP service extensions.
   The "PRIORITY" service extension has to be added to this registry in
   accordance with the specifications of section Section 4.














































Schmeing, et al.        Expires February 24, 2007              [Page 21]

Internet-Draft         Priority Extension for SMTP           August 2006


11.  List of abbreviations


         BCC     Blind Carbon Copy
         CC      Carbon Copy
         DSN     Delivery Status Notification
         IETF    Internet Engineering Task Force
         IP      Internet Protocol
         MMHS    Military Message Handling System
         MTA     Message Transfer Agent
         MTS     Message Transfer System
         NATO    North Atlantic Treaty Organization
         RFC     Request For Comment
         SMTP    Simple Mail Transfer Protocol
         TTY     Teletypewriter
         UA      User Agent
         URL     Uniform Resource Locator


































Schmeing, et al.        Expires February 24, 2007              [Page 22]

Internet-Draft         Priority Extension for SMTP           August 2006


12.  References

12.1.  Informative Reference

   [1]  Schmeing, M. and N. Haak, "Applicability of Internet-email for
        military High-grade Messaging", FKIE-Bericht 93, February 2005.

12.2.  Normative References

   [2]   Crocker, D. and N. Freed, "SMTP Service Extension for
         Checkpoint/Restart", RFC 1845, September 1995.

   [3]   Klensin, J., Freed, N., and K. Moore, "SMTP Service Extension
         for Message Size Declaration", STD 10, RFC 1870, November 1995.

   [4]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", BCP 14, RFC 2119, March 1997.

   [5]   Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
         Considerations Section in RFCs", BCP 26, RFC 2434,
         October 1998.

   [6]   Gellens, R. and J. Klensin, "Message Submission", RFC 2476,
         December 1998.

   [7]   Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
         April 2001.

   [8]   Newman, D., "Deliver By SMTP Service Extension", RFC 2852,
         June 2000.

   [9]   Vaudreuil, G., "SMTP Service Extensions for Transmission of
         Large and Binary MIME Messages", RFC 3030, December 2000.

   [10]  Roach, A., "Session Initiation Protocol (SIP)-Specific Event
         Notification", RFC 3265, June 2002.

   [11]  Moore, K., "Simple Mail Transfer Protocol (SMTP) Service
         Extension for Delivery Status Notifications (DSNs)", RFC 3461,
         January 2003.

   [12]  Vaudreuil, G., "The Multipart/Report Content Type for the
         Reporting of Mail System Administrative Messages", RFC 3462,
         January 2003.

   [13]  Vaudreuil, G., "Enhanced Mail System Status Codes", RFC 3463,
         January 2003.




Schmeing, et al.        Expires February 24, 2007              [Page 23]

Internet-Draft         Priority Extension for SMTP           August 2006


   [14]  Moore, K. and G. Vaudreuil, "An Extensible Message Format for
         Delivery Status Notifications", RFC 3464, January 2003.

   [15]  Schulzrinne, H., "Requirements for Resource Priority Mechanisms
         for the Session Initiation Protocol (SIP)", RFC 3487,
         February 2003.

   [16]  Schulzrinne, H. and J. Polk, "Communications Resource Priority
         for the Session Initiation Protocol (SIP)", RFC 4412,
         February 2006.









































Schmeing, et al.        Expires February 24, 2007              [Page 24]

Internet-Draft         Priority Extension for SMTP           August 2006


Authors' Addresses

   Michael Schmeing
   Forschungsgesellschaft fuer Angewandte Naturwissenschaften e.V.
   Neuenahrer Strasse 20
   Wachtberg  53343
   DE

   Phone: +49 228 9435 593
   Email: schmeing@fgan.de
   URI:   http://www.fgan.de


   Jan-Wilhelm Brendecke
   Flerzheimer Strasse 36
   Rheinbach  53359
   DE

   Phone: +49 2226 913760
   Email: brendecke@gmx.de


   Ken Carlberg
   G11
   123a Versailles Circle
   Towson, MD
   USA

   Email: carlberg@g11.org.uk






















Schmeing, et al.        Expires February 24, 2007              [Page 25]

Internet-Draft         Priority Extension for SMTP           August 2006


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Schmeing, et al.        Expires February 24, 2007              [Page 26]