Network Working Group N. Greene Request for Comments: 2805 Nortel Networks Category: Informational M. Ramalho Cisco Systems B. Rosen Marconi April 2000 Media Gateway Control Protocol Architecture and Requirements Status of this Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved. Abstract This document describes protocol requirements for the Media Gateway Control Protocol between a Media Gateway Controller and a Media Gateway. Greene, et al. Informational [Page 1] RFC 2805 MG Control Protocol Requirements April 2000 Table of Contents 1. Introduction .............................................. 3 2. Terminology ............................................... 3 3. Definitions ............................................... 3 4. Specific functions assumed within the MG .................. 5 5. Per-Call Requirements ..................................... 6 5.1. Resource Reservation ................................. 6 5.2. Connection Requirements .............................. 7 5.3. Media Transformations ................................ 8 5.4. Signal/Event Processing and Scripting ................ 9 5.5. QoS/CoS .............................................. 10 5.6. Test Support ......................................... 11 5.7. Accounting ........................................... 11 5.8. Signalling Control ................................... 11 6. Resource Control .......................................... 12 6.1. Resource Status Management ........................... 12 6.2. Resource Assignment .................................. 13 7. Operational/Management Requirements ....................... 13 7.1. Assurance of Control/Connectivity .................... 13 7.2. Error Control ........................................ 14 7.3. MIB Requirements ..................................... 15 8. General Protocol Requirements ............................. 15 8.1. MG-MGC Association Requirements ...................... 16 8.2. Performance Requirements ............................. 17 9. Transport ................................................. 17 9.1. Assumptions made for underlying network .............. 17 9.2. Transport Requirements ............................... 18 10. Security Requirements .................................... 18 11. Requirements specific to particular bearer types ......... 19 11.1. Media-specific Bearer types ......................... 20 11.1.1. Requirements for TDM PSTN (Circuit) ............ 20 11.1.2. Packet Bearer type ............................. 22 11.1.3. Bearer type requirements for ATM ............... 23 11.2. Application-Specific Requirements ................... 26 11.2.1. Trunking Gateway ............................... 26 11.2.2. Access Gateway ................................. 27 11.2.3. Trunking/Access Gateway with fax ports ......... 27 11.2.4. Trunking/Access Gateway with text telephone .... 28 11.2.5. Network Access Server .......................... 29 11.2.6. Restricted Capability Gateway .................. 30 11.2.7. Multimedia Gateway ............................. 31 11.2.8. Audio Resource Function ........................ 32 11.2.9. Multipoint Control Units ........................ 42 12. References ............................................... 43 13. Acknowledgements ......................................... 43 14. Authors' Addresses ....................................... 44 15. Full Copyright Statement ................................. 45 Greene, et al. Informational [Page 2] RFC 2805 MG Control Protocol Requirements April 2000 1. Introduction This document describes requirements to be placed on the Media Gateway Control Protocol. When the word protocol is used on its own in this document it implicitly means the Media Gateway Control Protocol. 2. Terminology In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [1] and indicate requirement levels for the protocol. 3. Definitions * Connection Under the control of a Media Gateway Controller (MGC), the Media Gateway (MG) realizes connections. In this document, connections are associations of resources hosted by the MG. They typically involve two terminations, but may involve more. * Line or Loop An analogue or digital access connection from a user terminal which carries user media content and telephony access signalling (DP, DTMF, BRI, proprietary business set). * Media Gateway (MG) function A Media Gateway (MG) function provides the media mapping and/or transcoding functions between potentially dissimilar networks, one of which is presumed to be a packet, frame or cell network. For example, an MG might terminate switched circuit network (SCN) facilities (trunks, loops), packetize the media stream, if it is not already packetized, and deliver packetized traffic to a packet network. It would perform these functions in the reverse order for media streams flowing from the packet network to the SCN. Media Gateways are not limited to SCN <-> packet/frame/cell functions: A conference bridge with all packet interfaces could be an MG, as well as an (IVR) interactive voice recognition unit, an audio resource function, or a voice recognition system with a cell interface. Greene, et al. Informational [Page 3] RFC 2805 MG Control Protocol Requirements April 2000 * Media Gateway unit (MG-unit) An MG-unit is a physical entity that contains an MG function and may also contain other functions, e.g. an SG function. * Media Gateway Controller (MGC) function A Media Gateway Controller (MGC) function controls a MG. * Media Resource Examples of media resources are codecs, announcements, tones, and modems, interactive voice response (IVR) units, bridges, etc. * Signaling Gateway (SG) function An SG function receives/sends SCN native signalling at the edge of a data network. For example the SG function may relay, translate or terminate SS7 signaling in an SS7-Internet Gateway. The SG function may also be co-resident with the MG function to process SCN signalling associated with line or trunk terminations controlled by the MG, such as the "D" channel of an ISDN PRI trunk. * Termination A termination is a point of entry and/or exit of media flows relative to the MG. When an MG is asked to connect two or more terminations, it understands how the flows entering and leaving each termination are related to each other. Terminations are, for instance, DS0's, ATM VCs and RTP ports. Another word for this is bearer point. * Trunk An analog or digital connection from a circuit switch which carries user media content and may carry telephony signalling (MF, R2, etc.). Digital trunks may be transported and may appear at the Media Gateway as channels within a framed bit stream, or as an ATM cell stream. Trunks are typically provisioned in groups, each member of which provides equivalent routing and service. * Type of Bearer A Type of Bearer definition provides the detailed requirements for its particular application/bearer type. A particular class of Media Gateway, for example, would support a particular set of Bearer types. Greene, et al. Informational [Page 4] RFC 2805 MG Control Protocol Requirements April 2000 4. Specific functions assumed within the MG This section provides an environment for the definition of the general Media Gateway Control Protocol requirements. MGs can be architected in many different ways depending where the media conversions and transcoding (if required) are performed, the level of programmability of resources, how conferences are supported, and how associated signalling is treated. The functions assumed to be within the MG must not be biased towards a particular architecture. For instance, announcements in a MG could be provided by media resources or by the bearer point resource or termination itself. Further, this difference must not be visible to MGC: The MGC must be able to issue the identical request to two different implementations and achieve the identical functionality. Depending on the application of the MG (e.g., trunking, residential), some functions listed below will be more prominent than others, and in some cases, functions may even disappear. Although media adaptation is the essence of the MG, it is not necessary for it to be involved every time. An MG may join two terminations/resources of the same type (i.e., the MG behaves as a switch). The required media conversion depends on the media type supported by the resources being joined together. In addition to media adaptation function, resources have a number of unique properties, for instance: * certain types of resources have associated signalling capabilities (e.g., PRI signalling, DTMF), * some resources perform maintenance functions (e.g., continuity tests), * the MGC needs to know the state changes of resources (e.g., a trunk group going out of service), * the MG retains some control over the allocation and control of some resources (e.g., resource name space: RTP port numbers). Therefore, an MG realizes point-to-point connections and conferences, and supports several resource functions. These functions include media conversion, resource allocation and management, and event notifications. Handling termination associated signalling is either done using event notifications, or is handled by the signalling backhaul part of a MG-unit (i.e. NOT directly handled by the MG). Greene, et al. Informational [Page 5] RFC 2805 MG Control Protocol Requirements April 2000 MGs must also support some level of system related functions, such as establishing and maintaining some kind of MG-MGC association. This is essential for MGC redundancy, fail-over and resource sharing. Therefore, an MG is assumed to contain these functions: * Reservation and release, of resources * Ability to provide state of resources * Maintenance of resources - It must be possible to make maintenance operations independent of other termination functions, for instance, some maintenance states should not affect the resources associated with that resource . Examples of maintenance functions are loopbacks and continuity tests. * Connection management, including connection state. * Media processing, using media resources: these provide services such as transcoding, conferencing, interactive voice recognition units, audio resource function units. Media resources may or may not be directly part of other resources. * Incoming digit analysis for terminations, interpretation of scripts for terminations * Event detection and signal insertion for per-channel signalling * Ability to configure signalling backhauls (for example, a Sigtran backhaul) * Management of the association between the MGC and MG, or between the MGC and MG resources. 5. Per-Call Requirements 5.1. Resource Reservation The protocol must: a. Support reservation of bearer terminations and media resources for use by a particular call and support their subsequent release (which may be implicit or explicit). b. Allow release in a single exchange of messages, of all resources associated with a particular set of connectivity and/or associations between a given number terminations. Greene, et al. Informational [Page 6] RFC 2805 MG Control Protocol Requirements April 2000 c. The MG is not required (or allowed) by the protocol to maintain a sense of future time: a reservation remains in effect until explicitly released by the MGC. 5.2. Connection Requirements The protocol must: a. Support connections involving packet and circuit bearer terminations in any combination, including "hairpin" connections (connections between two circuit connections within the same MG). b. Support connections involving TDM, Analogue, ATM, IP or FR transport in any combination. c. Allow the specification of bearer plane (e.g. Frame Relay, IP, etc.) on a call by call basis. d. Support unidirectional, symmetric bi-directional, and asymmetric bi-directional flows of media. e. Support multiple media types (e.g. audio, text, video, T.120). f. Support point-to-point and point-to-multipoint connections. g. Support creation and modification of more complex flow topologies e.g. conference bridge capabilities. Be able to add or delete media streams during a call or session, and be able to add or subtract participants to/from a call or session. h. Support inclusion of media resources into call or session as required. Depending on the protocol and resource type, media resources may be implicitly included, class-assigned, or individually assigned. i. Provide unambiguous specification of which media flows pass through a point and which are blocked at a given point in time, if the protocol permits multiple flows to pass through the same point. j. Allow modifications of an existing termination, for example, use of higher compression to compensate for insufficient bandwidth or changing transport network connections. k. Allow the MGC to specify that a given connection has higher priority than other connections. Greene, et al. Informational [Page 7] RFC 2805 MG Control Protocol Requirements April 2000 l. Allow a reference to a port/termination on the MG to be a logical identifier, with a one-to-one mapping between a logical identifier and a physical port. m. Allow the MG to report events such as resource reservation and connection completion. 5.3. Media Transformations The Protocol must: a. Support mediation/adaptation of flows between different types of transport b. Support invocation of additional processing such as echo cancellation. c. Support mediation of flows between different content encoding (codecs, encryption/decryption) d. Allow the MGC to specify whether text telephony/FAX/data modem traffic is to be terminated at the MG, modulated/demodulated, and converted to packets or forwarded by the MG in the media flow as voice band traffic. e. Allow the MGC to specify that Dual-Tone MultiFrequency (DTMF) digits or other line and trunk signals and general Multi- Frequency (MF) tones are to be processed in the MG and how these digits/signals/tones are to be handled. The MGC must be able to specify any of the following handling of such digits/signals/tones: 1. The digits/signals/tones are to be encoded normally in the audio RTP stream (e.g., no analysis of the digits/signals/tones). 2. Analyzed and sent to the MGC. 3. Received from the MGC and inserted in the line-side audio stream. 4. Analyzed and sent as part of a separate RTP stream (e.g., DTMF digits sent via a RTP payload separate from the audio RTP stream). 5. Taken from a separate RTP stream and inserted in the line-side audio stream. Greene, et al. Informational [Page 8] RFC 2805 MG Control Protocol Requirements April 2000 6. Handled according to a script of instructions. For all but the first case, an option to mute the digits/signals/tones with silence, comfort noise, or other means (e.g., notch filtering of some telephony tones) must be provided. As detection of these events may take up to tens of milliseconds, the first few milliseconds of such digit/signal/tone may be encoded and sent in the audio RTP stream before the digit/signal/tone can be verified. Therefore muting of such digits/signals/tones in the audio RTP stream with silence or comfort noise is understood to occur at the earliest opportunity after the digit/signal/tone is verified. f. Allow the MGC to specify signalled flow characteristics on circuit as well as on packet bearer connections, e.g. u-law/a- law. g. Allow for packet/cell transport adaptation only (no media adaptation) e.g. mid-stream (packet-to-packet) transpacketization/transcoding, or ATM AAL5 to and from ATM AAL2 adaptation. h. Allow the transport of audio normalization levels as a setup parameter, e.g., for conference bridging. i. Allow conversion to take place between media types e.g., text to speech and speech to text. 5.4. Signal/Event Processing and Scripting The Protocol must: a. Allow the MGC to enable/disable monitoring for specific supervision events at specific circuit terminations b. Allow the MGC to enable/disable monitoring for specific events within specified media streams c. Allow reporting of detected events on the MG to the MGC. The protocol should provide the means to minimize the messaging required to report commonly-occurring event sequences. d. Allow the MGC to specify other actions (besides reporting) that the MG should take upon detection of specified events. e. Allow the MGC to enable and/or mask events. f. Provide a way for MGC to positively acknowledge event notification. Greene, et al. Informational [Page 9] RFC 2805 MG Control Protocol Requirements April 2000 g. Allow the MGC to specify signals (e.g., supervision, ringing) to be applied at circuit terminations. h. Allow the MGC to specify content of extended duration (announcements, continuous tones) to be inserted into specified media flows. i. Allow the MGC to specify alternative conditions (detection of specific events, timeouts) under which the insertion of extended-duration signals should cease. j. Allow the MGC to download, and specify a script to be invoked on the occurrence of an event. k. Specify common events and signals to maximize MG/MGC interworking. l. Provide an extension mechanism for implementation defined events and signals with, for example, IANA registration procedures. It may be useful to have an Organizational Identifier (i.e. ITU, ETSI, ANSI, ) as part of the registration mechanism. m. The protocol shall allow the MGC to request the arming of a mid-call trigger even after the call has been set up. 5.5. QoS/CoS The Protocol must: a. Support the establishment of a bearer channel with a specified QoS/CoS. b. Support the ability to specify QoS for the connection between MGs, and by direction. c. Support a means to change QoS during a connection, as a whole and by direction. d. Allow the MGC to set QOS thresholds and receive notification when such thresholds cannot be maintained. e. Allow the jitter buffer parameters on RTP channels to be specified at connection setup. Greene, et al. Informational [Page 10] RFC 2805 MG Control Protocol Requirements April 2000 5.6. Test Support The protocol must: a. Support of the different types of PSTN Continuity Testing (COT) for both the originating and terminating ends of the circuit connection (2-wire and 4- wire). b. Specifically support test line operation (e.g. 103, 105, 108). 5.7. Accounting The protocol must: a. Support a common identifier to mark resources related to one connection. b. Support collection of specified accounting information from MGs. c. Provide the mechanism for the MGC to specify that the MG report accounting information automatically at end of call, in mid-call upon request, at specific time intervals as specified by the MGC and at unit usage thresholds as specified by the MGC. d. Specifically support collection of: * start and stop time, by media flow, * volume of content carried (e.g. number of packets/cells transmitted, number received with and without error, inter- arrival jitter), by media flow, * QOS statistics, by media flow. e. Allow the MGC to have some control over which statistics are reported, to enable it to manage the amount of information transferred. 5.8. Signalling Control Establishment and provisioning of signalling backhaul channels (via SIGTRAN for example) is out of scope. However, the MG must be capable of supporting detection of events, and application of signals associated with basic analogue line, and CAS type signalling. The protocol must: a. Support the signalling requirements of analogue lines and Channel Associated Signaling (CAS). Greene, et al. Informational [Page 11] RFC 2805 MG Control Protocol Requirements April 2000 b. Support national variations of such signalling. c. Provide mechanisms to support signalling without requiring MG- MGC timing constraints beyond that specified in this document. d. Must not create a situation where the MGC and the MG must be homologated together as a mandatory requirement of using the protocol; i.e. it must be possible to optionally conceal signaling type variation from the MGC. 6. Resource Control 6.1. Resource Status Management The protocol must: a. Allow the MG to report changes in status of physical entities supporting bearer terminations, media resources, and facility- associated signalling channels, due to failures, recovery, or administrative action. It must be able to report whether a termination is in service or out of service. b. Support administrative blocking and release of TDM circuit terminations. Note: as the above point only relates to ISUP-controlled circuits, it may be unnecessary to require this since the MGC controls their use. However, it may be meaningful for MF and R2-signalled trunks, where supervisory states are set to make the trunks unavailable at the far end. c. Provide a method for the MGC to request that the MG release all resources under the control of a particular MGC currently in use, or reserved, for any or all connections. d. Provide an MG Resource Discovery mechanism which must allow an MGC to discover what resources the MG has. Expressing resources can be an arbitrarily difficult problem and the initial release of the protocol may have a simplistic view of resource discovery. At a minimum, resource discovery must enumerate the names of available circuit terminations and the allowed values for parameters supported by terminations. Greene, et al. Informational [Page 12] RFC 2805 MG Control Protocol Requirements April 2000 The protocol should be defined so that simple gateways could respond with a relatively short, pre-stored response to the discovery request mechanism. In general, if the protocol defines a mechanism that allows the MGC to specify a setting or parameter for a resource or connection in the MG, and MGs are not required to support all possible values for that setting or parameter, then the discovery mechanism should provide the MGC with a method to determine what possible values such settings or parameters are supported in a particular MG. e. Provide a mechanism to discover the current available resources in the MG, where resources are dynamically consumed by connections and the MGC cannot reasonably or reliably track the consumption of such resources. It should also be possible to discover resources currently in use, in order to reconcile inconsistencies between the MGC and the MG. f. Not require an MGC to implement an SNMP manager function in order to discover capabilities of an MG that may be specified during context establishment. 6.2. Resource Assignment The protocol must: a. Provide a way for the MG to indicate that it was unable to perform a requested action because of resource exhaustion, or because of temporary resource unavailability. b. Provide an ability for the MGC to indicate to an MG the resource to use for a call (e.g. DS0) exactly, or indicate a set of resources (e.g. pick a DS0 on a T1 line or a list of codec types) via a "wild card" mechanism from which the MG can select a specific resource for a call (e.g. the 16th timeslot, or G.723). c. Allow the use of DNS names and IP addresses to identify MGs and MGCs. This shall not preclude using other identifiers for MGs or MGCs when other non IP transport technologies for the protocol are used. 7. Operational/Management Requirements 7.1. Assurance of Control/Connectivity To provide assurance of control and connectivity, the protocol must provide the means to minimize duration of loss of control due to loss of contact, or state mismatches. Greene, et al. Informational [Page 13] RFC 2805 MG Control Protocol Requirements April 2000 The protocol must: a. Support detection and recovery from loss of contact due to failure/congestion of communication links or due to MG or MGC failure. Note that failover arrangements are one of the mechanisms which could be used to meet this requirement. b. Support detection and recovery from loss of synchronized view of resource and connection states between MGCs and MGs. (e.g. through the use of audits). c. Provide a means for MGC and MG to provide each other with booting and reboot indications, and what the MG's configuration is. d. Permit more than one backup MGC and provide an orderly way for the MG to contact one of its backups. e. Provide for an orderly switchback to the primary MGC after it recovers. How MGCs coordinate resources between themselves is outside the scope of the protocol. f. Provide a mechanism so that when an MGC fails, connections already established can be maintained. The protocol does not have to provide a capability to maintain connections in the process of being connected, but not actually connected when the failure occurs. g. The Protocol must allow the recovery or redistribution of traffic without call loss. 7.2. Error Control The protocol must: a. Allow for the MG to report reasons for abnormal failure of lower layer connections e.g. TDM circuit failure, ATM VCC failure. b. Allow for the MG to report Usage Parameter Control (UPC) events. c. Provide means to ameliorate potential synchronization or focused overload of supervisory/signaling events that can be detrimental to either MG or MGC operation. Power restoration or signaling transport re-establishment are typical sources of potentially detrimental signaling showers from MG to MGC or vice-versa. Greene, et al. Informational [Page 14] RFC 2805 MG Control Protocol Requirements April 2000 d. Allow the MG to notify the MGC that a termination was terminated and communicate a reason when a terminations is taken out-of- service unilaterally by the MG due to abnormal events. e. Allow the MGC to acknowledge that a termination has been taken out-of-service. f. Allow the MG to request the MGC to release a termination and communicate a reason. g. Allow the MGC to specify, as a result of such a request its decision to take termination down, leave it as is or modify it. 7.3. MIB Requirements The Protocol must define a common MG MIB, which must be extensible, but must: a. Provide information on: * mapping between resources and supporting physical entities. * statistics on quality of service on the control and signalling backhaul interfaces. * statistics required for traffic engineering within the MG. b. The protocol must allow the MG to provide to the MGC all information the MGC needs to provide in its MIB. c. MG MIB must support implementation of H.341 by either the MG, MGC, or both acting together. 8. General Protocol Requirements The protocol must: a. Support multiple operations to be invoked in one message and treated as a single transaction. b. Be both modular and extensible. Not all implementations may wish to support all of the possible extensions for the protocol. This will permit lightweight implementations for specialized tasks where processing resources are constrained. This could be accomplished by defining particular profiles for particular uses of the protocol. Greene, et al. Informational [Page 15] RFC 2805 MG Control Protocol Requirements April 2000 c. Be flexible in allocation of intelligence between MG and MGC. For example, an MGC may want to allow the MG to assign particular MG resources in some implementations, while in others, the MGC may want to be the one to assign MG resources for use. d. Support scalability from very small to very large MGs: The protocol must support MGs with capacities ranging from one to millions of terminations. e. Support scalability from very small to very large MGC span of control: The protocol should support MGCs that control from one MG to a few tens of thousands of MGs. f. Support the needs of a residential gateway that supports one to a few lines, and the needs of a large PSTN gateway supporting tens of thousands of lines. Protocol mechanisms favoring one extreme or the other should be minimized in favor of more general purpose mechanism applicable to a wide range of MGs. Where special purpose mechanisms are proposed to optimize a subset of implementations, such mechanisms should be defined as optional, and should have minimal impact on the rest of the protocol. g. Facilitate MG and MGC version upgrades independently of one another. The protocol must include a version identifier in the initial message exchange. h. Facilitate the discovery of the protocol capabilities of the one entity to the other. i. Specify commands as optional (they can be ignored) or mandatory (the command must be rejected), and within a command, to specify parameters as optional (they can be ignored) or mandatory (the command must be rejected). 8.1. MG-MGC Association Requirements The Protocol must: a. Support the establishment of a control relationship between an MGC and an MG. b. Allow multiple MGCs to send control messages to an MG. Thus, the protocol must allow control messages from multiple signalling addresses to a single MG. Greene, et al. Informational [Page 16] RFC 2805 MG Control Protocol Requirements April 2000 c. Provide a method for the MG to tell an MGC that the MG received a command for a resource that is under the control of a different MGC. d. Support a method for the MG to control the rate of requests it receives from the MGC (e.g. windowing techniques, exponential back-off). e. Support a method for the MG to tell an MGC that it cannot handle any more requests. 8.2. Performance Requirements The protocol must: a. Minimize message exchanges between MG and MGC, for example during boot/reboot, and during continuity tests. b. Support Continuity test constraints which are a maximum of 200ms cross-MGC IAM (IAM is the name given to an SS7 connection setup msg) propagation delay, and a maximum of 200ms from end of dialing to IAM emission. c. Make efficient use of the underlying transport mechanism. For example, protocol PDU sizes vs. transport MTU sizes needs to be considered in designing the protocol. d. Not contain inherent architectural or signaling constraints that would prohibit peak calling rates on the order of 140 calls/second on a moderately loaded network. e. Allow for default/provisioned settings so that commands need only contain non-default parameters. 9. Transport 9.1. Assumptions made for underlying network The protocol must assume that the underlying network: a. May be over large shared networks: proximity assumptions are not allowed. b. Does not assure reliable delivery of messages. c. Does not guarantee ordering of messages: Sequenced delivery of messages associated with the same source of events is not assumed. Greene, et al. Informational [Page 17] RFC 2805 MG Control Protocol Requirements April 2000 d. Does not prevent duplicate transmissions. 9.2. Transport Requirements The protocol must: a. Provide the ability to abort delivery of obsolete messages at the sending end if their transmission has not been successfully completed. For example, aborting a command that has been overtaken by events. b. Support priority messages: The protocol shall allow a command precedence to allow priority messages to supercede non-priority messages. c. Support of large fan-out at the MGC. d. Provide a way for one entity to correlate commands and responses with the other entity. e. Provide a reason for any command failure. f. Provide that loss of a packet not stall messages not related to the message(s) contained in the packet lost. Note that there may be enough protocol reliability requirements here to warrant a separate reliable transport layer be written apart from the Media Gateway Control Protocol. Also need to compare Megaco reliable transport requirements with similar Sigtran requirements. 10. Security Requirements Security mechanisms may be specified as provided in underlying transport mechanisms, such as IPSEC. The protocol, or such mechanisms, must: a. Allow for mutual authentication at the start of an MGC-MG association b. Allow for preservation of the of control messages once the association has been established. c. Allow for optional confidentiality protection of control messages. The mechanism should allow a choice in the algorithm to be used. d. Operate across untrusted domains in a secure fashion. Greene, et al. Informational [Page 18] RFC 2805 MG Control Protocol Requirements April 2000 e. Support non-repudiation for a customer-located MG talking to a network operator's MGC. f. Define mechanisms to mitigate denial of service attacks Note: the protocol document will need to include an extended discussion of security requirements, offering more precision on each threat and giving a complete picture of the defense including non- protocol measures such as configuration. g. It would be desirable for the protocol to be able to pass through commonly-used firewalls. 11. Requirements specific to particular bearer types The bearer types listed in Table 1 can be packaged into different types of MGs. Examples are listed in the following sections. How they are packaged is outside the scope of the general Media Gateway control protocol. The protocol must support all types of bearer types listed in Table 1. Greene, et al. Informational [Page 19] RFC 2805 MG Control Protocol Requirements April 2000 Table 1: Bearer Types and Applications Bearer Type Applications Transit Network ================================================================ Trunk+ISUP trunking/access IP, ATM, FR Voice,Fax,NAS, Multimedia Trunk+MF trunking/access IP, ATM, FR Voice,Fax,NAS, Multimedia ISDN trunking/access IP, ATM, FR Voice,Fax,NAS, Multimedia Analogue Voice,Fax, IP, ATM, FR Text Telephony Termination in a Restricted Voice,Fax, IP, ATM, FR Capability Gateway Text Telephony Application Termination IVR,ARF, Announcement Server, Voice Recognition Server,... Multimedia H.323 H.323 Multimedia IP, ATM, FR Gateway and MCU Multimedia H.320 H.323 GW and MCU ISDN, IP, ATM, FR 11.1. Media-specific Bearer Types This section describes requirements for handling terminations attached to specific types of networks. 11.1.1. Requirements for TDM PSTN (Circuit) This bearer type is applicable to a Trunking GW, Access GW, ... The protocol must allow: a. the MGC to specify the encoding to use on the attached circuit. b. In general, if something is set by a global signalling protocol (e.g. ISUP allows mu-Law or A-Law to be signaled using ISUP) then it must be settable by the protocol. Greene, et al. Informational [Page 20] RFC 2805 MG Control Protocol Requirements April 2000 c. TDM attributes: * Echo cancellation, * PCM encoding or other voice compression (e.g. mu-law or A-law), * encryption, * rate adaptation (e.g. V.110, or V.120). d. for incoming calls, identification of a specific TDM circuit (timeslot and facility). e. for calls outgoing to the circuit network, identification of a specific circuit or identification of a circuit group with the indication that the MG must select and return the identification of an available member of that group. f. specification of the default encoding of content passing to and from a given circuit, possibly on a logical or physical circuit group basis. g. specification at any point during the life of a connection of variable aspects of the content encoding, particularly including channel information capacity. h. specification at any point during the life of a connection of loss padding to be applied to incoming and outgoing media streams at the circuit termination. i. specification at any point during the life of a connection of the applicability of echo cancellation to the outgoing media stream. j. Multi-rate calls to/from the SCN. k. H-channel (n x 64K) calls to/from the SCN. l. B channel aggregation protocols for creating high speed channels for multimedia over the SCN. m. Modem terminations and negotiations. The protocol may also allow: n. specification of sub-channel media streams, o. specification of multi-channel media streams. Greene, et al. Informational [Page 21] RFC 2805 MG Control Protocol Requirements April 2000 11.1.2. Packet Bearer Type The protocol must be able to specify: a. ingress and egress coding (i.e. the way packets coming in and out are encoded) (including encryption). b. near and far-end ports and other session parameters for RTP and RTCP. The protocol must support reporting of: c. re-negotiation of codec for cause - for further study d. on Trunking and Access Gateways, resources capable of more than one active connection at a time must also be capable of mixing and packet duplication. The protocol must allow: e. specification of parameters for outgoing and incoming packet flows at separate points in the life of the connection (because far-end port addresses are typically obtained through a separate signalling exchange before or after the near-end port addresses are assigned). f. the possibility for each Media Gateway to allocate the ports on which it will receive packet flows (including RTCP as well as media streams) and report its allocations to the Media Gateway Controller for signalling to the far end. Note that support of different IP backbone providers on a per call basis would require that the ports on which packets flow be selected by the MGC. (but only if the IP address of the MG is different for each backbone provider). g. the specification at any point during the life of a connection of RTP payload type and RTP session number for each RTP- encapsulated media flow. h. the ability to specify whether outgoing flows are to be uni-cast or multi-cast. Note that on an IP network this information is implicit in the destination address, but in other networks this is a connection parameter. i. invoking of encryption/decryption on media flows and specification of the associated algorithm and key. Greene, et al. Informational [Page 22] RFC 2805 MG Control Protocol Requirements April 2000 The protocol should also allow: j. the MGC to configure non-RTP (proprietary or other) encapsulated packet flows. 11.1.3. Bearer type requirements for ATM This bearer type is applicable to Trunking GW, Access GW, .... 11.1.3.1. Addressing a. The protocol must be able to specify the following termination attributes: * VC identifier, * VC identifier plus AAL2 slot, and variant of these allowing the gateway to choose (part of) the identifier, * remote termination network address, remote MG name. b. Allow specification of an ATM termination which is to be assigned to an MG connection as a VC identifier, a VC identifier plus AAL2 slot, a wild-carded variant of either of these. A remote termination network address, or a remote MG name could also be used when the MG can select the VC and change the VC during the life of the connection by using ATM signalling. c. Provide an indication by the MG of the VC identifier and possibly AAL2 slot of the termination actually assigned to a connection. d. Provide a means to refer subsequently to that termination. e. Refer to an existing VCC as the physical interface + Virtual Path Identifier (VPI) + Virtual Circuit Identifier (VCI). f. Where the VCC is locally established (SVCs signalled by the Gateway through UNI or PNNI signalling or similar), the VCC must be indirectly referred to in terms which are of significance to both ends of the VCC. For example, a global name or the ATM address of the ATM devices at each end of the VCC. However, it is possible/probable that there may be several VCCs between a given pair of ATM devices. Therefore the ATM address pair must be further resolved by a VCC identifier unambiguous within the context of the ATM address pair. g. refer to a VCC as the Remote GW ATM End System Address + VCCI. Greene, et al. Informational [Page 23] RFC 2805 MG Control Protocol Requirements April 2000 h. allow the VCCI to be selected by the MG or imposed on the MG. i. support all ATM addressing variants (e.g. ATM End System Address (AESA) and E.164). 11.1.3.2. Connection related requirements The protocol must: a. Allow for the de-coupling of creation/deletion of the narrow- band connection from the creation/deletion of the underlying VCC. b. Allow for efficient disconnection of all connections associated with a physical port or VCC. As an example, this could aggregate disconnections across a broadband circuit which experienced a physical error. c. Allow the connection established using this protocol to be carried over a VCC, which may be a: * PVC or SPVC, * an SVC established on demand, either by the MGC itself or by a broker acting on its behalf or, * an SVC originated as required by the local MG, or by the remote end to the local MG through UNI or PNNI signalling. d. Allow ATM transport parameters and QoS parameters to be passed to the MG. e. Allow blocking and unblocking of a physical interface, a VCC or an AAL1/AAL2 channel. The protocol should: f. Where a VCC is required to be established on a per narrow-band call basis, allow all necessary information to be passed in one message. 11.1.3.3. Media adaptation The protocol must: a. Allow AAL parameters to be passed to the MG. Greene, et al. Informational [Page 24] RFC 2805 MG Control Protocol Requirements April 2000 b. Allow AAL1/AAL2 multiple narrow-band calls to be mapped to a single VCC. For AAL2, these calls are differentiated within each VCC by a AAL2 channel identifier. An AAL2 connection may span more than 1 VCC and transit AAL2 switching devices. ITU Q.2630.1 [2] defines an end-to-end identifier called the Served User Generated Reference (SUGR). It carries information from the originating user of the AAL2 signalling protocol to the terminating user transparently and unmodified. c. Allow unambiguous binding of a narrow band call to an AAL2 connection identifier, or AAL1 channel, within the specified VCC. d. Allow the AAL2 connection identifier, or AAL1 channel, to be selected by the MG or imposed on the MG