tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Gloss.     Arch.     IMS     UICC    |    Misc.    |    search     info

RFC 3525


Gateway Control Protocol Version 1

Part 7 of 7, p. 184 to 213
Prev RFC Part


prevText      Top      Up      ToC       Page 184 

   All H.248.1 implementors must read the normative part of this RFC
   carefully before implementing from it.  The examples in this appendix
   should not be used as stand-alone explanations of how to create
   protocol messages.

   The examples in this appendix use SDP for encoding of the Local and
   and Remote stream descriptors. SDP is defined in RFC 2327. If there
   is is any discrepancy between the SDP in the examples, and RFC 2327,
   the the RFC should be consulted for correctness. Audio profiles used
   are are those defined in IETF RFC 1890, and others registered with
   IANA.  For example, G.711 A-law is called PCMA in SDP, and is
   assigned profile 0. G.723.1 is called G723 and is profile 4; H.263 is
   called H263 and is profile 34. See also

A.1   Residential Gateway to Residential Gateway Call

   This example scenario illustrates the use of the elements of the
   protocol to set up a Residential Gateway to Residential Gateway call
   over an IP-based network.  For simplicity, this example assumes that
   both Residential Gateways involved in the call are controlled by the
   same Media Gateway Controller.

A.1.1 Programming Residential GW Analog Line Terminations for Idle

   The following illustrates the API invocations from the Media Gateway
   Controller and Media Gateways to get the Terminations in this
   scenario programmed for idle behavior.  Both the originating and
   terminating Media Gateways have idle AnalogLine Terminations
   programmed to look for call initiation events (i.e., -offhook) by
   using the Modify Command with the appropriate parameters.  The null
   Context is used to indicate that the Terminations are not yet
   involved in a Context.  The ROOT termination is used to indicate the
   entire MG instead of a termination within the MG.

   In this example, MG1 has the IP address, MG2 is, and the MGC is The default Megaco
   port is 55555 for all three.

   1. An MG registers with an MGC using the ServiceChange command:

   MG1 to MGC:

   MEGACO/1 [] Transaction = 9998 {
       Context = - {

Top      Up      ToC       Page 185 
           ServiceChange = ROOT {Services {
               ServiceChangeAddress=55555, Profile=ResGW/1}
       } }

   2. The MGC sends a reply:

   MGC to MG1:

   MEGACO/1 []:55555 Reply = 9998 {
      Context = - {ServiceChange = ROOT {
        Services {ServiceChangeAddress=55555, Profile=ResGW/1} } } }

   3. The MGC programs a Termination in the NULL context.  The
   terminationId is A4444, the streamId is 1, the requestId in the
   Events descriptor is 2222.  The mId is the identifier of the sender
   of this message, in this case, it is the IP address and port
   []:55555.  Mode for this stream is set to SendReceive.
   "al" is the analog line supervision package.  Local and Remote are
   assumed to be provisioned.

   MGC to MG1:

   MEGACO/1 []:55555 Transaction = 9999 {
       Context = - {
           Modify = A4444 {
               Media { Stream = 1 {
                        LocalControl {
                            Mode = SendReceive,
                            tdmc/gain=2,  ; in dB,

               Events = 2222 {al/of(strict=state)}
       } }

   The dialplan script could have been loaded into the MG previously.
   Its function would be to wait for the OffHook, turn on dialtone and
   start collecting DTMF digits.  However in this example, we use the
   digit map, which is put into place after the offhook is detected
   (step 5 below).

Top      Up      ToC       Page 186 
   Note that the embedded EventsDescriptor could have been used to
   combine steps 3 and 4 with steps 8 and 9, eliminating steps 6 and 7.

   4. The MG1 accepts the Modify with this reply:

   MG1 to MGC:

   MEGACO/1 []:55555

   Reply = 9999 {
      Context = - {Modify = A4444} }

   5. A similar exchange happens between MG2 and the MGC, resulting in
   an idle Termination called A5555.

A.1.2 Collecting Originator Digits and Initiating Termination

   The following builds upon the previously shown conditions.  It
   illustrates the transactions from the Media Gateway Controller and
   originating Media Gateway (MG1) to get the originating Termination
   (A4444) through the stages of digit collection required to initiate a
   connection to the terminating Media Gateway (MG2).

   6. MG1 detects an offhook event from User 1 and reports it to the
   Media Gateway Controller via the Notify Command.

   MG1 to MGC:

   MEGACO/1 []:55555 Transaction = 10000 {
      Context = - {
          Notify = A4444 {ObservedEvents =2222 {
      } }

   7. And the Notify is acknowledged.

   MGC to MG1:

   MEGACO/1 []:55555 Reply = 10000 {

       Context = - {Notify = A4444} }

Top      Up      ToC       Page 187 
   8. The MGC Modifies the termination to play dial tone, to look for
   digits according to Dialplan0 and to look for the on-hook event now.

   MGC to MG1:

   MEGACO/1 []:55555 Transaction = 10001 {
       Context = - {
           Modify = A4444 {
               Events = 2223 {
                   al/on(strict=state), dd/ce {DigitMap=Dialplan0}
               Signals {cg/dt},
               DigitMap= Dialplan0{ (0| 00|[1-
       } }

   9. And the Modify is acknowledged.

   MG1 to MGC:

   MEGACO/1 []:55555 Reply = 10001 {
       Context = - {Modify = A4444} }

   10.   Next, digits are accumulated by MG1 as they are dialed by User
   1.  Dialtone is stopped upon detection of the first digit.  When an
   appropriate match is made of collected digits against the currently
   programmed Dialplan for A4444, another Notify is sent to the Media
   Gateway Controller.

   MG1 to MGC:

   MEGACO/1 []:55555 Transaction = 10002 {
      Context = - {
          Notify = A4444 {ObservedEvents =2223 {
      } }

   11.   And the Notify is acknowledged.

   MGC to MG1:

   MEGACO/1 []:55555 Reply = 10002 {
       Context = - {Notify = A4444} }

   12.   The controller then analyses the digits and determines that a
   connection needs to be made from MG1 to MG2.  Both the TDM

Top      Up      ToC       Page 188 
   termination A4444, and an RTP termination are added to a new context
   in MG1.  Mode is ReceiveOnly since Remote descriptor values are not
   yet specified.  Preferred codecs are in the MGC's preferred order of

   MGC to MG1:

   MEGACO/1 []:55555 Transaction = 10003 {
       Context = $ {
          Add = A4444,
          Add = $ {
              Media {
                Stream = 1 {
                     LocalControl {
                         Mode = ReceiveOnly,

                         nt/jit=40 ; in ms
                     Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 4
   a=ptime:30 v=0 c=IN IP4 $ m=audio $ RTP/AVP 0
       } }

      NOTE - The MGC states its preferred parameter values as a series
      of SDP blocks in  Local.  The MG fills in the Local Descriptor in
      the Reply.

   13.   MG1 acknowledges the new Termination and fills in the Local IP
   address and UDP port.  It also makes a choice for the codec based on
   the MGC preferences in Local.  MG1 sets the RTP port to 2222.

   MG1 -> MGC:

   MEGACO/1 []:55555 Reply = 10003 {
      Context = 2000 {
         Add = A4444,
            Media {
                Stream = 1 {
                    Local { v=0 o=- 2890844526 2890842807 IN IP4 s=- t= 0 0 c=IN IP4 m=audio 2222
   RTP/AVP 4 a=ptime:30 a=recvonly
                    } ; RTP profile for G.723.1 is 4

Top      Up      ToC       Page 189 
      } }

   14.   The MGC will now associate A5555 with a new Context on MG2, and
   establish an RTP Stream (i.e., A5556 will be assigned), SendReceive
   connection through to the originating user, User 1.  The MGC also
   sets ring on A5555.

   MGC to MG2:

   MEGACO/1 []:55555 Transaction = 50003 {
       Context = $ {
          Add = A5555  { Media {
               Stream = 1 {
                    LocalControl {Mode = SendReceive} }},
               Signals {al/ri}

          Add  = $ {Media {
               Stream = 1 {
                    LocalControl {
                       Mode = SendReceive,
                       nt/jit=40 ; in ms
                    Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 4
                    Remote { v=0 c=IN IP4 m=audio 2222
   RTP/AVP 4 a=ptime:30
                    } ; RTP profile for G.723.1 is 4
      } }

   15.   This is acknowledged.  The stream port number is different from
   the control port number.  In this case it is 1111 (in the SDP).

   MG2 to MGC:

   MEGACO/1 []:55555 Reply = 50003 {
      Context = 5000 {
      Add = A5555,
         Add = A5556{
            Media {
               Stream = 1 {

Top      Up      ToC       Page 190 
                   Local { v=0 o=- 7736844526 7736842807 IN IP4 s=- t= 0 0 c=IN IP4 m=audio 1111
   RTP/AVP 4 }
               } ; RTP profile for G723.1 is 4

      } }

   16.   The above IPAddr and UDPport need to be given to MG1 now.

   MGC to MG1:

   MEGACO/1 []:55555 Transaction = 10005 {
     Context = 2000 {
       Modify = A4444 {
         Signals {cg/rt}
       Modify = A4445 {
          Media {
               Stream = 1 {
                   Remote { v=0 o=- 7736844526 7736842807 IN IP4 s=- t= 0 0 c=IN IP4 m=audio 1111
   RTP/AVP 4
               } ; RTP profile for G723.1 is 4
     } }

   MG1 to MGC:

   MEGACO/1 []:55555 Reply = 10005 {
      Context = 2000 {Modify = A4444, Modify = A4445} }

   17.   The two gateways are now connected and User 1 hears the
   RingBack.  The MG2 now waits until User2 picks up the receiver and
   then the two-way call is established.

Top      Up      ToC       Page 191 
   From MG2 to MGC:

   MEGACO/1 []:55555 Transaction = 50005 {
      Context = 5000 {

          Notify = A5555 {ObservedEvents =1234 {
      } }

   From MGC to MG2:

   MEGACO/1 []:55555 Reply = 50005 {
       Context = - {Notify = A5555} }

   From MGC to MG2:

   MEGACO/1 []:55555 Transaction = 50006 {
      Context = 5000 {
         Modify = A5555 {
            Events = 1235 {al/on(strict=state)},
            Signals { } ; to turn off ringing
      } }

   From MG2 to MGC:

   MEGACO/1 []:55555 Reply = 50006 {
    Context = 5000 {Modify = A4445} }

   18.   Change mode on MG1 to SendReceive, and stop the ringback.

   MGC to MG1:

   MEGACO/1 []:55555 Transaction = 10006 {
      Context = 2000 {
         Modify = A4445 {
            Media {
               Stream = 1 {
                  LocalControl {

         Modify = A4444 {
            Signals { }

Top      Up      ToC       Page 192 
      } }

   from MG1 to MGC:

   MEGACO/1 []:55555 Reply = 10006 {
      Context = 2000 {Modify = A4445, Modify = A4444}}

   19.   The MGC decides to Audit the RTP termination on MG2.

   MGC -> MG2:

   MEGACO/1 []:55555 Transaction = 50007 {
      Context = - {AuditValue = A5556{
         Audit{Media, DigitMap, Events, Signals, Packages, Statistics }}
      } }

   20.   The MG2 replies.

   MG2 -> MGC:

   MEGACO/1 []:55555 Reply = 50007 {
      Context = - { AuditValue = A5556 {
             Media {
                TerminationState { ServiceStates = InService,
            Buffer = OFF },
          Stream = 1 {
                    LocalControl { Mode = SendReceive,
                       nt/jit=40 },
                    Local { v=0 o=- 7736844526 7736842807 IN IP4 s=- t= 0 0 c=IN IP4 m=audio 1111
   RTP/AVP  4 a=ptime:30
                    Remote { v=0 o=- 2890844526 2890842807 IN IP4 s=- t= 0 0 c=IN IP4 m=audio 2222
   RTP/AVP  4 a=ptime:30
                    } } },
          Packages {nt-1, rtp-1},
             Statistics { rtp/ps=1200,  ; packets sent
                          nt/os=62300, ; octets sent
                          rtp/pr=700, ; packets received
                          nt/or=45100, ; octets received
                          rtp/pl=0.2,  ; % packet loss
                          rtp/delay=40 } ; avg latency

Top      Up      ToC       Page 193 
       } }

   21.   When the MGC receives an onhook signal from one of the MGs, it
   brings down the call.  In this example, the user at MG2 hangs up

   From MG2 to MGC:

   MEGACO/1 []:55555 Transaction = 50008 {
      Context = 5000 {
          Notify = A5555 {ObservedEvents =1235 {
      } }

   From MGC to MG2:

   MEGACO/1 []:55555 Reply = 50008 {

       Context = - {Notify = A5555} }

   22.   The MGC now sends both MGs a Subtract to take down the call.
   Only the subtracts to MG2 are shown here.  Each termination has its
   own set of statistics that it gathers.  An MGC may not need to
   request both to be returned.  A5555 is a physical termination, and
   A5556 is an RTP termination.

   From MGC to MG2:

   MEGACO/1 []:55555 Transaction = 50009 {
      Context = 5000 {
         Subtract = A5555 {Audit{Statistics}},
         Subtract = A5556 {Audit{Statistics}}
      } }

   From MG2 to MGC:

   MEGACO/1 []:55555 Reply = 50009 {
      Context = 5000 {
        Subtract = A5555 {
             Statistics {
                nt/os=45123, ; Octets Sent
                nt/dur=40 ; in seconds
          Subtract = A5556 {
             Statistics {
                rtp/ps=1245, ; packets sent

Top      Up      ToC       Page 194 
                nt/os=62345, ; octets sent
                rtp/pr=780, ; packets received
                nt/or=45123, ; octets received
                rtp/pl=10, ;  % packets lost
                rtp/delay=48 ; average latency
      } }

   23.   The MGC now sets up both MG1 and MG2 to be ready to detect the
   next off-hook event.  See step 1.  Note that this could be the
   default state of a termination in the null context, and if this were
   the case, no message need be sent from the MGC to the MG.  Once a
   termination returns to the null context, it goes back to the default
   termination values for that termination.

Top      Up      ToC       Page 195 
APPENDIX II  Changes From RFC 3015

   In the following table, "source" indicates when the change was first
   approved.  It has the following values:

   IG1100: H.248 Implementor's Guide approved in November, 2000 (as TD
   Plen-39, Christian Groves, editor).

   IG0601: H.248 Implementor's Guide approved in June, 2001 (as  TD
   Plen-15, Christian Groves, editor).

   IGDUB: Draft H.248 Implementor's Guide approved at the Q.3
   Rapporteur's meeting held near Dublin, October 2001 (as TD-28, Terry
   Anderson, editor).

   GEN0202: added at the Geneva meeting, February 2002, which consented
   to H.248 v1 Amendment 1 (as TD Plen-36r1, Marcello Pantaleo, editor).

   ITUPOST: added in post-Geneva editing by the ITU-T.

   TTPOST: added in post-approval editing by the Megaco Chair, Tom
   Taylor, who assembled this document for submission.

   Section    Source                       Change

   1          ITUPOST   Reference changed from H.248 to H.248.1.

   2.1        ITUPOST   Reference added for error codes, changed from
                        H.248 Annex L to H.248.8 (2002).

   2.1        IG1100    Corrected Q.765 reference to Q.765.5.

   2.1        GEN0202   Added reference to X.690.

   2.2        GEN0202   Added reference to H.226.

   2.2         IGDUB    Added informative references to Q.724, Q.764,
                        and Q.1902.4.

   4          IG0601    Added expansion of ALF.

   5          TTPOST    Gave priority to IETF conventions (added at
                        start of document).

Top      Up      ToC       Page 196 
   6.1.1      IG0601    Added text regarding use of wildcards for
                        context identifiers.  (This information
                        already appeared in section 8.1.2.  The IG
                        change subsequently disappeared.)

   6.1.1      IG1100    Added ranking of priority values.

   6.2         IGDUB    Deleted definition of signals.

   6.2        GEN0202   Expanded text and diagrams describing
                        multiplexing terminations.

   6.2        TTPOST    Added asterisks to multiplexing diagrams to
                        indicate centre of context.  Added Figure 6a
                        showing cascading of multiplexes.

   6.2.2      IG0601    Added text indicating that ALL does not
                        include ROOT.

   6.2.3      IG1100    Added text clarifying what must be supported
                        to claim support of a package.

   6.2.3      IG1100    Added text indicating what packages a peer can
                        indicate support for, when some of them are
                        extensions of others.

   6.2.4      IG0601    Added text on ability of provisioning to
                        override default values, and need for MGC to
                        audit to learn the provisioned defaults.

   6.2.4      IG0601    Added text indicating effect of omitting
                        specific properties from Descriptors in
                        commands modifying a termination.
                        Contradicted original text saying that omitted
                        properties retain their prior values (still
                        true for entirely-omitted Descriptors).

   6.2.4      GEN0202   Modified above text to restrict it to
                        read/write properties, allow for default
                        behaviour in place of default values if so
                        specified in the property definition.

   6.2.4       IGDUB    Trimmed definition of signals Descriptor in
                        table and inserted cross-reference to section

   6.2.4      IG1100    Added Topology and Error Descriptors to table.

Top      Up      ToC       Page 197 
   6.2.5       IGDUB    Specified error code to return if ROOT used

   7.1.1      IG1100    Added qualification to explanation of effect
                        of missing Audit Descriptor, excepting

   7.1.3      GEN0202   Changed "inputs" to "bearers" to be consistent
                        with terminology in 6.2.

   7.1.4      IG0601    Small change to make clear that more than one
                        of Local, Remote, and LocalControl can be
                        included in the default streamId.

   7.1.7      IG0601    Default value for Mode specified to be

   7.1.7      GEN0202   Added text requiring processing of media in
                        any of the reserved formats, where more than
                        one has been reserved in a given stream.

   7.1.8       IGDUB    Added restriction to at most one m= line per
                        session description.

   7.1.9      IG0601    Text added to omit request identifier if the
                        EventsDescriptor is empty.  Further text added
                        at end to indicate the effects of an empty
                        EventsDescriptor and an empty

   7.1.9      IG0601    Fixed typo for destination of a Notify.

   7.1.9      IG1100    Added note to say event remains active after
                        it has been notified, so long as it is still
                        present in the active Events Descriptor.

   7.1.11      IGDUB    Added definition of signals.

   7.1.11     GEN0202   Modified definition to include example of more
                        complex signal, and added role of signal in
                        media preparation for future signals.

   7.1.11      IGDUB    The timeout completion reason was broadened to
                        include other circumstances where the signal
                        completed on its own.  Text added to indicate
                        that if default signal type changed to TO,
                        duration parameter must be provided.

Top      Up      ToC       Page 198 
   7.1.11     GEN0202   Removed reference to BR signal being "so
                        short" it will stop on its own.  Added text
                        indicating that if the type of a signal is
                        changed to TO, the Duration parameter must be

   7.1.11     IG1100    Deleted text discussing type of Signals List.

   7.1.12     GEN0202   Improved wording of introductory paragraph and
                        added text making content of returned
                        Descriptor clear.   GEN0202   Added text indicating that when the start
                        timer is set to 0, initial digit timing is
                        disabled and the MG waits indefinitely for
                        digits.   GEN0202   Added text pointing out that default digit
                        timer values should be provisioned, but can be
                        overridden in the digit map.   GEN0202   Changed result of long-short digit timer
                        conflict from undefined to long.   IG1100    Clarified that the digit map is provided by
                        the eventDM parameter, which must be present.   GEN0202   Added text clarifying that events covered by
                        the digit map completion event have no side-
                        effects unless separately enabled.   IG0601    Added requirement that the event specification
                        include the eventDM parameter.

   7.1.17      IGDUB    Added text to indicate timestamp is optional
                        and to include observed event parameters in
                        reported content.

   7.1.17     GEN0202   Deleted provision that time is expressed in
                        UTC (since intention was to use format, not
                        time zone).

   7.1.18      IGDUB    Added text indicating error to return if
                        topology option not supported.

Top      Up      ToC       Page 199 
   7.1.18     IG1100    Added text clarifying effect of not mentioning
              TTPOST    a termination in a topology Descriptor, and
                        default topology for a new termination.  (This
                        text got lost between the Dublin meeting and
                        the production of H.248 Amendment 1 out of the
                        Geneva 02/02 meeting.  It has been added back
                        to the present document.)

   7.1.19     IG1100    New section to describe Error Descriptor.
              GEN0202   Slightly edited in Geneva 02/02 meeting.
              ITUPOST   Reference for error code documentation updated
                        to H.248.8.

   7.1.19     IG0601    Added paragraph giving guidance on level at
                        which errors should be reported.

   7.2        IG1100    Noted possibility of Error Descriptor in reply
                        to any command.

   7.2.1      IG1100    Added EventBufferDescriptor as Add parameter.

   7.2.1      IG1100    Removed restriction on use of CHOOSE wildcard.

   7.2.2      IG1100    Added EventBufferDescriptor as Modify

   7.2.2      GEN0202   Added text on side-effects of Modify of a
                        multiplexing termination.

   7.2.3      IG1100    Added prohibition against subtracting from the
                        NULL context.

   7.2.3      GEN0202   Added text on side-effects of Subtract of a
                        multiplexing termination.

   7.2.3       IGDUB    Added text clarifying effect of empty
                        AuditDescriptor in Subtract.

   7.2.4      IG1100    Added EventBufferDescriptor as Move parameter.

   7.2.4      GEN0202   Removed misleading statement that Move acts as
                        subtract from original context.

   7.2.4      IG1100    Clarified effect of Move on properties of the
                        moved termination.

   7.2.4      GEN0202   Added text on side-effects of Move of a
                        multiplexing termination.

Top      Up      ToC       Page 200 
   7.2.5      IG1100    Added examples showing W- wildcard usage.

   7.2.5      IG1100    Noted that returning a list of all contextIDs
                        requires that they be returned one per

   7.2.5      IG1100    Added table entry (ALL, specific) to determine
                        context in which termination currently

   7.2.6      GEN0202   Added table similar to that in 7.2.5.

   7.2.7      IG0601    Added TerminationID to API.

   7.2.7       IGDUB    Indicated timestamp was optional in Notify, to
                        accord with syntax.

   7.2.7      IG1100    Noted possibility of sending Error Descriptor
                        in Notify.

   7.2.8      IG0601    Added text to description of Forced method to
                        indicate that Forced on ROOT indicates a cold
                        restart (all context state lost).

   7.2.8       IGDUB    Amplified explanation of Disconnected method
                        to emphasize return to the previously
                        controlling MGC.

   7.2.8      IG0601    Added text for MG use of Failover method when
                        it detects MGC failure.

   7.2.8      IG1100    Added notes discouraging use of
                        ServiceChangeAddress and warning that it could
                        be either a full address or just a port

   7.2.8      IG0601    Added text indicating that timestamp does not
                        necessarily represent absolute time, only
                        local clock reading.

   7.2.8       IGDUB    Corrected "gateway" to "MGC" in discussion of
                        returned ServiceChangeMgcId parameter.

   7.3        IG0601    Removed error code documentation to Annex L
              ITUPOST   (now H.248.8).

   8          IG1100    Added requirement that an Action be non-empty.

Top      Up      ToC       Page 201 
   8          GEN0202   Added context properties and context property
                        audit requests to commands as potential
                        contents of actions.

   8.1.2      GEN0202   Added prohibition on using partial contextIDs
                        with ALL wildcards.

   8.2.2      IG1100    Added text clarifying when in transaction
                        processing the requested actions have been
                        completed and a reply can be sent.

   8.2.2      IG1100    Added ALL as allowed contextID in

   8.2.2      GEN0202   Provided general reference to section 7.1.19
                        for generation of error Descriptors.

   8.2.2      IG0601    Corrected Actions to Commands when discussing
                        partially-understood action.

   8.3        IG0601    Added text specifying that the same MId value
                        must be used by a given entity throughout the
                        life of a control association.

   8.3        IG0601    Added text expanding on independence of
                        transactions from messages.

   9          ITUPOST   Indicated that additional transports may be
                        defined in separate Recommendations as well as
                        annexes to the primary specification.

   9          IG0601    Gave specific example of "request source
                        address" for IP.

   9.1        IG1100    Deleted restriction to one outstanding Notify
                        command on a termination at one time, since
                        this is transport-specific.

   9.1        IG0601    Restored restriction, but noted that it
                        applied only to transport not guaranteeing
                        ordered delivery.

   10.2       IG1100    Corrected length of synthesized address field
                        from 10 to 20 hex digits and indicated that
                        calculation should be over entire message, not
                        just one transaction.

Top      Up      ToC       Page 202 
   11.2       IG1100    Corrected text in first two paragraphs
                        describing use of ServiceChangeMgcId

   11.2       IG1100    Corrected "Transaction Accept" to "Transaction

   11.4       IG0601    Noted that support of redundant MGs requires
              GEN0202   use of a reliable transport and support in the
                        MGC.  Added more explanation in Geneva.

   11.5       IG0601    Added text clarifying procedure if MG unable
                        to establish a control relationship with any
                        of its eligible MGCs.

   11.5        IGDUB    Added text indicating that when trying to
                        reestablish contact with the previously
                        controlling MGC the MG uses the Disconnected

   11.5       IG1100    Clarified handoff procedure.

   11.5       GEN0202   Changed text on replies to transactions in
                        progress during handoff.  Replies now
                        discarded when the service relationship with
                        the old MGC has ended, rather than sent to the
                        new MGC.  The new MGC could still send replies
                        to requests sent to the old MGC.

   12.1.1     GEN0202   Added optional package designation as
                        "designed to be extended only".

   12.1.1     IG1100    Made prohibition on overloading of identifiers
                        in extended packages transitive through all
                        ancestors of the extended package.

   12.1.2      IGDUB    Clarified the set of types allowed for

   12.1.2     GEN0202   Added requirement to specify the base type of
                        a sub-list.

   12.1.2     GEN0202   Provided requirements for content of the
                        "Possible Values" template item, including
                        specification of default values or behaviour.

Top      Up      ToC       Page 203 
   12.1.4     GEN0202   Added requirement to specify the default
                        signal type, and specify a default duration
                        for TO signals.  Also noted that duration is
                        meaningless for BR, and that the signal type
                        might be dependent on the values of other
                        signal parameters.

   12.2       GEN0202   Fixed section title (covers only event and
                        signal parameters, not properties or

   12.2       IG1100    Reserved SPA and EPA prefixes, so they are not
                        to be used for signal and event parameter

   12.2       IG0601    Expanded list of reserved prefixes.

   12.2        IGDUB    Clarified the set of types allowed for signal
                        and event parameters.

   12.2       GEN0202   Added requirement to specify the base type of
                        a sub-list.

   12.2       GEN0202   Provided requirements for content of the
                        "Possible Values" template item, including
                        specification of default values or behaviour.

   12.4        IGDUB    Corrected to indicate identifiers must start
                        with alphabetic rather than alphanumeric

   13.1       IG0601    Changed private range of binary package
                        identifiers to convenient hex values.

   A          GEN0202   Removed versions from X.680 and X.690

   A.2         IGDUB    Added note warning that the syntax alone does
                        not provide a complete description of the
                        constraints, but must be supplemented by a
                        reading of the text and comments.

   A.2        IG0601    Added description of double wrapping of
                        parameters declared as OCTET STRING.

Top      Up      ToC       Page 204 
   A.2        GEN0202   Some editing of double wrapping description to
                        use ASN.1, BER in their proper places.  Added
                        possibility of encoding strings as UTF8String,
                        but only if they contain non-ASCII characters.

   A.2         IGDUB    Added line in table on double wrapping of true
                        octet strings.

   A.2        IG1100    Corrected and expanded comments describing
                        mtpAddress form of MId.  Fixed maximum length
                        of mtpAddress both here and in

   A.2        IG0601   Inserted missing lines in IP4Address

   A.2        IG0601    Modified TransactionResponseAck to allow
                        acknowledgement of multiple ranges of

   A.2        IG0601    Corrected numerical value of CHOOSE as a
                        context identifier.

   A.2         IGDUB    Added missing extension marker in

   A.2        IG1100    AuditReply and AuditResult modified to bring
                        binary functionality into line with text

   A.2        IG0601    Removed OPTIONAL tag from terminationID in

   A.2        IG0601    Added extraInfo substructure to EventParameter
                        and SigParameter.

   A.2        IG0601    Modified MediaDescriptor to make it optional
                        to specify a stream.

   A.2        IG0601    Added OPTIONAL tags to reserveValue and

   A.2         IGDUB    Added to comments for pkgdName to indicate
                        applicability to event names, signal names,
                        and statisticIds as well as property.

Top      Up      ToC       Page 205 
   A.2        IG0601    RequestID made optional in EventsDescriptor
                        and SecondEventsDescriptor and comment added
                        saying it must be present if events are

   A.2        IG1100    Added OPTIONAL tags on RequestActions and
                        SecondRequestedActions keepActive BOOLEANs.

   A.2        IG1100    Added comment to indicate requestID value to
                        use in an AuditCapReply.

   A.2        GEN0202   Added comment to DigitMapValue indicating time
                        units for timers.

   A.2        IG0601    Added comment indicating coding of Value for
              GEN0202   ServiceChangeReason.  Cleaned up in Geneva to
                        use ASN.1 and BER in their proper places.

   A.2        IG0601    Inserted missing extension marker in
                        ServiceChangeParm production.

   A.2        IG0601    Aligned definition of mtpAddress in
                        ServiceChangeAddress with that in MId.

   A.2        IG0601    Added timestamp to ServiceChangeResParm.

   A.2         IGDUB    Changed type of profileName in
                        ServiceChangeProfile to IA5String.

   A.2        IG0601    Made returned value optional in
                        statisticsParameter, to support
                        auditCapability result.

   A.2        GEN0202   Added reference to ISO 8601:1988 for

   A.2        IG1100    Value production modified to support the
                        sublist parameter type.

   A.3        IG1100    Corrected ABNF for digitStringlisT, replacing
                        "/" with "|".

   A.3        IG1100    Added parentheses to digitMapRange production.

   A.3        IG1100    Replaced more abbreviated syntax for pathName
                        with fuller definition and constraints copied
                        from B.2.

Top      Up      ToC       Page 206 
   B.2         IGDUB    Added note warning that the syntax alone does
                        not provide a complete description of the
                        constraints, but must be supplemented by a
                        reading of the text and comments.

   B.2        IG0601    Added note warning that the interpretation of
                        symbols is context-dependent.

   B.2        IG1100    Added comment to indicate case insensitivity
                        of protocol (excepting SDP) and ABNF.

   B.2        IG0601    Expanded upon and capitalized this comment.

   B.2        IG0601    Lengthy note added on the coding of the VALUE

   B.2         IGDUB    Deleted sentence in note suggesting that
                        packages could add new types for properties,
                        parameters, or statistics.

   B.2        IG0601    Added note indicating that parsers should
                        allow for white space preceding the first line
                        of SDP in Local or Remote.

   B.2         IGDUB    Added comments identifying the O- and W- tags.

   B.2        IG1100    Moved wildcard tag up from individual commands
                        to commandRequestList.

   B.2        GEN0202   Added additional error case to actionReply.

   B.2        IG0601    Modified syntax of auditOther to allow return
                        of terminationID only.

   B.2         IGDUB    Corrected upper limit for V4hex.

   B.2        IG1100    Corrected and expanded comments describing
                        mtpAddress form of MId.

   B.2        IG0601    Modified comment to mediaParm to make
                        streamParms and StreamDescriptor mutually

   B.2        GEN0202   Modified comment further to indicate at most
                        one instance of terminationStateDescriptor.

   B.2        GEN0202   Expanded comment for streamParm to indicate
                        the restriction on repetition is per item.

Top      Up      ToC       Page 207 
   B.2        IG0601    Modified "at most once" comments to localParm,
                        terminationStateParm, and modemType, to allow
                        multiple instances of propertyParm in the
                        first two cases and extensionParameter in the
                        last one.

   B.2        IG0601    Added note before description of Local and
                        Remote, pointing out that the octet value x00
                        is not allowed in octetString.

   B.2        IG0601    Syntax for eventsDescriptor, embedFirst, and
                        eventBufferDescriptor modified to make
                        contents beyond token optional.

   B.2         IGDUB    Replaced "event" by "item" in comment to
                        pkgdName because pkgdName applies to
                        properties, signals, and statistics as well.

   B.2        IG0601    Corrected placement of EQUAL in eventDM

   B.2        IG1100    Added comment and syntax to indicate requestID
                        value to use in an AuditCapReply.

   B.2        IG1100    Corrected Modem Descriptor to allow package
                        items as properties.

   B.2        IG0601    Comment to modemType changed to allow multiple
                        instances of extensionParameter.

   B.2        GEN0202   Comment added to indicate units for Timer.

   B.2        IG1100    Added parentheses to digitMapRange production.

   B.2        IG1100    Added comment to serviceChangeParm,
                        restricting each parameter to one appearance.

   B.2        IG0601    Added comments making serviceChangeMgcId and
                        serviceChangeAddress mutually exclusive in
                        ServiceChangeParm and servChgReplyParm.

   B.2         IGDUB    Added comment to serviceChangeParm indicating
                        that ServiceChangeMethod and
                        ServiceChangeReason are required.

   B.2        IG0601    Added Timestamp to servChgReplyParm.

Top      Up      ToC       Page 208 
   B.2        IG0601    Added comment indicating coding of Value for

   B.2        IG0601    Modified ServiceChangeAddress to use MId
                        definition for full address.

   B.2        IG1100    Made returned value optional in
                        statisticsParameter, to support
                        auditCapability result.

   B.2        IG1100    Changed topologyDescriptor to allow multiple

   B.2        IG0601    Added comment forbidding use of a double quote
                        within a quotedString value.

   B.2        IG1100    Reserved prefixes for new tokens added to
                        signalParameter and eventParameter, to avoid
                        collision with package names.

   B.2        IG1100    EmbedToken and EmergencyToken changed to
                        remove clash with EventBufferToken.

   B.3        IG1100    New section describing hexadecimal octet

   B.4        IG1100    New section describing hex octet sequence.

   C          IG1100    Added permission to use Annex C properties in
                        LocalControl as well as in Local and Remote.

   C          IG0601    Added text making support of all properties of
                        Annex C optional.

   C           IGDUB    Added directions to reconcile tabulated
                        formats with allowed types for properties.

   C.1        IG1100    Corrected Q.765 reference to Q.765.5 for

   C.1        IG1100    Deprecated Echocanc codepoint in favour of
                        package-defined property.

   C.4        ITUPOST   Updated references from Q.2961 to Q.2961.1.

   C.4         IGDUB    Added details on format of VPVC.

   C.9        IG1100    Renamed USI to layer1prot.

Top      Up      ToC       Page 209 
   C.9        IG1100    Deprecated ECHOCI codepoint in favour of
                        package-defined property.

   C.9        IG1100    Added new USI property.

   C.11       IG1100    Added m= line tag.

   D.1        IG0601    Added explanation of ALF.

   D.1.5       IGDUB    Expanded text indicating that when trying to
                        reestablish contact with the previously
                        controlling MGC the MG uses the Disconnected

   E.1.2      GEN0202   Added missing EventsDescriptor parameters

   E.1.2      GEN0202   For the Signal Completion event:
                        - corrected the description of how it is
                        - heavily edited the description of the Signal
                        Identity observed event parameter and added a

   E.1.2       IGDUB    The timeout completion reason for the Signal
                        Completion event was broadened to include
                        other circumstances where the signal completed
                        on its own.

   E.1.2      IG1100    Added signal list ID observed event parameter
                        to the Signal Completion event.

   E.2.1      IG0601    Added missing read only, read-write

   E.2.1      IG0601    Split ProvisionalResponseTimer properties into
                        one for MG, one for MGC.

   E.3        GEN0202   Added "Designed to be extended only" to
                        tonegen package description.

   E.4        GEN0202   Added "Designed to be extended only" to
                        tonedet package description.

   E.4.2      GEN0202   Added type for tone ID observed parameter for
                        Long Tone Detected event.

Top      Up      ToC       Page 210 
   E.6.2      IG1100    Corrected binary identifier for digit map
                        completion event to avoid clash with base

   E.6.2      IG1100    Removed procedural text.

   E.6.5      IG1100    Added procedural text indicating where to find
                        the applicable digit map and indicating the
                        error to return if the parameter is missing.

   E.6.5      IG0601    Further modified procedural text.

   E.7.3      IG1100    Corrected text identifier for payphone
                        recognition tone to avoid clash with base

   E.10.5      IGDUB    Provided informative references for tones and
                        procedures for continuity check.

   E.13       GEN0202   Added note that TDM package could also apply
                        to other transports.

   E.13.1     IG1100    Changed default for echo cancellation from
                        "on" to provisioned.

   E.13.1     IG0601    Corrected type for gain property.

   Appendix   TTPOST    Included a number of corrections which were
      I                 not picked up in H.248.1 Amendment 1 but which
                        do appear in H.248.1 v2.

Intellectual Property Rights

   The ITU draws attention to the possibility that the practice or
   implementation of this RFC may involve the use of a claimed
   Intellectual Property Right.  The ITU takes no position concerning
   the evidence, validity or applicability of claimed Intellectual
   Property Rights, whether asserted by ITU members or others outside of
   the Recommendation development process.

   As of the date of approval of this RFC, the ITU had received notice
   of intellectual property, protected by patents, which may be required
   to implement this RFC.  However, implementors are cautioned that this
   may not represent the latest information and are therefore strongly
   urged to consult the TSB patent database.

Top      Up      ToC       Page 211 
   The IETF has also received notice of intellectual property claims
   relating to Megaco/H.248.1.  Please consult the IETF IPR
   announcements at


   Megaco/H.248.1 is the result of hard work by many people in both the
   IETF and in ITU-T Study Group 16.  This section records those who
   played a prominent role in ITU-T meetings, on the Megaco list, or

   Megaco/H.248 owes a large initial debt to the MGCP protocol (RFC
   2705), and thus to its authors, Mauricio Arango, Andrew Dugan, Ike
   Elliott, Christian Huitema, and Scott Pickett.  Flemming Andreasen
   does not appear on this list of authors, but was a major contributor
   to the development of both MGCP and Megaco/H.248.1.  RFC 3435 has an
   extensive acknowledgement of many other people who worked on media
   gateway control before Megaco got started.

   The authors of the first Megaco RFCs (2805, then 3015) were Fernando
   Cuervo, Nancy Greene, Abdallah Rayhan, Christian Huitema, Brian
   Rosen, and John Segers.  Christian Groves conceived and was editor of
   Annex C.  The people most active on the Megaco list in the period
   leading up to the completion of RFC 2885 were Brian Rosen, Tom
   Taylor, Nancy Greene, Christian Huitema, Matt Holdrege, Chip Sharp,
   John Segers, Michael Thomas, Henry Sinnreich, and Paul Sijben.  The
   people who sacrificed sleep and meals to complete the massive amount
   of work required in the decisive Study Group 16 meeting of February,
   2000, were Michael Brown, Ranga Dendi, Larry Forni, Glen Freundlich,
   Christian Groves, Alf Heidemark, Steve Magnell, Selvam Rengasami,
   Rich Rubin, Klaus Sambor, John Segers, Chip Sharp, Tom Taylor, and
   Stephen Terrill.

   The most active people on the Megaco list in the period since the
   February 2000 have been Tom Taylor, Brian Rosen, Christian Groves,
   Madhu Babu Brahmanapally, Troy Cauble, Terry Anderson, Chuong Nguyen,
   and Kevin Boyle, but many other people have been regular
   contributors.  Brian Rosen did tremendous service in putting together
   the Megaco interoperability tests.  On the Study Group 16 side, the
   editorial team for the final revised document in February, 2002
   included Christian Groves, Marcello Pantaleo, Terry Anderson, Peter
   Leis, Kevin Boyle, and Tom Taylor.

   Tom Taylor as Megaco Chair managed the day to day operation of the
   Megaco list, with Brian Rosen taking an equal share of the burden for
   most of the last three years.  Glen Freundlich as the Study Group 16
   Rapporteur ran the ITU-T meetings and ensured that all of the work at
   hand was completed.  Without Glen's determination the Megaco/H.248

Top      Up      ToC       Page 212 
   standard would have taken at least half a year longer to produce.
   Christian Groves filled in ably as Rapporteur when Glen could no
   longer take part.

Authors' Addresses

   Terry L. Anderson
   24 Hill St
   Bernardsville, NJ 07924


   Christian Groves
   Ericsson AsiaPacificLab Australia
   37/360 Elizabeth St
   Melbourne, Victoria 3000


   Marcello Pantaleo
   Ericsson Eurolab Deuschland
   Ericsson Allee 1
   52134 Herzogenrath, Germany


   Tom Taylor
   Nortel Networks
   1852 Lorraine Ave,
   Ottawa, Ontario
   Canada K1H 6Z8

   Phone: +1 613 736 0961

Top      Up      ToC       Page 213 
Full Copyright Statement

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

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

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

   This document and the information contained herein is provided on an


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