Internet Engineering Task Force                     Mike Kallas(Editor)
Internet Draft                                          Nortel Networks
Document: draft-ietf-megaco-basicpkg-00.txt   Zacharias Bilalis(editor)
Date: September 29 1999                                         Siemens
Expires: March 29 2000

Contributions by:
                                                 Klaus Hoffmann Siemens
                                                 Klaus Pulverer Siemens
                                               Peter Blatherwick Nortel
                                                 Bob Bell Cisco Systems
                                                   Markku Korpi Siemens
                                             Tom Taylor Nortel Networks
                                                    Richard Bach Nortel
                                              Christian Ruppelt Siemens



                     Megaco/H.248 Generic Packages


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   allprovisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet- Drafts as
   reference material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.


1. Abstract

   This document is a proposal to add new event/signal packages to the
   Megaco protocol to control line side gateways connected to a variety
   of business and hone telephones. And trunk side gateways connected
   to the PSTN.

   NOTE: This document is a work in progress, known to be incomplete in

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 2

   some areas, and leaves several issues unresolved.


2. Introduction


   The first set of packages (section 3.1 to 3.7) addresses the
   requirements of line side gateways. These packages combine signals
   and events that apply to multiple types of gateways connected to
   line side devices. The line side devices
   to be supported are:

        Analog Phone (Tone and Pulse)(Black Phone)
        High End Home Phone
        Alternative access phone (cable modem, ADSL, Fixed Wireless)
        ADSI Phone
        Analog Business Phone
        Digital Business Phone
        IP Business Phone

   The second set of packages (sections 3.8 to 3.12) addresses the
   requirements of trunk side gateways. These gateways connect the IP
   world to the PSTN through trunk lines.

   2.1 Assumptions:

   Ephemeral terminations are selected by MG, `static' terminations are
   selected by the MGC.
   In case that the dialed number is unallocated, the respective "no
   circuit tone" is national specified.
   3. Addition/Modification  of the following to chapter `7.3.2.9 Local
   Descriptor' of H.248:
   The Mode parameter indicates the relation between the Termination
   and the "star" connection of the Context. The allowed values are
   "send only" (sendonly), "receive only" (recvonly), "send/receive"
   (sendrecv), "inactive" (inactive),  "outofservice" , "loopback" (as
   given in ITU-T Recommendation Q.724 for the continuity check
   procedure, where the check loop is connected to the go and return
   path) and "test" (test).  "Send" and "Receive" are with respect to
   the Termination, so that, for example, a stream set to mode=sendonly
   can talk but it cannot listen.


   2.2 Abbreviations

   AAA          Authentication Authorization and Accounting
   CAS          Channel Associated Signalling
   ISUP         ISDN User Part
   L2TP         Layer 2 Tunnelling Protocol
   NAS          Network Access Server

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 3

   PPP          Point to Point Protocol
   RADIUS       Remote Authentication Dial User Service
   RTP          Realtime Transport Protocol
   TUP          Telephone User Part


   2.3 Definitions:

   String:              Null terminated, 8-bit Unicode UTF-8 string
   Integer:             4 byte signed integer
   Character:           Unicode UTF-8 encoding of a single letter
   (could be more than 1 octet)



3. Signal and Event packages

   3.1 Generic audio Package

   Short name: gaudio

   This package is used to detect and apply audio tones.

   3.1.1  Properties Audit Information

   3.1.1.1 Gateway Audit Information

   The following is returned as a result of Audit command at the root
   MG:

   3.1.1.1.1 listoftones

   Short name tlist

   String of toneids whose definition is available on the MG, separated
   by `/'. Default toneids could be modified using the deftone signal.
   New tones could also be defined using deftone.

   Example: "mt/fd/lt"

   Toneids are described later

   3.1.1.2 Termination Audit Information

   The following is returned as a result of Audit command at a
   particular physical device termination.

   None

   Events

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 4


   3.1.2.1 Event Configuration

   3.1.2.1.1 ToneStartDetected

   Short name tonestdt

   Configuration Parameters:

   streamid     id of audio stream to detect tones on.

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        99 undetermined error

   3.1.2.1.2 ToneEndDetected

   Short name toneenddt

   Configuration Parameters:

   streamid     id of audio stream to detect tones on.

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        99 undetermined error


   3.1.2.1.3 LongToneDetected

   Short name lgtonedt

   Configuration Parameters:

   streamid     id of audio stream to detect tones on.
   longduration value of long duration to test against in ms.

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        99 undetermined error

   3.1.2.2 Observed events

   3.1.2.2.1 ToneStartDetected

   Short name tonestdt

   Event Parameters:

   toneId       Short string

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 5

   nameStr      the name of the tone in text

   3.1.2.2.2 ToneEndDetected

   Short name toneenddt

   Event Parameters:

   toneId       Short string
   nameStr      the name of the tone in text
   duration     is in milliseconds and is the duration of the continual
   detection of the tone.



   3.1.2.2.3 LongToneDetected

   Short name lgtonedt

   This event is reported if a tone is continuously present for
   "longduration" specified in the configure parameters above.

   Event Parameters:

   toneId       Short string
   nameStr      the name of the tone in text



   Detectable ToneIds:

      mt     - Modem detected
      ft     - Fax tone detected
      ld     - Long duration connection
      pat(###)- Pattern ### detected ### is between 000 and 999
      rt     - Ringback tone
      rbk(###)- Ring back on connection ???
      cf     - Confirm tone
      cg     - Network Congestion tone
      it     - Intercept tone
      pt     - Preemption tone
      of     - report failure
      dtmf0
      dtmf1
      dtmf2
      dtmf3
      dtmf4
      dtmf5
      dtmf6
      dtmf7

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 6

      dtmf8
      dtmf9
      dtmf*
      dtmf#
      dtmfA
      dtmfB
      dtmfC
      dtmfD


   3.1.3  Signals

   3.1.3.1 PlayTone

   short name playtone

   Signal Parameters:

   streamid     id of audio stream to play tones on.
   toneid       Tone to be played
   signaltype   Possible values:
                "BR" brief duration (provisioned / implied)
                "ON" Play until instructed to stop
                "TO" Play until timed out
   duration     timeout duration in ms

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        2 toneid not recognized
                                        3 signaltype error
                                        99 undetermined error


   3.1.3.2 StopTone

   short name stoptone

   stop tone play on streamid

   Signal Parameters:

   streamid     id of audio stream to detect tones on.

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        99 undetermined error


   ToneIds:

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 7

      aw     - Answer Tone
      bz     - Busy Tone
      wt     - Call Waiting Tone
      dl     - Dial Tone
      rb     - Ringback
      nbz    - Network Busy Tone (reorder or fast cycle busy)
      rs     - Ring Splash Tone
      p      - Prompt Tone
      e      - Error Tone
      sdl    - Stutter Dial Tone (??)
      v      - Alerting Tone
      y      - Recorder Warning Tone (??)
      sit    - SIT Tone (??)
      z      - Calling Card Service Tone (??)
      ot     - Off Hook Warning Tone
      s(###) - Distinctive Tone Pattern Tone
      sil    - Silence Tone

   [editor's note:
   semantic for all all tonid's must be defined
   non internatinal taken off list
   add bob's tone definition stuff
   Audit: gives you pre-provisioned tones definitions
   Def tone allows you to overwrite existing tones or add others. When
   you delete tone you revert to original]

   3.1.3.2 Define Tone

   short name deftone

   define a new tone for playback or redefine an existing tone. If
   deftone is sent to a termination in a specific context, the tone
   definition or redefinition would only be temporary and available in
   the context

   The syntax for the tone definition parameter is recursive and uses
   parenthesis as a delimiter of elements.

   Note: to remove a dynamically defined tone, simply issue the signal
   with the desired ToneId and a NULL deftone paramenter. Only
   dynamically defined tones (i.e. tones defined using deftone) may be
   deleted.

   DefToneCmd = ToneID "=" DefToneString

   DefToneString = "(" DefToneElement ["*" RepeatCount ] ")"
   [","/"+"/"X"
   DefToneString]

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 8

   NOTE: a separator of `,' indicates that the next definition follows
   sequentially in time; a separator of `+' indicates that the
   following tone is to be mixed with the previous tone and is
   simultaneous with it; a separator of `X' indicates that the first
   tone is modulated by the second tone.
   Note: Recursion is limited to a maximum of 32 Levels. All IPPhone
   MGs must support at least 4 levels of recursion.

   RepeatCount = %d1-32767 / %d0
        NOTE: repeatcount of 0 indicates infinite repeating.

   DefToneElement = ToneName ["," ToneDuration [ "," ToneAmplitude ]]
   ToneName = ToneID / "#"FreqValue / "&"AnnouncementParameterList
   ToneID = 1*VCHAR; Unique tone identity string or value
   FreqValue = %d0-4000; in Hertz
   AnnouncementParameterList = AnnouncementID ["," SubstitutionString]
   AnnouncementID = 1*VCHAR; Unique identifier for an audio
   announcement
   SubstitutionString = """1*VCHAR"""; a TTS string to be inserted into
   an
       ; announcement.
   ToneDuration = %d1-32767 / %d0 ; In Milliseconds
   NOTE: ToneDuration of 0 indicates infinite duration or duration
   defined  by the ToneID.
   ToneAmplitude = "-"%d32-1 / %d0; In dBm0

   An examples of some tone definitions follows.

   ReorderTone = ((((#480)+(#620)),250,-24),(sil,250))*0

   SITTone = (#950,330,-24), (sil,30), (#1400,330,-24), (sil,30),
       (#1800,330,-24), (sil,30)

   NumberYouHaveDialed = (SITTone), (&NumberDialed,"555-1234")

        Note: above tone definitions are from SR-TSV-002275.




   Return value:        integer         0 Success
                                        4 Tone definition not
   understood
                                        99 undetermined error



   3.2 Generic DTMF Package

   Short name gdtmf

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 9


   This package it used to detect and generate tones on the analog
   trunk or line connection on a media gateway.

   3.2.1 Properties audit

   3.2.1.1 Gateway Audit Information

   The following is returned as a result of Audit command at the root
   MG:

   3.2.2 Events

   3.2.2.1 Event Configuration

   3.2.2.1.1 ToneDetected

   Short name tonedt

   Configuration Parameters:

   streamid     id of audio stream to detect tones on.
   listoftones a string containing one or more of the dtmftoneid's to
   be detected, seperated by /
   Example: "0/1/2/3/4/5/6/7/8/9/*/#".

   dtmftoneid's:
   `0','1','2','3','4','5','6','7','8','9','*','#','A','B','C','D','X'
   `X' represents all digits from 0 to 9.
   `L' Long Duration

   'A','B','C','D' can be redefined using the deftone signal in the
   previous packages

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        2 toneid not recognized
                                        99 undetermined error

   3.2.2.1.2 SilenceDetected

   Short name silencedt

   This event is triggered after a period of silence has occurred
   following the detection of a DTMF digit.

   Configuration Parameters:

   streamid     id of audio stream to detect tones on.
   duration     Silence duration that would trigger the event in ms.

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 10


   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        99 undetermined error

   3.2.2.2 Observed Events

   3.2.2.2.1 ToneDetected

   Short name tonedt

   Event Parameters:

   eventtype    Possible values:
                "MULTI": multiple digits have been accumulated and
   sent.
                "START": one tone start detected
   "LONG":      one tone has been detected for more than 2 seconds
   (Configurable)
   "END':       one tone end detected.

   content      a string containing one or more dtmftoneid's

   duration     this parameter is used when eventtype is "END" is
   represents the total duration for which the tome was detected in ms

   dtmftoneid's:
   `0','1','2','3','4','5','6','7','8','9','*','#','A','B','C','D'

   3.2.2.2.2 SilenceDetected

   Short name silencedt

   Event Parameters:

   3.2.3 Signals

   3.2.3.1 PlayTone

   short name playtone

   Signal Parameters:

   streamid     - integer: id of audio stream to play tones on.
   dtmftoneid   - integer: Tone to be played
   signaltype   - string Possible values:
                "BR" brief duration (provisioned / implied)
                "ON" Play until instructed to stop
                "TO" Play until timed out.
   duration     timeout duration in ms

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 11


   possible value for dtmftoneid:

   0 - dtmf0
   1 - dtmf1
   2 - dtmf2
   3 - dtmf3
   4 - dtmf4
   5 - dtmf5
   6 - dtmf6
   7 - dtmf7
   8 - dtmf8
   9 - dtmf9
   10 - dtmf*
   11 - dtmf#
   12 - dtmfA
   13 - dtmfB
   14 - dtmfC
   15 - dtmfD

   16 - echo dtmf0
   17 - echo dtmf1
   18 - echo dtmf2
   19 - echo dtmf3
   20 - echo dtmf4
   21 - echo dtmf5
   22 - echo dtmf6
   23 - echo dtmf7
   24 - echo dtmf8
   25 - echo dtmf9
   26 - echo dtmf*
   27 - echo dtmf#
   28 - echo dtmfA
   29 - echo dtmfB
   30 - echo dtmfC
   31 - echo dtmfD

   echo dtmfs are intended to be played back to the user and will have
   a lower amplitude than dtmfs.

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        2 toneid not recognized
   (dtmftoneid)
                                        3 signaltype error
                                        99 undetermined error

   3.2.3.2 StopTone

   short name stoptone

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 12


   stop tone play on streamid. Cancels all playtone signals.

   Signal Parameters:

   streamid     id of audio stream to detect tones on.

   Return value:        integer         0 Success
                                        1 streamid not recognized
                                        99 undetermined error




   3.3.  Dialpad Package

   Short name: dpad

   The dialpad package is used to represent a standard 10 digit key pad
   plus the '*', '#', A, B, C, and D keys.

   Standard dialpad identifiers (dialpadId) include:

       '0','1','2','3','4','5','6','7','8','9','*','#','A','B','C','D'

   3.3.1. Properties Audit

   3.3.1.1  Gateway Properties Audit

   None.

   3.3.1.2  Termination Properties Audit

   3.3.1.2.1    number of keys: short name nkeys

        10 keys are 0-9
        12 keys are 0-9,*,#
        16 keys are 0-9,*,#,A,B,C,D

   3.3.2.  Events

   3.3.2.1.  Event Configuration

   3.3.2.1.1 Dialpad Key Down: Short name kdwn

   Configure Parameters:

   None

   3.3.2.1.2 Dialpad Key Up: Short name kup

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 13



   Configure Parameters:

   None


   3.3.2.2.  Observed Events

   3.3.2.2.1. Dialpad Key Down: Short name kdwn


   Event Parameters:

   dialpadId  - Character: representing key pressed

   Standard dialpad identifiers (dialpadId) include:

       '0','1','2','3','4','5','6','7','8','9','*','#','A','B','C','D'



   3.3.2.2.2. Dialpad Key Up: Short name kup


   Event Parameters

   dialpadId  - character: representing key pressed
   duration   - integer = dialpad key press duration in ms

   3.3.3  Signals

   3.3.3.1 Dialpad Echo: Short name echo

   It turn DTMF tone echo on and off. It is typically used to feedback
   keypresses.

   Signal parameters:

   echoCtrl     - String: "On" or "Off". default = on
   direction   - Character: `U' = to user / `A' = Away from user / `B'
   = Both
   duration    - Integer: tone duration in ms (default = "track
   keypad")


   Note: Direction parameter is intend specify how the context streams
   the injected tones, `U' (towards the audio transducer), or `A'
   (towards the network through RTP).  DTMF tones that are played
   through the audio transducers are at reduced amplitude.

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 14


   3.3.4. Statistics

   None.


   3.4.  Function Key Package

   Short name: fkey

   Events associated with the common telephone function keys are
   defined in this package.  This allows, for example, line keys to be
   implemented without specific knowledge of the physical layout of the
   telephone.  Function keys may have well known names, for example:
   Hookswitch, Hold, or Forward.  Function keys may also be assigned a
   name identifier by the MGC, which is returned as part of the key
   events.


   3.4.1. Properties Audit

   Gateway Properties Audit

   3.4.1.2  Termination Properties Audit

   3.4.1.2.1 Function Key List

   Short name: list

   Return values: Returns list of all function keys
   list  - String representing: (key *(,key))
   key = (id, name if assigned, key name is settable or not).

   list Example: "(0,,Y),(1,LineKey1,Y),(2,52489,Y),(3,Hold,N)"

   The standard function key well known names include the following
   strings:

       "hksw"   - Hookswitch
       "hold    - Hold
       "conf"   - Conference
       "fwrd"   - Forward
       "tsfr"   - Transfer
       "l???"   - LineKey<n>
       "f???"   - FunctionKey<n>

   3.4.2.  Events

   3.4.2.1. Event Configuration

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 15


   3.4.2.1.1 Function Key Down: Short name kdwn


   3.4.2.1.2 Dialpad Key Up: Short name kup


   3.4.2.2. Observed Events


   3.4.2.2.1 Function Key Down: Short name kdwn

   Event Parameters:

   keyId      - integer: function key id
   nameStr    - string: containing stored name value

   3.4.2.2.2 Dialpad Key Up: Short name kup

   Event Parameters:

   keyId      - integer: function key id
   nameStr    - string: containing stored name value
   duration   - integer: key press duration in milliseconds

   3.4.3.  Signals

   3.4.3.1 Assign Function Key Name

   Short name: asgnm

   Signal Parameters:

   keyId      - integer: function key id
   nameStr    - string: containing stored name value

   3.4.4 Statistics

   None


   3.5 Indicator Package

   Short name: ind

   Signals associated with the common telephone indicators are defined
   in this package. This allows, for example, indicators to be
   implemented without specific knowledge of the physical layout of the
   telephone.  Indicators may have well known identifier names, for

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 16

   example: message waiting, hold, line active, and may be alterable as
   in Function Key Package.


   3.5.1 Properties Audit

   Gateway Properties Audit

   3.5.1.2  Termination Properties Audit

   3.5.1.2.1 Indicators List

   Short name: list

   Return values: Returns list of all indicators
   List  - String representing: (indicator *(,indicator))
   indicator = (id, name if assigned, attributes).

   List Example: "(0,,Y),(1,LineKey1,Y),(2,52489,Y),(3,Hold,N)" ???
   Peter

   The standard indicator well known names include:

      "mwat"    - Message waiting indicator
      "hold"    - Hold On/Off
      "conf"    - Conference
      "ring"    - Ringer/Alerter
      "l???"    - Line<n>
      "f???"    - Function indicator<n>


   The standard attributes include:

      * on, off, blink, fast blink, slow blink, invert, color. ????

   [[ Note: Need to define attributes appropriate for audible alerts
   such as ringing, page, possibly error tones etc.  These may need to
   be aligned with other Megaco packages. ]]

   [[ ISSUE: Should consider additional package specifically for
   audible indicators.  Left for further study. ]]

   3.5.2.  Events

   3.5.2.1.  Event Configuration

   None.

   3.5.2.2.  Observed Events

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 17

   None.

   3.5.3.  Signals

   3.5.3.1. Set Indicator

   Short name: SetInd

   Signal Parameters:

   indicatorId   Integer
   attribute     on, off, blink, fast_blink, slow_blink, invert, color.
   ???

   {{Add nameStr parameter, to allow SetIndicator by name?  Could also
   be separate command, eg. SetIndicatorByName() }}

   5.4.3.2. Set Name

   Short name: SetName

   indicatorId  Integer
   nameStr      string

   5.4.4. Statistics

   None.










   3.6. Monochrome Text Display Package

   Short name:  mtdisp

   The text display package supports signals associated with the text
   display elements.

   Carriage return <Unicode U+000D> is supported in-string, and moves
   the text input to the beginning of the next line, clearing the
   remainder (if any) of the current line. Text wrapping is not
   provided.

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 18

   Unicode is supported to provide support for multiple languages.  The
   Unicode Standard, Version 2.0 or ISO/IEC 10646-1:1993 shall be the
   definitive standard intended when the term Unicode is used within
   the context of this document.  All text display elements shall at
   least support the Unicode pages U+0000 -> U+00ff as the basic
   character set.  All of the text strings shall be encoded using UTF-8
   as defined in ISO/IEC 10646 AM1.

   Property Audit

   Gateway Property Audit

   Returns the number of displays supported (integer value) and an IDs
   for each display (integer value).

   3.6.1.2  Termination Property Audit

   Returns a display's parameters
   nrows                - integer: number of rows
   ncols                - integer: number of columns
   cdpgs                - string: list of supported Unicode code pages
   cpos        - current cursor position: row and column numbers
   content     - string: the current display content

   Note: row and column numbering begin at 0.  A display's origin is
   row 0, column 0.

   If a text display element supports more than the mandatory U+0000 ->
   U+00ff symbol set, it shall respond to an Audit query of the
   supported character sets by providing the high order octet plus the
   high order bit of the lower octet of each supported character set.

   For example, if the text display element supports U+2500 ->U+25ff,
   U+2600 ->U+26ff and U+2700 -> U+277f, it would return "250, 258,
   260, 268, 270" in cdpgs.


   3.6.2.  Events

   3.6.2.1.  Event Configuration

   None.

   3.6.2.2.  Observed Event

   None.

   3.6.3.  Signals

   3.6.3.1. Display

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 19


   Short name: disp

   This is a text display signal.

   Signal Parameters

   row           - integer
   column        - integer
   str           - string
   attribute     - string (OR of blink, invert, underline)
                    example: "attribute=invert"
                   example: "atribute=blink+underline" (OR'ing of
   attributes)

   Note 1: Text will be inserted beginning at the row and column given
   in the signal parameters.  If no row and column parameters are
   given, the text will be inserted starting at the current cursor
   position.  The current cursor position will always be advanced to
   the position immediately after the last character inserted.

   Note 2: The attribute will apply to all characters contained in the
   signal.  If no attribute is provided, plain text will be displayed.
   To turn on an attribute in the middle of a string, one would send a
   signal with a beginning sub-string of plain text, follow by a signal
   with the desired attribute(s) for the middle sub-string, and
   finishing with the signal containing the remaining sub-string of
   plain text.

   Note 3: A string will not word wrap to the next row.  If a string
   cannot fit into the current row, it will be truncated without
   warning.

   3.6.3.2 Clear Display

   Short name: clDisp

   This signal clears the entire display and resets the current cursor
   position to the origin (row 0, column 0).

   Signal Parameters:

   None.


   3.6.4 Statistics

   None.

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 20

   3.7  Softkey Package

   Short name: skey

   Softkeys are a combination of a function key and a display element,
   sharing some behavior of each.  Softkeys are dynamically configured
   by the MGC based on the current state and context of the application
   controlling the IP Phone MG.

   Softkey identifiers are indexed 1,2...N.  N is the maximum number of
   softkeys supported by a specific IP Phone MG.

   3.7.1.  Gateway Property Audit

   Possible values: Returns a list of Softkeys
   softKeyList = (numberOfSoftkeys, displaySize, supportedCharSet,
   softkey *(,softkey))

   numberOfSoftkeys  = integer
   displaySize       = integer ; number of characters
   supportedCharSet  = Unicode character sets supported
   softkey           = (nameStr, displayContent)
   nameStr           = character string
   displayContent    = Unicode character string

   3.7.2.  Events

   3.7.2.1.  Event Configuration

   None.

   3.7.2.2.  Observed Events

   3.7.2.2.1 Key Down

   Short name: keyDown

   Event Parameters:

   softkeyId    integer
   nameStr      'C' string UTF-8 characters

   3.7.2.2.2.  Key Up

   Short name: keyUp

   Event Parameters

   nameStr    'C' string UTF-8 characters
   duration    softkey press duration in milliseconds

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 21



   3.7.3.  Signals

   3.7.3.1. Set Name

   Softkey mapping command:

   Short name: setName

   Signal Parameters:

   softkeyId   integer
   nameStr     'C' string, 8-bit UTF-8 encoding

   Note: SetName with a null string clears the softkey, i.e. the
   softkey becomes blank and inactive.

   3.7.3.2.  Display

   Softkey control command that sets softkey display text.

   Short name: display

   Signal Parameters:

   softkeyId   integer
   row         integer
   column      integer
   str         'C' string, 8-bit UTF-8 encoding
   attribute   OR of blink, invert (TBD)


   {{Add nameStr parameter, to allow Display by SK name?  Could also be
   separate command, eg. DisplayByName().  Same issue as in Indicator.
   }}
   [[ Note: Should consider color (foreground and background) here.
   Left for further study. ]]

   3.7.4. Statistics

   3.8 Trunk Generic
   3.8.1 Trunk Generic Package
   Short name: trunkgen

   The Trunk Generic package groups non-specialised events and signals
   for trunk lines. Those can be used with ISUP (ITU Q.764), TUP (ITU
   Q.724) and CAS (e.g. R2:ITU Q.400 to Q.490).
   3.8.2 Gateway Properties audit

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 22

   3.8.3 Events
   3.8.3.1 Event Configuration
   3.8.3.1.1 Modem Detected
   Short name: modem
   Signals the detection of a modem signal on the termination.

   Configuration Parameters:

   streamid     Id of the audio stream to perform the test on.

   3.8.3.1.2 Fax Tone Detected
   Short name: faxtone
   Signals the detection of a fax tone on the termination.

   Configuration Parameters:

   streamid     Id of the audio stream to perform the test on.


   3.8.3.1.3 Report Failure
   Short name: repfail

   Signals on the termination the detection of a failure due to
   external or internal (in the Media Gateway) reasons.

   Configuration Parameters:

   streamid     Id of the audio stream to report failure on.

   3.8.3.2 Observed Events
   3.8.3.2.1 Modem Detected
   Short name: modem

   Event Parameters:

   none
   3.8.3.2.2 Fax Tone Detected

   Short name: faxtone

   Event Parameters:

   None

   3.8.3.2.3 Report Failure
   Short name: repfail

   Event Parameters:

   Error code   2 bytes describing the failure reason

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 23

                        Default: 0000 (internal error)

   3.8.4 Signals
   3.8.4.1 Busy tone
   Short name: btone

        Play busy tone if the called side is busy as given in E.180.

   Signal Parameters:
   streamid     id of the audio stream to play the signal on.

   3.8.4.2 Ringing Tone (timeout)
   Short name: ringing

   A tone advising the caller that a connection has been made and that
   a calling signal is being applied to a telephone number or service
   point. (See ITU Rec. E.180 and E.182)


   Signal Parameters:

   streamid     id of the audio stream to play the signal on.
   Duration     ringing tone duration in seconds

   3.8.4.3 Congestion Tone (timeout)
   Short name: congestion

   A tone advising the caller that the groups of lines or switching
   equipment necessary for the setting-up of the required call or for
   the use of a specific service are temporarily engaged. (See ITU Rec.
   E.180 and E.182)

   Signal Parameters:

   streamid     id of the audio stream to play the signal on.
   duration     timeout duration in seconds.

   3.8.5 Statistic
   3.8.5.1 Statistic Request
   none
   3.8.5.2 Statistic Report
   None

   --------------------------------------------------------------------
   -------
   3.9 Trunk Supplementary
   3.9.1 Trunk Supplementary Package

   Short name: trunksupp

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 24

   This package is used to handle events and signals on trunking
   terminations reaching the Media Gateway from the PSTN network.
   3.9.2 Gateway Properties audit


   3.9.3 Events
   3.9.3.1 Event Configuration
   3.9.3.1.1 Continuity Test

   Short name: conttest
   This event awaits the reception of the return tone, according to ITU
   G.724, in the process of a continuity test.

   Configuration Parameters:
   streamid     Id of the audio stream to perform the test on.

   3.9.3.2 Observed Events
   3.9.3.2.1 Continuity Test

   Short name: conttest

   Event Parameters:
   Indication           "SUCCESS", "NO SUCCESS" according to ITU
   Q.724/Q.764.

   3.9.4 Signals
   3.9.4.1 Continuity Tone (on/off)

   Short name: conttone
   Play a continuity tone as part of a requested continuity test as
   given in ITU Q.724. Both a single tone test and a dual tone test are
   supported. This signal should be used together with the conttest
   event.

   Signal Parameters:
   streamid     id of the audio stream to perform the test on
   testtype     "single" for single tone test
                        "dual" for dual tone test
   3.9.5 Statistic
   3.9.5.1 Statistic Request
   none
   3.9.5.2 Statistic Report
   none

   --------------------------------------------------------------------
   -------

   3.10 NAS
   3.10.1 NAS Package

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 25

   Short name: nas

   This package supports the functionality of a Media Gateway as NAS
   (Network Access Server). This encompasses the support of dial-in
   access to the NAS, but not the contact to a AAA server for
   authentication, authorisation etc and the possible subsequent set-up
   of a layer 2 tunnel to a remote NAS. Those are autonomous functions
   of a NAS and therefore out of scope for the Megaco protocol (see
   e.g. IETF RFC 2661 (L2TP) and RFC 1661 (PPP)).
   3.10.2 Gateway Properties audit
   3.10.3 Events
   3.10.3.1 Event Configuration
   3.10.3.1.1 Report Failure
   Short name: repfail

   Signals on the termination the detection of a failure due to
   external or internal (in the Media Gateway) reasons.

   Configuration Parameters:

   streamid     Id of the stream to report failure on.

   3.10.3.1.2 Authorisation succeeded

   Short name: authsucc

   This event signals that authorisation by the AAA server for the
   requested service was successful (see for example IETF RFC 2138
   (RADIUS))

   Configuration Parameters:

   streamid     Id of the stream to report on.

   3.10.3.1.3 Authorisation denied

   Short name: authden

   This event signals that authorisation by the AAA server for the
   requested service was denied (see for example IETF RFC 2138
   (RADIUS))

   Configuration Parameters:

   streamid     Id of the stream to report on.

   3.10.3.1.4 Call back Request

   Short name: cbr

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 26

   The call back event is used to notify that a call-back has been
   requested by the AAA server during the initial phase of a data
   connection (see IETF RFC 2138 (RADIUS)). The event report includes
   the identification of the user to be called back, e.g. E.164 number.

   Configuration Parameters:

   streamid     Id of the stream on which to look for the request.

   3.10.3.1.5 Authentication Authorisation and Accounting (AAA) Failure

   Short name: aaafail

   Used to signal failure of the AAA server.

   Configuration Parameters:

   streamid     Id of the stream to check for failure.


   3.10.3.2 Observed Events
   3.10.3.2.1 Report Failure
   Short name: repfail

   Event Parameters:

   Error code   2 bytes describing the failure reason
                        Default: 0000 (internal error)
   3.10.3.2.2 Authorisation succeeded

   Short name: authsucc

   Event Parameters:
   none
   3.10.3.2.3 Authorisation denied

   Short name: authden

   Event Parameters:
   none
   3.10.3.2.4 Authentication Authorization and Accounting (AAA) Failure

   Short name: aaafail

   Event Parameters:
   Error code   2 bytes describing the failure reason
                        Default: 0000 (internal error)
   3.10.4 Signals
   3.10.5 Statistic
   3.10.5.1 Statistic Request

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 27

   none
   3.10.5.2 Statistic Report
   none

   --------------------------------------------------------------------
   -------
   3.11 RTP
   3.11.1 RTP Package
   Short name: rtp

   This package is used to support packet based multimedia data
   transfer by means of the Real-time Transport Protocol (RTP).
   3.11.2 Gateway Properties audit
   3.11.2.1 Timestamps
   Short name: timest

   Describes the time units.

   Possible values:
   milliseconds
   minutes

   3.11.3 Events
   3.11.3.1 Event Configuration
   3.11.3.1.1 Report Failure
   Short name: repfail

   Signals on the termination the detection of a failure due to
   external or internal (in the Media Gateway) reasons.

   Configuration Parameters:

   streamid     Id of the audio stream to report failure on.

   3.11.3.1.2 Quality Alert
   Short name: qualert

   Alerts the MGC in case jitter, delay or the rate of packet loss
   exceed given threshold values. See IETF RFC 1889 for a definition of
   those terms.

   Configuration Parameters:
   streamid     Id of the audio stream to perform the test on.

   packet loss  packet loss threshold value (as percentage)
   jitter               jitter threshold value in timestamp units.
   delay                packet propagation delay measured in timestamp
   units.
   3.11.3.2 Observed Events
   3.11.3.2.1 Report Failure

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 28

   Short name: repfail

   Event Parameters:

   Error code   2 bytes describing the failure reason
                        Default: 0000 (internal error)

   3.11.3.2.2 Quality Alert

   Short name: qualert

   Event Parameters:
   packet loss  measured value of packet loss (as percentage)
   jitter               measured interarrival jitter (in timestamp
   units)
   delay                packet propagation delay measured in timestamp
   units.
   3.11.4 Signals

   3.11.5 Statistic
   3.11.5.1 Statistic Request
   3.11.5.1.1  Packet Loss

   Short name: pl

   Describes the current rate of packet loss on an RTP stream, as
   defined in IETF RFC 1889. Packet loss is expressed as percentage
   value: number of packets lost in the interval between two reception
   reports, divided by the number of packets expected during that
   interval.

   Request parameters: RTP stream ID.
   3.11.5.1.2  Jitter

   Short name: jitter

   Requests the current value of the interarrival jitter on an RTP
   stream as defined in IETF RFC 1889. Jitter measures the variation in
   interarrival time for RTP data packets.

   Request parameters: RTP stream ID.

   3.11.5.1.3 Delay

   Short name: delay

   Requests the current value of packet propagation delay expressed in
   timestamp units.

   Request parameters: RTP stream ID.

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 29


   3.11.5.2 Statistic Report
   3.11.5.2.1 Packet Loss

   Short name: pl

   Possible values: percentage value of packets lost on this stream.

   3.11.5.2.2  Jitter

   Short name: jitter

   Possible values: interarrival jitter measured in timestamp units.

   3.11.5.2.3 Delay

   Short name: delay

   Possible values: packet propagation delay measured in timestamp
   units.



   --------------------------------------------------------------------
   -------
   3.12 Anouncement
   3.12.1 Announcement Server Package

   Short name: ann

   This package supports announcement functionality at a Media Gateway.
   3.12.2 Gateway Properties audit
   3.12.3 Events
   3.12.3.1 Event Configuration
   3.12.3.1.1 Announcement completed

   Short name: anncomp
   3.12.3.1.2 Announcement Failure

   Short name: annfail

   Configuration Parameters:

   streamid     Id of the concerned audio stream.

   3.12.3.2 Observed Events
   3.12.3.2.1 Announcement Failure

   Short name: annfail

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 30

   Event Parameters:
   Error code   2 bytes describing the failure reason
                        Default: 0000 (internal error)
   3.12.3.2.2  Announcement completed

   Short name: anncomp

   3.12.4 Signals
   3.12.4.1 Announcement Play

   Short name: annplay
   Play an announcement

   Signal Parameters:
   streamId     id of the audio stream to play an announcement on
   type         choice from an announcement list
   params               announcement parameters (e.g.  specific
   numbers)

   3.12.5 Statistic
   3.12.5.1 Statistic Request
   none
   3.12.5.2 Statistic Report
   none



4. References


   [] CCITT Recommendation E.180/Q.35  Technical characteristics of
   tones for the telephone service (03/98)
   []CCITT Recommendation E.182 Application of tones and recorded
   announcements in telephone services (03/98)
   []CCITT Recommendation Q.724 (1988). Telephone User Part Signalling
   Procedures
   []CCITT Recommendation Q.764 (1988). Signalling System No.7 ISDN
   User Part Signalling Procedures
   []CCITT Recommendation Q.115 (06/97) Logic for the control of echo
   control devices
   []CCITT Recommendations Q.400 to Q.490 (1988), Specifications of
   Signalling System R2.
   [] IETF RFC 1661: Simpson, W., The Point-to-Point Protocol (PPP),
   July 1994
   [] IETF RFC 1889: Schulzrinne, H., et al, RTP: A Transport Protocol
   for Real-Time Applications, January 1996
   [] IETF RFC 2138: Rigney, C., et al, Remote Authentication Dial In
   Service (RADIUS), April 1997
   []IETF RFC 2661: Townsley, W., et al, Layer Two Tunneling Protocol
   "L2TP", August 1999

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 31



5. Author's Addresses

   <Mike> <Kallas>
   <Nortel Networks>
   Nortel Networks
   P.O. Box 833805
   Richardson, Texas 75083-3805
   USA

   Email: <mike.kallas@nortelnetworks.com>

   Zacharias Bilalis(editor)
   Siemens
   Email:  zacharias.bilalis@icn.siemens.de

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 32


Full Copyright Statement

   "Copyright (C) The Internet Society (date). 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 implmentation 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

Kallas Bilalis          Megaco/H.248 Generic Packages        Page 33