RFC 5442
LEMONADE Architecture - Supporting Open Mobile Alliance (OMA) Mobile Email (MEM) Using Internet Mail
RFC 5442: LEMONADE Architecture - Supporting Open Mobile Alliance (OMA) Mobile Email (MEM) Using Internet Mail π
Okay bestie, let's start with the basics β¨ This is RFC 5442, published by the Network Working Group in March 2009. It was written by E. Burger (a consultant) and G. Parsons (from Nortel Networks). It's filed as Informational, which means it's giving the Internet community some info and is not setting an Internet standard π The title block doesn't list any RFCs that it obsoletes or updates, so there's no drama there π«Ά
Status of This Memo π¦
So this memo is just here to give info to the Internet community. It does not specify an Internet standard of any kind, and distribution is unlimited, so share it with whoever you want π
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, as they stand on the day this document was published. You can read those at http://trustee.ietf.org/license-info. Please actually read them carefully, because they spell out your rights and restrictions for this document π
Heads up, this document may contain material from IETF Documents or IETF Contributions that were published or made publicly available before November 10, 2008. The people who control the copyright in some of that material may not have given the IETF Trust permission to allow modifications outside the IETF Standards Process. So unless you get an adequate license from those copyright holders, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be made outside the IETF Standards Process either. The one exceptions are formatting it for publication as an RFC or translating it into languages other than English π
Abstract β¨
This document lays out the architecture for mobile email, the way the Open Mobile Alliance (OMA) describes it, using Internet Mail protocols. This architecture was a big deal for a lot of the work of the LEMONADE (Enhancements to Internet email to Support Diverse Service Environments) working group in the IETF π The document also shows how the LEMONADE architecture meets OMA's requirements for their Mobile Email (MEM) service π§
Table of Contents π
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
1. Introduction π·
This document is all about the architecture of OMA Mobile Email (MEM) using the Internet Mail protocols that the IETF defines. The LEMONADE working group has upgraded a bunch of these protocols so they work nicely in the mobile environment π± The LEMONADE profile [PROFILE] and its revision, [PROFILE-bis], are the go-to summaries of those protocols and how to use them. This document shows how the OMA MEM Requirements document [MEM-req], the OMA MEM Architecture [MEM-arch], and the OMA MEM Technical Specification [MEM-ts] connect to the LEMONADE work in the IETF π
2. OMA Mobile Email (MEM) π
The OMA Mobile Email (MEM) sub-working group spent a good chunk of time studying the requirements and architecture of mobile email. IETF LEMONADE has been in touch with them the whole time, and a lot of its Internet Mail enhancements come straight from their input π«Ά This section sums up what OMA came up with.
2.1. OMA MEM Requirements π
The OMA MEM activity gathered a set of use cases and worked out requirements for a Mobile Email (MEM) enabler. The OMA MEM Requirements document [MEM-req] summarizes all of that. Some requirements are about email protocols, some involve other OMA technologies that are outside the scope of the IETF, and some are about implementations and normative interoperability statements for clients and servers π
2.2. OMA MEM Architecture ποΈ
This section introduces the OMA MEM Architecture.
2.2.1. OMA MEM Logical Architecture π§
The OMA MEM activity came up with a logical architecture based on the requirements and use cases described in [MEM-req]. For illustration, here's a simplified version in Figure 1, where the arrows show which way the 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 has the following pieces, bestie π
- The MEM client, which handles the client-side stuff for the OMA Mobile Email enabler. It also runs the mobile email experience and the interface the user sees, and it stores the email and data that needs to go to the MEM server while it's not connected π±
- The MEM server, which handles the server-side stuff for the OMA Mobile Email (MEM) enabler π₯οΈ
- The MEM protocol, which runs between the MEM client and MEM server. It handles all the in-band data exchanges happening between them. That means updating the MEM client with email server changes, updating the email server with changes from the MEM client, and sending new email from the email server π
- Other OMA enablers that the Mobile Email enabler needs to directly support. They're out of the scope of the IETF, but they might include support for:
- Client provisioning and management, which covers 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 the server-to-client event exchanges aren't carried by the MEM protocol and go through other channels instead π
- Billing, charging, and so on πΈ
OMA identifies these different interfaces π¦
ME-1: the MEM client interface, which talks to the MEM server through the MEM protocol.ME-2: the matching interface on the MEM server.ME-3: out-of-band MEM server interfaces, for example to support generating server-to-client notifications.ME-4: out-of-band MEM client interfaces, for example to receive server-to-client notifications.ME-5: the interface for managing MEM enabler server settings, user preferences, and filters, both globally and per account βοΈ
The MEM server enables an email server. In a particular implementation, the email server might be packaged inside the MEM server or be a separate component. In those cases, the interfaces to the email server are out of scope for the OMA MEM specifications. In this document, we focus on the case where the backend is made up of IETF IMAP and SUBMIT servers, but we also talk about how it relates to other cases π The I2 interface is an OMA notation for protocols and interfaces that the MEM enabler doesn't specify but that might get standardized somewhere else.
2.2.2. OMA MEM Deployment Issues π
The OMA MEM Architecture document [MEM-arch] goes further and identifies deployment models.
2.2.2.1. OMA MEM Proxy π‘οΈ
The OMA MEM Architecture document [MEM-arch] identifies OMA MEM server proxies as server components that might be deployed in front of firewalls to help with firewall traversal.
2.2.2.2. OMA MEM Deployment Cases π
OMA MEM notes that each component (the MEM client, the MEM servers, other enablers, and the email server) might be deployed in different domains, possibly separated by firewalls and other network intermediaries. MEM proxies might be involved in front of a firewall that protects the MEM server domain π§±
OMA MEM aims to support configurations where:
- Every component is in the same domain, such as in a mobile operator.
- The MEM client and other enablers are in the mobile operator domain, there's a MEM proxy, and the MEM server and email server are in the domain of the email service provider.
- The MEM client and other enablers, plus a MEM proxy, are in the mobile operator domain, and the MEM server and email server are in the domain of the email service provider.
- The MEM client and other enablers are in the mobile operator domain, a MEM proxy is in a third-party service provider domain, and the MEM server and email server are in the domain of the email service provider.
- The MEM client, other enabler, and MEM server are in the mobile operator domain, and the email server is in the domain of the email service provider.
- The MEM client and other enablers are in the mobile operator domain, the MEM server is in a third-party service provider domain, and the email server is in the domain of the email service provider.
The email service provider can be a third-party service provider, a network service provider, or an enterprise email service πΌ
2.3. OMA MEM Technical Specification π
The OMA MEM activity will wrap up with a specification for a Mobile Email (MEM) enabler. The work in progress lives in the OMA MEM Technical Specification [MEM-ts]. LEMONADE is the basis for the mechanism, but some extra details that are outside the scope of the IETF will also be included β¨
OMA provides ways to do provisioning through OMA client provisioning and device management. Other provisioning specifications are available too, for example SMS-based ones π²
OMA also provides enablers for out-of-band notification mechanisms, filter specifications (such as XDM), and remote deactivation of devices, plus other non-Internet activities π₯
3. IETF LEMONADE Architecture β¨
okay so this section is where the LEMONADE vibe really kicks in π It introduces the LEMONADE Architecture, and it's giving clean, organized, everything-in-its-lane energy.
The IETF LEMONADE activity came up with a LEMONADE profile [PROFILE-bis] with the logical architecture in Figure 2 below. The arrows show where the 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] is built on top of a few things π
- IMAP [RFC3501], with LEMONADE profile extensions [PROFILE] layered on.
- SUBMIT [RFC4409], also with LEMONADE profile extensions.
- A LEMONADE profile compliant IMAP store hooked up to an MTA (Mail Transfer Agent) over ESMTP [EMAIL].
- A LEMONADE profile compliant submit server hooked up to an MTA, often over ESMTP.
- Out-of-band server-to-client notifications that rely on external notification mechanisms (and notification protocols), which may be outside the scope of the LEMONADE profile.
- A LEMONADE-aware MUA (Mail User Agent). The LEMONADE profile describes how out-of-band notification is used, but the notification mechanisms and protocols underneath it are out of scope for the LEMONADE specs π«Ά
If you want the whole IETF email protocol stack and architecture, check out [MAIL] πΈ
3.1. Relationship between the OMA MEM and LEMONADE Logical Architectures
Figure 3 shows how the IETF LEMONADE logical architecture maps onto the OMA MEM logical architecture. This is where the two worlds meet π§
_____________________
| 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
Like we covered in Section 3, the LEMONADE profile assumes compliant IMAP stores and SUBMIT servers. Since the profile extends both the IMAP store and the SUBMIT server, the mobile email enablement the profile provides lives directly in those servers, which is so clean π
When you map this onto the OMA MEM logical architecture for the case the LEMONADE profile covers, the MEM server and the email server are logically combined. But in LEMONADE, we split them into a separate LEMONADE message store and a LEMONADE SUBMIT server. Splitting them is a whole mood π
ME-2 is made 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 counts as one of the OMA enablers, as specified by the OMA β¨
3.2. LEMONADE Realization of OMA MEM with non-LEMONADE-Compliant Servers
OMA MEM isn't only about LEMONADE-compliant servers. It explicitly calls out the need to support other backends too π That's obviously outside the scope of the IETF LEMONADE activity, so no spoilers here, it's just a different lane π
3.2.1. LEMONADE Realization of OMA MEM with non-LEMONADE IMAP Servers
Figure 4 covers the case of IMAP servers that aren't LEMONADE-compliant. In that case, the I2 interface between the MEM server components and the IMAP store and SUBMIT server is plain IMAP and SUBMIT, without the LEMONADE extensions π¦
These realizations are schematic and don't dictate an actual implementation. For example, you could imagine collocating the LEMONADE MEM enabler server and the submit server from Figure 4 in a single instance of the implementation. We also intentionally label the LEMONADE MEM enabler as neither an IMAP proxy nor an IMAP back-to-back user agent. LEMONADE leaves the actual implementation up 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
3.2.2. LEMONADE Realization of OMA MEM with non-IMAP Servers
Figure 5 shows the cases where the message store and submit servers aren't IMAP store or submit servers. They might 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 is the name for proprietary adapters to the backends π₯
4. Filters and Server-to-Client Notifications and LEMONADE β¨
OMA MEM Requirements [MEM-req] and Architecture [MEM-arch] both stress the need for mechanisms that send server-to-client notifications of email events and handle filtering. Figure 6 shows how notification and filtering work 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
Figure 6 defines four categories of filters π
- AF: Administrative Filters. The email service provider usually sets these, so the user typically doesn't configure AF. AF covers policies for content filtering, virus protection, spam filtering, and so on.
- DF: Deposit Filters. These run when new emails are deposited. They can be defined as SIEVE filters [SIEVE], and they can include vacation notices [RFC5230]. Since they're SIEVE filters, you can manage them with the SIEVE management protocol [MANAGESIEVE] π¦
- VF: View Filters. These decide which emails are visible to the MUA. View filters can be done over IMAP using the facilities described in [NOTIFICATIONS].
- NF: Notification Filters. These decide which email server events trigger an out-of-band notification to the client, as described in [NOTIFICATIONS] π
For implementation and management of each filter, go check the references above π«Ά
5. Security Considerations π
okay bestie, security time, and honestly this section is giving "heads up, things could get messy" π we're not going to solve everything here, but we absolutely need to flag the risky stuff. π
We note there are security risks associated with:
- Out-of-band notifications π
- Server configuration by client π οΈ
- Client configuration by server π οΈ
- Presence of MEM proxy servers π΅οΈ
- Presence of MEM servers as intermediaries π΅οΈ
- Measures to address the need to traverse firewalls π§±
We refer the reader to the relevant Internet Mail, IMAP, SUBMIT, and Lemonade documents for how we address these issues. So go check those docs, they've got the receipts πβ¨
6. Acknowledgements π«Ά
The authors acknowledge and appreciate the work and comments of the IETF LEMONADE working group and the OMA MEM working group. The whole crew deserves a big group hug for this one π§π
We extracted the contents of this document from sections of [PROFILE-bis] by Stephane Maes, Alexey Melnikov, and Dave Cridland, as well as sections of [NOTIFICATIONS] by Stephane Maes and Ray Cromwell. Shoutout to them for the glow-up π
7. Informative References π
- [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.
Authors' Addresses π
Eric W. Burger Consultant New Hampshire USA
Phone: Fax: +1 530-267-7447 EMail: eburger@standardstrack.com URI: http://www.standardstrack.com
Glenn Parsons Nortel Networks 3500 Carling Avenue Ottawa, ON K2H 8E9 Canada
Phone: +1 613 763 7582 EMail: gparsons@nortel.com π
π¦ where this page comes from
- ietf: rfc5442 2009-03
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms