[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits]

Versions: (draft-blatherwick-megaco-ipphone) 00 01 02 RFC 3054

Internet Engineering Task Force                              Robert Bell
INTERNET DRAFT                                             Cisco Systems
August 30, 1999                               Peter Blatherwick (editor)
Expires February 29, 2000                                Nortel Networks
<draft-ietf-megaco-ipphone-01.txt>                          Phil Holland
                              Circa Communications (Chair TIA TR-41.3.4)
                                                            Richard Bach
                                                         Nortel Networks

                     Megaco IP Phone Media Gateway

Status of this document

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

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

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

The list of current Internet-Drafts can be accessed at

The list of Internet-Draft Shadow Directories can be accessed at


This document specifies an IP telephone MG extension to the Megaco/H.248
protocol in adherence with the requirements described for such exten-
sions in the Megaco/H.248 protocol document [3].  The extensions are
comprised of new event/signal packages and termination classes to sup-
port an IP telephone MG.  The document covers the architectural approach
(section 3) and Megaco/H.248 protocol usage (section 4).  The new
event/signal packages and termination classes are defined in sections 5
and 6 respectively.

This document represents the current view from the TIA working group on
IP telephone specification [1], TIA TR-41.3.4, with the intent of using
this as part of its "whole device" specification as an optional method
of device control.

Blatherwick, Bell, Holland, Bach                                [Page 1]

Internet Draft            Megaco IP Phone MG              30 August 1999


Industry feedback has made it clear that interoperability and acoustic
performance of IP telephones will be key to the rapid and extensive com-
mercialization of these products.  To facilitate this, the TIA has
established working group TR-41.3.4 to develop a standard for IP tele-
phones.  The TR-41.3.4 working group has included the "whole device"
within the scope of the standard, so a full range of requirements
including acoustic performance, protocols, methods for powering and
safety will be provided.  Where possible, the requirements will be based
on existing standards, which will be included by reference.

The TIA TR-41.3.4 working group has also recognized that its proposed
standard must enable creative application of the equipment, encourage
the development of new capabilities and allow for high levels of product
customization.  To achieve this, "Peer to Peer" architectures that are
based on protocols such as H.323 or SIP and "Master/Slave" architectures
that use the Megaco/H.248 protocol are both necessary and complementary.

In support of the Megaco/H.248 protocol development effort, the
TR-41.3.4 working group has considered product enabling issues and
requirements, and has developed an approach to use the Megaco/H.248 pro-
tocol for IP telephone device control.  The following represents the
working group's current view.

[[ Editorial comments and issues are marked like this. ]]


3.1.  General Requirements

The following general requirements drive the Megaco-based IP Phone
design [1]:

1    The Megaco IP Phone must meet the basic needs of the business user
     from day one;

2    Provide a path for rapid expansion to support sophisticated busi-
     ness telephony features;

3    Sufficient flexibility to allow for a wide range of telephone
     devices to be defined.

4    Simple, minimal design;

5    Allow device cost to be appropriate to capabilities provided;

Blatherwick, Bell, Holland, Bach                                [Page 2]

Internet Draft            Megaco IP Phone MG              30 August 1999

6    Packages and termination classes must have characteristics that
     enable reliability;

7    The IP Phone shall also meet the appropriate Megaco/H.248 protocol
     requirements as provided in the Megaco requirements document [2]
     and be a straight-forward extension of the Megaco/H.248 protocol.

3.2.  Design Approach

Design intent of the Megaco IP Phone is to keep it determinedly simple
while providing required support for fully featured business telephones
and the flexibility to allow for a very wide range of telephone configu-

The approach to achieve this goal is to provide a very simple and direct
master/slave control model in which very little intelligence is required
in the end device.  This design intent matches the Megaco approach well.

It is important to note that additional functionality, built-in feature
capability or system-specific optimization can easily be provided, at
the option of the manufacturer, by defining additional termination
classes, event/signal packages, or providing built-in application capa-
bility.  This document defines the minimal design.

3.3.  Package / Termination Model

3.3.1.  Organization

As shown in Figure 1 below, the Megaco IP Phone is organized as a Media
Gateway (MG) that consists of a root termination class and a hierarchy
of audio-related terminations.  The root termination represents the IP
Phone MG itself, and includes packages to implement control of the tele-
phone user interface.  The audio terminations represent the telephone
audio transducer elements, including Handset, Headset, Speakerphone etc,
and DTMF tone generator.  These audio terminations are subordinate to
the root termination.

Several - potentially thousands - of IP Phone MGs are controlled by a
single Media Gateway Controller (MGC).  This is distinguished from the
organization between traditional analog or PBX telephones behind an IP
network, where the MGC would control an MG which in turn controls the
collection of telephone devices in question.  In the case of a Megaco IP
Phone MG, the MG directly controls the media terminations like handset,
speakerphone and headset, and implements the user interface.  In this
case, the IP Phone is the MG.

Blatherwick, Bell, Holland, Bach                                [Page 3]

Internet Draft            Megaco IP Phone MG              30 August 1999

                            |               |
                            |      MGC      |
                            |               |
                                    ^ \ \ \
              |       IP Phone MG                            |
              |                           Audio elements     |
              |                           (Terminations):    |
              | Audio context(s):         +----------------+ |
              | +---------------------+   | +------------+ | |
              | |     Context A       |   | | Handset    | | |
              | |                     |   | +------------+ | |
         RTP  | |  +-----+   +-----+  |   | +------------+ | |
     <--------+-+->| Tr  |   | Ta2 |<-+---+-| Handsfree  | | |
       audio  | |  +-----+   +-----+  |   | +------------+ | |
      stream  | |                     |   | +------------+ | |
              | |            +-----+  |   | | Headset    | | |
              | |            | Td  |  |   | +------------+ | |
              | |            +-----+  |   | ETC.           | |
              | |               ^     |   +----------------| |
              | |               |     |                      |
              | +---------------+-----+   Tone generator     |
              |                 |         (Termination):     |
              |                 |          +------------+    |
              |                 +----------| DTMF Tone  |    |
              |                            +------------+    |
              | - - - - - - - - - - - - - - - - - - - - - - -|
              |   User interface elements                    |
              |   (Packages of root termination):            |
              |   +---------------+      +---------------+   |
              |   |Text Display   |      | Dialpad       |   |
              |   +---------------+      +---------------+   |
              |   +---------------+      +---------------+   |
              |   | Softkeys      |      | Indicators    |   |
              |   +---------------+      +---------------+   |
              |   +---------------+                          |
              |   | Function Keys |      ETC.                |
              |   +---------------+                          |

            Figure 1) Megaco IP Phone Package / Termination Model

Blatherwick, Bell, Holland, Bach                                [Page 4]

Internet Draft            Megaco IP Phone MG              30 August 1999

3.3.2.  Control Interaction

Audio-related (and other media) terminations are manipulated using con-
texts in the normal way to provide control of audio paths.  For example,
creating a context (Context A) containing an RTP termination (Tr) and a
handset audio termination (Ta1) creates a voice connection to/from the
handset.  Moving a handsfree audio termination (Ta2) into the context,
and removing the handset, could set up a handsfree conversation.  Moving
a DTMF tone generator termination (Td) into the context allows tone
generation on the audio paths.  This situation is shown in Figure 1.

User interface elements are associated with the root termination.  Ele-
ments like Keypad generate events that are passed to the MGC.  Elements
like the Text Display are controlled by signals sent by the MGC.  Where
applicable, user interface packages return Events through the Notify
command according to the defined Event Packages.

User interface elements are controlled through Modify commands addressed
to the root class of the IP Phone MG, using syntax defined in the Sig-
nals and Events Packages used by each new Termination class.

Termination properties can be queried through the Audit command.  This
allows the MGC to discover capability of each termination class sup-
ported by the MG.  Using addressing, Audit commands may be targeted at
the whole MG, which returns the list of user interface packages sup-
ported and all terminations contained.  Further Audits on individual
Terminations provide further details.


4.1.  Protocol Profile

Megaco IP Phone is intended to allow for an absolutely minimal design,
with minimum complexity in the MG.  As such, by default, it uses an
absolutely minimal subset of the Megaco/H.248 protocol and a very sim-
plistic method for event passing.

It is important to note that implementers are permitted to provide more
than this minimal operation, but MGCs designed to interact with IP Phone
MGs MUST NOT assume more than the default subset operation.  However
MGCs MAY query the MG (using Audits) to discover extended capabilities.
See Extended Capability below.

Blatherwick, Bell, Holland, Bach                                [Page 5]

Internet Draft            Megaco IP Phone MG              30 August 1999

The below profile description applies uniformly to all terminations,
packages and commands within the IP Phone MG, including the root termi-
nation.  Unless specifically stated below, operation is exactly as spec-
ified in the Megaco/H.248 documentation [3].

4.1.1.  Default Parameter Usage

By default, the following protocol parameters are not supported (i.e.
are disallowed) in all commands.

*    Events Descriptors (see also Default Event Handling below),

*    Embedded Events Descriptors,

*    Embedded Signals Descriptors,

*    DigitMap Descriptors,

*    Termination State Descriptors (part of Media Descriptor, contains
     TerminationBuffered parameters BufferedEventProcessingMode and
     BufferedEventNotificationMode -- see also Default Event Handling

*    Scripting (currently marked for further study in Megaco/H.248 pro-
     tocol [3]).

If such a parameter is sent to an MG which does not support that parame-
ter, an error = 501 (Not Implemented) is returned and the command fails
as per [1] section 6.3.5 (Command Error Codes).  If a given MG is
extended to support the parameter (as below), the command either suc-
ceeds or fails with the appropriate error code as defined for

4.1.2.  Default Event Handling

By default, all events detected by the MG are returned to the MGC (via
Notify message).  This begins immediately after completion of registra-
tion with its MGC.  The effect of this is as if the MG was sent EventDe-
scriptor = ALL at initialization.  Furthermore, since the

TerminationBuffered parameter is not allowed, events shall be reported
as they occur as if a Termination State Descriptor containing Termina-
tionBuffered = NOTIFY had been accepted at initialization.

Blatherwick, Bell, Holland, Bach                                [Page 6]

Internet Draft            Megaco IP Phone MG              30 August 1999

[[ Megaco/H.248 Issue: Unclear how to specify "ALL" and "NOTIFY" in
description above. Hopefully intent is clear. ]]

4.1.3.  Extended Capability

Audits MAY be used by the MGC to discover if a particular IP Phone MG
supports capabilities beyond the default parameter and state handling
described in the above subsections.

AuditValue will return current properties, events and signal settings
for a specified termination including the root MG termination.  AuditCa-
pabilities will return the possible values for properties, events and
signals for a specified termination.

Extended capabilities MUST apply uniformly to all terminations, packages
and commands within the specific IP Phone MG, including the root termi-
nation (e.g. if any command on any termination can accept Event Descrip-
tors, for example, then all must do so).  Thus, extended capability
audits are required only at the root MG level.

[[ Megaco/H.248 issue: Audit queries are not fully mature in the current
Megaco/H.248 draft.  Most importantly, it is unclear how to specify the
default protocol profile given above, and how to extend beyond it in a
clear way.  Use of AuditCapabilities at the root level seems most appro-
priate for this, but no specific syntax exists.  Also, it is unclear if
only parameters settable through a Modify command are returned or all
parameters, including those that the implementation only allows to be
set by other means (e.g. by system administration). ]]

4.2.  Transport

The reliable transport options for Megaco/H.248 protocol have not yet
been fully resolved.  Currently, two options are present, TCP or Appli-
cation Layer Framing (ALF).  The MGC is required to support both, and
the MG must support either or both.  Application and transport layers
are separated by a primitive interface to allow for non-IP transports,
provide separation of concerns and future-proofing as reliable transport
methods evolve.

The following makes provisional selection of the reliable transport
method to be used in initial implementations of IP Phone, and states
requirements for the longer term definition of appropriate transport for
this application.

Blatherwick, Bell, Holland, Bach                                [Page 7]

Internet Draft            Megaco IP Phone MG              30 August 1999

4.2.1.  Transport Requirements for IP Phone

Due to the very high fan-out required to support IP Phone MGs, espe-
cially in large systems, and the light weight approach required for low
complexity/cost MG, the following transport requirements apply.

*    Reliable delivery of all messages;

*    Ordered delivery of all messages is strongly preferred as well, as
     this would reduce complexity in both MG and MGC and/or increase
     overall throughput;

*    Strict layering should be maintained between application and trans-

*    Very large fan-out capability (key factors are minimum number of
     timers per port and control association with an MG, minimum per
     port and association memory overhead);

*    Very low startup delay to begin a control interaction in either
     direction, preferably an "always on" association with zero startup
     delay (thin reliability layer over UDP suites this need well);

*    Very aggressive retransmit and exponential back-off strategy for
     absolutely minimal message transit time;

*    Rapid detection of failed retransmit attempts on the order of human
     boredom tolerance, 500 ms range (suggest 1st retransmit at 1.25
     RTT, 2nd at 2.0 RTT, 3rd 3.0 at RTT, then fail);

*    Assumed RTT should be configurable from the MGC.

4.2.2.  Provisional Transport Selection

In view of the above requirements, it is felt that of the available
choices ALF represents the better match.  Therefore ALF is the provi-
sional selection for transport protocol for IP Phone MG.

Within the context of this transport profile, both the MGC and the MG
MUST implement ALF.

Note: The Megaco/H.248 requirement for strict layering allows for the
substitution of a more appropriate reliable transport protocol should
one become available.

Blatherwick, Bell, Holland, Bach                                [Page 8]

Internet Draft            Megaco IP Phone MG              30 August 1999

4.3.  Encoding

[[ TBD  Encoding methodology is under debate in Megaco at time of this
writing.  Therefore a selection of encoding approach for Megaco IP Phone
is deferred pending further clarification of issues and options. ]]


[[ NOTE: The content of this section is currently being moved into the
Megaco/H.248 "Generic Packages" document [4].  This section will be
collapsed into a set of references to that document when completed,
along with any explanatory text, selection of options etc required
specifically for Megaco IP Phone devices.  For now, IP Phone-specific
packages are defined here for clarity and completeness. ]]

This section defines a basic set of packages that may be supported by an
IP business telephone.  This constitutes a flexible "toolkit" from which
a very wide range of telephones and similar devices could be defined.
The packages were also defined with reuse in mind for other similar
applications.  Additional packages can of course be defined as per the
mechanism provided by Megaco/H.248.

A Megaco IP Phone may support following packages.

Support for audio-related terminations:

*    Audio Package (used in audio transducer terminations)

*    DTMF Tone Generator Package (used in DTMF Tone Generator termina-

User interface elements of root termination class:

*    Function Key Package

*    Indicator Package

*    Text Display Package

*    Softkey Package

*    Dialpad Package

*    Ancillary Input Package

Blatherwick, Bell, Holland, Bach                                [Page 9]

Internet Draft            Megaco IP Phone MG              30 August 1999

The package definitions contained in the subsequent subsections specify
audit information, events, and signals supported by each of these pack-
ages.  Audit information listed under each package specifies the infor-
mation returned when the corresponding termination is audited.  Event
and signal information specifies the legal properties (values) for event
and signal descriptors applied to the corresponding terminations.

5.1.  Audio Package

Short name: aud

The Audio package contains property, event and signal descriptions
related to the audio transducer terminations in an IP Phone, including:

*    Handset,

*    Handsfree,

*    Headset,

*    Microphone,

*    Speaker.

5.1.1.  Gateway Properties Audit  Audio Transducer List

Short name: xducerList

     Possible Values:  Return list of transducer well known names.
     xducerList = (xducerName *(,xducerName))
     The xducerName is comprised of well known transducer names.

     xducerName   Handset

The Transducer List is returned as a result of Audit command at the root

Blatherwick, Bell, Holland, Bach                               [Page 10]

Internet Draft            Megaco IP Phone MG              30 August 1999  Tone List

Short Name: toneList

     Possible Values: Returns list of tones:
     toneList = (toneid *(,toneid))
     The toneid is comprised of well known tone names.

     toneid     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

The tone list is returned as a result of Audit command at a particular
audio transducer termination (see also definitions of these termina-
tions, next section):

[[ ISSUE: Tone list is known to be incomplete.  Needs alignment with
signals below and with other existing Megaco packages.  Do we need a
separate Tone Package for Megaco, to handle this in an international
context?  ]]

5.1.2.  Events  Event Configuration

None.  Observed Events


Note: Hookswitch, often associated with handset, is found in the Func-
tion Key Package, since it is not always associated with audio handling

Blatherwick, Bell, Holland, Bach                               [Page 11]

Internet Draft            Megaco IP Phone MG              30 August 1999

and can be used as a separate user interface element.  Other possibly
related keys are also found there.  This strict separation allows
greater flexibility in device configuration.

5.1.3.  Signals  Play Tone

Short name: playtone

Signal Parameters:

     toneid     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

     duration   timeout duration in milliseconds

Note: Audio PlayTone command follows the conventions contained in the
Megaco/H.248 Protocol.  The above list of toneIds correspond to audio
signals which may be applied to an audio transducer termination.

Note: DTMF tones are controlled through the DTMF Tone Generator package,
next subsection.  Stop Play

Short name: stopplay

Signal Parameters:


Blatherwick, Bell, Holland, Bach                               [Page 12]

Internet Draft            Megaco IP Phone MG              30 August 1999  Define Tone

Short name: DefTone

This signal is used to provide a tone definition for use with the play-
tone signal.

Signal Parameters:

     ToneId    - a unique character string to identify the new tone.

     ToneDef   - an interpretable character string which defines the
                   characteristics of the tone (see syntax definition below).

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 ToneDef parameter. Only dynamically
defined tones (i.e. tones defined using ToneDef) may be deleted.

     NOTE: a separator of ',' indicated 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> ::= {<1> ... <32676>} | <0>
          NOTE: repeatcount of 0 indicates infinite repeating.
     <ToneDefElement> ::= <ToneName>[,<ToneDuration>[,<ToneAmplitude>]]
     <ToneName> ::= <ToneId> | <#><FreqValue> | <&><AnnouncementParamenterList>
     <FreqValue> ::= {<0> ... <4000>}hertz
     <AnnouncementParameterList> ::= <AnnouncementId>[,<SubstitutionString>]
     <AnnouncementId> ::= Unique identifier for an audio announcement.
     <SubstitutionString> ::= A text to speech string to be inserted into an
     <ToneDuration> ::= { <1> ... <32767> }msec. | <0>
     NOTE: ToneDuration of 0 indicates infinite duration or duration defined
           by the toneID.
     <ToneAmplitude> ::= { <-32> ... <0> }dBm0

Blatherwick, Bell, Holland, Bach                               [Page 13]

Internet Draft            Megaco IP Phone MG              30 August 1999

Some example tone definitions follow.

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

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

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

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

5.1.4.  Statistics


5.2.  DTMF Tone Generator Package

Short name: dtmftone

The DTMF Tone Generator package contains property, event and signal
descriptions related to the DTMF Tone Generator termination class.  This
can be used to inject DTMF tones into audio contexts towards the network
(over RTP) and/or audio transducers (heard by the user).  This can also
be used for keypad echo.  Note that Keypad events will normally be sent
to the MGC when digits are entered.  This provides a means to play the

5.2.1.  Gateway Properties Audit


5.2.2.  Events  Event Configuration

None.  Observed Events


5.2.3.  Signals  InjectTone

Short name: injecttone

Blatherwick, Bell, Holland, Bach                               [Page 14]

Internet Draft            Megaco IP Phone MG              30 August 1999

Signal parameters:

     toneId       DTMF0-9, *, #, A-D  (see DTMF Event package)
     direction    upstream, downstream, both  (default = upstream)
     duration     tone duration in ms (default = "brief")  KeypadEcho

Short name:   keypadecho

Signal parameters:

     on/off       default = on
     direction    upstream, downstream, both  (default = upstream)
     duration     tone duration in ms (default = "track keypad")

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

[[ ISSUE: There is currently no means to control the context to allow
this. ]]

[[ ISSUE: Is it worth considering if keypad echo should be a state vari-
able of root termination? ]]

5.2.4.  Statistics


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

Function keys with an associated indicator share the same name identi-
fier.  For example, if the identifier for a function key is "Forward"
then the indictor identifier is also "Forward".  This allows the MGC to
determine that these keys and indicators are physically related.  If

Blatherwick, Bell, Holland, Bach                               [Page 15]

Internet Draft            Megaco IP Phone MG              30 August 1999

such a relationship exists, the MG implementation MUST use the naming

5.3.1.  Gateway Properties Audit  Key List

Short name: keylist

     Possible values: Return list of keys
     keyList = (key *(,key))
     key = (id, name if assigned, key name is settable or not).

The standard function key well known names include:

*    Hookswitch

*    Hold

*    Conference

*    Forward

*    Transfer

*    LineKey<n>

*    FunctionKey<n>

5.3.2.  Events  Event Configuration

None.  Observed Events

None.  Key Down

Short name: keyDown

Event Parameters:

     keyId      integer value
     nameStr    'C' string, 8-bit Unicode UTF-8

Blatherwick, Bell, Holland, Bach                               [Page 16]

Internet Draft            Megaco IP Phone MG              30 August 1999  Key Up

Short name: keyUp

Event Parameters:

     keyId      integer value
     nameStr    'C' string, 8-bit Unicode UTF-8
     duration   key press duration in milliseconds

5.3.3.  Signals  Set Name

Short name: setName

Signal Parameters:

     keyId      integer value
     nameStr    'C' string, 8-bit Unicode UTF-8.

5.3.4.  Statistics


5.4.  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 example: message
waiting, hold, line active, and may be alterable as in Function Key

[[ ISSUE: Association of keys with physically associated indicators.
Should we combine Indicator package and Function Key package? Another
possibility is a third package for associated key/indicator pairs.
Decision is to leave separate for now (i.e. Function Key package and
Indicator package), and use naming convention to associate keys with
corresponding indicators.  Left for further study, later version. ]]

Blatherwick, Bell, Holland, Bach                               [Page 17]

Internet Draft            Megaco IP Phone MG              30 August 1999

5.4.1.  Gateway Properties Audit

     Possible values: Returns a list of indicators
     indicatorList = (indicator *(,indicator))
     indicator = (id, name if assigned, attributes).

The standard indicator well known names include:

*    Message waiting indicator

*    Hold On/Off

*    Conference

*    Ringer/Alerter

*    Line<n>

*    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. ]]

5.4.2.  Events  Event Configuration

None.  Observed Events


5.4.3.  Signals

Blatherwick, Bell, Holland, Bach                               [Page 18]

Internet Draft            Megaco IP Phone MG              30 August 1999  Set Indicator

Short name: SetIndicator

Signal Parameters:

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

Short name: SetName

     indicatorId  Integer
     nameStr      'C' string of Unicode UTF-8.

5.4.4.  Statistics


5.5.  Text Display Package

Short name:  tdisp

The text display package supports signals associated with the text dis-
play 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.

One or more languages are supported, one of which must provide US ASCII
or equivalent character set.  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 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.

Blatherwick, Bell, Holland, Bach                               [Page 19]

Internet Draft            Megaco IP Phone MG              30 August 1999

5.5.1.  Gateway Property Audit

Returns the number of displays and display parameters for each (number
of rows, columns, color).

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 response to
the query.

5.5.2.  Events  Event Configuration

None.  Observed Event


5.5.3.  Signals  Display

Short name: display

This is a text display signal.

Signal Parameters

     row           integer
     column        integer
     str           'C' string UTF-8 characters
     attribute     OR of blink, invert, underline, color (details TBD)  Clear Display

This signal clears the entire display.

Short name: clearDisplay

Blatherwick, Bell, Holland, Bach                               [Page 20]

Internet Draft            Megaco IP Phone MG              30 August 1999

Signal Parameters:


[[ Note: Should consider keypad character echo here.  Left for further
study, future version. ]]

[[ Note: Should consider color (foreground and background) here.  Left
for further study, future version. ]]

5.5.4.  Statistics


5.6.  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 con-
trolling 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.

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

5.6.2.  Events

Blatherwick, Bell, Holland, Bach                               [Page 21]

Internet Draft            Megaco IP Phone MG              30 August 1999  Event Configuration

None.  Observed Events  Key Down

Short name: keyDown

Event Parameters:

     softkeyId    integer
     nameStr      'C' string UTF-8 characters  Key Up

Short name: keyUp

Event Parameters

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

5.6.3.  Signals  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.

Blatherwick, Bell, Holland, Bach                               [Page 22]

Internet Draft            Megaco IP Phone MG              30 August 1999  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)

[[ Note: Should consider color (foreground and background) here.  Left
for further study. ]]

5.6.4.  Statistics


5.7.  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:


5.7.1.  Gateway Properties Audit


5.7.2.  Events  Event Configuration


Blatherwick, Bell, Holland, Bach                               [Page 23]

Internet Draft            Megaco IP Phone MG              30 August 1999  Observed Events  Key Down

Short name: keyDown

Event Parameters:

dialpadId  integer  Key Up

Short name keyUp

Event Parameters

     dialpadId   integer
     duration    dialpad key press duration in milliseconds

5.7.3.  Signals


5.7.4.  Statistics


5.8.  Ancillary Input Package

Short name: anci

The ancillary input package is used to enter user alphanumeric informa-
tion such as teletext input or scan data, which is forwarded to the MGC
for processing.  The information is presented as a Unicode character
encoded in UTF-8 format.

5.8.1.  Gateway Property Audit


Blatherwick, Bell, Holland, Bach                               [Page 24]

Internet Draft            Megaco IP Phone MG              30 August 1999

5.8.2.  Events  Event Configuration

None.  Observed Event  Character Input

Short name: CharInput

Event Parameters:

     char  UTF-8 character

5.8.3.  Signals


5.8.4.  Statistics



The Termination classes for the IP Phone MG are:

*    Root (implements user interface),

*    Audio transducer (implements audio input/output to the user),

*    DTMF Tone Generator (implements DTMF tone injection and keypad

*    RTP (transport of audio streams, defined elsewhere in Megaco/H.248
     protocol [3]  [[ NOTE: RTP Package will be included in Megaco/H.248
     "Generic Packages" document [4] when completed. ]] ).

These Termination Classes represent minimal capabilities to support
fully featured business telephones with purely master/slave control.
Additional Termination Classes can of course be defined to extend these

Blatherwick, Bell, Holland, Bach                               [Page 25]

Internet Draft            Megaco IP Phone MG              30 August 1999

[[ Note: Audit information associated with the termination classes
described here is given under the individual package descriptions in the
previous section.  This keeps the information all in one place for each
specific element, which seems to give a clearer description.  A very
similar approach is being followed in the Megaco/H.248 "Generic
Packages" document [4] currently under development. ]]

6.1.  Root Termination Class

The root termination class represents the IP Phone MG, including user
interface elements.  The root termination class cannot be part of a
context, hence add/subtract commands do not apply to this class.  The
LocalTerminationDescriptor and RemoteTerminationDescriptor parameters
are never used with this class.

This termination class may support the following packages.

     |Package               |   Name   |   Support in Root Class       |
     |______________________|_________ |_______________________________|
     |Function Key          |  fkey    |   Optional                    |
     |Indicator             |  ind     |   Optional                    |
     |Text Display          |  tdisp   |   Optional                    |
     |Softkey               |  skey    |   Optional                    |
     |Dialpad               |  dpad    |   Optional                    |
     |Ancillary Input       |  anci    |   Optional                    |

Note: The reasoning to make all packages optional is to allow maximum
flexibility to create a very broad range of IP telephones and similar
devices.  For example, anything from a simple hotel lobby phone (handset
and hookswitch only), to conferencing units (handsfree unit and one or
two buttons) to fully featured business telephones (display, rich set of
keys and indicators, both handset and handsfree, etc) could be designed.

6.2.  Audio Transducer Termination Class

The Audio Transducer Termination class is used to describe the local
terminations for audio input and output devices including:

*    Handset,

*    Handsfree,

Blatherwick, Bell, Holland, Bach                               [Page 26]

Internet Draft            Megaco IP Phone MG              30 August 1999

*    Headset,

*    Microphone,

*    Speaker.

The RemoteTerminationDescriptor parameter is never used.  The LocalTer-
minationDescriptor may be used to specify the encoding of the media.
This parameter is described using SDP, with the following convention:

Same as LocalTerminationDescriptor from Analog Termination, section
7.2.2 of Megaco/H.248 protocol [3].

This termination class may support following packages.

     |Package               |   Name   |  Support in Audio Transducer  |
     |                      |          |  Class                        |
     |Audio                 |  aud     |   Mandatory                   |

6.3.  DTMF Tone Generator Termination Class

DTMF Tone Generator Termination class is used to control the DTMF Tone
Generator function.  Since this is a termination on its own, DTMF tone
generation can be moved in/out of multiple contexts, including contexts
with only audio transducers (tones play out to user only) contexts with
RTP streams only (tones played to network without user hearing them).
This allows a great deal of flexibility in usage of DTMF tones by appli-

     |Package               |   Name   |  Support in DTMF Tone         |
     |                      |          |  Generator Class              |
     |DTMF Tone Generator   | dtmftone |   Mandatory                   |

6.4.  RTP Termination Class

Refer to Megaco/H.248 protocol section 7.2.3 [3].

Blatherwick, Bell, Holland, Bach                               [Page 27]

Internet Draft            Megaco IP Phone MG              30 August 1999


1    TIA TR41.3.4, PN-4462, Performance and Interoperability Require-
     ments for Voice-over-IP [VoIP] Telephone Terminals.

2    Media Gateway Control Protocol Architecture and Requirements,
     draft-ietf-megaco-reqs-05.txt, Greene, Ramalho, Rosen,

3    MEGACO Protocol, draft-ietf-megaco-protocol-03.txt, Cuervo,
     Huitema, et al., http://www.ietf.org/internet-drafts/draft-ietf-

4    ITU SG16 TD-40 Megaco Generic Packages, Kallas [[ In progress.
     Update with reference of spec when available. ]]

5    ISO/IEC 10646-1:1993 The Unicode Standard, http://www.unicode.org

Blatherwick, Bell, Holland, Bach                               [Page 28]

Internet Draft            Megaco IP Phone MG              30 August 1999


             Richard Bach
             Nortel Networks
             P.O. Box 833805
             Richardson, Texas 75083-3805
             Tel: (972) 684-5341
             Email: rbach@nortelnetworks.com

             Bob Bell
             Cisco Systems Inc.
             640 N. Main St.
             Suite 2246
             North Salt Lake, Ut 84054
             Tel: (801) 294-3034
             Email: rtbell@cisco.com

             Peter Blatherwick (editor)
             Nortel Networks
             P.O. Box 3511, Stn C
             Ottawa, Ontario,
             Canada K1Y 4H7
             Tel: (613) 763-7539
             Email: blather@nortelnetworks.com

             Phil Holland
             Circa Communications Ltd.
             1000 West 14th Street
             North Vancouver, British Columbia,
             Canada V7P 3P3
             Tel: (604) 924-1742

Blatherwick, Bell, Holland, Bach                               [Page 29]

Html markup produced by rfcmarkup 1.111, available from https://tools.ietf.org/tools/rfcmarkup/