[Docs] [txt|pdf] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 00 01 02 03 04 05 RFC 3991

Internet Engineering Task Force                             B. Foster
Internet Draft                                           F. Andreasen
Document: <draft-foster-mgcp-redirect-02.txt>           Cisco Systems
Category: Informational                                    April 2003


                    MGCP Redirect and Reset Package

Status of this Document

  This document is an Internet-Draft and is in full conformance with
  all provisions of Section 10 of RFC2026

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

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

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

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

Abstract

  The base MGCP specification (RFC 3435) allows endpoints to be re-
  directed one endpoint at a time. This document provides extensions in
  the form of a new MGCP package that provides mechanisms for
  redirecting and resetting a group of endpoints. It also includes the
  ability to more accurately re-direct endpoints by allowing a list of
  Call Agents to be specified in a preferred order.

Conventions used in this document

  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
  document are to be interpreted as described in RFC-2119.













B. Foster, F. Andreasen      Informational                     [Page 1]

                    MGCP Redirect and Reset Package          April 2003

                           Table of Contents

Table of Contents.....................................................2
1. Introduction.......................................................2
2.0. Redirect and Reset Package.......................................3
 2.1. NotifiedEntityList Extension Parameter..........................3
 2.2. Endpoint Specifier..............................................4
   2.2.1. EndpointList and EndpointMap Extension Parameters...........4
   2.2.2. Application to Out-of-Service Endpoints.....................5
 2.3. Redirect........................................................6
 2.4. Reset Extension Parameter.......................................7
 2.5. Return Codes....................................................7
3.0. IANA Considerations..............................................8
4.0. Security Considerations..........................................8
5.0. References.......................................................8
6.0. Authors' Addresses...............................................8
7.0. Full Copyright Statement.........................................9



1. Introduction

  The Base MGCP specification [3] allows a Call Agent to specify a new
  NotifiedEntity parameter in order to re-direct one or more endpoints
  to a new Call Agent.  This must be done in a NotificationRequest or a
  connection handling command. However, because these commands affect
  endpoint or connection state, such a request cannot typically be sent
  to a group of endpoints with a single command.  This means that in a
  case where a new Call Agent takes over for a failed one, the new Call
  Agent must re-direct endpoints one at a time.  If there is a large
  number of endpoints (e.g., within a large trunking gateway) this
  could take a considerable amount of time.

  This document defines a new redirect and reset package for MGCP that
  allows the Call Agent to re-direct a group of endpoints without
  affecting endpoint or connection state.

  Also included is a new NotifiedEntityList parameter, which is similar
  to the NotifiedEntity parameter but allows for multiple domain names
  to be provided.  This allows the Call Agent to more accurately direct
  endpoints to a preferred ordered list of alternate Call Agents.

  A third capability contained within this package is the ability to
  efficiently reset and re-initialize one or more groups of endpoints.
  Such a capability is useful during Call Agent failover situations.










B. Foster, F. Andreasen      Informational                     [Page 2]

                    MGCP Redirect and Reset Package          April 2003

2.0. Redirect and Reset Package

  Package Name: RED
  Version: 0

  The purpose of this package is to:

     * Define a new NotifiedEntityList extension parameter.  This works
       the same as the NotifiedEntity parameter in [3] but allows more
       than one domain name to be specified.
     * Allow a Call Agent to pass a new NotifiedEntity or
       NotifiedEntityList to a collection of endpoints specified by an
       "all of" wild card.  This is useful in the case where a new Call
       Agent takes over from a previous one and wants to re-direct
       endpoint(s) to send "Notifies" etc. to it from now on.
     * Allow a Call Agent to request one or more groups of endpoints to
       do a reset, which can be useful following certain types of
       failures.

2.1. NotifiedEntityList Extension Parameter

  The NotifiedEntityList parameter is encoded as "NL" and is followed
  by a colon and a comma-separated list of NotifiedEntity values as
  defined in the MGCP specification [3], e.g.:

    RED/NL: ca1@myca.whatever.net, ca2@mybackupca.whatever.net

  The NotifiedEntityList works in a similar way to the NotifiedEntity
  parameter, except that it allows multiple domain names to be listed.
  The NotifiedEntityList thus specifies a new "notified entity" for the
  endpoint.

  The NotifiedEntityList parameter is optional in any command or
  response where the NotifiedEntity parameter is allowed.  Following a
  restart, the NotifiedEntityList is initially empty, unless
  provisioned otherwise.  In subsequent commands, it retains its
  current value until explicitly changed.  If both a NotifiedEntity
  parameter and a non-empty NotifiedEntityList parameter have been set
  (not necessarily at the same time), the NotifiedEntity parameter
  value will be viewed as implicitly added to the beginning of the
  NotifiedEntityList parameter.  The NotifiedEntity parameter thus
  always defines the first domain name to contact, unless it has
  explicitly been set to empty.  In that case, the NotifiedEntityList
  defines the "notified entity".  If the NotifiedEntityList is also
  empty, then the normal MGCP handling of having an empty "notified
  entity" applies.  We will refer to the list of domain names that
  result from the above rules as the "notified entity list".

  When the "notified entity list" is non-empty, transmission is first
  attempted with the first domain name in the list as in the normal
  MGCP retransmission procedures described in [3].  Each of the IP-
  addresses for this domain name MUST first be tried as specified in
  [3], and if this is unsuccessful, each of the IP-addresses for the
  second domain name MUST then be attempted, etc. following the normal

B. Foster, F. Andreasen      Informational                     [Page 3]

                    MGCP Redirect and Reset Package          April 2003

  MGCP retransmission procedures, with "N" (the number of
  retransmissions) set to zero for each domain name (see Section 4.3 in
  [3]).  Whenever retransmission to a new domain name is initiated, the
  default retransmission timer value (RTO) etc. SHOULD be used - the
  estimator (T-DELAY) and measurements (AAD and ADEV) used for the
  transmission to the previous domain name are considered obsolete.
  Note however, that the maximum transaction lifetime considerations
  apply as usual, and hence retransmission to any of the IP-addresses
  for any of the domain names MUST NOT occur more than T-Max seconds
  after the initial sending of the command, irrespective of where it
  was sent.  The Max1 DNS query MAY be performed for each of the domain
  names, or it MAY simply be performed for the first domain name.  The
  Max2 DNS query however MUST NOT be performed for any but the last
  domain name.  Also note, that only the last IP-address for the last
  domain name can reach Max2 retransmissions, and hence retransmission
  to all other IP-addresses MUST end after Max1 retransmissions.

  The current value of the NotifiedEntityList parameter can be audited
  via AuditEndpoint; the value of the NotifiedEntity parameter will not
  be included here and hence must be audited separately.  Support for
  the NotifiedEntityList in AuditConnection is permissible, but it is
  neither required nor recommended.

2.2. Endpoint Specifier

2.2.1. EndpointList and EndpointMap Extension Parameters

  A simple wild-card as defined in [3] may not be sufficient to
  accurately specify endpoints of interest. An example of this is a
  case where a Call Agent fails over, resulting in a state mismatch for
  endpoints involved with transient calls. In order to re-synchronize,
  one Call Agent procedure involves using the reset extension parameter
  described in section 2.4 of this document to ensure that idle
  endpoints are in fact idle. However, these endpoints may be randomly
  distributed across the available endpoints in a large trunk gateway.

  In order to satisfy this requirement, the RED package introduces some
  additional parameters that MAY be used to further specify the
  endpoints of interest for the EndpointConfiguration Command. These
  are the EndpointList and the EndpointMap extension parameters.

  The EndPointList parameters is a list of the endpoint names which can
  include one or more lines in the following format:

     "RED/EL:" 0*WSP RangedLocalName 0*("," 0*WSP RangedLocalName)

  where RangedLocalName is a LocalEndpointName that may include the
  ranged wildcard notation described in Appendix E (section E.5) of
  [3], i.e.:

    RangeWildcard  = "*" / "[" NumericalRange *("," NumericalRange)"]"
    NumericalRange = 1*(DIGIT) [ "-" 1*(DIGIT) ]



B. Foster, F. Andreasen      Informational                     [Page 4]

                    MGCP Redirect and Reset Package          April 2003

  Example:

     RED/EL: ds/ds1-1/[1-24], ds/ds1-2/[1-24], ds/ds1-3/[1-24]

  Including an EndpointMap parameter with the following format can
  further specify the endpoints:

     "RED/MP:" 0*WSP TrueOrFalse 0*(TrueOrFalse)

     TrueOrFalse = "T" / "F"

  where "T" indicates that the command should be applied to this
  endpoint and "F" indicates that it should not. This parameter can be
  used in conjunction with the reset extension parameter described in
  section 2.4 of this document to force arbitrarily distributed
  endpoints to an idle state.

  If the EndpointMap parameter is used it MUST be preceded by an
  EndPointList parameter to specify the endpoints that the EndpointMap
  is referring to. Several EndpointList and EndpointMap parameter lines
  MAY be provided. It is considered to be an error if the EndpointMap
  parameters extend beyond the endpoints specified in the preceding
  EndPointList parameter. In that case, return code 800 should be used
  (see section 2.5).

  The EndpointList and EndpointMap parameters should only be used with
  the EndpointConfiguration command. When included they further specify
  the endpoints of interest beyond what is provided by the endpoint
  name. If neither parameter is included, the endpoint name completely
  specifies the endpoints or interest. The EndpointList parameter MAY
  be provided without an EndpointMap parameter. However, as indicated
  earlier, an EndpointMap parameter MUST be preceded by an EndpointList
  parameter. Neither of these parameters is auditable.

  For an example of EndpointMap parameter usage, refer to section 2.4.

2.2.2. Application to Out-of-Service Endpoints

  Note that the EndpointConfiguration command is normally only valid
  for in-service endpoints. If an EndpointConfiguration request is sent
  to a wild-carded LocalEndpointName [3] and any of the endpoints
  specified are out of service, the command will fail with return code
  501 (endpoint not ready).

  However, it is possible to specify a virtual endpoint corresponding
  to the gateway as the LocalEndpointName i.e.:

     EPCF 1200 MG@gw1.whatever.net MGCP 1.0

  where MG is the virtual endpoint name associated with the gateway.

  As long as the gateway is in-service and able to respond to MGCP
  commands, the gateway can apply the endpoint configuration command to
  endpoints specified by the EndpointList and/or EndpointMap parameters

B. Foster, F. Andreasen      Informational                     [Page 5]

                    MGCP Redirect and Reset Package          April 2003

  (regardless of whether those endpoints are in-service or not). The
  endpoint configuration information of course will not be maintained
  over gateway restarts (i.e. the Call Agent would have to re-apply the
  endpoint configuration after it receives an RSIP with restart method
  "restart").

  EndpointList and/or EndpointMap parameters MUST only be used with
  either a virtual endpoint name corresponding to the gateway (as
  indicated above) or with a wild-carded endpoint name. If used with a
  wild-carded endpoint name, the EndpointList and/or EndpointMap
  parameters MUST be within the range specified by the endpoint name.
  If they extend beyond the range specified by the endpoint name, then
  error code 801 (section 2.5) SHOULD be returned.

2.3. Redirect

  A new extension parameter for use with the EndpointConfiguration
  command is defined.  A new NotifiedEntity parameter can be included
  with a "RED/N" parameter as follows:

     EPCF 1200 *@gw1.whatever.net MGCP 1.0
     RED/N: ca1@ca1234.whatever.net

  This changes the "notified entity" for the endpoint(s) to the value
  specified.  If the "all of" wildcard convention is used, the
  NotifiedEntity value replaces all of the existing "notified entities"
  for those endpoints.  If NotifiedEntity is omitted in a subsequent
  EndpointConfiguration command, the "notified entity" remains
  unchanged.

  In the case where the "notified entity" is a domain name that
  resolves to multiple IP addresses one of the resolved addresses MUST
  be selected. If one of those IP addresses is the IP address of the
  Call Agent sending the request, that IP address SHOULD be selected
  first.

  The NotifiedEntityList parameter can also be specified in an endpoint
  configuration command, e.g.:

     EPCF 1200 *@gw1.whatever.net MGCP 1.0
     RED/NL: ca1@myca.whatever.net, ca2@mybackupca.whatever.net

  As indicated in section 2.2, it can also apply this to the gateway
  virtual endpoint e.g.:

     EPCF 1200 MG@gw1.whatever.net MGCP 1.0
     RED/EL: *
     RED/NL: ca1@myca.whatever.net, ca2@mybackupca.whatever.net

  As indicated in section 2.1, the NotifiedEntityList ("RED/NL")
  parameter MAY be used with any command for which a NotifiedEntity
  parameter is allowed. However, the "RED/N" parameter SHOULD only be
  used with the endpoint configuration command.


B. Foster, F. Andreasen      Informational                     [Page 6]

                    MGCP Redirect and Reset Package          April 2003

  The auditing behavior for auditing the "NotifiedEntity" is unchanged
  from that specified in [3], regardless of how the "NotifiedEntity"
  was set (i.e. there is no specific audit associated with the "RED/N"
  parameter).


2.4. Reset Extension Parameter

  Another EndpointConfiguration parameter ("RED/R"), allows the Call
  Agent to reset one or more endpoints.  The ABNF syntax for the
  parameter line is as follows:

     "RED/R:" 0*WSP "reset"

  This has the effect of re-setting and re-initializing the specified
  endpoints (i.e. any connections on the endpoint will be deleted, and
  the endpoint will be returned to its clean default state without any
  active signals, etc.).

  Example:

     EPCF 1200 *@gw1.whatever.net MGCP 1.0
     RED/EL: ds/e1-3/[1-30]
     RED/MP: TFTTTTTFFFTTTTTFFFFTFFTTFTTTFF
     RED/EL: ds/e1-5/[1-30]
     RED/MP: TFFFFFTFFFTTFTTFFFFTFFFTFTTTTT
     RED/R: reset

  In this case, the particular endpoints specified by "T" by the
  EndpointMap parameter in the E1 spans ds/e1-3 and ds/e1-5 are reset.

  The "RED/R" parameter MUST NOT be used with any command other than
  the endpoint configuration parameter. If no value is provided for the
  parameter it SHOULD be ignored. There is no specific audit behavior
  associated with this parameter.


2.5. Return Codes

  The following package specific return codes are defined for the "RED"
  package:

     Code    Text                    Explanation

     800     EndpointMap             Either the EndpointMap parameters
             Out of Range            are outside the range specified by
                                     the EndpointList parameter or the
                                     EndpointList Parameter was not
                                     included when the EndpointMap was.

     801     Inconsistent            Inconsistency in endpoint
             Endpoint Specifier      Specification e.g. EndpointList
                                     not within the range specified by
                                     the endpoint identifier

B. Foster, F. Andreasen      Informational                     [Page 7]

                    MGCP Redirect and Reset Package          April 2003




3.0. IANA Considerations

  The MGCP package title "Redirect and Reset" with the name "RED" and
  version number 0 should be registered with IANA as indicated in
  Appendix C.1 in [3].

4.0. Security Considerations

  The MGCP extensions defined in this document do not require any
  further security considerations beyond those indicated in the base
  MGCP specification [3]. As stated in [3], the use of IPsec with MGCP
  is recommended.

5.0. References

  [1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
      9, RFC 2026, October 1996.

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

  [3] F. Andreasen, B. Foster "Media Gateway Control Protocol (MGCP)
      Version 1.0", RFC 3435, January 2003

6.0. Authors' Addresses

  Flemming Andreasen
  Cisco Systems
  499 Thornall Street, 8th Floor
  Edison, NJ 08837
  EMail: fandreas@cisco.com

  Bill Foster
  Cisco Systems
  EMail: bfoster@cisco.com

















B. Foster, F. Andreasen      Informational                     [Page 8]

                    MGCP Redirect and Reset Package          April 2003

7.0. Full Copyright Statement

  Copyright (C) The Internet Society (2003).  All Rights Reserved.

  This document and translations of it may be copied and furnished to
  others, and derivative works that comment on or otherwise explain it
  or assist in its implementation may be prepared, copied, published
  and distributed, in whole or in part, without restriction of any
  kind, provided that the above copyright notice and this paragraph are
  included on all such copies and derivative works.  However, this
  document itself may not be modified in any way, such as by removing
  the copyright notice or references to the Internet Society or other
  Internet organizations, except as needed for the purpose of
  developing Internet standards in which case the procedures for
  copyrights defined in the Internet Standards process must be
  followed, or as required to translate it into languages other than
  English.

  The limited permissions granted above are perpetual and will not be
  revoked by the Internet Society or its successors or assigns.

  This document and the information contained herein is provided on an
  "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  TASK FORCE DISCLAIMS 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.

  Acknowledgement

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























B. Foster, F. Andreasen      Informational                     [Page 9]


Html markup produced by rfcmarkup 1.107, available from http://tools.ietf.org/tools/rfcmarkup/