Internet Engineering Task Force B. Foster Internet Draft F. Andreasen Document: Cisco Systems Category: Informational September 2002 Basic MGCP Packages 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 This document provides a basic set of Media Gateway Control Protocol (MGCP) packages. The generic, line, trunk, handset, RTP, DTMF, announcement server and script packages are updates of packages from RFC 2705 with additional explanation and in some cases new versions of these packages. In addition to these, five new packages are defined here. These are the signal list, resource reservation, media format, supplementary services and digit map extension packages. 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] Basic MGCP Packages September 2002 Table of Contents 1. Introduction.......................................................3 1.1. List of Packages...............................................3 1.2. Changes to Existing RFC 2705 Packages..........................3 1.2.1. Change in signal types.....................................3 1.2.2. Operation Complete and Operation Failure...................3 1.2.3. Package Versions...........................................4 1.2.4. Event Definitions, Aliases and Interoperability Issues.....4 1.2.5. New Events.................................................4 1.3. New Packages and Excluded Packages.............................5 2. Packages...........................................................5 2.1. Generic Media Package.........................................7 2.2. DTMF package.................................................10 2.3. Trunk Package................................................15 2.4. Line Package.................................................22 2.5. Handset Emulation Package....................................30 2.6. Supplementary Services Tone Package..........................32 2.7. Digit Map Extension..........................................33 2.8. Signal List Package..........................................34 2.9. Media Format Parameter Package................................35 2.10. RTP Package..................................................38 2.11. Resource Reservation Package................................43 2.11.1. Description..............................................43 2.11.2. Parameter Encoding.......................................46 2.11.3 Events....................................................47 2.12. Announcement Server Package.................................49 2.13. Script Package..............................................50 3.0. IANA Considerations.............................................52 4.0. Acknowledgements................................................53 5.0. References......................................................53 6.0. Authors' Addresses..............................................54 7.0. Full Copyright Statement........................................55 B. Foster, F. Andreasen Informational [Page 2] Basic MGCP Packages September 2002 1. Introduction This document provides a basic set of Media Gateway Control Protocol (MGCP) packages. The generic, line, trunk, handset, RTP, DTMF, announcement server and script packages are updates of packages from RFC 2705 with additional explanation and in some cases new versions of these packages. In addition to these, five new packages are defined here. These are the signal list, resource reservation, media format, supplementary services and digit map extension packages. 1.1. List of Packages The basic set of packages specified in this document is for use with MGCP 1.0 as defined in [1]. Included are the following packages: ------------------------------------------- | Package | Name | |-------------------------------------------| | Generic Media Package | G | | DTMF package | D | | Trunk Package | T | | Line Package | L | | Handset Package | H | | Supplementary Services Package | SST | | Digit Map Extension | DM1 | | Signal List Package | SL | | Media Format Package | FM | | RTP Package | R | | Resource Reservation Package | RES | | Announcement Server Package | A | | Script Package | Script | ------------------------------------------- 1.2. Changes to Existing RFC 2705 Packages 1.2.1. Change in signal types MGCP 1.0 as defined in RFC 2705 (and now updated in [1]) provided some additional clarification on the meaning of On-Off (OO) signals compared to earlier versions of MGCP. This lead to some inconsistency in some of the signal definitions in the accompanying packages in RFC 2705. This has been corrected in the packages that are included here by changing some of the signals from type On-Off to type Time-Out (TO). 1.2.2. Operation Complete and Operation Failure Another change also made to improve consistency and interoperability was to add the "operation complete" and "operation failure" events in packages where there are TO signals defined but where the "operation complete" and "operation failure" events were not previously included as part of the package. By definition, all packages that contain Time-Out type signals now contain the "operation failure" ("of") and B. Foster, F. Andreasen Informational [Page 3] Basic MGCP Packages September 2002 "operation complete" ("oc") events as defined in [1], irrespective of whether they are provided as part of the package description or not. If a package without Time-Out signals does contain definitions for the "oc" and "of" events, the event definitions provided in the package may over-ride those indicated here. Such practice is however discouraged and is purely allowed to avoid potential backwards compatibility problems. It is considered good practice to explicitly mention that the "oc" and "of" events are supported in accordance with their default definitions. If no definition is included in the package, the default syntax and semantics is assumed. Please refer to [1] for additional details on these events. 1.2.3. Package Versions The generic, line, trunk, handset, RTP, DTMF, announcement server and script packages included in this document are new versions of packages that were previously contained in RFC 2705. The updated base MGCP 1.0 specification [1] provides an optional capability of auditing package versions. Any gateway that implements versioned packages SHOULD also implement this option. 1.2.4. Event Definitions, Aliases and Interoperability Issues Some event definitions or clarifications of previous event definitions have also been added in order to improve interoperability. In some cases events have aliases either in the same or in other packages and a recommendation has been made for the use of alternates by Call Agents for future implementations. For maximum interoperability, gateways MUST still implement these events (in fact they MUST always implement all of the events, signals, etc. in a package). Some events that were previously defined require specific provisioning in both the gateway and the Call Agent in order to allow for interoperability. In those cases, a warning to that affect has been included. 1.2.5. New Events In some cases new events have been added to existing packages. Any changes to existing packages of course have resulted in the package version number being updated from unversioned (version 0) to version 1. B. Foster, F. Andreasen Informational [Page 4] Basic MGCP Packages September 2002 1.3. New Packages and Excluded Packages Two packages from RFC 2705 have not been included. These are the "MF" and the "NAS" package. These packages are still valid as are all unversioned (version 0) packages defined in RFC 2705. The reason these packages were not included are: * The original MF package had no defined way to outpulse MF digits so that MF CAS is now provided by other packages (i.e. the "MS", "MO" and "MD" packages) in a separate document. * The "N" package as defined in RFC 2705 was incomplete. A new MGCP "NAS" package has been developed and provided in a separate document. New packages have also been included beyond what was included in RFC 2705. These are the signal list, resource reservation, media format, supplementary services and digit map extension packages. The Resource Reservation ("RES") and Media Format ("FM") packages in particular are different from other packages in this document in that they contain new LocalConnectionOptions. This is allowed by the new extension rules in [1]. Future packages of this type MUST use a packages prefix in front of local connection options ("/") so as to avoid name-space problems. However because of the timing of the arrival of these packages relative to updating MGCP 1.0, this was not done for the "RES" and "FM" packages. The resulting new local connection options will be registered with IANA. For future cases where a package prefix is included, only the package name needs to be registered. 2. Packages For those packages that involve MGCP events, the terms "signal" and "event" are used to differentiate a request from a Call Agent to a Media Gateway to apply an event ("signal"), from requesting the detection of an "event" that occurs on the Media Gateway and is "Notified" to the Call Agent. For packages that involve events and signals the tables contain five columns: Symbol: the (package) unique symbol used to identify the event. Definition: a short description of the event. R: an x appears in this column if the event can be requested by the Call Agent. Alternatively, one or more of the following symbols may appear. An "S" is included if the event-state may be audited. A "C" indicates that the event can be detected on a connection, and a "P" indicates the event is persistent. S: if nothing appears in this column for an event, then the event cannot be signaled by the Call Agent. Otherwise, the following symbols identify the type of event: B. Foster, F. Andreasen Informational [Page 5] Basic MGCP Packages September 2002 * OO On/Off signal * TO Time-Out signal. * BR Brief signal. In addition, a "C" will be included if the signal can be generated on a connection. Duration: specifies the default duration of TO signals. If a duration is left unspecified then the default timeout will be assumed to be infinite unless explicitly noted in the description of the signal. A duration may also be declared as being variable in a case where signals involve complex sequencing (e.g. scripts or digit out-pulsing) where the amount of time may vary with either processing time or the signaling environment. Default time-out values may be over-ridden by the Call Agent for any Time-Out event defined in this document (with the exception of those that have a default value of "variable") by a "to" signal parameter which specifies the timeout value in milliseconds (see [1]). Example: S: sst/cw(to=20000) indicates a timeout value of 20 seconds. As indicated in [1]: by default, a supplied time-out value MAY be rounded to the nearest non-zero value divisible by 1000, i.e. whole second. However, individual signal definitions within a package may define other rounding rules. Note that Time-Out signals that involve other parameters still allow the use of the "to" signal parameter e.g.: S: T/sit(1,to=3000) The order of the "to" parameter relative to the other parameters is not important. Note: as per [1], On-Off (OO) signals are parameterized with "+" (meaning turn on) or "-" (meaning turn off). If the parameter is missing, the default is to turn on the signal. Unlike Time-Out signals, On-Off signals do not stop when an event occurs. Other than the "to" parameter for Time-out (TO) signals and the "+" and "-" for On-Off (OO) signals, signals and events in the packages in this document do not have parameters unless explicitly indicated in the description of the event for that package. In some of the signal definitions below, specific tone definitions are provided even though actual frequencies may vary from country to country. B. Foster, F. Andreasen Informational [Page 6] Basic MGCP Packages September 2002 2.1. Generic Media Package Package Name: G Version: 1 The generic media package groups the events and signals that can be observed on several types of endpoints, such as trunk gateway endpoints, access gateway endpoints or residential gateway endpoints. --------------------------------------------------------------- | Symbol | Definition | R | S Duration | |---------------------------------------------------------------| | cf | Confirm Tone | | BR | | cg | Congestion Tone | | TO infinite | | ft | Fax Tone | x | | | it | Intercept Tone | | TO infinite | | ld | Long Duration Connection | C | | | mt | Modem Tone | x | | | oc | Operation Complete | x | | | of | Operation Failure | x | | | pat(###) | Pattern Detected | x | OO | | pt | Preemption Tone | | TO infinite | | rbk(...) | Ringback | | TO,C 180 seconds| | rt | Ringback Tone | | TO,C 180 seconds| --------------------------------------------------------------- New events added to this package from the previously unversioned package: "oc" Changes: "it" and "pt" signals changed from OO to TO. The events and signals are defined as follows: Confirmation Tone (cf): This is also referred to as "positive indication tone" in ITU-T E.182. In North America, Confirmation Tone uses the same frequencies and levels as dial tone (350 and 440 Hertz) but with a cadence of 0.1 second on, 0.1 second off repeated three times. See GR-506-CORE - LSSGR: SIGNALING, Section 17.2.4. It is considered an error to try and play confirmation tone on a phone that is on hook and an error MUST consequently be returned when such attempts are made (error code 402 - phone on hook). Congestion Tone (cg): Refer to ITU-T E.180 and E.182. This maps to re-order tone in North America (refer to GR-506-CORE - LSSGR: SIGNALING, Section 17.2.7). B. Foster, F. Andreasen Informational [Page 7] Basic MGCP Packages September 2002 Fax Tone (ft): The fax tone event is generated whenever a fax call is detected by the presence of V.21 fax preamble. The fax tone event SHOULD also be generated when the T.30 CNG tone is detected. See ITU-T Recommendations T.30 and V.21. Intercept Tone(it): This is a country specific tone as defined in ITU-T, E.180 Supplement 2. Long Duration Connection (ld): The "long duration connection" is detected when a connection has been established for more than some time. The default value is 1 hour, however the provisioning process may change this. This event is detected on a connection. When no connection is specified as part of the request, the event applies to all connections for the endpoint, regardless of when the connections are created. The "all connections" wildcard (see [1]) may also be used for this case, and is in fact preferred for consistency. In either case, the name of the connection on which the event was detected will be included when the event is observed, e.g.: G/ld@0A3F58 Modem Tone (mt): Indicates V.25 Answer tone (ANS) with or without phase reversals or V.8 Modified Answer Tone (ANSam) tone with or without phase reversals. Note that this implies the presence of a data call. Also note that despite the name of the event, devices other than modems may generate such tones, e.g. a fax machine. Operation Complete (oc): The standard definition of operation complete [1]. Operation Failure (of): The standard definition of operation failure [1]. Pattern Detected (pat(###)): This event requires special provisioning that needs to be agreed on between the Call Agent and media gateway in order to ensure interoperability. It is retained in order to maintain backwards compatibility with version 0 of the "G" package. This event MUST be parameterized with a decimal numeric value from 0 to 999 specifying the pattern to detect. When reported, the pattern is also included as a parameter. Preemption Tone (pt): This is a country specific tone and is defined in ITU-T, E.180 Supplement 2. B. Foster, F. Andreasen Informational [Page 8] Basic MGCP Packages September 2002 Ringback (rbk(connectionID)): This is an alias for "rt@connectionID" and is included here for backwards compatibility only. It is recommended that Call Agents use "rt@connectionID" instead of "rbk(connectionID)" for ring-back over a connection for new implementations. Although the ringback signal is applied on a connection, the "rbk" signal does not support the "@connection" syntax. When the signal is requested, it MUST be parameterized with a connection-ID or a connection-ID wildcard as specified in [1]. Ringback Tone (rt): Refer to ITU-T E.180 and ITU-T E.182. Also referred to as ringing tone - a tone advising the caller that a connection has been made and that a calling signal is being applied to the called party or service point. In North America this tone is a combination of two AC tones with frequencies of 440 and 480 Hertz and levels of -19 dBm each, to give a combined level of -16 dBm. The cadence for Audible Ring Tone is 2 seconds on followed by 4 seconds off. See GR-506-CORE - LSSGR: SIGNALING, Section 17.2.5. This signal can be applied directly to an endpoint or alternatively on a connection using the syntax "rt@connectionID". When the ringback signal is applied to an endpoint, it is considered an error to try and play ring back tones, if the endpoint is considered on hook and an error MUST consequently be returned when such attempts are made (error code 402 - phone on hook). When the ringback signal is applied to a connection, no such check is to be made. Note that as specified in [1], signals requested on a connection MUST be played regardless of the connection mode. For example, in a call-waiting situation, ringback tone may be played on a connection in "inactive" mode. B. Foster, F. Andreasen Informational [Page 9] Basic MGCP Packages September 2002 2.2. DTMF package Package name: D Version: 1 -------------------------------------------------------------- | Symbol | Definition | R | S Duration | |--------------------------------------------------------------| | 0 | DTMF 0 | x | BR | | 1 | DTMF 1 | x | BR | | 2 | DTMF 2 | x | BR | | 3 | DTMF 3 | x | BR | | 4 | DTMF 4 | x | BR | | 5 | DTMF 5 | x | BR | | 6 | DTMF 6 | x | BR | | 7 | DTMF 7 | x | BR | | 8 | DTMF 8 | x | BR | | 9 | DTMF 9 | x | BR | | # | DTMF # | x | BR | | * | DTMF * | x | BR | | A | DTMF A | x | BR | | B | DTMF B | x | BR | | C | DTMF C | x | BR | | D | DTMF D | x | BR | | DD(..) | DTMF Tone Duration | x | TO 3 seconds | | DO(..) | DTMF OO Signal | | OO | | L | Long Duration Indicator | x | | | oc | Operation Complete | x | | | of | Operation Failure | x | | | T | Interdigit Timer | x | | | X | DTMF Tones Wildcard, | x | | | | match any digit 0-9 | | | -------------------------------------------------------------- Changes from the previous version of the package: events "dd", "do", "oc" were added. Note that DTMF tones including the DTMF tones wildcard can use the eventRange notation defined in [1] when requesting events, e.g. "D/[0-9](N)". The events are defined as follows: DTMF tones (0-9,#,*,A,B,C,D): Detection and generation of DTMF tones is described in GR-506-CORE - LSSGR: SIGNALING, Section 15. Note that it is considered an error to try and play DTMF tones on a phone that is on hook and an error MUST consequently be returned when such attempts are made (error code 402 - phone on hook). The event codes can be specified in a digit map. When requested as a signal, as per GR-506-CORE, section 15, a minimum tone duration of 50 ms will be followed by a minimum interdigit silence period of 45 ms, i.e. if requested in a signal list such as "S: sl/s(d/5,d/6,d/7)", then interdigit timing requirements will be satisfied. B. Foster, F. Andreasen Informational [Page 10] Basic MGCP Packages September 2002 Note that some types of endpoints such as announcement endpoints MAY allow detection and/or generation of DTMF tone over a connection. However, this requires consistent provisioning between the Call Agent and announcement server (it is not required in order to be compliant with the DTMF package). DTMF Tone Duration (dd(dg=,to=