Internet Engineering Task Force Robert Bell INTERNET DRAFT Cisco Systems August 30, 1999 Peter Blatherwick (editor) Expires February 29, 2000 Nortel Networks 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 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 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 2. INTRODUCTION 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. ARCHITECTURE DESCRIPTION 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- rations. 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 | | | +---------------+ ^ \ \ \ | v +----------------------------------------------+ | 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. MEGACO/H.248 PROTOCOL USAGE 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 below), * 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 Megaco/H.248. 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- port; * 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. ]] 5. SIGNAL AND EVENT PACKAGES [[ 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- tion(s)) 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 5.1.1.1. 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 Headset Handsfree Microphone Speaker The Transducer List is returned as a result of Audit command at the root MG. Blatherwick, Bell, Holland, Bach [Page 10] Internet Draft Megaco IP Phone MG 30 August 1999 5.1.1.2. 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 5.1.2.1. Event Configuration None. 5.1.2.2. Observed Events None. 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 5.1.3.1. 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. 5.1.3.2. Stop Play Short name: stopplay Signal Parameters: None. Blatherwick, Bell, Holland, Bach [Page 12] Internet Draft Megaco IP Phone MG 30 August 1999 5.1.3.3. 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. ::=[*])[<,|+|X>( ::= {<1> ... <32676>} | <0> NOTE: repeatcount of 0 indicates infinite repeating. ::= [,[,]] ::= | <#> | <&> ::= {<0> ... <4000>}hertz ::= [,] ::= Unique identifier for an audio announcement. ::= A text to speech string to be inserted into an announcement. ::= { <1> ... <32767> }msec. | <0> NOTE: ToneDuration of 0 indicates infinite duration or duration defined by the toneID. ::= { <-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 None. 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 tones. 5.2.1. Gateway Properties Audit None. 5.2.2. Events 5.2.2.1. Event Configuration None. 5.2.2.2. Observed Events None. 5.2.3. Signals 5.2.3.1. 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") 5.2.3.2. 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 None. 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 convention. 5.3.1. Gateway Properties Audit 5.3.1.1. 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 * FunctionKey 5.3.2. Events 5.3.2.1. Event Configuration None. 5.3.2.2. Observed Events None. 5.3.2.2.1. 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 5.3.2.2.2. 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 5.3.3.1. Set Name Short name: setName Signal Parameters: keyId integer value nameStr 'C' string, 8-bit Unicode UTF-8. 5.3.4. Statistics None. 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 Package. [[ 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 * Function Indicator 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 5.4.2.1. Event Configuration None. 5.4.2.2. Observed Events None. 5.4.3. Signals Blatherwick, Bell, Holland, Bach [Page 18] Internet Draft Megaco IP Phone MG 30 August 1999 5.4.3.1. Set Indicator Short name: SetIndicator Signal Parameters: indicatorId Integer attribute on, off, blink, fast_blink, slow_blink, invert, color. 5.4.3.2. Set Name Short name: SetName indicatorId Integer nameStr 'C' string of Unicode UTF-8. 5.4.4. Statistics None. 5.5. Text Display Package Short name: tdisp The text display package supports signals associated with the text dis- play elements. Carriage return 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 5.5.2.1. Event Configuration None. 5.5.2.2. Observed Event None. 5.5.3. Signals 5.5.3.1. 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) 5.5.3.2. 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: None. [[ 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 None. 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 5.6.2.1. Event Configuration None. 5.6.2.2. Observed Events 5.6.2.2.1. Key Down Short name: keyDown Event Parameters: softkeyId integer nameStr 'C' string UTF-8 characters 5.6.2.2.2. Key Up Short name: keyUp Event Parameters nameStr 'C' string UTF-8 characters duration softkey press duration in milliseconds 5.6.3. Signals 5.6.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. Blatherwick, Bell, Holland, Bach [Page 22] Internet Draft Megaco IP Phone MG 30 August 1999 5.6.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) [[ Note: Should consider color (foreground and background) here. Left for further study. ]] 5.6.4. Statistics None. 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: '0','1','2','3','4','5','6','7','8','9','*','#','A','B','C','D' 5.7.1. Gateway Properties Audit None. 5.7.2. Events 5.7.2.1. Event Configuration None. Blatherwick, Bell, Holland, Bach [Page 23] Internet Draft Megaco IP Phone MG 30 August 1999 5.7.2.2. Observed Events 5.7.2.2.1. Key Down Short name: keyDown Event Parameters: dialpadId integer 5.7.2.2.2. Key Up Short name keyUp Event Parameters dialpadId integer duration dialpad key press duration in milliseconds 5.7.3. Signals None. 5.7.4. Statistics None. 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 None. Blatherwick, Bell, Holland, Bach [Page 24] Internet Draft Megaco IP Phone MG 30 August 1999 5.8.2. Events 5.8.2.1. Event Configuration None. 5.8.2.2. Observed Event 5.8.2.2.1. Character Input Short name: CharInput Event Parameters: char UTF-8 character 5.8.3. Signals None. 5.8.4. Statistics None. 6. TERMINATION CLASSES 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 echo), * 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 capabilities. 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- cations. _________________________________________________________________ |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 7. REFERENCES 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, http://www.ietf.org/internet-drafts/draft-ietf-megaco-reqs-05.txt. 3 MEGACO Protocol, draft-ietf-megaco-protocol-03.txt, Cuervo, Huitema, et al., http://www.ietf.org/internet-drafts/draft-ietf- megaco-protocol-03.txt 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 8. ADDRESS INFORMATION Richard Bach Nortel Networks P.O. Box 833805 Richardson, Texas 75083-3805 USA Tel: (972) 684-5341 Email: rbach@nortelnetworks.com Bob Bell Cisco Systems Inc. 640 N. Main St. Suite 2246 North Salt Lake, Ut 84054 USA 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 phil.holland@circa.ca Blatherwick, Bell, Holland, Bach [Page 29]