Internet Engineering Task Force B. Foster Internet Draft F. Andreasen Document: Cisco Systems Category: Informational October 2002 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 XXXX eds note: RFC # to be supplied for draft-andreasen-mgcp-rfc2705bis-05.txt) allows endpoints to be re-directed one endpoint at a time. This document provides an extension 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 October 2002 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. Redirect........................................................4 2.3. Reset...........................................................4 3.0. IANA Considerations..............................................5 4.0. References.......................................................5 5.0. Authors' Addresses...............................................5 6.0. Full Copyright Statement.........................................6 1. Introduction The Base MGCP specification [3] allows a Call Agent to specify a new NotifiedEntity parameter (in order to re-direct the endpoint to a new Call Agent) in a notification request 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 Call Agent fails over, it must re-direct endpoints one at a time. If there are a large number of endpoints (e.g. within a large trunk gateway) this could take a considerable amount of time. This document contains 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 a Notified Entity but allows for multiple domain names. 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 reset and re-initialize a group of endpoints. B. Foster, F. Andreasen Informational [Page 2] MGCP Redirect and Reset Package October 2002 2.0. Redirect and Reset Package Package Name: RED Version: 0 Package Description: The purpose of this package is to: * Introduce a new NotifiedEntityList extension parameter. This works the same as the NotifiedEntity parameter 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 without interfering with current event processing (as compared to the alternative, which is to send a NotificationRequest command, which would be interfering with current event processing). * Allow a Call Agent to request a group of endpoints to do a reset. 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 similar 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 normal MGCP retransmission. 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 MGCP retransmission procedures, B. Foster, F. Andreasen Informational [Page 3] MGCP Redirect and Reset Package October 2002 with "N" 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 to. The Max1 DNS query MAY be performed for each of the domain names, or it MAY simply be performed for the first. 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. Redirect Redirect uses the EndpointConfiguration command. 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: if one of the IP addresses is the IP address of the Call Agent sending the request, that IP address SHOULD be selected first. Otherwise, any one of the addresses MUST be selected. The NotifiedEntityList parameter can also be specified in a redirect endpoint configuration command, e.g.: EPCF 1200 *@gw1.whatever.net MGCP 1.0 RED/NL: ca1@myca.whatever.net, ca2@mybackupca.whatever.net 2.3. Reset Another EndpointConfiguration parameter ("RED/R"), allows the Call Agent to reset one or more endpoints ("all-of" wildcard allowed). The ABNF syntax for the parameter line is as follows: B. Foster, F. Andreasen Informational [Page 4] MGCP Redirect and Reset Package October 2002 "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.). Note that the EndpointConfiguration command is only valid for in- service endpoints. If a wild-carded EndpointConfiguration request is sent and any of the endpoints specified are out of service, the command will fail with return code 501 (endpoint not ready). 3.0. IANA Considerations The MGCP package title "Redirect and Reset" with the name "RED" should be registered with IANA as indicated in Appendix C.1 in [3]. 4.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 XXXX {editors note - to be put in when RFC number is assigned to draft-andreasen-mgcp-rfc2705bis-04.txt) 5.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 5] MGCP Redirect and Reset Package October 2002 6.0. Full Copyright Statement Copyright (C) The Internet Society (2002). 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 6]