Cisco Unified IP Phone Services
Application Development Notes
Supporting XML Applications
Release 7.1(2)
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 527-0883
Text Part Number: OL-18696-01
THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL
STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT
WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.
THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT
SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE
OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.
NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH
ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR
LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF
DEALING, USAGE, OR TRADE PRACTICE.
IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING,
WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO
OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
CCDE, CCENT, Cisco Eos, Cisco HealthPresence, the Cisco logo, Cisco Lumin, Cisco N exus, Cisco StadiumVision, Cisc o TelePresence, Cisco WebEx, DCE, and Welcome
to the Human Network are trademarks; Changing the Way We Work, Live, Play, and Learn and Cisco
Bringing the Meeting To You, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, CCVP, Cisco, the Cisco
Cisco
Press, Cisco Systems, Cisco Systems Cap ital, the Cisco Systems logo, Cisco Unity, Collaboration Without Limitation, EtherFast, EtherSwitch, Event Center, Fast Step,
Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, iQuick Study, IronPort, the IronPort
MeetingPlace, MeetingPlace Chime Sound, MGX, Networkers, Networking Academy, Network Registrar, PCNow, PIX, PowerPanels, ProConnect, ScriptShare, SenderBase,
SMARTnet, Spectrum Expert, StackWise, The Fastest Way to Increase Your Internet Quotient, TransPath, WebEx, and the WebEx
Cisco
Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or website are the property of their respective owners. The use of the word partner does not imply a partnership relationship
between Cisco and any other company. (0812R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the
document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
Cisco Unified IP Phone Services Application Development Notes
8IP Phone Service Administration and Subscription8-1
Accessing Phone Service Administration8-1
Adding a Phone Service8-2
Defining IP Phone Service Parameters8-3
User Service Subscription8-4
9DeviceListX Report9-1
Benefits9-2
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
v
Contents
Restrictions9-2
Integration Considerations and Interoperability9-2
Performance and Scalability9-2
Security9-3
Related Features and Technologies9-3
Supported Platforms9-3
Prerequisites9-3
Message and Interface Definitions9-3
DeviceList XML Object9-3
Troubleshooting DeviceListX Reports9-4
Error Codes9-4
Determining Problems With the Interface9-5
APPENDIX
APPENDIX
I
NDEX
ACiscoIPPhone XML Object Quick ReferenceA-1
BCisco Unified IP Phone Services
XML Schema File
B-1
Updated XML Parser and Schema EnforcementB-1
CiscoIPPhone.xsdB-2
Cisco Unified IP Phone Services Application Development Notes
vi
OL-18696-01
Overview
Preface
Use this document with Cisco Unified Communications Manager, Release 7.1(2) to develop and deploy
customized client services for the Cisco
Because of the complexity of a Unified Communications network, this guide does not provide complete
and detailed information for procedures that you need to perform in Cisco
Manager or other network devices. See the
related documentation.
Unified IP Phones that support Cisco Unified Phone services.
Unified Communications
“Related Documentation” section on page ix for a list of
Audience
This document provides the information needed for eXtensible Markup Language (XML) and X/Open
System Interface (XSI) programmers and system administrators to develop and deploy new services.
Cisco Developer Support Program
The Developer Support Program was developed to provide formalized support for Cisco interfaces to
accelerate the delivery of compatible solutions to Cisco customers. The program web site at
http://developer.cisco.com provides a central resource point for all your development needs.
Program Benefits:
•Product and document downloads
•Bug reports
•Sample scripts
•Frequently Asked Questions
•Access to Developer Support Engineers
Most of the product and document downloads are accessible with a Cisco.com guest level login.
However, as a member of the program, you will get access to all the program benefits listed above to
promote your development efforts. The subscription also provides the ability to open support cases using
the same infrastructure and processes used by Cisco Technical Assistance Center (TAC).
Our Subscription membership is fee-based. The Developer Support Agreement, with the subscription
fees and list of supported interfaces, is available on the Developer Support Web site.
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
vii
NoteThe Cisco TAC does NOT provide support for this API/interface under standard hardware or software
support agreements. All technical support for this API/interface, from initial development assistance
through API troubleshooting/bugs in final production apps, is provided by Cisco Developer Support and
requires a separate Developer Support contract. When opening cases, a Developer Support contract
number must be provided to receive support.
Organization
This document comprises the following sections:
ChapterDescription
Chapter 1, “Overview”Provides an overview of the Cisco Unified IP Phone
Chapter 2, “CiscoIPPhone XML Objects”Describes the general behavior and usage of each XML
Chapter 3, “Component APIs”Describes additional APIs available to the
Chapter 4, “Internal URI Features”Describes how to implement embedded features on
Chapter 5, “HTTP Requests and Header
Settings”
Chapter 6, “Troubleshooting
Cisco Unified IP Phone Service
Applications”
Chapter 7, “Cisco IP Phone Services
Software Development Kit (SDK)”
Chapter 8, “IP Phone Service Administration
and Subscription”
Chapter 9, “DeviceListX Report”Describes how the report provides a list of the
Appendix A, “CiscoIPPhone XML Object
Quick Reference”
Appendix B, “Cisco Unified IP Phone
Services XML Schema File”
services for developers.
object.
Cisco
Unified IP Phones.
Cisco
Unified IP Phones.
Provides a procedure on handling HTTP client requests,
definitions for HTTP header elements, identifies the
capabilities of the requesting IP phone client, and
defines the Accept header.
Provides troubleshooting tips, XML parsing errors, and
error messages.
Provides a list of the components used in the
Cisco
Unified IP Services Software Development Kit
(SDK) and the sample services requirements.
Describes how to add and administer
Cisco
Unified IP Phone Services through
Cisco
Unified Communications Manager
Administration.
services-capable devices along with basic information
about the device to identify or classify the devices based
on specific criteria.
Provides a quick reference of the CiscoIPPhone XML
objects and the definitions that are associated with each.
Provides the CiscoIPPhone XML Schema.
Preface
Cisco Unified IP Phone Services Application Development Notes
viii
OL-18696-01
Preface
Related Documentation
For more information about Cisco Unified IP Phones or Cisco Unified Communications Manager, refer
to the following publications:
Cisco Unified IP Phone 7900 Series
These publications are available at the following URL:
Subscribe to the What’s New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed
and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free
service and Cisco currently supports RSS
technical documentation, at:
New in Cisco Product Documentation, which also lists all new and
Ve rs i on 2.0.
Cisco Product Security Overview
This product contains cryptographic features and is subject to United States and local country laws
governing import, export, transfer and use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption. Importers, exporters, distributors
and users are responsible for compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable to comply with U.S. and local
laws, return this product immediately.
Further information regarding U.S. export regulations may be found at
http://www.access.gpo.gov/bis/ear/ear_data.html
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
ix
Obtaining Documentation and Submitting a Service Request
Document Conventions
This document uses the following conventions:
ConventionIndication
bold fontCommands and keywords and user-entered text appear in bold font.
italic fontDocument titles, new or emphasized terms, and arguments for which you supply
[ ]Elements in square brackets are optional.
{x | y | z }Required alternative keywords are grouped in braces and separated by
[ x | y | z ]Optional alternative keywords are grouped in brackets and separated by
stringA nonquoted set of characters. Do not use quotation marks around the string or
courier fontTerminal sessions and information the system displays appear in courier font.
< >Nonprinting characters such as passwords are in angle brackets.
[ ]Default responses to system prompts are in square brackets.
!, #An exclamation point (!) or a pound sign (#) at the beginning of a line of code
values are in italic font.
vertical
vertical
the string will include the quotation marks.
indicates a comment line.
bars.
bars.
Preface
NoteMeans reader take note.
TipMeans the following information will help you solve a problem.
CautionMeans reader be careful. In this situation, you might perform an action that could result in equipment
damage or loss of data.
TimesaverMeans the described action saves time. You can save time by performing the action described in
the paragraph.
Warning
Means reader be warned. In this situation, you might perform an action that could result in
bodily injury.
Cisco Unified IP Phone Services Application Development Notes
x
OL-18696-01
CHA PTER
1
Overview
You can use Cisco Unified IP Phones to deploy customized client services with which users can interact
via the keypad and display. Services deploy using the HTTP protocol from standard web servers.
Users access these features using the services and directories buttons or menu options (availability
varies by phone model). When a user presses the services button (or chooses the services menu item), a
menu of configured services displays. The user then chooses a service from the list, and the phone
displays the service.
The following list gives typical services that might be supplied to a phone:
•Weather
•Stock information
•Contact information
•Company news
•To-do lis t s
•Daily schedule
Figure 1-1 shows a sample text menu.
Figure 1-1Cisc o Unified IP Phone Text Menu Sample
Cisco Unified IP Phones can also display graphic menus, as shown in Figure 1-2.
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
1-1
Chapter 1 Overview
Figure 1-2Graphic Menu on a Cisco Unified IP Phone Sample
Phone users can navigate a text menu by using the Navigation button followed by the Select softkey, or
by using the numeric keypad to enter a selection directly. Graphic menus currently do not support
cursor-based navigation; users simply enter a number using the DTMF keypad.
When a menu selection is made, the Cisco Unified IP Phone acts on it by using its HTTP client to load
a specific URL. The return type from this URL can be plain text or one of the CiscoIPPhone XML
objects. The object loads and the user interacts with the object.
Figure 1-3 and Figure 1-4 show typical displays that result from selecting a service. Figure 1-3 shows a
stock quote that was generated using plain text, and Figure 1-4 displays a graphic image.
Figure 1-3Plain Text Display Example
Figure 1-4Graphic Image Display Example
Cisco Unified Communications Manager limits Cisco Unified IP Phone service activity to a specific
Services pane in the Cisco
Unified IP Phone display. A service cannot modify the top line of the phone
display, which contains the time, date, and primary extension. A service cannot overwrite the bottom line
of the display, which contains softkey definitions. The pane that displays the service sits flush with the
left side of the display, and enough of the right side of the display remains intact to ensure that users can
see the status of phone lines.
Cisco Unified IP Phone Services Application Development Notes
1-2
OL-18696-01
Chapter 1 Overview
NoteHTML Disclaimer: Phone service developers must take into consideration that the phone is not a web
browser and cannot parse HTML. Although content is delivered to the phone through HTTP messages
by using a web server, keep in mind that the content is not HTML. All content comes either as plain text
or packaged in proprietary XML wrappers.
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
1-3
Chapter 1 Overview
Cisco Unified IP Phone Services Application Development Notes
1-4
OL-18696-01
CiscoIPPhone XML Objects
The following sections describe the general behavior and use of XML objects:
•Understanding Object Behavior
•XML Object Definitions
•Custom Softkeys
•XML Considerations
•Application Event Handlers
Understanding Object Behavior
Creating interactive service applications is relatively easy when you understand the XML objects that
are defined for Cisco
Unified IP Phones and the behavior that each object generates.
CHA PTER
2
Regarding services, the phone does not have any concept of a state when it loads an XML page.
Cisco
Unified IP Phones can use HTTP to load a page of content in many different places, starting when
the services button is pressed. Regardless of what causes the phone to load a page, the phone always
behaves appropriately after it loads a page.
Appropriate behavior depends solely on the type of data that has been delivered in the page. The web
server must deliver the XML pages with a MIME type of text/xml. However, the exact mechanism
required varies according to the type of web server that you are using and the server side mechanism that
you are using to create your pages (for example, static files, JavaScript, CGI, and so on). See
“HTTP Requests and Header Settings” for more information.
Chapter 5,
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
2-1
Chapter 2 CiscoIPPhone XML Objects
Understanding Object Behavior
Table 2-1 shows the supported XML objects for this release.
Ta b l e 2-1XML Objects Supported for Release 7.1(2) Cisco Unified IP Phone Services SDK
7905G
7906G
7911G
Phone Model XML Object
7912G
7931G 7920G 7921G
7940G
7960G
CiscoIPPhoneMenuXXXXXX
CiscoIPPhoneTextXXXXXX
CiscoIPPhoneInputXXXXXX
CiscoIPPhoneDirectoryXXXXXX
CiscoIPPhoneImage—X
1
XXX—
CiscoIPPhoneImageFile——X—X—
CiscoIPPhoneGraphicMenu—X
1
XXX—
CiscoIPPhoneGraphicFileMenu ——X—X
CiscoIPPhoneIconMenuX
3
XXXXX
CiscoIPPhoneIconFileMenu——X—X
CiscoIPPhoneStatus———XX—
CiscoIPPhoneStatusFile————X
CiscoIPPhoneExecuteXX
6
XXXX
CiscoIPPhoneResponseXXXXXX
CiscoIPPhoneErrorXXXXXX
1. The Cisco Unified IP Phone 7920G has only a 128-by-59 display with 2 grayscale images clipping the graphic equally on both sides and providing
vertical scrolling. When an image with 4 grayscale settings occurs (<Depth>2</Depth>), the phone equally splits them into 2 grayscale settings (0-1
get treated as 0 and 2-3 get treated as 1).
2. The Cisco Unified IP Phones 6921, 6941, and 6961 do not support CiscoIPPhoneGraphicFileMenu because these phones use monochrome LCM.
3. The Cisco Unified IP Phones 7905G and 7912G do not support CIP images; therefore, all icons get ignored and do not display.
4. The Cisco Unified IP Phones 6921, 6941, and 6961 do not support icons.
5. The Cisco Unified IP Phones 7970G and 7971G-GE require firmware version 7.1(2) or higher to support this object, and Cisco IP Communicator
requires software version 2.01 or higher.
6. The Cisco Unified IP Phone 7920G does not support Priority 1 when on a call.
Cisco Unified IP Phone Services Application Development Notes
2-2
OL-18696-01
Chapter 2 CiscoIPPhone XML Objects
XML Object Definitions
The following sections provide definitions and descriptions of each CiscoIPPhone XML object:
•CiscoIPPhoneMenu
•CiscoIPPhoneText
•CiscoIPPhoneInput
•CiscoIPPhoneDirectory
•CiscoIPPhoneImage
•CiscoIPPhoneImageFile
•CiscoIPPhoneGraphicMenu
•CiscoIPPhoneGraphicFileMenu
•CiscoIPPhoneIconMenu
•CiscoIPPhoneIconFileMenu
•CiscoIPPhoneStatus
XML Object Definitions
•CiscoIPPhoneStatusFile
•CiscoIPPhoneExecute
•CiscoIPPhoneResponse
•CiscoIPPhoneError
CiscoIPPhoneMenu
A menu on the phone comprises a list of text items, one per line. Users choose individual menu items by
using the same mechanisms that are used for built-in menus in the phone as described in
“Overview”.
Definition
<CiscoIPPhoneMenu>
<Title>Title text goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<MenuItem>
<Name>The name of each menu item</Name>
<URL>The URL associated with the menu item</URL>
</MenuItem>
</CiscoIPPhoneMenu>
NoteThe Name field under the <MenuItem> supports a maximum of 64 characters. This field can also accept
two carriage returns to allow the MenuItem name to span three lines on the display.
Chapter 1,
The XML format allows you to specify a title and prompt that are used for the entire menu, followed by
a sequence of
MenuItem includes a Name and an associated URL.
MenuItem objects. Cisco Unified IP Phones allow a maximum of 100 MenuItems. Each
When a menu is loaded, the phone behaves the same as for built-in phone menus. The user navigates
through the list of menu items and eventually chooses one by using either the Select softkey or the DTMF
keys.
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
2-3
XML Object Definitions
After the user chooses a menu option, the phone generates an HTTP request for the page with the URL
or executes the uniform resource identifiers (URIs) that are associated with the menu item.
CiscoIPPhoneText
The CiscoIPPhoneText XML object displays ordinary 8-bit ASCII text on the phone display. The <Text>
message must not contain any control characters, except for carriage returns, line feeds, and tabs. The
Cisco
NoteCisco Unified IP Phones support the full ISO 8859-1 (Latin 1) and Shift_JIS character sets.
Definition
<CiscoIPPhoneText>
<Title>Title text goes here</Title>
<Prompt>The prompt text goes here</Prompt>
<Text>The text to be displayed as the message body goes here</Text>
</CiscoIPPhoneText>
Chapter 2 CiscoIPPhone XML Objects
Unified IP Phone firmware controls all other pagination and wordwrap issues.
Two optional fields can appear in the XML message:
•The first optional field, Title, defines text that displays at the top of the display page. If a Title is
not specified, the
•The second optional field, Prompt, defines text that displays at the bottom of the display page. If a
Prompt is not specified, Cisco Unified Communications Manager clears the prompt area of the
Name field of the last chosen MenuItem displays in the Title field.
display pane.
Many XML objects that are described in this document also have Title and Prompt fields. These fields
normally behave identically to behavior described in this section.
NoteNon-XML Text: This document only describes the supported CiscoIPPhone XML objects. You can also
deliver plain text via HTTP. Pages that are delivered as MIME type text/html behave exactly the same as
XML pages of type
CiscoIPPhoneText. One important difference is that you cannot include a title or
prompt.
NoteKeypad navigation: Cisco Unified IP Phones allow navigation to a specific line in a menu by pressing
numeric DTMF keys. When a menu is on the display, the number for selecting the menu is on the left.
When normal text displays, the numbers do not display on the left side of the screen, but the navigation
capability still exists. So, a carefully written text service display can take advantage of this capability.
CiscoIPPhoneInput
When a Cisco Unified IP Phone receives an XML object of type CiscoIPPhoneInput, it constructs an
input form and displays it. The user then enters data into each input item and sends the parameters to the
target URL.
Cisco Unified IP Phone Services Application Development Notes
2-4
Figure 2-1 shows a sample display that is receiving input from a user.
OL-18696-01
Chapter 2 CiscoIPPhone XML Objects
Figure 2-1Sample User Input Display
Definition
<CiscoIPPhoneInput>
<Title>Directory title goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<URL>The target URL for the completed input goes here</URL>
<InputItem>
<DisplayName>Name of the input field to display</DisplayName>
<QueryStringParam>The parameter to be added to the target URL</QueryStringParam>
<DefaultValue>The default display name</DefaultValue>
<InputFlags>The flag specifying the type of allowable input</InputFlags>
</InputItem>
</CiscoIPPhoneInput>
XML Object Definitions
The Title and Prompt tags in the object delimit text are used in the same way as the identical fields in
the other CiscoIPPhone XML objects.
The URL tag delimits the URL to which the input results are sent. The actual HTTP request sent to this
server specifies the URL with a list of parameters that are appended to it as a query string. The
parameters include Name/Value pairs, one for each input item.
NoteCiscoIPPhoneInput objects do not use the HTTP POST method.
The InputItem tag delimits each item in the list. The number of InputItems must not exceed five. Each
input item includes a
item. Each item also has a
DisplayName, which is the prompt that is written to the display for that particular
QueryStringParam, which is the name of the parameter that is appended to the
URL when it is sent out after input is complete. Each input item can also use the
the default value to be displayed.
The final attribute for each input item comprises a set of InputFlags. The following table describes the
input types that are currently defined.
InputFlagDescription
APlain ASCII text—use the DTMF keypad to enter text that consists
of uppercase and lowercase letters, numbers, and special characters.
TTelephone number—enter only DTMF digits for this field. The
acceptable input includes numbers, #, and *.
NNumeric—enter numbers as the only acceptable input.
EEquation—enter numbers and special math symbols.
UUppercase—enter uppercase letters as the only acceptable input.
DefaultValue tag to set
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
2-5
XML Object Definitions
InputFlagDescription
LLowercase—enter lowercase letters as the only acceptable input.
PPassword field—enter individual characters using the standard
keypad-repeat entry mode. The system automatically converts
accepted characters into an asterisk, keeping the entered value
private.
NoteP specifies the only InputFlag that works as a modifier. For
During text entry, Cisco Unified IP Phones display softkeys to assist users with text entry. Users can
navigate between fields with the vertical scroll button that is used to navigate menus, and so on.
CiscoIPPhoneDirectory
Chapter 2 CiscoIPPhone XML Objects
example, specify a value of “AP” in the
use plain ASCII as the input type and to mask the input as a
password by using an asterisk (*).
InputFlag field to
The phone originally incorporated the CiscoIPPhoneDirectory XML object to support the Directory
operation of Cisco
Unified IP Phones, but it is available for your development purposes also. Figure 2-2
shows how an XML CiscoIPPhoneDirectory object displays on the phone.
<CiscoIPPhoneDirectory>
<Title>Directory title goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<DirectoryEntry>
<Name>The name of the directory entry</Name>
<Telephone>The telephone number for the entry</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>
NoteFor the directory listing, the Cisco Unified IP Phone displays the appropriate softkeys that are needed to
dial the numbers that are listed on the display. The softkeys include the Edit Dial softkey, which allows
users to insert access codes or other necessary items before dialing.
Cisco Unified IP Phone Services Application Development Notes
2-6
OL-18696-01
Chapter 2 CiscoIPPhone XML Objects
The Title and Prompt tags in the XML object have the usual semantics. A single
CiscoIPPhoneDirectory object can contain a maximum of 32 DirectoryEntry objects. If more than 32
entries must be returned, use multiple
Custom Directories
You can use the Cisco Unified Communications Manager enterprise parameter, “URL Directories” and
CiscoIPPhone XML objects to display custom directories. The “URL Directories” points to a URL that
returns a
must return a valid
To create a custom directory, use the following optional objects in the order in which they are listed:
1. Use the CiscoIPPhoneInput XML object to collect search criteria.
2. Use the CiscoIPPhoneText XML object to display status messages or errors.
3. Use the CiscoIPPhoneDirectory XML object to return a list of directory entries that can be dialed.
You can omit the CiscoIPPhoneInput or CiscoIPPhoneText objects. You can display multiple
CiscoIPPhoneDirectory objects by specifying an HTTP refresh header that points to the URL of the next
individual directory object, which the user accesses by pressing the Next softkey on the phone.
XML Object Definitions
CiscoIPPhoneDirectory objects in subsequent HTTP requests.
CiscoIPPhoneMenu object that extends the directories menu. The request for “URL Directories”
CiscoIPPhoneMenu object, even if has no DirectoryEntry objects.
CiscoIPPhoneImage
The CiscoIPPhoneImage provides a bitmap display with a 133 x 65 pixel pane that is available to access
services. Each pixel includes four grayscale settings. A value of three (3) displays as black, and a value
of zero (0) displays as white.
NoteThe phone uses an LCD display, which inverts the palette.
The CiscoIPPhoneImage XML type lets you use the Cisco Unified IP Phone display to present graphics
to the user.
Definition
<CiscoIPPhoneImage>
<Title>Image title goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<LocationX>Position information of graphic</LocationX>
<LocationY>Position information of graphic</LocationY>
<Width>Size information for the graphic</Width>
<Height>Size information for the graphic</Height>
<Depth>Number of bits per pixel</Depth>
<Data>Packed Pixel Data</Data>
<SoftKeyItem>
<Name>Name of the softkey</Name>
<URL>URL of softkey</Name>
<Position>Numerical position of the softkey</Position>
</SoftKeyItem>
</CiscoIPPhoneImage>
The CiscoIPPhoneImage object definition includes two familiar elements: Title and Prompt. These
elements serve the same purpose as they do in the other CiscoIPPhone XML objects. The
at the top of the page, and the
OL-18696-01
Title displays
Prompt displays at the bottom.
Cisco Unified IP Phone Services Application Development Notes
2-7
XML Object Definitions
Pixel values original sequence1320
Pixel values converted to 2-bit
binary pairs
01001011
Re-ordered binary pairs
2D
1-byte packed hexadecimal value
00011011
Chapter 2 CiscoIPPhone XML Objects
Use LocationX and LocationY to position the graphic on the phone display. Position the upper, left corner
of the graphic at the pixel defined by these two parameters. Setting the X and Y location values to (0, 0)
positions the graphic at the upper, left corner of the display. Setting the X and Y location values to (-1,
-1) centers the graphic in the services pane of the phone display.
Use Width and Height to size the graphic. If the values do not match with the pixel stream specified in
the
Data field, results will be unpredictable incorrect.
Depth specifies the number of bits per pixel. Cisco Unified IP Phones support a maximum value of 2. A
bit depth of 1 is black and white.
The Data tag delimits a string of hexadecimal digits that contain the packed value of the pixels in the
display. In the Cisco
can pack four pixels into a single byte. A pair of hexadecimal digits represents each byte.
Figure 2-3 provides an example of the mechanics of pixel packing. Scanning from left to right in the
display, the illustration shows the process for packing consecutive pixel values of 1, 3, 2, and 0. First,
the pixels get converted to 2-bit binary numbers. Then, the binary pairs get re-ordered in sets of four to
create a single re-ordered byte, which two hexadecimal digits represent.
Figure 2-3Packed Pixel Translation Example
Unified IP Phone, each pixel has only four possible values, which means that you
Example
The following XML code defines a CiscoIPPhoneImage object that displays the sequence of pixels shown
in
Figure 2-3 as a graphic positioned at the center of the phone display:
The graphic display comprises a contiguous stream of hexadecimal digits, with no spaces or other
separators. If the number of pixels to be displayed does not represent an even multiple of four, pad the
end of the pixel data with blank (zero value) pixels, so the data is packed correctly. The phone ignores
the padded data.
Cisco Unified IP Phone Services Application Development Notes
2-8
OL-18696-01
Chapter 2 CiscoIPPhone XML Objects
TipBefore displaying a graphic image on a Cisco Unified IP Phone, the software clears the pane dedicated
to services. If a service has text or other information that must be preserved (including the title area), the
information must get redrawn as part of the graphic. If the title is to be hidden, the graphic must be large
enough to cover it.
CiscoIPPhoneImageFile
The latest generation of Cisco Unified IP Phones have higher-resolution displays with more color depth.
The Cisco
Services pane and renders images in 12-bit color.
To support these more advanced displays, a new XML object allows the use of color PNG images in
addition to the grayscale
the
image data, the
The web server must deliver the PNG image to the phone with an appropriate MIME Content-Type
header, such as image/png, so the phone recognizes the content as a compressed, binary PNG image. The
PNG image can be either palettized or RGB, and the maximum image size and color depth are model
dependent (see
Unified IP Phone 7970G, for example, has a display area of 298x168 pixels available to the
CiscoIPPhoneImage object, except for the image data. Instead of using the <Data> tag to embed the
XML Object Definitions
CiscoIPPhoneImage objects. The CiscoIPPhoneImageFile object behaves like
<URL> tag points to the PNG image file.
Table 2-2).
Ta b l e 2-2Cisco Unified IP Phones Display Image Sizes and Color Depths
1
Color/Grayscale
/MonochromeColor Depth (bits)
Model
Cisco Unified IP Phones 7905G, 7906G,
Resolution
(width x height)
N/AGrayscale1
7911G, 7912G2, 7931G
Cisco Unified IP Phone 7920128 x 59Grayscale1
Cisco Unified IP Phone 7921G176 x 140Color16
Cisco Unified IP Phones 7940G/60G133 x 65Grayscale2
Cisco Unified IP Phones 7941G, 7941G-GE,
298 x 144Grayscale4
7942G, 7961G, 7961G-GE, 7962G
Cisco Unified IP Phones 7945G, 7965G298 x 156Color16
Cisco Unified IP Phone 7970G/7971G298 x 168Color12
Cisco Unified IP Phone 7975G298 x 168Color16
Cisco IP Communicator298 x 168Color24
6921, 6961396x81Monochrome—
6941396x162Monochrome—
1. Represents the size of the display that is accessible by Services—not the full resolution of the physical display.
2. The Cisco Unified IP Phones 7905 and 7912 have pixel-based displays, but they do not support XML images.
If the number of colors in the image is not reduced to match the phone capabilities, the image will be
dithered by the phone and yield less than desirable results in most cases. To reduce the number of colors
in a graphics editing program, such as Adobe Photoshop, use the “Posterize” command. The “Posterize”
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
2-9
XML Object Definitions
Chapter 2 CiscoIPPhone XML Objects
command takes one value as input for the number of color tones per color channel. For example, using
the value of 16 (4-bits per channel = 16 tones per channel) will correctly dither the color palette of the
image for the best display results on the Cisco
Figure 2-4 shows a CiscoIPPhoneImageFile object on a Cisco Unified IP Phone 7970G display.
Figure 2-4Cisco Unified IP Phone 7970G Image File Display
Unified IP Phone 7970G.
Definition
<CiscoIPPhoneImageFile>
<Title>Image Title goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<LocationX>Horizontal position of graphic</LocationX>
<LocationY>Vertical position of graphic</LocationY>
<URL>Points to the PNG image</URL>
</CiscoIPPhoneImageFile>
CiscoIPPhoneGraphicMenu
Graphic menus serve the same purpose as text menus: they allow a user to select a URL from a list. Use
graphic menus in situations when the items may not be easy to display in a text list.
For example, users might prefer to have their choices presented in a non-ASCII character set such as
Kanji or Arabic. When using non-ASCII character sets, the system presents the information as a bitmap
graphic. To select a menu, the user enters a number from 1 to 12 using the numeric keypad (* and # are
not active).
Definition
<CiscoIPPhoneGraphicMenu>
<Title>Menu title goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<LocationX>Position information of graphic</LocationX>
<LocationY>Position information of graphic</LocationY>
<Width>Size information for the graphic</Width>
<Height>Size information for the graphic</Height>
<Depth>Number of bits per pixel</Depth>
<Data>Packed Pixel Data</Data>
<MenuItem>
<Name>The name of each menu item</Name>
<URL>The URL associated with the menu item</URL>
</MenuItem>
</CiscoIPPhoneGraphicMenu>
Cisco Unified IP Phone Services Application Development Notes
2-10
OL-18696-01
Chapter 2 CiscoIPPhone XML Objects
Menu items in the graphic menu have a name, like the text menu counterparts. Although the name does
not display to the user, it still performs a function. The name of the menu item provides the default title
that is used when the URL for the chosen item is loaded. If the loaded page has a title of its own, the
phone uses that title instead.
The XML tags in GraphicMenu use the tag definitions for CiscoIPPhoneImage and CiscoIPPhoneMenu.
Although the semantics of the tags are identical, you can have only 12
CiscoIPPhoneGraphicMenu object. See “CiscoIPPhoneMenu” and “CiscoIPPhoneImage” for detailed
descriptions.
CiscoIPPhoneGraphicFileMenu
Some of the Cisco Unified IP Phone models, such as the Cisco Unified IP Phone 7970G and
Cisco
IP Communicator, have pointer devices. The Cisco Unified IP Phone 7970G uses a touchscreen
overlay on the display, and the PC-based Cisco
pointer.
Because these devices can receive and process “pointer” events, a CiscoIPPhoneGraphicFileMenu
object exposes the capability to application developers. The CiscoIPPhoneGraphicFileMenu behaves
similar to the CiscoIPPhoneGraphicMenu, in that a group of options are presented by an image. When
one of those objects is selected, a URL action initiates. However, the new FileMenu does not use the
keypad, but uses rectangular touch areas. This rectangular touch area,
coordinates relative to the upper-left corner of the Services display. The (X1,Y1) points specify the
upper-left corner of the
<TouchArea>, and (X2,Y2) specify the lower-right corner of the <TouchArea>.
XML Object Definitions
MenuItem objects in a
IP Communicator uses the standard Windows mouse
<TouchArea>, is defined by
Figure 2-5 shows the display of the CiscoIPPhoneGraphicFileMenu.
Figure 2-5CiscoIPPhoneGraphicFileMenu
If the coordinates that are supplied in <TouchArea> tag exceed the dimensions of the phone display, the
<TouchArea> rectangle will be “clipped” to fit. See Tab le 2-2, “Cisco Unified IP Phones Display Image
Sizes and Color Depths” for a listing of usable display resolutions for each phone model.
The <TouchArea> rectangles are allowed to overlap, and the first match is always taken. This allows a
sense of Z-order for images where smaller touchable objects can be overlaid on top of larger ones. In
this case, the smaller object
<CiscoIPPhoneGraphicFileMenu> object.
<MenuItem> must appear before the larger one in the
The requirements for the PNG image referenced by the <URL> tag match those that the
CiscoIPPhoneImageFile object uses.
Definition
<CiscoIPPhoneGraphicFileMenu>
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
2-11
XML Object Definitions
<Title>Image Title goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<LocationX>Horizontal position of graphic</LocationX>
<LocationY>Vertical position of graphic</LocationY>
<URL>Points to the PNG background image</URL>
<MenuItem>
<Name>Same as CiscoIPPhoneGraphicMenu</Name>
<URL>Invoked when the TouchArea is touched</URL>
<TouchArea X1="left edge" Y1="top edge" X2="right edge" Y2="bottom edge"/>
</MenuItem>
</CiscoIPPhoneGraphicFileMenu>
CiscoIPPhoneIconMenu
Icon menus serve the same purpose as text menus: they allow a user to select a URL from a list. Use icon
menus in situations when you want to provide additional visual information to the user to show the state
or category of an item. For example, you include a read and unread icon in a mail viewer. You can use
the icons can to convey the message state.
Icons in the CiscoIPPhoneMenu object have a maximum width of 16 pixels and a maximum height of 10
pixels.
Chapter 2 CiscoIPPhone XML Objects
Figure 2-6 shows an IconMenu on a Cisco Unified IP Phone.
Figure 2-6IconMenu on a Cisco Unified IP Phone Sample
The system presents the information as a bitmap graphic to the left of the menu item text. The user
selects menu items in the same way as a
CiscoIPPhoneMenu object.
Definition
<CiscoIPPhoneIconMenu>
<Title>Title text goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<MenuItem>
<IconIndex>Indicates what IconItem to display</IconIndex>
<Name>The name of each menu item</Name>
<URL>The URL associated with the menu item</URL>
</MenuItem>
<SoftKeyItem>
<Name>Name of softkey</Name>
<URL>URL or URI of softkey</URL>
<Position>Position information of the softkey</Position>
</SoftKeyItem>
<IconItem>
<Index>A unique index from 0 to 9</Index>
<Height>Size information for the icon</Height>
<Width>Size information for the icon</Width>
<Depth>Number of bits per pixel</Depth>
Cisco Unified IP Phone Services Application Development Notes
The XML tags in IconMenu use the tag definitions for CiscoIPPhoneImage and CiscoIPPhoneMenu.
Although the semantics of the tags are identical, you can have only 32 MenuItem objects in a
CiscoIPPhoneIconMenu object. See “CiscoIPPhoneMenu” and “CiscoIPPhoneImage” for detailed
descriptions.
CiscoIPPhoneIconFileMenu
This icon menu is similar to CiscoIPPhoneMenu, but it uses color PNG icons rather than grayscale CIP
icons. Use icon menus in situations when you want to provide additional visual information to the user
to show the state or category of an item. For example, you can use icons to indicate priority (see
Figure 2-7).
Icons in the CiscoIPPhoneIconFileMenu object have a maximum width of 18 pixels and a maximum
height of 18 pixels. Instead of using the
this object uses a
<URL> tag to point to the PNG image file to be used for that icon.
XML Object Definitions
<Data> tag to embed the image data into the <IconItem> tag,
<CiscoIPPhoneIconFileMenu>
<Title>Title text goes here</Title>
<Prompt>Prompt text goes here</Prompt>
<MenuItem>
<IconIndex>Indicates what IconItem to display</IconIndex>
<Name>The name of each menu item</Name>
<URL>The URL associated with the menu item</URL>
</MenuItem>
<IconItem>
<Index>A unique index from 0 to 9</Index>
<URL>location of the PNG icon image</URL>
</IconItem>
</CiscoIPPhoneIconFileMenu>
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
2-13
XML Object Definitions
CiscoIPPhoneStatus
The CiscoIPPhoneStatus object is also a displayable object, but differs from the preceding objects in that
it displays on the Call plane of the phone rather than the Services plane. The CiscoIPPhoneStatus object
“hovers” above the Call plane and is typically used in conjunction with CTI applications to present
application status to the user.
The Status object cannot be closed or cleared by the user (for example, by pressing Services) because
the Status object is only present on the Call plane. In order to clear the object, the phone must execute
the Init:AppStatus URI. This would typically occur as the result of an application server pushing an
Execute object to the phone that contains the Init:AppStatus URI.
NoteThe CiscoIPPhoneStatus object can only be pushed (HTTP POST) to the phone; it cannot be pulled
(HTTP GET).
The CiscoIPPhoneStatus object can be refreshed or replaced at any time. It is not necessary to clear an
existing Status object before sending a new Status object. The new object simply replaces the old object.
Figure 2-8 shows the CiscoIPPhoneStatus object that contains the following visual elements:
Chapter 2 CiscoIPPhone XML Objects
•106 x 21 graphics area for displaying CIP images (same image format as CiscoIPPhoneImage)
•Seedable, free-running timer (optional)
•Single-line text area (optional)
Figure 2-8IconMenu on a CiscoIPPhoneStatus Sample
Definition
<CiscoIPPhoneStatus>
<Text>This is the text area</Text>
<Timer>Timer seed value in seconds</Timer>
<LocationX>Horizontal alignment</LocationX>
<LocationY>Vertical alignment</LocationY>
<Width>Pixel width of graphic</Width>
<Height>Pixel height of graphic</Height>
<Depth>Color depth in bits</Depth>
<Data>Hex binary image data</Data>
</CiscoIPPhoneStatus>
Dynamic Sizing of the Application Status Window
You can enable applications to dynamically adjust their window sizes based on the displayed content.
The minimum size requirements limit the windows size so that it is a large enough size to stand out from
the Overview content. For example, using a smaller window for an application allows more content from
the Overview to be displayed. Sizing the window occurs upon the reception of a CiscoIPPhoneStatus or
CiscoIPPhoneStatusFile object with its associated PNG file.
Cisco Unified IP Phone Services Application Development Notes
2-14
OL-18696-01
Chapter 2 CiscoIPPhone XML Objects
The Application Status window contains three main areas: (see Figure 2-9):
•Text Area
•Timer Area
•Image Area
Figure 2-9Elements of Application Status Window
XML Object Definitions
NoteSelf-terminating XML elements, non-declared or missing elements, and elements with the default values
are all considered non-configured elements.
To allow dynamic sizing, do not configure the Text and Timer areas with any value other than the default
used by the XML parser. If both elements are not configured, you can proceed, but must follow these
rules:
•Do not display the Text Area and Timer Area sections of the Application Status window.
•If the LocationX element is not configured or is set to centered, and the image provided is less than
the maximum width allowed, the Image Area can be resized.
•If the image provided is smaller than the minimum width, the minimum allowed window width
should be used.
•If the width of the image provided is between the minimum and maximum sizes of the window, the
window should be sized to display the image as well as the standard surrounding borders.
•The image height should never change.
See Tabl e 2-3 for an overview of the maximum and minimum image area sizes by phone model. Most
phone models support all sizes between the minimum and maximum. An exception is allowed for the
Cisco Unified IP Phones 7940G/7960G due to resource constraints. For these phones, you should
implement both the maximum size and minimum size windows ignoring all of the intermediate sizes.
Ta b l e 2-3Application Status Window Allowable Image Sizes
Phone Models
Maximum Image
Area Width
Minimum Image
Area Width
7940G, 7960G1062121
7941G/7941G-GE, 7942G, 7945G, 7961G/7961G-GE,
2525050
7962G, 7965G
7970G/7971G-GE, 7975G, IP Communicator2625050
Maximum Image
Area Height
OL-18696-01
Cisco Unified IP Phone Services Application Development Notes
2-15
XML Object Definitions
Chapter 2 CiscoIPPhone XML Objects
See Tabl e 2-4 for an overview of the text and timer area sizes by phone model.
Ta b l e 2-4Application Status Window Allowable Text and Timer Sizes
7970G / 7971G-GE, 7975G, IP Communicator202x2060x20262x20
CiscoIPPhoneStatusFile
The behavior of this object is identical to the CiscoIPPhoneStatus object, except it uses a color PNG
image instead of a grayscale CIP image for the graphics area.
The maximum image size is 262 x 50 pixels for the Cisco Unified IP Phone 7970G, but differs for other
phone models. See
Figure 2-10 shows how an XML CiscoIPPhoneStatusFile object displays on a phone.
“Dynamic Sizing of the Application Status Window” section on page 2-14 for details.
Definition
<CiscoIPPhoneStatusFile>
<Text>This is the text area</Text>
<Timer>Timer seed value in seconds</Timer>
<LocationX>Horizontal alignment</LocationX>
<LocationY>Vertical alignment</LocationY>
<URL>location of the PNG image</URL>
</CiscoIPPhoneStatusFile>
Note that instead of using the <Data> tag to embed the image data, this object uses a
to the PNG image file to be used for the graphics area.
CiscoIPPhoneExecute
The CiscoIPPhoneExecute object differs from the other CiscoIPPhone objects. It is not a displayable
object for providing user interaction. The purpose of this object is to deliver (potentially multiple)
execution requests to the phone.
Cisco Unified IP Phone Services Application Development Notes
2-16
<URL>
tag to point
OL-18696-01
Loading...
+ 80 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.