Skip to main content

Secure Connectivity and Mobility Using Mobile IPv4 and IKEv2 Mobility and Multihoming (MOBIKE)
RFC 5266 also known as BCP 136

Document Type RFC - Best Current Practice (June 2008)
Authors Pasi Eronen , Vijay Devarapalli
Last updated 2015-10-14
RFC stream Internet Engineering Task Force (IETF)
Formats
Additional resources Mailing list discussion
IESG Responsible AD Jari Arkko
Send notices to (None)
RFC 5266
Network Working Group                                     V. Devarapalli
Request for Comments: 5266                                      Wichorus
BCP: 136                                                       P. Eronen
Category: Best Current Practice                                    Nokia
                                                               June 2008

        Secure Connectivity and Mobility Using Mobile IPv4 and
                IKEv2 Mobility and Multihoming (MOBIKE)

Status of This Memo

   This document specifies an Internet Best Current Practices for the
   Internet Community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

Abstract

   Enterprise users require mobility and secure connectivity when they
   roam and connect to the services offered in the enterprise.  Secure
   connectivity is required when the user connects to the enterprise
   from an untrusted network.  Mobility is beneficial when the user
   moves, either inside or outside the enterprise network, and acquires
   a new IP address.  This document describes a solution using Mobile
   IPv4 (MIPv4) and mobility extensions to IKEv2 (MOBIKE) to provide
   secure connectivity and mobility.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Solution Overview  . . . . . . . . . . . . . . . . . . . . . .  4
     3.1.  Access Modes . . . . . . . . . . . . . . . . . . . . . . .  6
       3.1.1.  Access Mode: 'c' . . . . . . . . . . . . . . . . . . .  6
       3.1.2.  Access Mode: 'f' . . . . . . . . . . . . . . . . . . .  6
       3.1.3.  Access Mode: 'mc'  . . . . . . . . . . . . . . . . . .  6
     3.2.  Mobility within the Enterprise . . . . . . . . . . . . . .  7
     3.3.  Mobility When outside the Enterprise . . . . . . . . . . .  7
     3.4.  Crossing Security Boundaries . . . . . . . . . . . . . . .  7
       3.4.1.  Operation When Moving from an Untrusted Network  . . .  8
       3.4.2.  Operation When Moving from a Trusted Network . . . . .  9
   4.  NAT Traversal  . . . . . . . . . . . . . . . . . . . . . . . . 10
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   6.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 10
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
     7.1.  Normative References . . . . . . . . . . . . . . . . . . . 11
     7.2.  Informative References . . . . . . . . . . . . . . . . . . 11
   Appendix A.  Applicability to a Mobile Operator Network  . . . . . 13

Devarapalli & Eronen     Best Current Practice                  [Page 1]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

1.  Introduction

   A typical enterprise network consists of users connecting to the
   services from a trusted network (intranet), and from an untrusted
   network (Internet).  The trusted and untrusted networks are typically
   separated by a demilitarized zone (DMZ).  Access to the intranet is
   controlled by a firewall and a Virtual Private Network (VPN) gateway
   in the DMZ.

   Enterprise users, when roaming on untrusted networks, most often have
   to authenticate themselves to the VPN gateway and set up a secure
   tunnel in order to access the intranet.  The use of IPsec VPNs is
   very common to enable such secure connectivity to the intranet.  When
   the user is on the trusted network, VPNs are not used.  However, the
   users benefit tremendously when session mobility between subnets,
   through the use of Mobile IPv4, is available.

   There has been some work done on using Mobile IPv4 and IPsec VPNs to
   provide roaming and secure connectivity to an enterprise [RFC5265]
   [RFC4093].  The solution described in [RFC5265] was designed with
   certain restrictions, including requiring no modifications to the VPN
   gateways, and involves the use of two layers of MIPv4, with one home
   agent inside the intranet and one in the Internet or in the DMZ
   before the VPN gateway.  The per-packet overhead is very high in this
   solution.  It is also challenging to implement and have two instances
   of MIPv4 active at the same time on a mobile node.  However, the
   solution described here is only applicable when Internet Key Exchange
   Protocol version 2 (IKEv2) IPsec VPNs are used.

   This document describes an alternate solution that does not require
   two layers of MIPv4.  The solution described in this document uses
   Mobile IPv4 when the mobile node is on the trusted network and
   MOBIKE-capable IPsec VPNs when the mobile node is on the untrusted
   network.  The mobile node uses the tunnel inner address (TIA) given
   out by the IPsec VPN gateway as the co-located care-of address (CoA)
   for MIPv4 registration.  This eliminates the need for using an
   external MIPv4 home agent and the need for encapsulating the VPN
   tunnel inside a MIPv4 tunnel.

   The following assumptions are made for the solution described in this
   document.

   o  IKEv2 [RFC4306] and IPsec [RFC4301] are used to set up the VPN
      tunnels between the mobile node and the VPN gateway.

   o  The VPN gateway and the mobile node support MOBIKE extensions as
      defined in [RFC4555].

Devarapalli & Eronen     Best Current Practice                  [Page 2]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

   o  When the mobile node is on the trusted network, traffic should not
      go through the DMZ.  Current deployments of firewalls and DMZs
      consider the scenario where only a small amount of the total
      enterprise traffic goes through the DMZ.  Routing through the DMZ
      typically involves stateful inspection of each packet by the
      firewalls in the DMZ.  Moreover, the DMZ architecture assumes that
      the DMZ is less secure than the internal network.  Therefore, the
      DMZ-based architecture allows the least amount of traffic to
      traverse the DMZ, that is, only traffic between the trusted
      network and the external network.  Requiring all normal traffic to
      the mobile nodes to traverse the DMZ would negate this
      architecture.

   o  When the mobile node is on the trusted network and uses a wireless
      access technology, confidentiality protection of the data traffic
      is provided by the particular access technology.  In some
      networks, confidentiality protection MAY be available between the
      mobile node and the first hop access router, in which case it is
      not required at layer 2.

   This document also presents a solution for the mobile node to detect
   when it is on a trusted network, so that the IPsec tunnel can be
   dropped and the mobile node can use Mobile IP in the intranet.

   IPsec VPN gateways that use IKEv1 [RFC2409] are not addressed in this
   document.

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", RFC 2911              IPP/1.1: Model and Semantics        September 2000

      "job-hold-until" (type3 keyword | name(MAX)):
         The client OPTIONALLY supplies this attribute.  The IPP object
         MUST support this Operation attribute in a Restart-Job request,
         if it supports the "job-hold-until" Job Template attribute in
         create operations.  See section 4.2.2.  Otherwise, the IPP
         object NEED NOT support the "job-hold-until" Operation
         attribute in a Restart-Job request.

         If supplied and supported as specified in the Printer's "job-
         hold-until-supported" attribute, the IPP object copies the
         supplied Operation attribute to the Job object, replacing the
         job's previous "job-hold-until" attribute, if present, and
         makes the job a candidate for scheduling during the supplied
         named time period.  See section 4.2.2.

         If supplied, but the value is not supported, the IPP object
         accepts the request, returns the unsupported attribute or value
         in the Unsupported Attributes Group according to section 3.1.7,
         returns the 'successful-ok-ignored-or-substituted-attributes'
         status code, and holds the job indefinitely until a client
         performs a subsequent Release-Job operation.

         If supplied, but the "job-hold-until" Operation attribute
         itself is not supported, the IPP object accepts the request,
         returns the unsupported attribute with the out-of-band
         'unsupported' value in the Unsupported Attributes Group
         according to section 3.1.7, returns the 'successful-ok-
         ignored-or-substituted-attributes' status code, and restarts
         the job, i.e., ignores the "job-hold-until" attribute.

         If the client (1) supplies a value that specifies a time period
         that has already started or the 'no-hold' value (meaning don't
         hold the job) and (2) the IPP object supports the "job-hold-
         until" operation attribute and there are no other reasons to
         hold the job, the IPP object makes the job a candidate for
         processing immediately (see Section 4.2.2).

         If the client does not supply a "job-hold-until" operation
         attribute in the request, the IPP object removes the "job-
         hold-until" attribute, if present, from the job.  If there are
         no other reasons to hold the job, the Restart-Job operation
         makes the job a candidate for processing immediately (see
         Section 4.2.2).

Hastings, et al.            Standards Track                    [Page 77]
RFC 2911              IPP/1.1: Model and Semantics        September 2000

3.3.7.2 Restart-Job Response

   The groups and attributes are the same as for a Cancel-Job response
   (see section 3.3.3.2).

   Note:  In the future an OPTIONAL Modify-Job or Set-Job-Attributes
   operation may be specified that allows the client to modify other
   attributes before releasing the restarted job.

4. Object Attributes

   This section describes the attributes with their corresponding
   attribute syntaxes and values that are part of the IPP model.  The
   sections below show the objects and their associated attributes which
   are included within the scope of this protocol.  Many of these
   attributes are derived from other relevant documents:

      - Document Printing Application (DPA) [ISO10175]
      - RFC 1759 Printer MIB [RFC1759]

   Each attribute is uniquely identified in this document using a
   "keyword" (see section 12.2.1) which is the name of the attribute.
   The keyword is included in the section header describing that
   attribute.

   Note:  Not only are keywords used to identify attributes, but one of
   the attribute syntaxes described below is "keyword" so that some
   attributes have keyword values.  Therefore, these attributes are
   defined as having an attribute syntax that is a set of keywords.

4.1 Attribute Syntaxes

   This section defines the basic attribute syntax types that all
   clients and IPP objects MUST be able to accept in responses and
   accept in requests, respectively.  Each attribute description in
   sections 3 and 4 includes the name of attribute syntax(es) in the
   heading (in parentheses).  A conforming implementation of an
   attribute MUST include the semantics of the attribute syntax(es) so
   identified.  Section 6.3 describes how the protocol can be extended
   with new attribute syntaxes.

   The attribute syntaxes are specified in the following sub-sections,
   where the sub-section heading is the keyword name of the attribute
   syntax inside the single quotes.  In operation requests and responses
   each attribute value MUST be represented as one of the attribute
   syntaxes specified in the sub-section heading for the attribute.  In
   addition, the value of an attribute in a response (but not in a

Hastings, et al.            Standards Track                    [Page 78]
RFC 2911              IPP/1.1: Model and Semantics        September 2000

   request) MAY be one of the "out-of-band" values whose special
   encoding rules are defined in the "Encoding and Transport" document
   [RFC2910].   Standard "out-of-band" values are:

      'unknown': The attribute is supported by the IPP object, but the
         value is unknown to the IPP object for some reason.
      'unsupported': The attribute is unsupported by the IPP object.
         This value MUST be returned only as the value of an attribute
         in the Unsupported Attributes Group.
      'no-value': The attribute is supported by the Printer object, but
         the administrator has not yet configured a value.

   All attributes in a request MUST have one or more values as defined
   in Sections 4.2 to 4.4.  Thus clients MUST NOT supply attributes with
   "out-of-band" values for operations defined in this document.  All
   attributes in a response MUST have one or more values as defined in
   Sections 4.2 to 4.4 or a single "out-of-band" value.

   Most attributes are defined to have a single attribute syntax.
   However, a few attributes (e.g., "job-sheet", "media", "job-hold-
   until") are defined to have several attribute syntaxes, depending on
   the value.  These multiple attribute syntaxes are separated by the
   "|" character in the sub-section heading to indicate the choice.
   Since each value MUST be tagged as to its attribute syntax in the
   protocol, a single-valued attribute instance may have any one of its
   attribute syntaxes and a multi-valued attribute instance may have a
   mixture of its defined attribute syntaxes.

4.1.1 'text'

   A text attribute is an attribute whose value is a sequence of zero or
   more characters encoded in a maximum of 1023 ('MAX"chair", or "participant") for a "VTODO" calendar component.  The
   "REQUEST" method is sent by one of the "Attendees" of an existing
   "VTODO" calendar component to some other individual.

   For the purposes of this description, the "Attendee" delegating the
   "VTODO" calendar component is referred to as the "Delegator".  The
   "Attendee" receiving the delegation request is referred to as the
   "Delegate".

   The "Delegator" of a "VTODO" calendar component MUST forward the
   existing "REQUEST" method for a "VTODO" calendar component to the
   "Delegate".  The "VTODO" calendar component description MUST include
   the "Delegator's" up-to-date "VTODO" calendar component definition.

Daboo                     Expires April 7, 2010                [Page 47]
Internet-Draft                    iTIP                      October 2009

   The "REQUEST" method MUST also include an "ATTENDEE" property with
   the calendar address of the "Delegate".  The "Delegator" MUST also
   send a "REPLY" method back to the "Organizer" with the "Delegator's"
   "Attendee" property "PARTSTAT" parameter value set to "DELEGATED".
   In addition, the "DELEGATED-TO" parameter MUST be included with the
   calendar address of the "Delegate".  A response to the delegation
   "REQUEST" is sent from the "Delegate" to the "Organizer" and
   optionally, to the "Delegator".  The "REPLY" method from the
   "Delegate" SHOULD include the "ATTENDEE" property with their calendar
   address and the "DELEGATED-FROM" parameter with the value of the
   "Delegator's" calendar address.

   The delegation "REQUEST" method MUST assign a value for the "RSVP"
   property parameter associated with the "Delegator's" "Attendee"
   property to that of the "Delegate's" "ATTENDEE" property.  For
   example if the "Delegator's" "ATTENDEE" property specifies
   "RSVP=TRUE", then the "Delegate's" "ATTENDEE" property MUST specify
   "RSVP=TRUE".

3.4.2.4.  REQUEST Forwarded To An Uninvited Calendar User

   An "Attendee" assigned a "VTODO" calendar component may send the
   "VTODO" calendar component to another new CU, not previously
   associated with the "VTODO" calendar component.  The current
   "Attendee" assigned the "VTODO" calendar component does this by
   forwarding the original "REQUEST" method to the new CU.  The new CU
   can send a "REPLY" to the "Organizer" of the "VTODO" calendar
   component.  The reply contains an "ATTENDEE" property for the new CU.

   The "Organizer" ultimately decides whether or not the new CU becomes
   part of the to-do and is not obligated to do anything with a "REPLY"
   from a new (uninvited) CU.  If the "Organizer" does not want the new
   CU to be part of the to-do, the new "ATTENDEE" property is not added
   to the "VTODO" calendar component.  The "Organizer" MAY send the CU a
   "CANCEL" message to indicate that they will not be added to the to-
   do.  If the "Organizer" decides to add the new CU, the new "ATTENDEE"
   property is added to the "VTODO" calendar component.  Furthermore,
   the "Organizer" is free to change any "ATTENDEE" property parameter
   from the values supplied by the new CU to something the "Organizer"
   considers appropriate.  The "Organizer" SHOULD send the new attendee
   a "REQUEST" message to inform them that they have been added.

   When forwarding a "REQUEST" to another CU, the forwarding "Attendee"
   MUST NOT make changes to the original message.

Daboo                     Expires April 7, 2010                [Page 48]
Internet-Draft                    iTIP                      October 2009

3.4.2.5.  REQUEST Updated Attendee Status

   An "Organizer" of a "VTODO" may request an updated status from one or
   more "Attendees".  The "Organizer" sends a "REQUEST" method to the
   "Attendee" with the "ATTENDEE;RSVP=TRUE" property sequence.  The
   "SEQUENCE" property for the "VTODO" is not changed from its previous
   value.  A recipient determines that the only change in the "REQUEST"
   is that their "RSVP" property parameter indicates a request for an
   updated status.  The recipient SHOULD respond with a "REPLY" method
   indicating their current status with respect to the "REQUEST".

3.4.3.  REPLY

   The "REPLY" method in a "VTODO" calendar component is used to respond
   (e.g., accept or decline) to a request or to reply to a delegation
   request.  It is also used by an "Attendee" to update their completion
   status.  When used to provide a delegation response, the "Delegator"
   MUST include the calendar address of the "Delegate" in the
   "DELEGATED-TO" parameter of the "Delegator's" "ATTENDEE" property.
   The "Delegate" MUST include the calendar address of the "Delegator"
   on the "DELEGATED-FROM" parameter of the "Delegate's" "ATTENDEE"
   property.

   The "REPLY" method MAY also be used to respond to an unsuccessful
   "VTODO" calendar component "REQUEST" method.  Depending on the
   "REQUEST-STATUS" value, no scheduling action may have been performed.

   The "Organizer" of a "VTODO" calendar component MAY receive a "REPLY"
   method from a "Calendar User" not in the original "REQUEST".  For
   example, a "REPLY" method MAY be received from a "Delegate" of a
   "VTODO" calendar component.  In addition, the "REPLY" method MAY be
   received from an unknown "Calendar User", having been forwarded the
   "REQUEST" by an original "Attendee" of the "VTODO" calendar
   component.  This uninvited "Attendee" MAY be accepted, or the
   "Organizer" MAY cancel the "VTODO" calendar component for the
   uninvited "Attendee" by sending them a "CANCEL" method.

   This method type is an iCalendar object that conforms to the
   following property constraints:

               +-------------------------------------------+
               | Constraints for a METHOD:REPLY of a VTODO |
               +-------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be "REPLY"                   |

Daboo                     Expires April 7, 2010                [Page 49]
Internet-Draft                    iTIP                      October 2009

   |                    |          |                                   |
   | VTODO              | 1+       | All component MUST have the same  |
   |                    |          | UID                               |
   |   ATTENDEE         | 1        | MUST be the address of the        |
   |                    |          | Attendee replying.                |
   |   DTSTAMP          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   REQUEST-STATUS   | 0+       |                                   |
   |   UID              | 1        | MUST be the UID of the original   |
   |                    |          | REQUEST                           |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   |                                   |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present DURATION MUST NOT be   |
   |                    |          | present                           |
   |   DURATION         | 0 or 1   | If present DUE MUST NOT be        |
   |                    |          | present                           |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   PRIORITY         | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise it MUST NOT |
   |                    |          | be present.                       |
   |   SEQUENCE         | 0 or 1   | MUST be the sequence number of    |
   |                    |          | the original REQUEST if greater   |
   |                    |          | than 0.  MAY be present if 0.     |
   |   STATUS           | 0 or 1   |                                   |
   |   SUMMARY          | 0 or 1   | Can be null                       |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |

Daboo                     Expires April 7, 2010                [Page 50]
Internet-Draft                    iTIP                      October 2009

   | VTIMEZONE          | 0 or 1   | MUST be present if any date/time  |
   |                    |          | refers to a timezone              |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.4.  ADD

   The "ADD" method allows the "Organizer" to add one or more new
   instances to an existing "VTODO" using a single iTIP message without
   having to send the entire "VTODO" with all the existing instance
   data, as it would have to do if the "REQUEST" method were used.

   The "UID" must be that of the existing to-do.  If the "UID" property
   value in the "ADD" is not found on the recipient's calendar, then the
   recipient SHOULD send a "REFRESH" to the "Organizer" in order to be
   updated with the latest version of the "VTODO".  If an "Attendee"
   implementation does not support the "ADD" method it should respond
   with a "REQUEST-STATUS" value of 3.14 and ask for a "REFRESH".

   When handling an "ADD" message, the "Attendee" treats each component
   in the "ADD" message as if it were referenced via an "RDATE"in the
   main component.

   The "SEQUENCE" property value is incremented as the sequence of to-
   dos has changed.

   This method type is an iCalendar object that conforms to the
   following property constraints:

                +-----------------------------------------+
                | Constraints for a METHOD:ADD of a VTODO |
                +-----------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be "ADD"                     |
   |                    |          |                                   |
   | VTODO              | 1        |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   PRIORITY         | 1        |                                   |

Daboo                     Expires April 7, 2010                [Page 51]
Internet-Draft                    iTIP                      October 2009

   |   SEQUENCE         | 1        | MUST be greater than 0            |
   |   SUMMARY          | 1        | Can be null                       |
   |   UID              | 1        | MUST match that of the original   |
   |                    |          | to-do                             |
   |   ATTACH           | 0+       |                                   |
   |   ATTENDEE         | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   | Can be null                       |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present DURATION MUST NOT be   |
   |                    |          | present                           |
   |   DURATION         | 0 or 1   | If present DUE MUST NOT be        |
   |                    |          | present                           |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   STATUS           | 0 or 1   | MAY be one of                     |
   |                    |          | COMPLETED/NEEDS-ACTION/           |
   |                    |          | IN-PROCESS                        |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   EXDATE           | 0        |                                   |
   |   RECURRENCE-ID    | 0        |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |   RDATE            | 0        |                                   |
   |   RRULE            | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0+       |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0+       | MUST be present if any date/time  |
   |                    |          | refers to a timezone              |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VJOURNAL           | 0        |                                   |
   |                    |          |                                   |

Daboo                     Expires April 7, 2010                [Page 52]
Internet-Draft                    iTIP                      October 2009

   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.5.  CANCEL

   The "CANCEL" method in a "VTODO" calendar component is used to send a
   cancellation notice of an existing "VTODO" calendar request to the
   affected "Attendees".  The message is sent by the "Organizer" of a
   "VTODO" calendar component to the "Attendees" of the "VTODO" calendar
   component.  For a recurring "VTODO" calendar component, either the
   whole "VTODO" calendar component or instances of a "VTODO" calendar
   component may be cancelled.  To cancel the complete range of a
   recurring "VTODO" calendar component, the "UID" property value for
   the "VTODO" calendar component MUST be specified and a "RECURRENCE-
   ID" MUST NOT be specified in the "CANCEL" method.  In order to cancel
   an individual instance of a recurring "VTODO" calendar component, the
   "RECURRENCE-ID" property value for the "VTODO" calendar component
   MUST be specified in the "CANCEL" method.

   There are two options for canceling a sequence of instances of a
   recurring "VTODO" calendar component:

   a.  the "RECURRENCE-ID" property for an instance in the sequence MUST
       be specified with the "RANGE" property parameter value of
       "THISANDFUTURE" to indicate cancellation of the specified "VTODO"
       calendar component and all instances after
   b.  individual recurrence instances may be cancelled by specifying
       multiple "VTODO" components with a "RECURRENCE-ID" property
       corresponding to one of the instances to be cancelled

   The "Organizer" MUST send a "CANCEL" message to each "Attendee"
   affected by the cancellation.  This can be done using a single
   "CANCEL" message for all "Attendees", or multiple messages with
   different subsets of the affected "Attendees" in each.

   When a "VTODO" is cancelled, the "SEQUENCE" property value MUST be
   incremented as described in Section 2.1.4.

   This method type is an iCalendar object that conforms to the
   following property constraints:

              +--------------------------------------------+
              | Constraints for a METHOD:CANCEL of a VTODO |
              +--------------------------------------------+

Daboo                     Expires April 7, 2010                [Page 53]
Internet-Draft                    iTIP                      October 2009

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be "CANCEL"                  |
   |                    |          |                                   |
   | VTODO              | 1+       |                                   |
   |   ATTENDEE         | 0+       | MUST include some or all          |
   |                    |          | "Attendees" being removed from    |
   |                    |          | the to-do.  MUST include some or  |
   |                    |          | all "Attendees" if the entire     |
   |                    |          | to-do is cancelled.               |
   |   UID              | 1        | MUST echo original UID            |
   |   DTSTAMP          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   SEQUENCE         | 1        |                                   |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   |                                   |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present DURATION MUST NOT be   |
   |                    |          | present                           |
   |   DURATION         | 0 or 1   | If present DUE MUST NOT be        |
   |                    |          | present                           |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise it MUST NOT |
   |                    |          | be present.                       |
   |   RELATED-TO       | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   PRIORITY         | 0 or 1   |                                   |
   |   STATUS           | 0 or 1   | MUST be set to CANCELLED to       |
   |                    |          | cancel the entire VTODO.  If      |
   |                    |          | removing specific "Attendees"     |
   |                    |          | then MUST NOT be included.        |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |

Daboo                     Expires April 7, 2010                [Page 54]
Internet-Draft                    iTIP                      October 2009

   |   X-PROPERTY       | 0+       |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0 or 1   | MUST be present if any date/time  |
   |                    |          | refers to a timezone              |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.6.  REFRESH

   The "REFRESH" method in a "VTODO" calendar component is used by
   "Attendees" of an existing "VTODO" calendar component to request an
   updated description from the "Organizer" of the "VTODO" calendar
   component.  The "Organizer" of the "VTODO" calendar component MAY use
   this method to request an updated status from the "Attendees".  The
   "REFRESH" method MUST specify the "UID" property corresponding to the
   "VTODO" calendar component needing update.

   A refresh of a recurrence instance of a "VTODO" calendar component
   may be requested by specifying the &"SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   Many of the following terms are defined in [RFC5265], but are
   repeated here to make this document self-contained.

   FA:  Mobile IPv4 foreign agent.

   Co-CoA:  co-located care-of address.

   FA-CoA:  foreign agent care-of address.

   FW:  firewall.

   i-FA:  Mobile IPv4 foreign agent residing in the trusted (intranet)
      network.

Devarapalli & Eronen     Best Current Practice                  [Page 3]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

   i-HA:  Mobile IPv4 home agent residing in the trusted (intranet)
      network.

   i-MIP:  The mobile node uses the home agent in the internal network.

   VPN-TIA:  VPN tunnel inner address.  This address is given out by the
      VPN gateway during IKE negotiation and is routable in the trusted
      network.

   mVPN:  VPN with MOBIKE functionality.

   The following access modes are used in explaining the protocol.  The
   access modes are explained in more detail in [RFC5265].

   f: i-MIP with FA-CoA

   c: i-MIP with Co-CoA

   mc:  i-MIP with MOBIKE-enabled VPN, with VPN-TIA as Co-CoA

3.  Solution Overview

   The mobile node is configured with a home address that remains the
   same irrespective of whether the mobile node is inside or outside the
   enterprise network.  The mobile node is also reachable at the same
   home address irrespective of its current point of attachment.  When
   the mobile node is connected to the intranet directly, it uses Mobile
   IP for internal mobility.

   When the mobile node roams and connects to an untrusted network
   outside the enterprise, it sets up a VPN tunnel to the VPN gateway.
   However, it still maintains a valid binding cache entry at the i-HA.
   It uses the VPN-TIA, allocated by the VPN gateway, as the co-located
   CoA for registration with the i-HA.  If the VPN-TIA changes or if the
   mobile node moves and connects to another VPN gateway, then it sends
   a Registration Request to the i-HA using the new co-located CoA.

   If the mobile node moves while outside the enterprise and its access
   network changes, it uses the MOBIKE protocol to update the VPN
   gateway of its current address.  The internal home agent is not aware
   of the mobile node's movement as long as the mobile node is attached
   to the same VPN gateway and the TIA remains the same.

   Figure 1 depicts the network topology assumed for the solution.  It
   also shows the possible mobile node locations and access modes.

Devarapalli & Eronen     Best Current Practice                  [Page 4]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

                                             {home} (MN)   [i-HA]
                                                      \     /
                                                     .-+---+-.
                                                    (         )
                                   [mVPN]            `--+----'
                                     !                  !
                                  .--+--.              [R]
                                 (  DMZ  )              !
           .-+-------+--.         `--+--'         .-----+------.
          (              )           !           (              )
          ( external net +---[R]----[FW]----[R]--+ internal net )
          (              )                       (              )
           `--+---------'                         `---+---+----'
             /                                       /     \
   [DHCP]  [R]                              [DHCP] [R]     [R]    [i-FA]
      \    /                                   \   /         \    /
      .+--+---.                               .-+-+--.     .--+--+-.
     (         )                             (        )   (         )
      `---+---'                               `--+---'     `---+---'
          !                                      !             !
         (MN) {mc}                             (MN) {c}      (MN) {f}

             Figure 1: Network Topology Using MIPv4 and MOBIKE

   The solution described above results in a Mobile IP tunnel inside an
   IPsec tunnel.  The Mobile IP tunnel is between the mobile node and
   the home agent, and the IPsec tunnel is between the mobile node (MN)
   and the mVPN gateway.  The mobile node MUST reverse tunnel through
   the home agent [RFC3024] when the Mobile IP tunnel is inside an IPsec
   tunnel.

   The overhead of running a Mobile IP tunnel inside an IPsec tunnel can
   be avoided by having the Mobile IP foreign agent functionality on the
   VPN gateway.  This is out of scope for this document and is further
   described in [MEGHANA].

   Whenever the mobile node attaches to a new link, it may encounter a
   foreign agent.  The mobile node MUST not use the foreign agent
   care-of address with the i-HA when attached to an untrusted access
   network.  The default behavior for the mobile node is to always
   configure an address from the access link using DHCP.  The mobile
   node then checks if it is attached to a trusted access network by
   sending a Registration Request to the i-HA in the co-located care-of
   address mode.  If the mobile node discovers that it is attached to a
   trusted access network, then it MAY start using a foreign agent
   care-of address with the i-HA.  In order to do this, the mobile node
   has to perform a new registration with the i-HA.

Devarapalli & Eronen     Best Current Practice                  [Page 5]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

   The mobile node can use a foreign agent on a untrusted access
   network, if there is an external home agent that the mobile node is
   able to use.  The use of an external home agent in the untrusted
   access network and a home agent in the trusted access network at the
   same time is described in detail in [RFC5265].

   Some IPsec VPN implementations allow a host to send traffic directly
   to the Internet when attached to an untrusted network.  This traffic
   bypasses the IPsec tunnel with the VPN gateway.  This document does
   not prevent such traffic from being sent out from the host, but there
   will be no mobility or session continuity for the traffic.  Any data
   traffic that is sent through the Mobile IP tunnel with the home agent
   is always sent through the VPN gateway.

3.1.  Access Modes

   The following access modes are used in the solution described in this
   document.

3.1.1.  Access Mode: 'c'

   This access mode is standard Mobile IPv4 [RFC3344] with a co-located
   care-of address.  The mobile node must detect that it is connected to
   an internal trusted network before using this mode.  The co-located
   care-of address is assigned by the access network to which the mobile
   node is attached.

3.1.2.  Access Mode: 'f'

   This access mode is standard Mobile IPv4 [RFC3344] with a foreign
   agent care-of address.  The mobile node can use this mode only when
   it detects that it is connected to an internal trusted network and
   also detects a foreign agent on the access network.

3.1.3.  Access Mode: 'mc'

   This access mode involves using both Mobile IPv4 and a MOBIKE-enabled
   IPsec VPN gateway, resulting in a Mobile IP tunnel inside an IPsec
   tunnel.  The mobile node uses the VPN-TIA as the co-located CoA for
   registering with the home agent.  This mode is used only when the
   mobile node is attached to an untrusted network and is required to
   set up an IPsec tunnel with a VPN gateway to gain access to the
   trusted network.

Devarapalli & Eronen     Best Current Practice                  [Page 6]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

3.2.  Mobility within the Enterprise

   When the mobile node is inside the enterprise network and attached to
   the intranet, it uses Mobile IPv4 [RFC3344] for subnet mobility.  The
   mobile node always configures a care-of address through DHCP on the
   access link and uses it as the co-located care-of address.  The
   mobile node MAY use a foreign agent care-of address, if a foreign
   agent is available.  However, the foreign agent care-of address is
   used only when the mobile node is attached to the trusted access
   network.  The mobile node attempts Foreign Agent discovery and CoA
   address acquisition through DHCP simultaneously in order to avoid the
   delay in discovering a foreign agent when there is no foreign agent
   available.  The mobile node maintains a valid binding cache entry at
   all times at the home agent mapping the home address to the current
   CoA.  Whenever the mobile node moves, it sends a Registration Request
   to update the binding cache entry.

   The Mobile IP signaling messages between the mobile node and the home
   agent are authenticated as described in [RFC3344].

   The mobile node maintains a valid binding cache entry at the home
   agent even when it is outside the enterprise network.

3.3.  Mobility When outside the Enterprise

   When the mobile node is attached to an untrusted network, it sets up
   an IPsec VPN tunnel with the VPN gateway to gain access to the
   enterprise network.  If the mobile node moves and its IP address
   changes, it initiates the MOBIKE protocol [RFC4555] to update the
   address on the VPN gateway.

   The mobile node maintains a binding at the home agent even when it is
   outside the enterprise network.  If the TIA changes due to the mobile
   node re-connecting to the VPN gateway or attaching to a different VPN
   gateway, the mobile node should send a Registration Request to its
   home agent to update the binding cache with the new TIA.

3.4.  Crossing Security Boundaries

   Security boundary detection is based on the reachability of the i-HA
   from the mobile node's current point of attachment.  Whenever the
   mobile node detects a change in network connectivity, it sends a
   Registration Request to the i-HA without any VPN encapsulation.  If
   the mobile node receives a Registration Reply with the Trusted
   Networks Configured (TNC) extension from the i-HA, then it assumes
   that it is on a trusted network.  The TNC extension is described in
   [RFC5265].  The mobile node MUST check that the Registration Reply is
   integrity protected using the mobile node-home agent mobility

Devarapalli & Eronen     Best Current Practice                  [Page 7]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

   security association before concluding it is attached to a trusted
   network.  This security boundary detection is based on the mechanism
   described in [RFC5265] to detect attachment to the internal trusted
   network.  The mobile node should re-transmit the Registration Request
   if it does not receive the Registration Reply within a timeout
   period.  The number of times the mobile node should re-transmit the
   Registration Request and the timeout period for receiving the
   Registration Reply are configurable on the mobile node.

   When the mobile node is attached to an untrusted network and is using
   an IPsec VPN to the enterprise network, the ability to send a
   Registration Request to the i-HA without VPN encapsulation would
   require some interaction between the IPsec and MIPv4 modules on the
   mobile node.  This is local to the mobile node and out of scope for
   this document.

   If the mobile node has an existing VPN tunnel to its VPN gateway, it
   MUST send a MOBIKE message at the same time as the registration
   request to the i-HA whenever the IP address changes.  If the mobile
   node receives a response from the VPN gateway, but not from the i-HA,
   it assumes it is outside the enterprise network.  If it receives a
   response from the i-HA, then it assumes it is inside the enterprise
   network.

   There could also be some out-of-band mechanisms that involve
   configuring the wireless access points with some information that the
   mobile node can recognize as access points that belong to the trusted
   network in an enterprise network.  Such mechanisms are beyond the
   scope of this document.

   The mobile node should not send any normal traffic while it is trying
   to detect whether it is attached to the trusted or untrusted network.
   This is described in more detail in [RFC5265].

3.4.1.  Operation When Moving from an Untrusted Network

   When the mobile node is outside the enterprise network and attached
   to an untrusted network, it has an IPsec VPN tunnel with its mobility
   aware VPN gateway, and a valid registration with a home agent on the
   intranet with the VPN-TIA as the care-of address.

   If the mobile node moves and its IP address changes, it performs the
   following steps:

   1a.  Initiate an IKE mobility exchange to update the VPN gateway with
        the current address.  If the new network is also untrusted, this
        will be enough for setting up the connectivity.  If the new
        network is trusted, and if the VPN gateway is reachable, this

Devarapalli & Eronen     Best Current Practice                  [Page 8]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

        exchange will allow the mobile node to keep the VPN state alive
        while on the trusted side.  If the VPN gateway is not reachable
        from inside, then this exchange will fail.

   1b.  At the same time as step 1, send a Mobile IPv4 Registration
        Request to the internal home agent without VPN encapsulation.

    2.  If the mobile node receives a Registration Reply to the request
        sent in step 1b, then the current subnet is a trusted subnet,
        and the mobile node can communicate without VPN tunneling.  The
        mobile node MAY tear down the VPN tunnel.

3.4.2.  Operation When Moving from a Trusted Network

   When the mobile node is inside the enterprise and attached to the
   intranet, it does not use a VPN tunnel for data traffic.  It has a
   valid binding cache entry at its home agent.  If the VPN gateway is
   reachable from the trusted network, the mobile node MAY have valid
   IKEv2 security associations with its VPN gateway.  The IPsec security
   associations can be created when required.  The mobile node may have
   to re-negotiate the IKEv2 security associations to prevent them from
   expiring.

   If the mobile node moves and its IP address changes, it performs the
   following steps:

   1.  Initiate an IKE mobility exchange to update the VPN gateway with
       the current address, or if there is no VPN connection, then
       establish a VPN tunnel with the gateway from the new local IP
       address.  If the new network is trusted, and if the VPN gateway
       is reachable, this exchange will allow the mobile node to keep
       the VPN state alive, while in the trusted side.  If the new
       network is trusted and if the VPN gateway is not reachable from
       inside, then this exchange will fail.

   2.  At the same time as step 1, send a Mobile IPv4 Registration
       Request to the internal home agent without VPN encapsulation.

   3.  If the mobile node receives a Registration Reply to the request
       sent in step 2, then the current subnet is a trusted subnet, and
       the mobile node can communicate without VPN tunneling, using only
       Mobile IP with the new care-of address.

   4.  If the mobile node didn't receive the response in step 3, and if
       the VPN tunnel is successfully established and registered in step
       1, then the mobile node sends a Registration Request over the VPN
       tunnel to the internal home agent.  After receiving a
       Registration Reply from the home agent, the mobile node can start

Devarapalli & Eronen     Best Current Practice                  [Page 9]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

       communicating over the VPN tunnel with the Mobile IP home
       address.

4.  NAT Traversal

   There could be a Network Address Translation (NAT) device between the
   mobile node and the home agent in any of the access modes, 'c', 'f',
   and 'mc', and between the mobile node and the VPN gateway in the
   access mode 'mc'.  Mobile IPv4 NAT traversal, as described in
   [RFC3519], should be used by the mobile node and the home agent in
   access modes 'c' or 'f', when there is a NAT device present.  When
   using access mode, 'mc', IPsec NAT traversal [RFC3947] [RFC3948]
   should be used by the mobile node and the VPN gateway, if there is a
   NAT device present.  Typically, the TIA would be a routable address
   inside the enterprise network.  But in some cases, the TIA could be
   from a private address space associated with the VPN gateway.  In
   such a case, Mobile IPv4 NAT traversal should be used in addition to
   IPsec NAT traversal in the 'mc' mode.

5.  Security Considerations

   Enterprise connectivity typically requires very strong security, and
   the solution described in this document was designed keeping this in
   mind.

   Security concerns related to the mobile node detecting that it is on
   a trusted network and thereafter dropping the VPN tunnel are
   described in [RFC5265].

   When the mobile node sends a Registration Request to the i-HA from an
   untrusted network that does not go through the IPsec tunnel, it will
   reveal the i-HA's address, its own identity including the NAI and the
   home address, and the Authenticator value in the authentication
   extensions to the untrusted network.  This may be a concern in some
   deployments.

   Please see [RFC4555] for MOBIKE-related security considerations, and
   [RFC3519], [RFC3947] for security concerns related to the use of NAT
   traversal mechanisms for Mobile IPv4 and IPsec.

6.  Acknowledgments

   The authors would like to thank Henry Haverinen, Sandro Grech, Dhaval
   Shah, and John Cruz for their participation in developing this
   solution.

Devarapalli & Eronen     Best Current Practice                 [Page 10]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

   The authors would also like to thank Henrik Levkowetz, Jari Arkko, TJ
   Kniveton, Vidya Narayanan, Yaron Sheffer, Hans Sjostrand, Jouni
   Korhonen, and Sami Vaarala for reviewing the document.

7.  References

7.1.  Normative References

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

   [RFC3344]  Perkins, C., "IP Mobility Support for IPv4", RFC 3344,
              August 2002.

   [RFC4555]  Eronen, P., "IKEv2 Mobility and Multihoming Protocol
              (MOBIKE)", RFC 4555, June 2006.

   [RFC4306]  Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",
              RFC 4306, December 2005.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, December 2005.

   [RFC5265]  Vaarala, S. and E. Klovning, "Mobile IPv4 Traversal across
              IPsec-Based VPN Gateways", RFC 5265, June 2008.

7.2.  Informative References

   [RFC4093]  Adrangi, F. and H. Levkowetz, "Problem Statement: Mobile
              IPv4 Traversal of Virtual Private Network (VPN) Gateways",
              RFC 4093, August 2005.

   [RFC3024]  Montenegro, G., "Reverse Tunneling for Mobile IP,
              revised", RFC 3024, January 2001.

   [MEGHANA]  Sahasrabudhe, M. and V. Devarapalli, "Optimizations to
              Secure Connectivity and Mobility", Work in Progress,
              February 2008.

   [RFC3519]  Levkowetz, H. and S. Vaarala, "Mobile IP Traversal of
              Network Address Translation (NAT) Devices", RFC 3519,
              April 2003.

   [RFC3947]  Kivinen, T., Swander, B., Huttunen, A., and V. Volpe,
              "Negotiation of NAT-Traversal in the IKE", RFC 3947,
              January 2005.

Devarapalli & Eronen     Best Current Practice                 [Page 11]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

   [RFC3948]  Huttunen, A., Swander, B., Volpe, V., DiBurro, L., and M.
              Stenberg, "UDP Encapsulation of IPsec ESP Packets",
              RFC 3948, January 2005.

   [RFC2409]  Harkins, D. and D. Carrel, "The Internet Key Exchange
              (IKE)", RFC 2409, November 1998.

Devarapalli & Eronen     Best Current Practice                 [Page 12]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

Appendix A.  Applicability to a Mobile Operator Network

   The solution described in this document can also be applied to a
   Mobile Operator's network when the Operator deploys heterogeneous
   access networks and some of the access networks are considered as
   trusted networks and others as untrusted networks.  Figure 2
   illustrates such a network topology.

                                          +----------------------+
                                          |            +----+    |
                     +----------------+   |            |i-HA|    |
                     |                |   |            +----+    |
             (MN)----+    trusted     +---+                      |
                     | access network |   |   internal network   |
                     +----------------+   |                      |
                                          |                      |
                                          +----------+-----------+
                                                     |
                                                     |
                                                     |
                                                   [mVPN]
                     +----------------+              |
                     |                |              |
             (MN)----+   untrusted    +--------------+
             {mc}    | access network |
                     +----------------+

     Figure 2: Network Topology of a Mobile Operator with Trusted and
                            Untrusted Networks

   An IPsec VPN gateway provides secure connectivity to the Operator's
   internal network for mobile nodes attached to an untrusted access
   network.  The VPN gateway supports MOBIKE extensions so that the
   IPsec tunnels survive any IP address change when the mobile node
   moves while attached to the untrusted access networks.

   When the mobile node is attached to the trusted access network, it
   uses Mobile IP with the i-HA.  It uses the IP address obtained from
   the trusted access network as the co-located care-of address to
   register with the i-HA.  If a foreign agent is available in the
   trusted access network, the mobile node may use a foreign agent
   care-of address.  If the mobile node moves and attaches to an
   untrusted access network, it sets up an IPsec tunnel with the VPN
   gateway to access the Operator's internal network.  It uses the IPsec
   TIA as the co-located care-of address to register with the i-HA
   thereby creating a Mobile IP tunnel inside an IPsec tunnel.

Devarapalli & Eronen     Best Current Practice                 [Page 13]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

   When the mobile node is attached to the trusted access network, it
   can either be attached to a foreign link in the trusted network or to
   the home link directly.  This document does not impose any
   restrictions.

Authors' Addresses

   Vijay Devarapalli
   Wichorus
   3590 North First Street
   San Jose, CA  95134
   USA

   EMail: vijay@wichorus.com

   Pasi Eronen
   Nokia Research Center
   P.O. Box 407
   FIN-00045 Nokia Group
   Finland

   EMail: pasi.eronen@nokia.com

Devarapalli & Eronen     Best Current Practice                 [Page 14]
RFC 5266             MIPv4 and MOBIKE interworking             June 2008

quot;RECURRENCE-ID" property
   corresponding to the associated "VTODO" calendar component.  The
   "Organizer" responds with the latest description and rendition of the
   "VTODO" calendar component.  In most cases this will be a REQUEST
   unless the "VTODO" has been cancelled, in which case the ORGANIZER
   MUST send a "CANCEL".  This method is intended to facilitate machine
   processing of requests for updates to a "VTODO" calendar component.

   This method type is an iCalendar object that conforms to the
   following property constraints:

              +---------------------------------------------+
              | Constraints for a METHOD:REFRESH of a VTODO |
              +---------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be "REFRESH"                 |
   |                    |          |                                   |
   | VTODO              | 1        |                                   |

Daboo                     Expires April 7, 2010                [Page 55]
Internet-Draft                    iTIP                      October 2009

   |   ATTENDEE         | 1        |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   UID              | 1        | MUST echo original UID            |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise it MUST NOT |
   |                    |          | be present.                       |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |   ATTACH           | 0        |                                   |
   |   CATEGORIES       | 0        |                                   |
   |   CLASS            | 0        |                                   |
   |   COMMENT          | 0        |                                   |
   |   COMPLETED        | 0        |                                   |
   |   CONTACT          | 0        |                                   |
   |   CREATED          | 0        |                                   |
   |   DESCRIPTION      | 0        |                                   |
   |   DTSTART          | 0        |                                   |
   |   DUE              | 0        |                                   |
   |   DURATION         | 0        |                                   |
   |   EXDATE           | 0        |                                   |
   |   GEO              | 0        |                                   |
   |   LAST-MODIFIED    | 0        |                                   |
   |   LOCATION         | 0        |                                   |
   |   ORGANIZER        | 0        |                                   |
   |   PERCENT-COMPLETE | 0        |                                   |
   |   PRIORITY         | 0        |                                   |
   |   RDATE            | 0        |                                   |
   |   RELATED-TO       | 0        |                                   |
   |   REQUEST-STATUS   | 0        |                                   |
   |   RESOURCES        | 0        |                                   |
   |   RRULE            | 0        |                                   |
   |   SEQUENCE         | 0        |                                   |
   |   STATUS           | 0        |                                   |
   |   URL              | 0        |                                   |
   |                    |          |                                   |
   |   VALARM           | 0        |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0+       |                                   |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

Daboo                     Expires April 7, 2010                [Page 56]
Internet-Draft                    iTIP                      October 2009

3.4.7.  COUNTER

   The "COUNTER" method in a "VTODO" calendar component is used by an
   "Attendee" of an existing "VTODO" calendar component to submit to the
   "Organizer" a counter proposal for the "VTODO" calendar component.

   The counter proposal is an iCalendar object consisting of a "VTODO"
   calendar component describing the complete description of the
   alternate "VTODO" calendar component.

   The "Organizer" rejects the counter proposal by sending the
   "Attendee" a "DECLINECOUNTER" method.  The "Organizer" accepts the
   counter proposal by rescheduling the to-do as described in section
   3.4.2.1 Rescheduling a To-Do.  The "Organizers" CUA SHOULD send a
   "REQUEST" message to all "Attendees" affected by any change triggered
   by an accepted "COUNTER".

   This method type is an iCalendar object that conforms to the
   following property constraints:

              +---------------------------------------------+
              | Constraints for a METHOD:COUNTER of a VTODO |
              +---------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be "COUNTER"                 |
   |                    |          |                                   |
   | VTODO              | 1        |                                   |
   |   ATTENDEE         | 1+       |                                   |
   |   DTSTAMP          | 1        |                                   |
   |   ORGANIZER        | 1        |                                   |
   |   PRIORITY         | 1        |                                   |
   |   SUMMARY          | 1        | Can be null                       |
   |   UID              | 1        |                                   |
   |   ATTACH           | 0+       |                                   |
   |   CATEGORIES       | 0+       |                                   |
   |   CLASS            | 0 or 1   |                                   |
   |   COMMENT          | 0+       |                                   |
   |   COMPLETED        | 0 or 1   |                                   |
   |   CONTACT          | 0+       |                                   |
   |   CREATED          | 0 or 1   |                                   |
   |   DESCRIPTION      | 0 or 1   | Can be null                       |
   |   DTSTART          | 0 or 1   |                                   |
   |   DUE              | 0 or 1   | If present DURATION MUST NOT be   |
   |                    |          | present                           |

Daboo                     Expires April 7, 2010                [Page 57]
Internet-Draft                    iTIP                      October 2009

   |   DURATION         | 0 or 1   | If present DUE MUST NOT be        |
   |                    |          | present                           |
   |   EXDATE           | 0+       |                                   |
   |   GEO              | 0 or 1   |                                   |
   |   LAST-MODIFIED    | 0 or 1   |                                   |
   |   LOCATION         | 0 or 1   |                                   |
   |   PERCENT-COMPLETE | 0 or 1   |                                   |
   |   RDATE            | 0+       |                                   |
   |   RECURRENCE-ID    | 0 or 1   | Only if referring to an instance  |
   |                    |          | of a recurring calendar           |
   |                    |          | component.  Otherwise it MUST NOT |
   |                    |          | be present.                       |
   |   RELATED-TO       | 0+       |                                   |
   |   REQUEST-STATUS   | 0+       |                                   |
   |   RESOURCES        | 0+       |                                   |
   |   RRULE            | 0 or 1   |                                   |
   |   SEQUENCE         | 0 or 1   | MUST echo the original SEQUENCE   |
   |                    |          | number.  MUST be present if       |
   |                    |          | non-zero.  MAY be present if      |
   |                    |          | zero.                             |
   |   STATUS           | 0 or 1   | MAY be one of                     |
   |                    |          | COMPLETED/NEEDS-ACTION/           |
   |                    |          | IN-PROCESS/CANCELLED              |
   |   URL              | 0 or 1   |                                   |
   |   IANA-PROPERTY    | 0+       |                                   |
   |   X-PROPERTY       | 0+       |                                   |
   |                    |          |                                   |
   |   VALARM           | 0+       |                                   |
   |                    |          |                                   |
   | VTIMEZONE          | 0 or 1   | MUST be present if any date/time  |
   |                    |          | refers to a timezone              |
   |                    |          |                                   |
   | IANA-COMPONENT     | 0+       |                                   |
   | X-COMPONENT        | 0+       |                                   |
   |                    |          |                                   |
   | VEVENT             | 0        |                                   |
   |                    |          |                                   |
   | VFREEBUSY          | 0        |                                   |
   +--------------------+----------+-----------------------------------+

3.4.8.  DECLINECOUNTER

   The "DECLINECOUNTER" method in a "VTODO" calendar component is used
   by an "Organizer" of "VTODO" calendar component to reject a counter
   proposal offered by one of the "Attendees".  The "Organizer" sends
   the message to the "Attendee" that sent the "COUNTER" method to the
   "Organizer".

Daboo                     Expires April 7, 2010                [Page 58]
Internet-Draft                    iTIP                      October 2009

   This method type is an iCalendar object that conforms to the
   following property constraints:

          +----------------------------------------------------+
          | Constraints for a METHOD:DECLINECOUNTER of a VTODO |
          +----------------------------------------------------+

   +--------------------+----------+-----------------------------------+
   | Component/Property | Presence | Comment                           |
   +--------------------+----------+-----------------------------------+
   | METHOD             | 1        | MUST be "DECLINECOUNTER&Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   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.

   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, THE IETF TRUST 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.

Intellectual Property

   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.

Devarapalli & Eronen     Best Current Practice                 [Page 15]