Internet Engineering Task Force                             Nancy Greene
INTERNET DRAFT                                           Nortel Networks
<draft-ietf-megaco-reqs-02.txt>                          Michael Ramalho
Category: Informational                                        Telcordia
Expires: October 18, 1999                                    Brian Rosen
                                                            Fore Systems


      Media Gateway Control Protocol Architecture and Requirements
               Nancy Greene, Michael Ramalho, Brian Rosen




Status of this memo

This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026. Internet-Drafts are working docu-
ments of the Internet Engineering Task Force (IETF), its areas, and its
working groups. Note that other groups may also distribute working docu-
ments 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."

To view the list Internet-Draft Shadow Directories, see
http://www.ietf.org/shadow.html.



Abstract

This document describes protocol requirements for the Media Gateway Con-
trol protocol between a Media Gateway Controller and a Media Gateway.


Table of Contents
-to be added











Greene, Rosen, Ramalho                                          [Page 1]


Internet draft            MEGACO Requirements              18 April 1999


1.  Introduction

This document describes requirements to be placed on the Megaco proto-
col. When the word protocol is used on its own in this document it
implicitly means the Megaco 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 [2] and indi-
cate requirement levels for the Media Gateway control protocol.


3.  Definitions

*    Context

Under the control of a Media Gateway Controller (MGC), the Media Gateway
(MG) realizes contexts. Contexts 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 car-
ries user media content and telephony access signalling (DP, DTMF, BRI,
proprietary business set).

*    Media Gateway unit - physical entity (MG-unit):

An MG-unit contains an MG function and may also contain other functions,
e.g. an SG function.

*    Media Gateway (MG)

A Media Gateway (MG) function provides the media mapping and/or tran-
scoding functions between dissimilar networks, one of which is presumed
to be a packet, frame or cell network.  For example, an MG might ter-
minate switched circuit network (SCN) facilities (trunks, loops), pack-
etize the media stream, if it is not already packetized, and deliver
packetized traffic to a packet network.  It would perform these func-
tions 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
canonical MG would have a physical interface to a non-packet/cell/frame
Media stream, and a physical interface to a packet/frame/cell network,
but is not restricted to such an arrangement.  A conference bridge with



Greene, Rosen, Ramalho                                          [Page 2]


Internet draft            MEGACO Requirements              18 April 1999


all packet interfaces could be an MG, as well as an IVR unit or a voice
recognition system with a cell interface.

*    Media Gateway Controller (MGC)

A Media Gateway Controller (MGC) function controls a MG.

*    Media Resource

Examples of media resources are codecs, announcements, tones, and
modems, IVR units, bridges, etc.  Media resources

*    Signaling Gateway (SG)

An SG function receives/sends SCN native signalling at the edge of a
data network. For example the SG function may relay, translate or ter-
minate SS7 signaling in an SS7-Internet Gateway. The SG function may
also be co-resident with the MG function to process SCN signalling asso-
ciated 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
MG. When an MG is asked to connect two or more terminations, it under-
stands how the flows entering and leaving each termination are related
to each other.

Terminations are, for instance, DS0's, ATM VCs and RTP ports.

*    Termination Class

A Termination Class is defined as the general protocol requirements (or
a subset of them), plus any new specific requirements needed for that
Termination Class. A Termination Class provides the detailed require-
ments for its particular application/bearer type. A particular class of
Media Gateway, for example, would implement a particular set of Megaco
Termination Classes.

*    Trunk

An analog or digital connection from a circuit switch which carries user
media content and may carry telephony signalling (MF, R2, etc.).  Digi-
tal 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.




Greene, Rosen, Ramalho                                          [Page 3]


Internet draft            MEGACO Requirements              18 April 1999


4.  Specific functions assumed within the MG

This section provides an environment for the definition of the general
Megaco 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 terminations, 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 termination itself. Further, this difference must not be visi-
ble to MGC, the MGC must be able to issue the same request to two dif-
ferent implementations and achieve the same result. Terminations are
clearly the cornerstone of the MG. The operation of other media
resources must be captured only as they relate to terminations in an
implementation independent manner.

Depending on the application of the MG (e.g., trunking, residential),
some functions 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 every context to involve media adaptation. A context may join two
terminations of the same type (i.e., the MG behaves as a switch). The
required media conversion depends on the media type supported by the
terminations within a context.

In addition to media adaptation function, terminations have a number of
unique properties, for instance:

*    certain types of terminations have associated signalling capabili-
     ties (e.g., PRI signalling, DTMF),

*    some terminations perform maintenance functions (e.g., continuity
     tests),

*    the MGC needs to know the state changes of terminations (e.g., a
     trunk group going out of service),

*    the MG retains some control over the allocation and control of some
     resources (e.g., termination name space: RTP port numbers).

Therefore, an MG realizes contexts  (point-to-point and conferences),
and supports several termination functions. These functions include
media conversion, resource allocation and management, and event notifi-
cations. Handling termination associated signalling is either done using



Greene, Rosen, Ramalho                                          [Page 4]


Internet draft            MEGACO Requirements              18 April 1999


event notifications, or is handled by the signalling backhaul part of a
MG-unit (i.e. NOT directly handled by the MG).

MGs must also support some level 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 terminations

*    Ability to provide state of terminations

*    Maintenance of terminations - It must be possible to make mainte-
     nance operations independent of other termination functions, for
     instance, some maintenance states should not affect the resources
     associated with the termination. Examples of maintenance functions
     are loopbacks and continuity tests.

*    Context management, including context state.

*    Media processing, using media resources: these provide services
     such as transcoding, conferencing, IVR units. Media resources may
     or may not be directly part of terminations.

*    Incoming digit analysis for terminations, interpretation of scripts
     for terminations

*    Event detection and signal insertion for per-channel signalling

*    Ability to configure signalling backhauls (Sigtran)

*    Management of the association between the MGC and MG, or between
     the MGC and MG terminations.


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 of all resources associated with a given context in a
     single exchange of messages.



Greene, Rosen, Ramalho                                          [Page 5]


Internet draft            MEGACO Requirements              18 April 1999


5.2.  Connection Requirements

The Protocol must:

a.   Support connections involving packet and circuit bearer termina-
     tions in any combination.

b.   Support connections involving TDM, Analogue, ATM, IP or FR tran-
     sport 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.  Support multiple media types (e.g.
     audio, video, T.120).  Support point-to-point and point-to-
     multipoint connections.

g.   Support creation and modification of more complex flow topologies
     e.g. conference bridge capabilities.

h.   Support inclusion of media resources into contexts 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 time, if the protocol permits mul-
     tiple flows to pass through the same point.

j.   Support "Hairpin" connections (connections between two circuit con-
     nections within the same MG).

k.   Allow modifications of an existing termination, such as use of
     higher compression to compensate for insufficient bandwidth, or
     changing transport network connections.  Such a mechanism may, for
     instance, be used to maintain QoS of an established service without
     making the end-user aware of resource changes.

l.   Allow a priority marking to flag a given connection as having a
     higher priority.


5.3.  Media Transformations

The Protocol must:

a.   Support mediation/adaptation of flows between different types of
     transport



Greene, Rosen, Ramalho                                          [Page 6]


Internet draft            MEGACO Requirements              18 April 1999


b.   Support invocation of additional processing such as echo cancella-
     tion.

c.   Support mediation of flows between different content encoding
     (codecs, encryption/decryption)

d.   Allow the MGC to specify whether FAX/data modem traffic is to be
     terminated at the MG, modulated/demodulated, and converted to pack-
     ets, or is to be passed on by the MG in the media flow as voice
     band traffic.

e.   Allow the MGC to specify that MF/DTMF be extracted and encoded in a
     separate RTP stream, extracted and converted into packets, or ter-
     minated at the MG.

[Editor's Note: A fourth alternative was mentioned at the Megaco meeting
- what was it?]

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 trans-adaptation only (no media adaptation)
     e.g. mid-stream (packet-to-packet) codec, ATM/AAL5/IP/UDP/RTP to
     ATM/AAL2, etc.

Transport audio normalization levels as a setup parameter, e.g confer-
ence bridging.


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 proto-
     col 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 signalling events.

e.   Allow the MGC to enable and/or mask events.




Greene, Rosen, Ramalho                                          [Page 7]


Internet draft            MEGACO Requirements              18 April 1999


f.   Provide a way for MGC to positively acknowledge event notification.

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 (announce-
     ments, 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.

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 as a whole,
     and by direction.

c    Support a means to change QoS as a whole and by direction.

d.   Provide a means to change some aspects of QoS by flow direction at
     different times throughout the life of the connection.

e.   Allow the MGC to set QOS thresholds and receive notification when
     such thresholds cannot be maintained.


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 103, 105, and 108 test line operation.



Greene, Rosen, Ramalho                                          [Page 8]


Internet draft            MEGACO Requirements              18 April 1999


c.   Support general test capabilities, for example loopbacks through
     the MG to test DSP operation.


5.7.  Accounting

The protocol must:

a.   Support a common identifier to mark terminations related to one
     call.

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, by media flow,

*    QOS statistics, by media flow.

e.   Allow the MGC to have some controls on 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 MEGACO protocol
must:

a.   Support the signalling requirements of analogue lines and Channel
     Associated Signaling (CAS).

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.





Greene, Rosen, Ramalho                                          [Page 9]


Internet draft            MEGACO Requirements              18 April 1999


6.  Resource Control

6.1.  Resource Status Management

The Protocol must:

a.   Allow the MG to report changes in status of physical entities sup-
     porting bearer terminations, media resources, and facility-
     associated signalling channels, due to failures, recovery, or
     administrative action. It must be able to report whether a termina-
     tion is in service or out of service.

b.   Support administrative blocking and release of TDM circuit termina-
     tions.

[Editor's Note: as the above point only relates to ISUP-controlled cir-
cuits, 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 currently in use, or reserved, for any or all contexts.

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 and quan-
     tities of available terminations and the allowed values for parame-
     ters supported by terminations.

     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 deter-
     mine 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 reasonable track the consumption of such resources
     itself. It should also be possible to discover resources currently
     in use, in order to clean up inconsistencies between the MGC and



Greene, Rosen, Ramalho                                         [Page 10]


Internet draft            MEGACO Requirements              18 April 1999


     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 con-
     text 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 network
     entities, MGs and MGCs.


7.  Operational/Management Requirements

7.1.  Assurance of Control/Connectivity

The Protocol must:

a.   Provide the means to minimize duration of loss of control due to
     loss of contact or state mismatches.

b.   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.

c.   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).

d.   Provide a means for MGC and MG to provide each other with booting
     and reboot indications, and what the MG's configuration is.




Greene, Rosen, Ramalho                                         [Page 11]


Internet draft            MEGACO Requirements              18 April 1999


7.2.  Resiliency

The Protocol must:

a.   Allow an MG to recover from the failure of its current controlling
     MGC.

b.   Allow the MG and MGC to recover gracefully from failure of the net-
     work path between them.

c.   Permit more than one backup MGC and provide an orderly way for the
     MG to contact one of its backups.

d.   Provide for an orderly switchback to the primary MGC after it
     recovers. How MGCs coordinate resources between themselves is out-
     side the scope of the protocol.

e.   Provide a mechanism so that when an MGC fails, connections already
     established can be maintained. The protocol does not have to pro-
     vide a capability to maintain connections in the process of being
     connected, but not actually connected when the failure occurs.

f.   Provide a connection discovery mechanism for a backup MGC to deter-
     mine what connections are established, what parameters are applied
     to the terminations and/or connection, as well as what MG resources
     they are using.

g.   Allow the MGC to recover gracefully from the failure of an MG under
     its control.


7.3.  Error Control

The Protocol must:

a.   Allow for the MG to report cause codes 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 a mechanism to avoid failures on an MG from generating
     "showers" of supervision events.

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



Greene, Rosen, Ramalho                                         [Page 12]


Internet draft            MEGACO Requirements              18 April 1999


     out-of-service.

f.   Allow the MG to request the MGC to release a Termination and com-
     municate a reason.

g.   Allow the MGC to specify, as a result of such a request its deci-
     sion to take termination down, leave it as is or modify it.


7.4.  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.   MGC MIB should provide ... to be completed.

[Editor's Note: Discussion: MIB requirements should focus solely on the
management of the operation of the Media Gateway control protocol
itself.  Other MIBs cover the topics suggested here, except possibly for
the traffic engineering statistics.  The point was raised that the MGC
should not have to implement a manager function, because of the compli-
cations this would pose for security administration.  This raises a
requirement for the MGC to be able to discover the resources and other
necessary information pertaining to a given MG by means of the Megaco
protocol.  A suggestion was also made that the MG needs to discover cer-
tain information about the MGC.

The mailing list is invited to comment, both on the proper Media Control
MIB requirements and on the requirements for discovery.]


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



Greene, Rosen, Ramalho                                         [Page 13]


Internet draft            MEGACO Requirements              18 April 1999


     support all of the possible extensions for the protocol. This will
     permit lightweight implementations for specialized tasks where pro-
     cessing resources are constrained.

[Editor's Note: consolidate this with a definition of profile, and find
a new name for profile].

c.   Be flexible in allocation of intelligence between MG and MGC

[Editor's Note: Discussion: this may have validity as a general require-
ment, but it is preferable to give details specific instances where the
flexibility should be offered.]

d.   Support scalability from very small to very large MGs: The protocol
     must support MGs with capacities ranging from one to a few tens of
     thousands of terminations.

e.   Support scalability from very small to very large MGC span of con-
     trol: The protocol should support MGCs that from one MG to several
     million MGs.

Editor's note: millions seems impossibly large.  Should it not be "a few
tens of thousands"?

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 mechan-
     ism 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 ini-
     tial 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 com-
     mand must be rejected).







Greene, Rosen, Ramalho                                         [Page 14]


Internet draft            MEGACO Requirements              18 April 1999


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 IP addresses to
     a single MG.  (See also .....)

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

ITU E.500 series recommendation that specifies performance requirements
for telephony GW operations.  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 exam-
     ple, protocol PDU sizes vs. transport MTU sizes needs to be con-
     sidered in designing the protocol.

d.   Support peak calling rates in the order of 140 calls/second at the
     MGC on a moderately loaded IP network.

e.   Allow for default/provisioned settings so that commands need only
     contain non-default parameters.






Greene, Rosen, Ramalho                                         [Page 15]


Internet draft            MEGACO Requirements              18 April 1999


9.  Transport Requirements

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 mes-
     sages associated with the same source of events is not assumed.

d.   Does not prevent duplicate transmissions.

The protocol must:

a.   Provide the ability to abort delivery of obsolete messages at the
     sending end if their transmission has not been successfully com-
     pleted. For example, aborting a command which has been overtaken by
     events.

b.   Support priority messages: The protocol shall allow a command pre-
     cedence to allow priority messages to supercede non-priority mes-
     sages.

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
Megaco protocol. Also need to compare Megaco reliable transport require-
ments 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 associa-
     tion



Greene, Rosen, Ramalho                                         [Page 16]


Internet draft            MEGACO Requirements              18 April 1999


b.   Allow for preservation of the of control messages once the associa-
     tion 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.

e.   Support non-repudiation for a customer-located MG talking to a net-
     work operator's MGC.

g.   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.


11.  Requirements specific to Termination Classes

The terminations 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 Megaco protocol, but would
be defined by different termination classes. The Megaco protocol must
support all types of terminations listed in Table 1.

Table 1: Termination Classes

        Termination Class                 Applications       Transit Network
        ====================================================================
        Trunk+ISUP                        trunking/access     IP, ATM, FR
                                          Voice, Fax, NAS

        Trunk+MF                          trunking/access     IP, ATM, FR
                                          Voice, Fax, NAS

        ISDN                              trunking/access     IP, ATM, FR
                                          Voice, Fax,NAS

        Analogue                          Voice,Fax           IP, ATM, FR
        Termination in a Restricted       Voice,Fax           IP, ATM, FR
        Capability Gateway
        Application Termination           IVR, Announcement Server,
                                          Voice Recognition Server,
                                          Wiretap,...





Greene, Rosen, Ramalho                                         [Page 17]


Internet draft            MEGACO Requirements              18 April 1999


11.1.  Media-specific Termination Classes

This section describes requirements for handling terminations attached
to specific types of networks.


11.1.1.  Requirements for TDM PSTN (Circuit)

This termination class is applicable to a Trunking GW, Access GW, ...

The Megaco protocol MUST allow:

a.   the MGC to specify the encoding to use on the attached circuit.

     In general, if something is set by a global signalling protocol
     (e.g. ISUP allows mu-Law or A-Law to be signalled using ISUP) then
     it must be settable by the protocol.

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 vari-
     able aspects of the content encoding, particularly including chan-
     nel 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.




Greene, Rosen, Ramalho                                         [Page 18]


Internet draft            MEGACO Requirements              18 April 1999


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.

The Megaco protocol MAY also allow:

l.   specification of sub-channel media streams,

m.   specification of multi-channel media streams.


11.1.2.  Packet Termination Class

The Megaco 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 Megaco 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 Megaco 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



Greene, Rosen, Ramalho                                         [Page 19]


Internet draft            MEGACO Requirements              18 April 1999


     RTP payload type and RTP session number for each RTP-encapsulated
     media flow.

h.   indication that the Media Gateway must detect DTMF on the circuit
     side of a connection, replace it by silence, and either report the
     detected DTMF to the Media Gateway Controller or transmit it as a
     separate RTP flow.

i.   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 connec-
     tion parameter.

j.   invoking of encryption/decryption on media flows and specification
     of the associated algorithm and key.

The Megaco protocol SHOULD also allow:

k.   the MGC to configure non-RTP (proprietary or other) encapsulated
     packet flows.


11.1.3.  Termination class requirements for ATM

This termination class 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 wildcarded variant of these,

*    remote termination network address, remote MG name.

b.   Allow specification of an ATM termination which is to be assigned
     to a Media Gateway 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 Media Gateway name could
     be used also when the MG can select the Virtual Circuit and change
     the VC during the life of the connection by using ATM signalling.

c.   Provide an indication by the Media Gateway of the VC identifier and
     possibly AAL2 slot of the termination actually assigned to a con-
     nection




Greene, Rosen, Ramalho                                         [Page 20]


Internet draft            MEGACO Requirements              18 April 1999


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.

h.   allow the VCCI to be selected by the MG or imposed on the MG.

i.   support all ATM addressing variants (e.g. NSAP 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 phy-
     sical 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.




Greene, Rosen, Ramalho                                         [Page 21]


Internet draft            MEGACO Requirements              18 April 1999


Where a VCC is required to be established on a per narrow-band call
basis, the Protocol SHOULD allow all necessary information to be passed
in 1 message.

11.1.3.3.  Media adaptation

Note that no specific requirements for AAL1 or AAL5 have been defined
here yet.

The Protocol must

a.   Allow AAL parameters to be passed to the MG.

b.   Allow AAL2 multiple narrow-band calls may be mapped to a single
     VCC. These calls are differentiated within each VCC by a AAL2 chan-
     nel identifier. An AAL2 connection may span more than 1 VCC and
     transit AAL2 switching devices. ATMF standards are working on an
     end-to-end AAL2 connection identifier as part of the AAL2 signal-
     ling set.

c.   Allow unambiguous binding of a narrow band call to an AAL2 connec-
     tion identifier within the specified VCC.

d.   Allow the AAL2 connection identifier to be selected by the MG or
     imposed on the MG

e.   Allow AAL2 channel identifier (cid) instead of AAL2 connection
     identifier

f.   Allow the AAL2 voice profile to be imposed or negotiated before the
     start of the connection.  AAL2 allows for variable length packets
     and varying packet rates, with multiple codecs possible within a
     given profile. Thus a given call may upgrade or downgrade the codec
     within the lifetime of the call. Idle channels may generate zero
     bandwidth. Thus an AAL2 VCC may vary in bandwidth and possibly
     exceed its contract. Congestion controls within a gateway may react
     to congestion by modifying codec rates/types.

g.   Allow the MGC to instruct the MG of how individual narrow-band
     calls behave under congestion.

11.1.3.4.  Reporting requirements

The protocol SHOULD:

a.   Allow any end-of-call statistics to show loss/restoration of under-
     lying VCC within the calls duration, together with duration of
     loss.



Greene, Rosen, Ramalho                                         [Page 22]


Internet draft            MEGACO Requirements              18 April 1999


b.   Allow notification, as requested by MGC, of any congestion
     avoidance actions taken by the MG.

The Protocol must:

c.   Allow ATM VCCs to be audited by the MGC.

d.   Allow changes in status of ATM VCCs to be notified as requested by
     the MGC.

e.   Allow the MGC to query the resource & endpoint availability.
     Resources may include VCCs, & DSPs. VCCs may be up or down. End-
     points may be connection-free, connected or unavailable.

11.1.3.5.  Functional requirements

The Protocol must:

a.   Allow an MGC to reserve a bearer, and specify a route for it
     through the network.


11.1.4.  Termination class requirements for Frame Relay

The Frame Relay Termination Class is applicable to Trunking GW, Access
GW, ...


11.1.5.  Termination Class Requirements for an Analogue Gateway


11.1.6.  Termination Class Requirements for an ISDN Gateway


11.2.  Application-Specific Requirements


11.2.1.  Trunking Gateway

A Trunking Gateway is an interface between SCN networks and Voice over
IP or Voice over ATM networks.  Such gateways typically interface to SS7
or other NNI signalling on the SCN and manage a large number of digital
circuits.

The protocol must:

a.   Provide Circuit and Packet-side loopback.




Greene, Rosen, Ramalho                                         [Page 23]


Internet draft            MEGACO Requirements              18 April 1999


b    Provide Circuit-side n x 64kbs connections.

c    Provide subrate and multirate connections -for further study.

d.   Provide lawful Wiretap capability

e.   Provide the capability to support Reporting/generation of per-trunk
     CAS signalling (DP, DTMF, MF, R2, J2, and national variants).

f.   Provide the capability to support reporting of detected DTMF events
     either digit-by-digit, as a sequence of detected digits with a
     flexible mechanism For the MG to determine the likely end of dial
     string, or in a separate RTP stream.

g.   Provide the capability to support ANI and DNIS generation and
     reception.

11.2.2.  Access Gateway

An Access Gateway connects UNI interfaces like ISDN (PRI and BRI) or
traditional analog voice terminal interfaces, to a Voice over IP or
Voice over ATM network, or Voice over Frame Relay network.

The Protocol must:

a.   Support detection and generation of analog line signaling (hook-
     state, ring generation).

b.   Provide the capability to support reporting of detected DTMF events
     either digit-by-digit, as a sequence of detected digits with a
     flexible mechanism For the MG to determine the likely end of dial
     string, or in a separate RTP stream.

c.   Not require scripting mechanisms, event buffering, digit map
     storage when implementing restricted function (1-2 line) gateways
     with very limited capabilities.

d.   Provide the capability to support CallerID generation and recep-
     tion.

Proxying of the protocol is for further study.


11.2.3.  Trunking/Access Gateway with fax ports







Greene, Rosen, Ramalho                                         [Page 24]


Internet draft            MEGACO Requirements              18 April 1999


11.2.4.  Trunking/Access Gateway with conference ports (Multipoint Pro-
cessing Unit)


11.2.5.  Network Access Server

        Below is a reference architecture for a Network Access Server (NAS).

                      +-------+        +-------+
           Signaling  |       |        |       |
           -----------+  MGC  +        |  AAA  |
                      |       |        |       |
                      +---+---+        +--+----+
                          | Megaco        |
                          |               |
                      +---+---+         ~~~~~~
            Bearer    |       |        (      )
           -----------+  NAS  +-------(   IP   )
                      |       |        (      )
                      +-------+         ~~~~~~

        Signaling comes into the MGC and the MGC controls the NAS.



A NAS is an access gateway, or Media Gateway (MG), which terminates
modem signals or synchronous HDLC connections from an SCN network and
provide data access to the packet network.

A NAS is assumed to occupy a position in network similar to a trunking
gateway. Hence it must handle the same set of trunk circuit bearers, and
the same trunk signalling. Only those requirements specific to a NAS are
described here.

The Protocol must support:

a.   Callback capabilities:

*    PPP Callback

*    Callback based on Login

b.   Modem calls.  The protocol must be able to specify the modem
     type(s) to be used for the call.

c.   Synchronous HDLC calls.  The protocol must be able to specify the
     data rate of the TDM connection (e.g., 64 kbit/s, 56 kbit/s, 384
     kbit/s), if this is available from the SCN.



Greene, Rosen, Ramalho                                         [Page 25]


Internet draft            MEGACO Requirements              18 April 1999


d.   Rate Adaptation: The protocol must be able to specify the type of
     rate adaptation to be used for the call including indicating the
     subrate, if this is available from the SCN (e.g. 56K, or V.110 sig-
     nalled in Bearer capabilities with subsrate connection of
     19.2kbit/s.

e.   Adaptable NASes: The protocol must be able to support multiple
     options for an incoming call to allow the NAS to dynamically select
     the proper type of call.  For example, an incoming ISDN call coded
     for "Speech" Bearer Capability could actually be a voice, modem,
     fax or 56 kbit/s synchronous call.  The protocol should allow the
     NAS to report back to the MGC the actual type of call once it is
     detected.

f.   Passing of information received from a AAA server by the MGC to the
     NAS.  This would be necessary if it is the MGC that queries a AAA
     server.

g.   Passage of Called and Calling Party Number information to the NAS
     from the MGC.

h.   Passing of information required by the AAA Server from the NAS to
     the MGC, for example, username, calling number, called number, PIN
     number based on an IVR prompt (Note:  This could be done via RADIUS
     with the MGC acting as proxy.  This would require the least
     development on the NAS).

i.   Specification of per-call configuration parameters from the MGC to
     NAS (e.g., based on ANI and DNIS).  These may include:

*    L2TP Tunnel Parameters

*    AAA Server to use for the call

*    Other attributes defined in RFC2138 (RADIUS).

j.   Specification of QoS parameters to the NAS to use for a session. It
     should be able to specify QoS parameters based on the authentica-
     tion parameters.

k.   Delivery of call information from the NAS to the MGC.  NASes
     already provide accounting information via AAA.  The information to
     be delivered is equivalent to that identified in RFC 2139 (RADIUS
     Accounting).

l.   Be able to report Capability information, for example, connection
     types (V.34/V90/Synch ISDN..), AAA mechanism (RADIUS/DIAMETER/..),
     access type (PPP/SLIP/..) after restart or upgrade.



Greene, Rosen, Ramalho                                         [Page 26]


Internet draft            MEGACO Requirements              18 April 1999


m.   Support the following connection types:

-    Circuit-modem (onward routing implicit)

-    Circuit-specified L2TP tunnel via modem

-    Circuit-circuit (reroute to VoIP MG)

n.   NAT mapping, port filters or tunnel parameters for a particular
     user may need to be communicated to the MG.

o.   Sending disconnect information and reason from the NAS to the MGC.

11.2.6.  Analog Gateway

See requirements for restricted capability gateway.

11.2.7.  Restricted Capability Gateway

The requirements here may also be applied to small analog gateways, and
to cable/xDSL modems. See also the section on access gateways.

The Protocol must support:

a.   The ability to provide a scaled down version of the protocol. When
     features of the protocol are not supported, an appropriate error
     message must be sent. Appropriate default action must be defined.
     Where this is defined may be outside the scope of the Megaco proto-
     col.

b.   The ability to provide device capability information to the MGC
     with respect to the use of Megaco protocol.

11.2.8.  ISDN Gateway

add text

11.2.9.  H.320 Gateway

The protocol must have sufficient capability to support an H.320 gate-
way.  H.320 is characterized by a single data stream with multiple media
streams multiplexed on it

If the mapping is from H.320 on the circuit side, and H.323 on the
packet side, it is assumed that the MG knows how to map respective sub-
channels from H.320 side to streams on packet side. If extra information
is required when connecting two terminations, then it must be supplied
so that the connections are not ambiguous.



Greene, Rosen, Ramalho                                         [Page 27]


Internet draft            MEGACO Requirements              18 April 1999


11.2.10.  IVR Unit

An IVR Unit, or IVR MG, provides automatic voice response and switching
services in response to DTMF signals from the SCN. A scripting require-
ment for IVR would involve IVR-controlling extensions to basic scripting
packages.

To support Media Gateways functioning as IVR systems, the Protocol must:

a.   Be able to provide these basic operations:

-    request an IVR MG to play an announcement.

-    request an IVR MG to play an announcement and then collect DTMF
     digits.

-    request an IVR MG to play an announcement and then record voice.

b.   Be able to specify these play characteristics:

-    Play volume

-    Play speed

-    Play iterations

-    Interval between play iterations

-    Play duration

c.   Be able to specify these event collection characteristics:

-    The number of attempts to give the user to enter a valid DTMF pat-
     tern.

-    The number of attempts to give the user to make a recording.

d.   Provide a base set of voice variables including date, digits, dura-
     tion, money, month, number, silence, string, display text, text to
     voice, time, generated tone, and weekday.  Given a variable type
     and value, the IVR MG must dynamically assemble the phrases
     required for its playback.  For example, given a type of "US
     Currency" and a value of "1995," the IVR MG should play "Nineteen
     dollars and ninty-five cents."

e.   Using the terminology that a segment is a discrete unit of playable
     speech, support these types of segments:




Greene, Rosen, Ramalho                                         [Page 28]


Internet draft            MEGACO Requirements              18 April 1999


-    A provisioned recording.

-    A block of text to be converted to speech.

-     A block of text to be displayed on a device.

-    A length of silence to be played.

-    An algorithmically generated tone.

-    A voice variable, specified by type and value.  Given a variable
     type and value, the IVR would dynamically assemble the phrases
     required for its playback.

-    A provisioned sequence of segments, referenced by a single unique
     id.

-    A provisioned set of segments, referenced by unique id and a selec-
     tor specifying a particular segment in the set.

f.   Provide two different methods of audio specification:

-    Direct specification of the audio components to be played by speci-
     fying the sequence of segments in the command itself.

-    Indirect specification of the audio components to be played by
     reference to a single identifier that resolves to a provisioned
     sequence of audio segments.

The terminology of sequence and set can be used with segments.

A sequence is a provisioned sequence of one or more audio segments. Com-
ponent segments are not necessarily all of the same type.  Every
sequence is assigned a unique segment id.  On playback, a sequence id
reference is deconstructed into its individual parts, each of which is
played in order.

A set is a provisioned collection of audio segments with an associated
selector. On playback, the selector value is resolved to a particular
set element. Selector types need not be defined in the protocol itself,
but may be defined by the user.  Some examples of selector types that a
user might define are: language, codec, audio file format, gender,
accent, customer, and voice talent.

g.   Using the above set and sequence terminology, provide for the fol-
     lowing uses of segments:

-    Sequences of heterogeneous segments



Greene, Rosen, Ramalho                                         [Page 29]


Internet draft            MEGACO Requirements              18 April 1999


-    Nesting of sequences

-    Nesting of sets.

-    Nesting of sets with in sequences and sequences within sets.

-    Use of set selectors to implement properties such as language,
     codec, audio format, voice talent, customer, gender, accent, etc.

h.   With respect to digit timers, allow the specification of:

-    Time allowed to enter the first digit.

-    Time allowed for user to enter each digit subsequent to the first
     digit.

-    Time allowed for user to enter a digit once the maximum expected
     number of digits has been entered.

i.   With respect to recording timers, allow the specification of:

-    Time to wait for the user to initially speak.

-    The amount of silence necessary following the last speech segment
     for the recording to be considered complete.

-    The maximum allowable length of the recording  (not including pre-
     and post- speech silence).

j.   To be able to allow multiple prompt operations for digit collection
     and voice recording, provide the following types of prompts:

-    Initial Prompt

-    Reprompt

-    Error prompt

-    Failure announcement

-    Success announcement.

k.   To allow digit pattern matching, allow the specification of:

-     maximum number of digits to collect.

-     minimum number of digits to collect.




Greene, Rosen, Ramalho                                         [Page 30]


Internet draft            MEGACO Requirements              18 April 1999


-    a digit pattern using a regular expression.

l.   To allow digit buffer control, allow the specification of:

-    Ability to clear digit buffer prior to playing initial prompt
     (default is not to clear buffer).

-    Default clearing of buffer following playing of uninterruptible
     announcement segment.

-    Default clearing of buffer before playing a reprompt in response to
     previous invalid input.

m.   Provide a method to specify DTMF interruptibility on a per audio
     segment basis.

n.   Allow the specification of definable key sequences for digit
     collection/recording to:

-    Discard collected digits/recording in progress, replay the prompt,
     and resume digit collection/recording (digit collection only).

-    Discard collected digits/recording in progress and resume digit
     collection/recording (digit collection only).

-    Terminate the current operation and return the terminating key
     sequence to the MGC.

o.   Provide a way to ask the IVR MG to support the following definable
     keys for digit collection and recording. These keys would then be
     able to be acted upon by the IVR MG:

-    A key to terminate playing of an announcement in progress.

-    A set of one or more keys that can be accepted as the first digit
     to be collected  (digit collection only).

-    A key that signals the end of user input (digit collection or
     recording).  The key may or may not be returned to the MGC along
     with the input already collected.

-    Keys to stop playing the current announcement and resume playing at
     the beginning of the first segment of the announcement, last seg-
     ment of the announcement, previous segment of the announcement,
     next segment of the announcement, or the current announcement seg-
     ment.

p.   While audio prompts are usually provisioned in IVR MGs, support



Greene, Rosen, Ramalho                                         [Page 31]


Internet draft            MEGACO Requirements              18 April 1999


     changing the provisioned prompts in a voice session rather than a
     data session.  In particular, with respect to audio management:

-    A method to replace provisioned audio with audio recorded during a
     call. The newly recorded audio must be accessible using the iden-
     tifier of the audio it replaces.

-    A method to revert from replaced audio to the original provisioned
     audio.

-    A method to take audio recorded during a call and store it such
     that it is accessible to the current call only through its own
     newly created unique identifier.

-    A method to take audio recorded during a call and store it such
     that it is accessible to any subsequent call through its own newly
     created identifier.

The Protocol need not support the following:

q.   While inflection  (rising, flat, and falling) must be supported by
     the IVR MG, specification of inflection is outside the scope of
     this protocol.

11.2.11.  Other Application-specific Gateways (Announcement Server,
Voice Recognition Server...)

add text

12.  Requirements proposed to be removed

Editor's note.  We believe these requirements to now be superfluous,
they will be deleted in the next revision unless justification is pro-
vided.

Allow for different control relationship profiles, then define a very
few that cover the majority of industry needs.

Explicit activation of terminations, and of termination programs by MGC
on boot/reboot

Appropriate handling of termination program activity status on failover.

An MG may provide services for MG configuration, for assigning itself an
IP address, for name lookup to find an MGC, and for providing a secure
link between itself and an MGC. In some cases, existing protocols may be
employed (SNMP, DHC, DNS, IPSEC, ...) and in some cases the MG may refer
to be pre-provisioned with the information it needs.



Greene, Rosen, Ramalho                                         [Page 32]


Internet draft            MEGACO Requirements              18 April 1999


The Megaco protocol should support MGs of both greater and lesser intel-
ligence.  As an example, in some cases the MG is able to manage its own
resources, as for instance if it is able to select an available outgoing
trunk given the trunk group name.  This sort of intelligence is essen-
tial to meet the upper range of sizes for MGCs.

In other cases the Media Gateway Controller will do the detailed manage-
ment of Media Gateway resources; in the trunking example, the MGC will
specify the exact circuit termination to use in an outgoing call.

The MG may have the power to infer behaviours required of the devices it
hosts (e.g., tone collection, IVR interworking).

It is also possible that distributed call processing over two MGs may be
required to address issues such as post-dial delay and open dialing
plans. This needs to be developed further.

[Editor's Note: this is an area in which not much debate has occurred,
therefore the protocol requirements might not yet be completely identi-
fied.]

Editor's Note: The following requirement goes beyond what we have
currently defined the minimum signal requirements.  Specifically, it
defines a Requirement that signal sources can come from outside the MG,
and the MG is responsible for connecting to such a resource.

Network/Media resources: - naming of announcements to be played:  for
example, announcementx@domain - need to resolve the address, and then
who decides whether to set up an IP connection to a specialized server,
or whether it can be handled by a media resource, or by an termination
in the MG? - it may  be an termination in a MG, or the MGC could set up
the connection to an AS, or the MG could set up the connection to an AS.
In any case, we need a location independent specification of network
resources



13.  References

Note: Since references to internet-drafts cannot remain in an RFC,
internet- draft references below will be removed at some point. They are
included here in the meantime, to indicate the source of some of the
requirements in this document.

[1]  Cuervo, Greene, Holdrege, Ong, Huitema, "SS7-Internet Interworking
     - Architectural Framework", work in progress.

[2]  Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP: A



Greene, Rosen, Ramalho                                         [Page 33]


Internet draft            MEGACO Requirements              18 April 1999


     Transport Protocol for Real-Time Applications", RFC 1889, January
     1996.

[3]  Schulzrinne, H., "RTP Profile for Audio and Video Conferences with
     Minimal Control", RFC 1890, January 1996.

[4]  Vandenameele, J., "Requirements for the Reference Point ("N")
     between Media Gateway Controller and Media Gateway", ETSI Tiphon
     WG2 working document and Internet-Draft, <draft-vandenameele-
     tiphon-arch-gway-decomp-01.txt>, January, 1999.

[5]  Holdrege, M., "Multiservice Switching Forum requirements input to
     MEGACO", <draft-ietf-megaco-msf-reqs-01.txt>, April, 1999.

[6]  Cromwell, D., Durling, M., "Requirements For Control Of An IVR
     Function", <draft-cromwell-megaco-ivr-req-00.txt>, April, 1999.



14.  Acknowledgements

The authors would like to acknowledge the many contributors who debated
the media gateway control architecture and requirements on the IETF
Megaco and Sigtran mailing lists.



























Greene, Rosen, Ramalho                                         [Page 34]


Internet draft            MEGACO Requirements              18 April 1999


15.  Authors' addresses


        Nancy Greene
        Nortel Networks
        P.O. Box 3511 Stn C
        Ottawa, ON, Canada K1Y 4H7
        Tel: (514) 271-7221
        Email: ngreene@nortelnetworks.com

        Michael Ramalho
        Telcordia
        Email: mramalho@telcordia.com

        Brian Rosen
        Fore Systems
        1000 FORE Drive, Warrendale, PA 15086
        Tel: (724) 742-6826
        Email: brosen@eng.fore.com
































Greene, Rosen, Ramalho                                         [Page 35]