Network Working Group M. Petit-Huguenin
Internet-Draft A. Huckridge
Expires: January 3, 2001 Netergy Networks, Inc.
July 5, 2000
MGCP User Interface Package
draft-petithuguenin-mgcp-ui-pkg-00
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working 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.
This Internet-Draft will expire on January 3, 2001.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract
This document proposes a new MGCP[2] package to control the user
interface of a feature phone.
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 1]
Internet-Draft MGCP User Interface Package July 2000
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. User Interface Package . . . . . . . . . . . . . . . . . . . . 3
3. Security Considerations . . . . . . . . . . . . . . . . . . . 5
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 6
A. Formal Syntax Definition . . . . . . . . . . . . . . . . . . . 6
References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
B. TODO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Full Copyright Statement . . . . . . . . . . . . . . . . . . . 10
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 2]
Internet-Draft MGCP User Interface Package July 2000
1. Introduction
The use of POTS as final equipment for VoIP deployement is only a
transitional phase, and phones with a fully controllable user
interface will be soon widely available. Until MEGACO/H.248
implementations[3] becomes available, the master/slave protocol of
choice for controlling these devices will be MGCP. Hence this
document defines a MGCP package fitted for handling the user
interface part of feature phones.
2. User Interface Package
Package Name: U
_____________________________________________________________________
| Symbol | Definition | R | S Duration |
|________|________________________________|_____|____________________|
| inf | Display Information | x | |
| pos | Cursor Position | x | BR |
| dis | Display Text | x | BR |
| clr | Clear Text | | BR |
| kd | Key Down | x | |
| ku | Key Up | x | |
| im | Indicator Mode | x | OO |
| rm | Ringer Mode | x | TO |
| tn | Tone | x | TO |
| oc | Operation Complete | x | |
|________|________________________________|_____|____________________|
The definition of the user interface package is as follows:
Display Information:
This event is received in an EventState parameter following on an
AuditEndpoint command with a RequestedInfo parameter . This event
contains the characteristics of the display, i.e. the maximum
number of rows and columns.
This example shows the event received for a text display with 2
rows and 20 columns:
ES: U/inf(2,20)
Cursor Position:
The cursor position is received in an EventState parameter
following on an AuditEndpoint command with a RequestedInfo
parameter.
This example shows the event received for a cursor positioned on
the upper left corner of the screen:
ES: U/pos(0,0)
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 3]
Internet-Draft MGCP User Interface Package July 2000
The cursor position can also be used as a signal, to modify the
current position of the cursor.
This example resets the position of the cursor at the upper left
corner of the text display:
S: U/pos(0,0)
Display Text:
This signal allows notification of the text on the screen. The
text is inserted at the current cursor position and is truncated
if it wraps to the right side of the display. The cursor position
is not modified.
An optional list of styles can be added to the text. These styles
apply only for the text supplied with this signal. The example
below displays text with a blinking word:
S: U/pos(0,0),U/dis("You have a new "),U/pos(0,
15),U/dis(Message,b)
The display content can be received in an event following on an
AuditEndpoint command, as shown in this example:
ES: U/pos(0,0),U/dis("You have a new "),U/pos(0,
15),U/dis(Message,b)
Clear Display:
This signal clears entirely the display.
S: U/clr
Key Down:
This event is sent when a key is pressed.
This example shows the event received when the star key is
pressed:
O: U/kd(*)
Key Up:
This event is sent when a key is released. The duration of the
key press is sent with this event.
This example shows the event received when the star key is
released 750 milliseconds after having been pressed:
O: U/ku(*,750)
Indicator Mode:
When received, this event informs the current mode of an
indicator. When sent, this signal permits the notification of the
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 4]
Internet-Draft MGCP User Interface Package July 2000
current mode of an indicator. The mode of the indicator can be
described either by name (on, off, wink, flash, flutter and
brokenflutter) or by a customized cycle description. A customized
cycle describes the succession and duration of on/off values for
the indicator.
This example shows the activation of the voice-mail indicator in
a blinking mode:
S: U/im(vm,b)
Ringer Mode:
When received, this event informs the current mode of the ringer.
When sent, this signal allows the notification of the current
mode of the ringer. The ring sequence can be customized the same
way as for the indicator mode.
A timeout value can be specified with the Ringer Mode signal. If
so, the ringer will automatically stop and send a
OperationComplete event.
This example shows how to play a customized ring:
S: U/rm(+(200),-(100),+(50),-(50))
Tone:
When received, this event informs the current tone is use. When
sent, this signal permits the notification of the current tone.
The tone can be described either by name or by a customized
description of this tone. Customized tones are described by the
succession of frequencies and levels, eventually superimposed and
modulated.
A timeout value can be specified with the Tone signal. If so, the
tone will automatically stop and send a OperationComplete event.
Note that named tones can have an implicit (provisioned) timeout
value.
S: U/tn
Operation Complete:
This event informs that a tone or a ring has timed out. The exact
signal that has timed-out is passed as a parameter to this event.
Example:
O: U/oc(rg(+(512),-(512)))
3. Security Considerations
The UI package is subject to the security considerations discussed
in the MGCP specification[2].
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 5]
Internet-Draft MGCP User Interface Package July 2000
4. Acknowledgements
Many aspects of the UI package have been retrieved from the H.248
Annex G[4] Document.
References
[1] Crocker, D., "Augmented BNF for Syntax Specifications: ABNF",
RFC 2234, November 1997.
[2] Arango, M., Dugan, A., Elliott, I., Huitema, C. and S. Pickett,
"Media Gateway Control Protocol (MGCP) Version 1.0", RFC 2705,
October 1999.
[3] Cuervo, F., Green, N., Huitema, C., Rayman, A., Rosen, B. and
J. Segers, "Megaco Protocol", Internet-Draft, Work In Progress,
April 2000.
[4] http://standard.pictel.com/ftp/avc-site/0005_Osa/APC-1852.zip
Authors' Addresses
Marc Petit-Huguenin
Netergy Networks, Inc.
2445 Mission College Blvd.
Santa Clara, CA 95054
US
Phone: +1 408 654 0875
Fax: +1 408 980 0432
EMail: marc.petit-huguenin@netergynet.com
Andy Huckridge
Netergy Networks, Inc.
2445 Mission College Blvd.
Santa Clara, CA 95054
US
Phone: +1 408 654 0946
Fax: +1 408 980 0432
EMail: andy.huckridge@netergynet.com
Appendix A. Formal Syntax Definition
This section provided a formal description of the UI package syntax,
following the ABNF syntax defined in RFC2234[1].
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 6]
Internet-Draft MGCP User Interface Package July 2000
Package = PackageEvent / PackageSignal
PackageEvent = DisplayInformation / CursorPosition / DisplayText /
KeyDown / KeyUp / IndicatorMode / RingerMode / Tone /
OperationComplete
PackageSignal = CursorPosition / DisplayText / ClearText /
IndicatorMode / RingerMode / Tone
DisplayInformation = "inf" "(" NumberRows "," NumberColumns ")"
NumberRows = DIGIT *DIGIT
NumberColumns = DIGIT *DIGIT
CursorPosition = "pos" "(" Row "," Col ")"
Row = DIGIT *DIGIT ; 0 to height - 1
Col = DIGIT *DIGIT ; 0 to width - 1
DisplayText = "dis" "(" ( quoted-string / token ) 0*( "," [ Blink /
Invert / Underline ] ) ")"
Blink = "b"
Invert = "i"
Underline = "u"
ClearDisplay = "clr"
KeyDown = "kd" "(" Key ")"
KeyUp = "ku" "(" Key "," Duration ")"
Key = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" / "9" /
"*" / "#" / Redial / Hold / Transfer / ForwardAll / ForwardBusy /
ForwardNoAnswer / VoiceMail / Line / Function
Redial = "r"
Hold = "h"
Transfer = "t"
ForwardAll = "fa"
ForwardBusy = "fb"
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 7]
Internet-Draft MGCP User Interface Package July 2000
ForwardNoAnswer = "fna"
VoiceMail = "vm"
Line = "l" DIGIT * DIGIT
Function = "f" DIGIT *DIGIT
IndicatorMode = "im" "(" Key "," IndicatorModeValue ")"
IndicatorModeValue = On / Off / Wink / Flash / Blink / CustomMode
On = "+"
Off = "-"
Wink = "w" ; equivalent to +(448),-(64)
Flash = "f" ; equivalent to +(32),-(32)
Blink = "b" ; equivalent to +(512),-(512)
CustomMode = CustomState 0*{ "," CustomState }
CustomState = On "(" Duration ")" / Off "(" Duration ")
Duration = DIGIT *DIGIT ; in milliseconds
RingerMode = "rm" [ "(" 0*{ CustomMode } [ "," Duration ] ")" ]
Tone = "tn" "(" ( Dial / InsideDial / StutterDial / SecondDial /
Ringback / SpecialRingback / Busy / Congestion / SpecialInformation
/ Reorder / RecorderWarning / RecorderDetected / CallerWaiting /
CallWaiting / CustomToneSequence ) [ "," Duration ] ")"
Dial = "d"
InsideDial = "id"
StutterDial = "sd"
SecondDial = "2d"
Ringback = "rb"
SpecialRingback = "sr"
Busy = "b"
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 8]
Internet-Draft MGCP User Interface Package July 2000
Congestion = "c"
SpecialInformation = "si"
Reorder = "r"
RecorderWarning = "rw"
RecorderDetected = "rd"
CallerWaiting = "wc"
CallWaiting = "cw"
CustomToneSequence = CustomToneComplex 0*{ "," CustomToneComplex }
CustomToneComplex = CustomTone / "(" CustomTone 0*{ "," CustomTone }
")"
CustomTone = Frequency "@" Level [ "*" Modulation ]
Frequency = DIGIT *DIGIT ; in hertz
Level = "0" / "-" DIGIT *DIGIT ; in DBm0, from 0 to -63 dBm0
Modulation = DIGIT *DIGIT ; in hertz
OperationComplete = "oc" "(" RingerMode / Tone ")"
Appendix B. TODO
o Checking consistency with H.248 Annex J.
o Adding key labeling.
o Adding softkeys.
o Adding multilanguage/unicode support.
o Considering adding hookswitch key.
o Completing the named tones list.
o Adding support for pixel-addressable display device.
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 9]
Internet-Draft MGCP User Interface Package July 2000
Full Copyright Statement
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC editor function is currently provided by the
Internet Society.
Petit-Huguenin & Huckridge Expires January 3, 2001 [Page 10]