Network Working Group E. Burger Request for Comments: 5442 Consultant Category: Informational G. Parsons Nortel Networks March 2009 LEMONADE Architecture - Supporting Open Mobile Alliance (OMA) Mobile Email (MEM) Using Internet Mail Status of This Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.
AbstractThis document specifies the architecture for mobile email, as described by the Open Mobile Alliance (OMA), using Internet Mail protocols. This architecture was an important consideration for much of the work of the LEMONADE (Enhancements to Internet email to Support Diverse Service Environments) working group in the IETF. This document also describes how the LEMONADE architecture meets OMA's requirements for their Mobile Email (MEM) service.
1. Introduction ....................................................2 2. OMA Mobile Email (MEM) ..........................................2 2.1. OMA MEM Requirements .......................................2 2.2. OMA MEM Architecture .......................................3 2.2.1. OMA MEM Logical Architecture ........................3 2.2.2. OMA MEM Deployment Issues ...........................4 2.3. OMA MEM Technical Specification ............................6 3. IETF LEMONADE Architecture ......................................6 3.1. Relationship between the OMA MEM and LEMONADE Logical Architectures ..............................................7 3.2. LEMONADE Realization of OMA MEM with non-LEMONADE-Compliant Servers .............................9 3.2.1. LEMONADE Realization of OMA MEM with non-LEMONADE IMAP Servers ...........................9 3.2.2. LEMONADE Realization of OMA MEM with non-IMAP Servers ............................................10 4. Filters and Server-to-Client Notifications and LEMONADE ........11 5. Security Considerations ........................................13 6. Acknowledgements ...............................................13 7. Informative References .........................................13 PROFILE] and its revision, [PROFILE-bis], summarize such protocols and protocol use. This document shows how the OMA MEM Requirements document [MEM-req], OMA MEM Architecture [MEM-arch], and OMA MEM Technical Specification [MEM-ts] relate to the work of LEMONADE in the IETF. MEM-req] summarizes this work. Some requirements relate to email protocols, some involve other OMA
technologies outside the scope of the IETF, and some relate to implementations and normative interoperability statements for clients and servers. MEM-req]. A simplification for illustrative purposes is shown in Figure 1, where arrows indicate content flows. __________ | Other | +---| Mobile |<--+ | | Enablers | | | |__________| | |ME-4 |ME-3 _v____ ___v____ ________ | |ME-1 | | | | | MEM |-------->| MEM | I2 | Email | |Client| ME-2| Server |<---->| Server | |______|<--------|________| |________| ^ |ME-5 | Figure 1: Basic OMA MEM Logical Architecture Figure 1 identifies the following elements: o The MEM client that implements the client-side functionality of the OMA Mobile Email enabler. It is also responsible for providing the mobile email user experience and interface to the user and storing the email and data to be sent to the MEM server when not connected. o The MEM server that implements the server-side functionality of the OMA Mobile Email (MEM) enabler. o The MEM protocol between the MEM client and MEM server. It is responsible for all the in-band data exchanges that take place between the MEM client and server in order to update the MEM
client with email server changes and the email server with changes in the MEM client, and in order to send new email from the email server. o Other OMA enablers that are needed to directly support the Mobile Email enabler. They are out of the scope of the IETF but may include support for: * Client provisioning and management for over-the-air installation of the MEM client on the device, provisioning of the client settings, and revocation of client privileges. * Messaging enablers for out-of-band notification, where out-of- band notifications that are server-to-client event exchanges are not transported by the MEM protocol but via other channels. * Billing, charging, and so on. OMA identifies different interfaces: o ME-1: MEM client interface to interact via the MEM protocol with the MEM server. o ME-2: Corresponding interface of the MEM server. o ME-3: Out-of-band MEM server interfaces; for example, to support generation of server-to-client notifications. o ME-4: Out-of-band MEM client interfaces (e.g., to receive server- to-client notifications). o ME-5: Interface for management of MEM enabler server settings, user preferences, and filters, globally and per account. The MEM server enables an email server. In a particular implementation, the email server may be packaged with (internal to it) the MEM server or be a separate component. In such cases, interfaces to the email server are out of scope of the OMA MEM specifications. In the present document, we focus on the case where the backend consists of IETF IMAP and SUBMIT servers. However, we also discuss the relationship to other cases. The I2 interface is an OMA notation to designate protocol / interfaces that are not specified by the MEM enabler but may be standardized elsewhere. MEM-arch] further identifies deployment models.
MEM-arch] identifies OMA MEM server proxies as server components that may be deployed ahead of firewalls to facilitate firewall traversal.
MEM-ts]. LEMONADE is a basis for the mechanism. However, some additional details that are outside the scope of the IETF will also be included. OMA provides ways to perform provisioning via OMA client provisioning and device management. Other provisioning specifications are available (e.g., SMS based). OMA provides enablers to support out-of-band notification mechanisms, filter specifications (such as XDM), and remote deactivate devices, and to perform other non-Internet activities. PROFILE-bis] with the logical architecture represented in Figure 2, where arrows indicate content flows. ______________ | | _________| Notification | | | Mechanism | | |______________| |Notif. ^ |Protocol | | ___|______ | | | _____ __v__ IMAP | LEMONADE | ESMTP | | | |<----------->| IMAP |<---------------| MTA | | MUA |- | Store | |_____| |_____| \ |__________| \ | \ |URLAUTH \SUBMIT | \ ____v_____ \ | | _____ \ | LEMONADE | ESMTP | | ---->| Submit |--------------->| MTA | | Server | |_____| |__________| Figure 2: LEMONADE logical architecture
The LEMONADE profile [PROFILE] assumes: o IMAP protocol [RFC3501], including LEMONADE profile extensions [PROFILE]. o SUBMIT protocol [RFC4409], including LEMONADE profile extensions. o LEMONADE profile compliant IMAP store connected to an MTA (Mail Transfer Agent) via the ESMTP [EMAIL]. o LEMONADE profile compliant submit server connected to an MTA, often via the ESMTP. o Out-of-band server-to-client notifications relying on external notification mechanisms (and notification protocols) that may be out of the scope of the LEMONADE profile. o LEMONADE-aware MUA (Mail User Agent). While use of out-of-band notification is described in the LEMONADE profile, support for the underlying notifications mechanisms/protocols is out of the scope of the LEMONADE specifications. Further details on the IETF email protocol stack and architecture can be found in [MAIL]. Figure 3 illustrates the mapping of the IETF LEMONADE logical architecture on the OMA MEM logical architecture.
_____________________ | Other_Mob. Enablers | | |--------------| | _________| Notification | | | | | Mechanism | | | | |______________| | |Notif. |____________^________| |Protocol ______|__________ ME-4 | | ___|_ME-3_ | ___|____ | | | | _____ | __v__ | IMAP | | LEMONADE | | ESMTP | | || |<----------->| IMAP |<-----------| MTA | || MUA || ME-2a | | Store | | |_____| ||_____||\ME-1 | |__________| | | MEM | \ | | | | Client| \ | |URLAUTH | |_______| \SUBMIT | | \ | ____v_____ | \ | | | | _____ \ | | LEMONADE | | ESMTP | | ---->| Submit |----------->| MTA | ME-2b | | Server | | |_____| | |__________| | |MEM Email | |Server Server| |_________________| ^ |ME-5 | Figure 3: Mapping of LEMONADE Logical Architecture onto the OMA MEM Logical Architecture As described in Section 3, the LEMONADE profile assumes LEMONADE profile compliant IMAP stores and SUBMIT servers. Because the LEMONADE profile extends the IMAP store and the SUBMIT server, the mobile enablement of email provided by the LEMONADE profile is directly provided in these servers. Mapping to the OMA MEM logical architecture for the case considered and specified by the LEMONADE profile, we logically combine the MEM server and email server. However, in LEMONADE we split them logically into a distinct LEMONADE message store and a LEMONADE SUBMIT server. ME-2 consists of two interfaces. ME-2a is IMAP extended according to the LEMONADE profile. ME-2b is SUBMIT extended according to the LEMONADE profile. The MUA is part of the MEM client.
The external notifications mechanism is part of the OMA enablers specified by the OMA. Figure 4 illustrates the case of IMAP servers that are not LEMONADE- compliant. In such case, the I2 interface between the MEM server components and the IMAP store and SUBMIT server are IMAP and SUBMIT without LEMONADE extensions. It is important to note the realizations are of a schematic nature and do not dictate actual implementation. For example, one could envision collocating the LEMONADE MEM enabler server and the submit server shown in Figure 4 in a single instantiation of the implementation. Likewise, we consciously label the LEMONADE MEM enabler as neither an IMAP proxy nor an IMAP back-to-back user agent. LEMONADE leaves the actual implementation to the developer.
______________ | | _________| Notification | | | Mechanism | | |______________| |Notif. ^ |Protocol | | ___|______ _____________ | | LEMONADE | | | _____ __v__ IMAP | MEM | IMAP |NON-LEMONADE | ESMTP | | | |<--------->|Enabler |<------>|IMAP |<----->| MTA | | MUA |\ ME-2a | Server | |Store | |_____| |_____| \ |__________| |_____________| \ | \ |URLAUTH \SUBMIT | \ ____v_____ _____________ \ | | | | _____ \ | LEMONADE | SUBMIT |NON-LEMONADE | ESMTP | | -->| MEM | |Submit | | | | Enabler |------->|Server |------>| MTA | ME-2b | Server | | | |_____| |__________| |_____________| Figure 4: Architecture to Support Non-LEMONADE IMAP Servers with a LEMONADE Realization of an OMA MEM Enabler Figure 5 illustrates the cases where the message store and submit servers are not IMAP store or submit servers. They may be Post Office Protocol (POP3) servers or other proprietary message stores.
______________ | | _________| Notification | | | Mechanism | | |______________| |Notif. ^ |Protocol | | ___|______ _____________ | | LEMONADE | | | _____ __v__ IMAP | MEM | I2 |Proprietary | ESMTP | | | |<--------->|Enabler |<------>|Message |<----->| MTA | | MUA |\ ME-2a | Server | |Store | |_____| |_____| \ |__________| |_____________| \ | \ |URLAUTH \SUBMIT | \ ____v_____ _____________ \ | | | | _____ \ | LEMONADE | I2 |Proprietary | ESMTP | | -->| MEM | |Submit | | | | Enabler |------->|Server |------>| MTA | ME-2b | Server | | | |_____| |__________| |_____________| Figure 5: Architecture to Support Non-IMAP Servers with a LEMONADE Realization of OMA MEM Enabler I2 designates proprietary adapters to the backends. MEM-req] and Architecture [MEM-arch] emphasize the need to provide mechanisms for server-to-client notifications of email events and filtering. Figure 6 illustrates how notification and filtering works in the LEMONADE profile [PROFILE].
______________ | | _________| Notification | | | Mechanism | | |______________| |Notif. ^ |Protocol -------\ _|__ | ______| ___\>|NF|____ | | | ---- | _____ __v__| IMAP |__ LEMONADE |___ ESMTP __| | | |<-------->|VF| IMAP |DF |<--------|AF| MTA | | MUA |\ ME-2a |-- Store |--- --|_____| |_____| \ |_____________| ^ \_\_______________|_______| \ |URLAUTH \SUBMIT | \ ____v_____ \ | | _____ \ | LEMONADE | ESMTP | | ---->| Submit |--------------->| MTA | ME-2b | Server | |_____| |__________| Figure 6: Filtering Mechanism Defined in LEMONADE Architecture In Figure 6, we define four categories of filters: o AF: Administrative Filters - The email service provider usually sets administrative filters. The user typically does not configure AF. AF applies policies covering content filtering, virus protection, spam filtering, etc. o DF: Deposit Filters - Filters that are executed on deposit of new emails. They can be defined as SIEVE filters [SIEVE]. They can include vacation notices [RFC5230]. As SIEVE filters, one can administer them using the SIEVE management protocol [MANAGESIEVE]. o VF: View Filters - Filters that define which emails are visible to the MUA. View filters can be performed via IMAP using the facilities described in [NOTIFICATIONS]. o NF: Notification Filters - Filters that define for what email server event an out-of-band notification is sent to the client, as described in [NOTIFICATIONS]. Refer to the aforementioned references for implementation and management of the respective filters.
PROFILE-bis] by Stephane Maes, Alexey Melnikov, and Dave Cridland, as well as sections of [NOTIFICATIONS] by Stephane Maes and Ray Cromwell. [EMAIL] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, October 2008. [MAIL] Crocker, D., "Internet Mail Architecture", Work in Progress, October 2008. [MANAGESIEVE] Melnikov, A. and T. Martin, "A Protocol for Remotely Managing Sieve Scripts", Work in Progress, January 2009. [MEM-arch] Open Mobile Alliance, "Mobile Email Architecture Document", OMA, http://member.openmobilealliance.org/ftp/ public_documents/mwg/MEM/Permanent_documents/ OMA-AD-Mobile_Email-V1_0_0-20070614-D.zip, June 2007.
[MEM-req] Open Mobile Alliance, "Mobile Email Requirements Document", OMA, http://www.openmobilealliance.org/, Oct 2005. [MEM-ts] Open Mobile Alliance, "Mobile Email Technical Specification", OMA, Work in Progress, http://www.openmobilealliance.org/, Oct 2007. [NOTIFICATIONS] Gellens, R. and S. Maes, "Lemonade Notifications Architecture", Work in Progress, July 2008. [PROFILE] Maes, S. and A. Melnikov, "Internet Email to Support Diverse Service Environments (Lemonade) Profile", RFC 4550, June 2006. [PROFILE-bis] Cridland, D., Melnikov, A., and S. Maes, "The Lemonade Profile", Work in Progress, September 2008. [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003. [RFC4409] Gellens, R. and J. Klensin, "Message Submission for Mail", RFC 4409, April 2006. [RFC5230] Showalter, T. and N. Freed, "Sieve Email Filtering: Vacation Extension", RFC 5230, January 2008. [SIEVE] Guenther, P. and T. Showalter, "Seive: An Email Filtering Language", RFC 5228, January 2008.